diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2020-12-03 12:42:12 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-12-07 09:30:05 +0000 |
commit | 3494551d081820b1e5835fb46c8e98564ce855f6 (patch) | |
tree | 40310e025794f097489c4657273550ea9724d5a5 /src/amd/vulkan/si_cmd_buffer.c | |
parent | fadcf13c8bad5bc07e7fffaca7197adda66b4bd7 (diff) |
radv: set the predication boolean as 32-bit if necessary
CTS is missing tests.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7897>
Diffstat (limited to 'src/amd/vulkan/si_cmd_buffer.c')
-rw-r--r-- | src/amd/vulkan/si_cmd_buffer.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index c20a39a01bb..0d83ca2d8cd 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -1532,12 +1532,15 @@ si_emit_cache_flush(struct radv_cmd_buffer *cmd_buffer) /* sets the CP predication state using a boolean stored at va */ void si_emit_set_predication_state(struct radv_cmd_buffer *cmd_buffer, - bool draw_visible, uint64_t va) + bool draw_visible, unsigned pred_op, uint64_t va) { uint32_t op = 0; if (va) { - op = PRED_OP(PREDICATION_OP_BOOL64); + assert(pred_op == PREDICATION_OP_BOOL32 || + pred_op == PREDICATION_OP_BOOL64); + + op = PRED_OP(pred_op); /* PREDICATION_DRAW_VISIBLE means that if the 32-bit value is * zero, all rendering commands are discarded. Otherwise, they |