Summary: | "Thea: The Awakening" world map textures not rendered (blue background) | ||
---|---|---|---|
Product: | Mesa | Reporter: | Jan-Marek Glogowski <glogow> |
Component: | Drivers/Gallium/r600 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED MOVED | 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: |
Thea with interface only world map
Additional debugging for the r600/sb shader compiler Shader with peephole optimize_CNDcc_op run Shader without peephole optimize_CNDcc_op run |
Description
Jan-Marek Glogowski
2015-12-08 08:07:25 UTC
I added an trimmed apitrace run for download: https://docs.google.com/uc?id=0Bwde9zQo1PeCVEExTm83Wk16WDA&export=download In case it's of any interest, I tested this on nouveau -- on nvc0 (GF108) the trace replays seemingly fine. On nv50 (GT215), I also get a failure on the map screen, but it's different -- everything is drawn except the background, so it appears as though it's all black(ish), with trees/etc drawn over it. (In reply to Ilia Mirkin from comment #2) > In case it's of any interest, I tested this on nouveau -- on nvc0 (GF108) > the trace replays seemingly fine. On nv50 (GT215), I also get a failure on > the map screen, but it's different -- everything is drawn except the > background, so it appears as though it's all black(ish), with trees/etc > drawn over it. The current bugs component is tagged Drivers/Gallium/r600 Probably you should open a new bug for nv50 or change the component, otherwise it'll probably be unnoticed. I'm actually not sure if the component is right, as I expected it to be reported to the mesa-dev mailing list. I uploaded a new apitrace with low details settings and disabled intro video, which makes it much smaller (170 MB xz). https://docs.google.com/uc?id=0Bwde9zQo1PeCVVdZU2ZSM3hKcXc&export=download While I was at it I played a bit with qapitrace, comparing the r600 and swrast output. And I found the origin of the bug. The "breaking" call is "1247216" in the new trace: glDrawElements(mode = GL_TRIANGLES, count = 600, type = GL_UNSIGNED_SHORT, indices = NULL) The call "destroys" the depth map, filling it with a constant value, so nothing is rendered. Actually I suspect the glUseProgram(87) in call 1247202 to be the origin of the problem, as it installs a shader program (AFAIK OpenGL) and because I'm able to play Thea using the llvm r600 backend via "R600_DEBUG=llvm" and if I disable "ambient occlusion", which is also broken. My current mesa build is based on commit 6303231a1ddf646b05c43c6bbc7fa71314ebb3fc Created attachment 121137 [details] [review] Additional debugging for the r600/sb shader compiler Created attachment 121138 [details]
Shader with peephole optimize_CNDcc_op run
Created attachment 121139 [details]
Shader without peephole optimize_CNDcc_op run
Working shader
working command line with patch to get the shader log: R600_SB_DSKIP_START=94 R600_SB_DSKIP_END=94 R600_SB_DSKIP_MODE=63 glretrace thea.trace working command line without the patch to verify shader bug: R600_SB_DSKIP_START=94 R600_SB_DSKIP_END=94 R600_SB_DSKIP_MODE=1 glretrace thea.trace In the end I'm just using the llvm backend (R600_DEBUG=llvm). I just see a minimal difference on this HW in game of ~0.5 frames (slower LLVM). Actually I had other small rendering glitches with the SB shader backend, which I didn't track down. (In reply to Ilia Mirkin from comment #2) > In case it's of any interest, I tested this on nouveau -- on nvc0 (GF108) > the trace replays seemingly fine. On nv50 (GT215), I also get a failure on > the map screen, but it's different -- everything is drawn except the > background, so it appears as though it's all black(ish), with trees/etc > drawn over it. The original (large) apitrace had ambient occlusion (AO) activated AFAIK, but I deleted it, so I don't know. AO was fixed for me with a patch in the last week. As my hardware is already slow (just 15fps in the game), enabling this renders the game unplayable, but now I get soft shadows at the price of ~50% frame drop. (In reply to Jan-Marek Glogowski from comment #4) > I uploaded a new apitrace with low details settings and disabled intro > video, which makes it much smaller (170 MB xz). > > https://docs.google.com/uc?id=0Bwde9zQo1PeCVVdZU2ZSM3hKcXc&export=download > FWIW this trace works fine for me on my Juniper XT [Radeon HD 5770] on current git (cd9c07e7cdf) with default settings. R600_DEBUG=llvm crashes, R600_DEBUG=llvm,nosb shows some glitches and R600_DEBUG=nosb seems to be fine too. The other trace does a 404 now so can't check. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/561. |
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.