aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc5/vc5_formats.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-12-29 11:48:41 -0800
committerEric Anholt <[email protected]>2018-01-03 14:25:23 -0800
commit476469955225e15f454e01dc80047dd5fa5c9f97 (patch)
tree57ea220e209807c33f0eed0c70c0a57863beeecb /src/gallium/drivers/vc5/vc5_formats.c
parentba965084b60e702b41beaea75237bfa39335b6cb (diff)
braodcom/vc5: Rely on OVRTMUOUT always being set.
It seems that the HW team has decided that it's the only supported mode, and it's the mode I actually meant to be using but forgot. Our table of return_32_bit should have matched the default non-OVRTMUOUT behavior, so this change should be invisible. However, the change revealed that some my return_size checks for swizzling were a bit confused in the shadow case, so I had to move them to draw time once we have both the sampler and the view together. Fixes assertion failures in the updated simulator, where the non-OVRTMUOUT support has been removed.
Diffstat (limited to 'src/gallium/drivers/vc5/vc5_formats.c')
-rw-r--r--src/gallium/drivers/vc5/vc5_formats.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc5/vc5_formats.c b/src/gallium/drivers/vc5/vc5_formats.c
index c9a8f19cf4f..6c541ea47ea 100644
--- a/src/gallium/drivers/vc5/vc5_formats.c
+++ b/src/gallium/drivers/vc5/vc5_formats.c
@@ -259,13 +259,16 @@ vc5_get_tex_format(enum pipe_format f)
}
uint8_t
-vc5_get_tex_return_size(enum pipe_format f)
+vc5_get_tex_return_size(enum pipe_format f, enum pipe_tex_compare compare)
{
const struct vc5_format *vf = get_format(f);
if (!vf)
return 0;
+ if (compare == PIPE_TEX_COMPARE_R_TO_TEXTURE)
+ return 16;
+
return vf->return_size;
}