From: Rob Clark Date: Sun, 10 Mar 2019 15:08:10 +0000 (-0400) Subject: freedreno/a6xx: more bcolor fixes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=941adcef036c1a427c66ab08d041a008431c1e8c;p=mesa.git freedreno/a6xx: more bcolor fixes Non-zero offset wasn't working, which breaks a bunch of dEQP-GLES31.functional.texture.border_clamp.formats.* when doing sharded deqp runs (because order of tests changes, resulting in different texture state bound.. deqp doesn't really clean up it's gl state between tests very well) Previously, if additional textures were bound, due to using too small of a bcolor_entry size, the last 32bytes of the bcolor_entry would be overwritten. Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c index 95ac616a76c..b48a0d68fde 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c @@ -162,10 +162,10 @@ struct PACKED bcolor_entry { uint32_t rgb10a2; uint32_t z24; /* also s8? */ uint16_t srgb[4]; /* appears to duplicate fp16[], but clamped, used for srgb */ - uint8_t __pad1[24]; + uint8_t __pad1[56]; }; -#define FD6_BORDER_COLOR_SIZE 0x60 +#define FD6_BORDER_COLOR_SIZE sizeof(struct bcolor_entry) #define FD6_BORDER_COLOR_UPLOAD_SIZE (2 * PIPE_MAX_SAMPLERS * FD6_BORDER_COLOR_SIZE) static void