mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 01:50:12 +01:00
i965: Optimize VUE map comparisons.
The entire VUE map is computed based on the slots_valid bitfield; calling brw_compute_vue_map on the same bitfield will return the same result. So we can simply compare those. struct brw_vue_map is 136 bytes; doing a single 8-byte comparison is much cheaper and should work just as well. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
This commit is contained in:
parent
6e03377daf
commit
0e23c246c0
2 changed files with 4 additions and 4 deletions
|
|
@ -356,8 +356,8 @@ brw_upload_gs_prog(struct brw_context *brw)
|
|||
}
|
||||
brw->gs.base.prog_data = &brw->gs.prog_data->base.base;
|
||||
|
||||
if (memcmp(&brw->gs.prog_data->base.vue_map, &brw->vue_map_geom_out,
|
||||
sizeof(brw->vue_map_geom_out)) != 0) {
|
||||
if (brw->gs.prog_data->base.vue_map.slots_valid !=
|
||||
brw->vue_map_geom_out.slots_valid) {
|
||||
brw->vue_map_geom_out = brw->gs.prog_data->base.vue_map;
|
||||
brw->ctx.NewDriverState |= BRW_NEW_VUE_MAP_GEOM_OUT;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -368,8 +368,8 @@ brw_upload_vs_prog(struct brw_context *brw)
|
|||
}
|
||||
brw->vs.base.prog_data = &brw->vs.prog_data->base.base;
|
||||
|
||||
if (memcmp(&brw->vs.prog_data->base.vue_map, &brw->vue_map_geom_out,
|
||||
sizeof(brw->vue_map_geom_out)) != 0) {
|
||||
if (brw->vs.prog_data->base.vue_map.slots_valid !=
|
||||
brw->vue_map_geom_out.slots_valid) {
|
||||
brw->vue_map_vs = brw->vs.prog_data->base.vue_map;
|
||||
brw->ctx.NewDriverState |= BRW_NEW_VUE_MAP_VS;
|
||||
if (brw->gen < 6) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue