summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-10-22 19:37:42 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-10-22 19:41:26 +0100
commite46f26b9e2671468e9accd2f69ffc22fb96b5849 (patch)
tree9ec217c161228a4a929091eacf575e011ca57553
parentdee9ea29917dd5ef4a7de6570cd091f08d334df9 (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.c28
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;
}