Summary: | Flickering artifacts in OpenRA with Vega 56 | ||
---|---|---|---|
Product: | Mesa | Reporter: | Isaac Curtis <isaaccurtis1> |
Component: | Drivers/Gallium/radeonsi | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED NOTOURBUG | QA Contact: | Default DRI bug account <dri-devel> |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Capture of artifacts during menu screen.
video of artifacts |
Description
Isaac Curtis
2018-07-30 16:34:03 UTC
Mesa seems more likely than the kernel for this. A second machine works just fine without the artifacts. Same kernel, same Mesa version. Glinfo: GL_VERSION: 3.0 Mesa 18.1.4 GL_RENDERER: Mesa DRI Intel(R) Haswell Mobile GL_VENDOR: Intel Open Source Technology Center GL_SHADING_LANGUAGE_VERSION = 1.30 GLU_VERSION: 1.3 GLU_EXTENSIONS: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess GLUT_API_VERSION: 4 GLUT_XLIB_IMPLEMENTATION: 13 Created attachment 140900 [details]
video of artifacts
I captured a small video to show the nature of the artifacts.
The bug has been identified. It can be seen on Lines 40-53 of https://github.com/OpenRA/OpenRA/blob/bfcbe8c0043bfadd1b38c4987f133e29aa54275c/glsl/shp.frag Basically, it was a floating point comparison bug. It checked for samplerIndex a float that takes int values, against 1.0, 2.0, etc. However, sometimes 1 is less than 1 due to floating point issues. Changing samplerIndex < 1.0 to samplerIndex < 0.5 fixes the issue. It turns out that AMDGPU drivers seem to be the only implementation that experience this particular issue. This case is resolved. I don't see anything to fix in the drivers here. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.