Mesa (master): i965: Return BRW_DEPTHBUFFER_D32_FLOAT as the null-depthbuffer format.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Dec 7 22:52:19 UTC 2011


Module: Mesa
Branch: master
Commit: d464a21e2d796e396e7e4c0cfe971b41003e2d2a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d464a21e2d796e396e7e4c0cfe971b41003e2d2a

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Dec  7 02:21:37 2011 -0800

i965: Return BRW_DEPTHBUFFER_D32_FLOAT as the null-depthbuffer format.

Fixes many crashes on Ivybridge due to upload_sf_state calling
brw_depthbuffer_format without an actual depth buffer.  This was a
recent regression on master.

+3992 piglits on Ivybridge.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/mesa/drivers/dri/i965/brw_misc_state.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c
index 8a6ee70..3e8cb3f 100644
--- a/src/mesa/drivers/dri/i965/brw_misc_state.c
+++ b/src/mesa/drivers/dri/i965/brw_misc_state.c
@@ -212,6 +212,9 @@ brw_depthbuffer_format(struct brw_context *brw)
       drb = srb;
    }
 
+   if (!drb)
+      return BRW_DEPTHFORMAT_D32_FLOAT;
+
    switch (drb->Base.Format) {
    case MESA_FORMAT_Z16:
       return BRW_DEPTHFORMAT_D16_UNORM;




More information about the mesa-commit mailing list