https://bugs.freedesktop.org/show_bug.cgi?id=27887
Summary: r300g: depth textures + fbo = broken glClear() Product: Mesa Version: git Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/DRI/r300 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: wixorpeek@gmail.com
Created an attachment (id=35333) --> (https://bugs.freedesktop.org/attachment.cgi?id=35333) test case
Attached code does not clear the screen as expected. The classic r300 driver fails too. Sometimes geometry rendering gets messed up (however it is not as easily reproducible).
Hardware: Radeon X1300 (RV515), kernel 2.6.33, xorg 1.7.7 rc1, driver from git (up to commit 7327a84b...).
https://bugs.freedesktop.org/show_bug.cgi?id=27887
--- Comment #1 from Wiktor Janas wixorpeek@gmail.com 2010-05-04 08:22:25 PDT --- Created an attachment (id=35412) View: https://bugs.freedesktop.org/attachment.cgi?id=35412 Review: https://bugs.freedesktop.org/review?bug=27887&attachment=35412
proposed patch
Looks to me like bug in u_blitter.c
The fragment shaders used by clear are generated on demand and cached. However, shader that would pass the input color to the output buffer 0 is stored at the same location as shader that would write to no output buffers (see logic at blitter_get_fs_col). Therefore, if depth-buffer-only clear is done first, subsequent color-buffer clear uses shader that generates no output.
The attached patch attempts to fix this (warning: I don't know mesa/gallium well, just trying to get my app working). The test case still has issues (sometimes fails to redraw the window when resized), but at least something shows up. Also, the same test case renders garbage on llvmpipe (patched or not).
https://bugs.freedesktop.org/show_bug.cgi?id=27887
Marek Olšák maraeo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #2 from Marek Olšák maraeo@gmail.com 2010-05-04 11:01:19 PDT --- Committed with a little modification. Thank you very much!
The resizing bug is a separate issue, probably more related to st/dri than r300g.
dri-devel@lists.freedesktop.org