diff options
author | Kenneth Graunke <[email protected]> | 2014-02-10 17:31:00 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2014-02-19 15:42:16 -0800 |
commit | 61d7ea4b16b1d5effd273027c21cf64841b67b78 (patch) | |
tree | 573c5235065191764bb4dd2fba7dbcfafd80dc11 | |
parent | 01c42b2be64ec83c28230c1f8e1cbb2c5f5bd690 (diff) |
i965: Set "Position XY Offset Select" bits in 3DSTATE_PS on Broadwell.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/gen8_ps_state.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/gen8_ps_state.c b/src/mesa/drivers/dri/i965/gen8_ps_state.c index 5b7aa34a72d..c25b82757c1 100644 --- a/src/mesa/drivers/dri/i965/gen8_ps_state.c +++ b/src/mesa/drivers/dri/i965/gen8_ps_state.c @@ -184,6 +184,24 @@ upload_ps_state(struct brw_context *brw) if (brw->wm.prog_data->prog_offset_16) dw6 |= GEN7_PS_16_DISPATCH_ENABLE; + /* From the documentation for this packet: + * "If the PS kernel does not need the Position XY Offsets to + * compute a Position Value, then this field should be programmed + * to POSOFFSET_NONE." + * + * "SW Recommendation: If the PS kernel needs the Position Offsets + * to compute a Position XY value, this field should match Position + * ZW Interpolation Mode to ensure a consistent position.xyzw + * computation." + * + * We only require XY sample offsets. So, this recommendation doesn't + * look useful at the moment. We might need this in future. + */ + if (brw->wm.prog_data->uses_pos_offset) + dw6 |= GEN7_PS_POSOFFSET_SAMPLE; + else + dw6 |= GEN7_PS_POSOFFSET_NONE; + dw7 |= brw->wm.prog_data->first_curbe_grf << GEN7_PS_DISPATCH_START_GRF_SHIFT_0 | brw->wm.prog_data->first_curbe_grf_16<< GEN7_PS_DISPATCH_START_GRF_SHIFT_2; |