diff options
| author | Matt Turner <mattst88@gmail.com> | 2014-05-06 12:37:46 -0700 |
|---|---|---|
| committer | Matt Turner <mattst88@gmail.com> | 2014-08-19 17:42:39 -0700 |
| commit | 4c9821fb53fb642caf50a8bce648ed8ad3121eb3 (patch) | |
| tree | e63b442a2a74dba0b9906ba9e6bd93c40a9caa20 | |
| parent | 0f004af67d39883484b9951f3b789961f0a0cadb (diff) | |
i965/blorp: Enable SPF when the shader contains no control flow.dead/spf
| -rw-r--r-- | src/mesa/drivers/dri/i965/gen6_blorp.cpp | 1 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/i965/gen7_blorp.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 9ab100305e3..feef0db234b 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -683,6 +683,7 @@ gen6_blorp_emit_wm_config(struct brw_context *brw, dw6 |= 0 << GEN6_WM_NUM_SF_OUTPUTS_SHIFT; /* No inputs from SF */ if (params->use_wm_prog) { dw2 |= 1 << GEN6_WM_SAMPLER_COUNT_SHIFT; /* Up to 4 samplers */ + dw2 |= !prog_data->has_control_flow ? GEN6_WM_SPF_MODE : 0; dw4 |= prog_data->first_curbe_grf << GEN6_WM_DISPATCH_START_GRF_SHIFT_0; dw5 |= GEN6_WM_16_DISPATCH_ENABLE; dw5 |= GEN6_WM_KILL_ENABLE; /* TODO: temporarily smash on */ diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp index 206a6ff6d5d..30c2cc18af6 100644 --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp @@ -525,6 +525,7 @@ gen7_blorp_emit_ps_config(struct brw_context *brw, dw4 |= SET_FIELD(1, HSW_PS_SAMPLE_MASK); /* 1 sample for now */ if (params->use_wm_prog) { dw2 |= 1 << GEN7_PS_SAMPLER_COUNT_SHIFT; /* Up to 4 samplers */ + dw2 |= !prog_data->has_control_flow ? GEN7_PS_SPF_MODE : 0; dw4 |= GEN7_PS_PUSH_CONSTANT_ENABLE; dw5 |= prog_data->first_curbe_grf << GEN7_PS_DISPATCH_START_GRF_SHIFT_0; } |
