i965: Make URB code use prog_data for GS/tessellation enable checks.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 15 Nov 2016 08:37:42 +0000 (00:37 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 19 Nov 2016 19:39:58 +0000 (11:39 -0800)
If geometry/tessellation shaders are disabled, prog_data will be NULL
(see brw_state_upload.c).  This consolidates dirty bits a little.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/gen7_urb.c

index eb811b45659ea303d9cc8210f1458d3dbb47a514..983078837acfe52193e0414ae18b4d16dce220d5 100644 (file)
@@ -192,10 +192,10 @@ upload_urb(struct brw_context *brw)
    const struct brw_vue_prog_data *vs_vue_prog_data =
       brw_vue_prog_data(brw->vs.base.prog_data);
    const unsigned vs_size = MAX2(vs_vue_prog_data->urb_entry_size, 1);
-   /* BRW_NEW_GEOMETRY_PROGRAM, BRW_NEW_GS_PROG_DATA */
-   const bool gs_present = brw->geometry_program;
-   /* BRW_NEW_TESS_PROGRAMS */
-   const bool tess_present = brw->tess_eval_program;
+   /* BRW_NEW_GS_PROG_DATA */
+   const bool gs_present = brw->gs.base.prog_data;
+   /* BRW_NEW_TES_PROG_DATA */
+   const bool tess_present = brw->tes.base.prog_data;
 
    gen7_upload_urb(brw, vs_size, gs_present, tess_present);
 }
@@ -450,8 +450,6 @@ const struct brw_tracked_state gen7_urb = {
       .mesa = 0,
       .brw = BRW_NEW_CONTEXT |
              BRW_NEW_URB_SIZE |
-             BRW_NEW_GEOMETRY_PROGRAM |
-             BRW_NEW_TESS_PROGRAMS |
              BRW_NEW_GS_PROG_DATA |
              BRW_NEW_TCS_PROG_DATA |
              BRW_NEW_TES_PROG_DATA |