summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-08-01 16:23:05 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-08-01 16:23:05 +0100
commiteaeda34bef711cc566f51dee092a19a3c4ac1a16 (patch)
tree346b4e8023a544cc742021431cdd8c91c72f9d8f /src
parent55231eca818c82620c0146384b19b5d5659f6cd6 (diff)
sna: Fix computation of st values for SIMD8 dispatch
Fixes regression with enabling 8-pixels. Reported-by: Mehran Kholdi <semekh.dev@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53044 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r--src/sna/brw/brw_wm.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/sna/brw/brw_wm.c b/src/sna/brw/brw_wm.c
index bd4003dd..f54e55ef 100644
--- a/src/sna/brw/brw_wm.c
+++ b/src/sna/brw/brw_wm.c
@@ -42,12 +42,11 @@ static void brw_wm_affine_st(struct brw_compile *p, int dw,
if (dw == 16) {
brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED);
uv = p->gen >= 60 ? 6 : 3;
- uv += 2*channel;
} else {
brw_set_compression_control(p, BRW_COMPRESSION_NONE);
uv = p->gen >= 60 ? 4 : 3;
- uv += channel;
}
+ uv += 2*channel;
msg++;
if (p->gen >= 60) {
@@ -462,9 +461,6 @@ brw_wm_kernel__affine_mask(struct brw_compile *p, int dispatch)
{
int src, mask;
- if (dispatch == 8)
- return false; /* XXX sampler alpha retuns all 0 */
-
if (p->gen < 60)
brw_wm_xy(p, dispatch);
@@ -495,9 +491,6 @@ brw_wm_kernel__affine_mask_sa(struct brw_compile *p, int dispatch)
{
int src, mask;
- if (dispatch == 8)
- return false; /* XXX sampler alpha retuns all 0 */
-
if (p->gen < 60)
brw_wm_xy(p, dispatch);
@@ -518,12 +511,11 @@ static void brw_wm_projective_st(struct brw_compile *p, int dw,
if (dw == 16) {
brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED);
uv = p->gen >= 60 ? 6 : 3;
- uv += 2*channel;
} else {
brw_set_compression_control(p, BRW_COMPRESSION_NONE);
uv = p->gen >= 60 ? 4 : 3;
- uv += channel;
}
+ uv += 2*channel;
msg++;
if (p->gen >= 60) {
@@ -614,9 +606,6 @@ brw_wm_kernel__projective_mask(struct brw_compile *p, int dispatch)
{
int src, mask;
- if (dispatch == 8)
- return false; /* XXX sampler alpha retuns all 0 */
-
if (p->gen < 60)
brw_wm_xy(p, dispatch);
@@ -647,9 +636,6 @@ brw_wm_kernel__projective_mask_sa(struct brw_compile *p, int dispatch)
{
int src, mask;
- if (dispatch == 8)
- return false; /* XXX sampler alpha retuns all 0 */
-
if (p->gen < 60)
brw_wm_xy(p, dispatch);