summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-08-09 15:38:04 -0700
committerJason Ekstrand <[email protected]>2016-08-19 03:11:29 -0700
commit75304fdbd833ef52c95f61cf2f53d13869a150a4 (patch)
treeac2fc93e0ee846c1fd7b61401640722f7aebc095
parent8b0426ddd48b6cf910dcfa2ff292167b00d3323a (diff)
i965/blorp/gen6-7: Move surfaces and samplers closer together
This mimics what we do on gen8. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/gen6_blorp.c4
-rw-r--r--src/mesa/drivers/dri/i965/gen7_blorp.c17
2 files changed, 10 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.c b/src/mesa/drivers/dri/i965/gen6_blorp.c
index 3fa80907330..b252d780b60 100644
--- a/src/mesa/drivers/dri/i965/gen6_blorp.c
+++ b/src/mesa/drivers/dri/i965/gen6_blorp.c
@@ -550,6 +550,7 @@ gen6_blorp_exec(struct brw_context *brw,
gen6_blorp_emit_binding_table(brw,
wm_surf_offset_renderbuffer,
wm_surf_offset_texture);
+ gen6_blorp_emit_binding_table_pointers(brw, wm_bind_bo_offset);
}
if (params->src.bo) {
@@ -557,13 +558,12 @@ gen6_blorp_exec(struct brw_context *brw,
gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true);
gen6_blorp_emit_sampler_state_pointers(brw, sampler_offset);
}
+
gen6_blorp_emit_vs_disable(brw, params);
gen6_blorp_emit_gs_disable(brw, params);
gen6_blorp_emit_clip_disable(brw);
gen6_blorp_emit_sf_config(brw, params);
gen6_blorp_emit_wm_config(brw, params);
- if (params->wm_prog_data)
- gen6_blorp_emit_binding_table_pointers(brw, wm_bind_bo_offset);
gen6_blorp_emit_viewport_state(brw, params);
if (params->depth.bo)
diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.c b/src/mesa/drivers/dri/i965/gen7_blorp.c
index 122f37fab49..adbf909d399 100644
--- a/src/mesa/drivers/dri/i965/gen7_blorp.c
+++ b/src/mesa/drivers/dri/i965/gen7_blorp.c
@@ -511,7 +511,15 @@ gen7_blorp_exec(struct brw_context *brw,
gen6_blorp_emit_binding_table(brw,
wm_surf_offset_renderbuffer,
wm_surf_offset_texture);
+ gen7_blorp_emit_binding_table_pointers_ps(brw, wm_bind_bo_offset);
}
+
+ if (params->src.bo) {
+ const uint32_t sampler_offset =
+ gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true);
+ gen7_blorp_emit_sampler_state_pointers_ps(brw, sampler_offset);
+ }
+
gen7_blorp_emit_vs_disable(brw);
gen7_blorp_emit_hs_disable(brw);
gen7_blorp_emit_te_disable(brw);
@@ -521,15 +529,6 @@ gen7_blorp_exec(struct brw_context *brw,
gen6_blorp_emit_clip_disable(brw);
gen7_blorp_emit_sf_config(brw, params);
gen7_blorp_emit_wm_config(brw, params);
- if (params->wm_prog_data)
- gen7_blorp_emit_binding_table_pointers_ps(brw, wm_bind_bo_offset);
-
- if (params->src.bo) {
- const uint32_t sampler_offset =
- gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true);
- gen7_blorp_emit_sampler_state_pointers_ps(brw, sampler_offset);
- }
-
gen7_blorp_emit_ps_config(brw, params);
gen7_blorp_emit_cc_viewport(brw);