Summary: | [ilk, wine] Crawling artifacts when using GLSL | ||
---|---|---|---|
Product: | Mesa | Reporter: | Tobias Jakobi <liquid.acid> |
Component: | Drivers/DRI/i965 | Assignee: | Eric Anholt <eric> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | jbarnes |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
screenshot 1
screenshot 2 screenshot 3 screenshot 4 screenshot 5 |
Description
Tobias Jakobi
2011-01-13 08:36:31 UTC
Created attachment 41972 [details]
screenshot 2
Created attachment 41973 [details]
screenshot 3
Created attachment 41974 [details]
screenshot 4
Created attachment 41975 [details]
screenshot 5
I forgot to mention that this is i965 classic. I couldn't get wine working with i965 gallium, it instantly crashes. However I somehow managed to get into the game with the gallium software renderer. The crawling pixel groups disappear then, however I get different rendering errors (however most likely related to volumetric lighting and shadow volume rendering). The classic software renderer also somehow works, at least it doesn't show the errors I described. The errors are also more apparent when seeing them in motion (then the 'crawling' becomes visible). Yeah, never use the intel gallium drivers. Interesting bug report, I'm grabbing a copy of the demo to see what's going on in the shader compile. Disabling compute_to_mrf() in brw_fs.c cleans up some of the artifacts. Thanks Eric for looking into this. I really appreciate it, since debugging such an issue with the wined3d layer in-between is kind of hard. What do you mean by disabling? Letting the function exit early? I'd like to test and see the changes to the rendering myself. Greets, Tobias Just wanted to say that after the recent change in compute_to_mrf() I rechecked, but the artifacts are still crawling. http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ce425f3e3e330bda859c439b915c4e59b1a2bf4 I noticed that the same artifacts are also present in Max Payne 2. You can download the demo here: http://www.rockstargames.com/maxpayne2/mp2_downloads.html Important is to switch 'pixel shader skins' on in the launcher options. I think debugging this one is easier since MP2 doesn't use a lot of pixel shaders. Normally it uses two fullscreen shaders. One for bullet-time (sepia effect) and one for the flashback sequences. Enabling 'pixel shader skins' should give you one more. The artifacts are limited to the player (and NPC models). Start the game with wine MaxPayne2Demo.exe -developer -developerkeys Then you can use F3 to move the camera around freely. I just tried out what Eric said in comment #7 and comment out the compute_to_mrf call in brw_wm_fs_emit. This removes _all_ crawling artifacts in FEAR, at least I can't see a single one anymore. The transparency problems of the windows (and smoke) and the sky problems still hold though. However removing the compute_to_mrf pass doesn't eliminate all problems in Max Payne 2. The artifacts are much less frequent though and only appear when the camera has a certain distance from the model, where the shader is applied to. When moving close to the model the artifacts disappear. Reconfirming with latest mesa git master (08d1c91e6c185a186e49189b7ed48629f35a4659) Looks fixed in recent git master. |
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.