diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-10-22 19:37:42 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-10-22 19:41:26 +0100 |
commit | e46f26b9e2671468e9accd2f69ffc22fb96b5849 (patch) | |
tree | 9ec217c161228a4a929091eacf575e011ca57553 | |
parent | dee9ea29917dd5ef4a7de6570cd091f08d334df9 (diff) |
sna/gen8: Load the sampler result directly into the fb write message
With the unified register file (from gen6+), we no longer need to copy
the sample results into the final write message.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/gen8_eu.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/src/sna/gen8_eu.c b/src/sna/gen8_eu.c index 7b6d8870..2fd990a1 100644 --- a/src/sna/gen8_eu.c +++ b/src/sna/gen8_eu.c @@ -1075,28 +1075,6 @@ static void fb_write(struct brw_compile *p, int dw) false, true); } -static void wm_write(struct brw_compile *p, int dw, int src) -{ - int n; - - if (dw == 8) { - /* XXX pixel execution mask? */ - gen8_set_compression_control(p, BRW_COMPRESSION_NONE); - for (n = 0; n < 4; n++) - gen8_MOV(p, - brw_message_reg(2 + n), - brw_vec8_grf(src + n, 0)); - } else { - gen8_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - for (n = 0; n < 4; n++) - gen8_MOV(p, - brw_message_reg(2 + 2*n), - brw_vec8_grf(src + 2*n, 0)); - } - - fb_write(p, dw); -} - static void wm_write__mask(struct brw_compile *p, int dw, int src, int mask) { @@ -1183,7 +1161,8 @@ gen8_wm_kernel__affine(struct brw_compile *p, int dispatch) { gen8_compile_init(p); - wm_write(p, dispatch, wm_affine(p, dispatch, 0, 1, 12)); + wm_affine(p, dispatch, 0, 10, MRF_HACK_START+2); + fb_write(p, dispatch); return true; } @@ -1304,7 +1283,8 @@ gen8_wm_kernel__projective(struct brw_compile *p, int dispatch) { gen8_compile_init(p); - wm_write(p, dispatch, wm_projective(p, dispatch, 0, 1, 12)); + wm_projective(p, dispatch, 0, 10, MRF_HACK_START+2); + fb_write(p, dispatch); return true; } |