summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2017-07-08 10:51:19 -0400
committerIlia Mirkin <[email protected]>2017-07-08 21:14:58 -0400
commit4ad40094739af2613d9dd6cefefe2dfe32af776c (patch)
tree3249c4143501097fbce3f4ef21b747a30fb0de58
parentcf173b5dcd0bf26a18965161ec6cbe1b562f87ac (diff)
a5xx: fix border color for depth formats
Signed-off-by: Ilia Mirkin <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_emit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
index c138905cefb..8465389763c 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
@@ -173,7 +173,8 @@ struct PACKED bcolor_entry {
uint8_t ui8[4];
int8_t si8[4];
uint32_t rgb10a2;
- uint8_t __pad1[36];
+ uint32_t z24; /* also s8? */
+ uint8_t __pad1[32];
};
#define FD5_BORDER_COLOR_SIZE 0x60
@@ -213,6 +214,7 @@ setup_border_colors(struct fd_texture_stateobj *tex, struct bcolor_entry *entrie
e->rgb5a1 = 0;
e->rgba4 = 0;
e->rgb10a2 = 0;
+ e->z24 = 0;
for (j = 0; j < 4; j++) {
int c = desc->swizzle[j];
@@ -275,6 +277,8 @@ setup_border_colors(struct fd_texture_stateobj *tex, struct bcolor_entry *entrie
else
e->rgb10a2 |= (int)(f_u * 0x3ff) << (c * 10);
e->rgba4 |= (int)(f_u * 0xf) << (c * 4);
+ if (c == 0)
+ e->z24 = f_u * 0xffffff;
}
}