mesa/src
Paul Berry 714b4f6184 i965/Gen7: Work around GPU hangs due to misaligned depth coordinate offsets.
In i965 Gen7, Mesa has for a long time used the "depth coordinate
offset X/Y" settings (in 3DSTATE_DEPTH_BUFFER) to cause the GPU to
render to miplevels other than 0.  Unfortunately, this doesn't work,
because these offsets must be aligned to multiples of 8, and miplevels
in the depth buffer are only guaranteed to be aligned to multiples of
4.  When the offsets aren't aligned to a multiple of 8, the GPU
sometimes hangs.

As a temporary measure, to avoid GPU hangs, this patch smashes the 3
LSB's of "depth coordinate offset X/Y" to 0.  This results in
incorrect rendering to mipmapped depth textures, but that seems like a
reasonable stopgap while we figure out a better solution.

Avoids GPU hangs in piglit test "depthstencil-render-miplevels" at
texture sizes that are not powers of 2.

Reviewed-by: Chad Verace <chad.versace@linux.intel.com>
2012-05-07 10:50:33 -07:00
..
egl egl_dri2: Fix out of tree builds with the wayland backend enabled 2012-05-03 11:45:59 -04:00
gallium nv50: handle VP without inputs 2012-05-07 14:05:35 +02:00
gbm gbm: Add gbm_bo_write entry point 2012-05-03 10:57:32 -04:00
getopt
glsl glsl: Fix regression in function out-parameter lvalue detection. 2012-05-04 14:00:32 -07:00
glu scons: Add Haiku build support 2012-01-17 20:01:14 +00:00
glx darwin: Use ASL for logging 2012-05-03 10:58:34 -07:00
gtest gtest: Don't actually install a library. 2012-04-16 11:25:39 -07:00
mapi glapi: Correct size of allocated _glapi_table struct 2012-04-22 20:39:32 -07:00
mesa i965/Gen7: Work around GPU hangs due to misaligned depth coordinate offsets. 2012-05-07 10:50:33 -07:00
Makefile
SConscript scons: Do not build EGL on Solaris. 2012-05-03 22:58:35 -07:00