/** Upload the PS binding table. */ static void brw_upload_wm_binding_table(struct brw_context *brw) { brw_upload_binding_table(brw, _3DSTATE_BINDING_TABLE_POINTERS_PS, BRW_NEW_PS_BINDING_TABLE, &brw->wm.base); }
/** Upload the GS binding table (if GS is active). */ static void brw_gs_upload_binding_table(struct brw_context *brw) { /* If there's no GS, skip changing anything. */ if (brw->geometry_program == NULL) return; brw_upload_binding_table(brw, BRW_NEW_GS_BINDING_TABLE, &brw->gs.base); }
/** Upload the PS binding table. */ static void brw_upload_wm_binding_table(struct brw_context *brw) { /* BRW_NEW_FS_PROG_DATA */ const struct brw_stage_prog_data *prog_data = brw->wm.base.prog_data; brw_upload_binding_table(brw, _3DSTATE_BINDING_TABLE_POINTERS_PS, prog_data, &brw->wm.base); }
/** Upload the GS binding table (if GS is active). */ static void brw_gs_upload_binding_table(struct brw_context *brw) { /* If there's no GS, skip changing anything. */ if (brw->geometry_program == NULL) return; /* BRW_NEW_GS_PROG_DATA */ const struct brw_stage_prog_data *prog_data = brw->gs.base.prog_data; brw_upload_binding_table(brw, _3DSTATE_BINDING_TABLE_POINTERS_GS, prog_data, &brw->gs.base); }
/** Upload the TCS binding table (if tessellation stages are active). */ static void brw_tcs_upload_binding_table(struct brw_context *brw) { /* Skip if the tessellation stages are disabled. */ if (brw->tess_eval_program == NULL) return; /* BRW_NEW_TCS_PROG_DATA */ const struct brw_stage_prog_data *prog_data = brw->tcs.base.prog_data; brw_upload_binding_table(brw, _3DSTATE_BINDING_TABLE_POINTERS_HS, prog_data, &brw->tcs.base); }
/** Upload the VS binding table. */ static void brw_vs_upload_binding_table(struct brw_context *brw) { brw_upload_binding_table(brw, BRW_NEW_VS_BINDING_TABLE, &brw->vs.base); }