summaryrefslogtreecommitdiff
path: root/src/amd/vulkan/si_cmd_buffer.c
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2020-12-03 12:42:12 +0100
committerMarge Bot <eric+marge@anholt.net>2020-12-07 09:30:05 +0000
commit3494551d081820b1e5835fb46c8e98564ce855f6 (patch)
tree40310e025794f097489c4657273550ea9724d5a5 /src/amd/vulkan/si_cmd_buffer.c
parentfadcf13c8bad5bc07e7fffaca7197adda66b4bd7 (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.c7
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