i965: Fix BRW_BATCH_STRUCT to specify RENDER_RING, not UNKNOWN_RING.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 27 Nov 2013 00:32:15 +0000 (16:32 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 4 Dec 2013 00:24:58 +0000 (16:24 -0800)
I missed this in the boolean -> enum conversion.  C cheerfully casts
false -> 0 -> UNKNOWN_RING.  On Gen4-5, this causes the render ring
prelude hook to get called in the middle of the batch, which is crazy.

BRW_BATCH_STRUCT is not used on Gen6+.

Fixes regressions since 395a32717df494353703f3581edcd3ba380f16d6
("i965: Introduce an UNKNOWN_RING state.").

Fixes "fips -v glxgears" on Ironlake.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_state.h

index 2a4b23ceed3300f4e124a546c196e14cd3d0afea..3f7831caebe808a40ae4979aadfac791c87bba70 100644 (file)
@@ -173,8 +173,8 @@ void brw_destroy_caches( struct brw_context *brw );
 /***********************************************************************
  * brw_state_batch.c
  */
-#define BRW_BATCH_STRUCT(brw, s) intel_batchbuffer_data(brw, (s), \
-                                                       sizeof(*(s)), false)
+#define BRW_BATCH_STRUCT(brw, s) \
+   intel_batchbuffer_data(brw, (s), sizeof(*(s)), RENDER_RING)
 
 void *brw_state_batch(struct brw_context *brw,
                      enum state_struct_type type,