diff options
author | Eric Anholt <[email protected]> | 2017-12-19 14:20:19 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2017-12-19 14:20:19 -0800 |
commit | 200562ad0121c6723100ae8df5b28d0d75df4a8f (patch) | |
tree | cb29c588280a752244b8e556d9f43c8fb1189974 /src/gallium/drivers/vc5 | |
parent | 5473dc2b1f1f2eb8adb7c30c908e38f239b35a09 (diff) |
broadcom/vc5: Clean up the comment and code around level 0 UIF.
I wrote this early in driver development, and our UIF handling is much
better now.
Diffstat (limited to 'src/gallium/drivers/vc5')
-rw-r--r-- | src/gallium/drivers/vc5/vc5_state.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/gallium/drivers/vc5/vc5_state.c b/src/gallium/drivers/vc5/vc5_state.c index b7f9c405e4a..6a90a78e2e5 100644 --- a/src/gallium/drivers/vc5/vc5_state.c +++ b/src/gallium/drivers/vc5/vc5_state.c @@ -693,21 +693,17 @@ vc5_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc, tex.swizzle_a = translate_swizzle(PIPE_SWIZZLE_W); } - /* XXX: While we need to use this flag to enable tiled - * resource sharing (even a small shared buffer should be UIF, - * not UBLINEAR or raster), this is also at the moment - * patching up the fact that our resource layout's decisions - * about XOR don't quite match the HW's. + /* Since other platform devices may produce UIF images even + * when they're not big enough for V3D to assume they're UIF, + * we force images with level 0 as UIF to be always treated + * that way. */ - switch (rsc->slices[0].tiling) { - case VC5_TILING_UIF_NO_XOR: - case VC5_TILING_UIF_XOR: - tex.level_0_is_strictly_uif = true; - tex.level_0_xor_enable = false; - break; - default: - break; - } + tex.level_0_is_strictly_uif = (rsc->slices[0].tiling == + VC5_TILING_UIF_XOR || + rsc->slices[0].tiling == + VC5_TILING_UIF_NO_XOR); + tex.level_0_xor_enable = (rsc->slices[0].tiling == + VC5_TILING_UIF_XOR); }; return &so->base; |