From f90c3b448508cbed26f697c9f36fd1ee6264a32b Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 21 Feb 2019 15:44:35 -0500 Subject: [PATCH] freedreno/a6xx: fix border-color offset Fixes nearly all of dEQP-GLES31.functional.texture.border_clamp.* when run after a test that binds textures used in vertex shader. Signed-off-by: Rob Clark --- src/freedreno/registers/a6xx.xml.h | 4 ++-- src/gallium/drivers/freedreno/a6xx/fd6_emit.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/freedreno/registers/a6xx.xml.h b/src/freedreno/registers/a6xx.xml.h index 78869bf0469..227a04aafbe 100644 --- a/src/freedreno/registers/a6xx.xml.h +++ b/src/freedreno/registers/a6xx.xml.h @@ -5215,8 +5215,8 @@ static inline uint32_t A6XX_TEX_SAMP_1_MIN_LOD(float val) } #define REG_A6XX_TEX_SAMP_2 0x00000002 -#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK 0xfffffff0 -#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT 4 +#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK 0xffffffff +#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT 0 static inline uint32_t A6XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val) { return ((val) << A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c index daa06d22c82..243d44335ac 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c @@ -370,7 +370,7 @@ fd6_emit_textures(struct fd_pipe *pipe, struct fd_ringbuffer *ring, OUT_RING(state, sampler->texsamp0); OUT_RING(state, sampler->texsamp1); OUT_RING(state, sampler->texsamp2 | - A6XX_TEX_SAMP_2_BCOLOR_OFFSET(bcolor_offset)); + A6XX_TEX_SAMP_2_BCOLOR_OFFSET((i + bcolor_offset) * sizeof(struct bcolor_entry))); OUT_RING(state, sampler->texsamp3); needs_border |= sampler->needs_border; } -- 2.30.2