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>
This commit is contained in:
Samuel Pitoiset
2020-12-03 12:42:12 +01:00
committed by Marge Bot
parent fadcf13c8b
commit 3494551d08
5 changed files with 17 additions and 6 deletions

View File

@@ -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