nir/validate: Drop legacy atomics

We duplicated the validation for unified vs legacy atomics, so drop the unused
latter set.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23036>
This commit is contained in:
Alyssa Rosenzweig 2023-05-15 10:32:20 -04:00 committed by Marge Bot
parent c853ae660f
commit f00c464b5b

View file

@ -752,93 +752,6 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state)
break;
}
case nir_intrinsic_image_deref_atomic_add:
case nir_intrinsic_image_deref_atomic_imin:
case nir_intrinsic_image_deref_atomic_umin:
case nir_intrinsic_image_deref_atomic_imax:
case nir_intrinsic_image_deref_atomic_umax:
case nir_intrinsic_image_deref_atomic_and:
case nir_intrinsic_image_deref_atomic_or:
case nir_intrinsic_image_deref_atomic_xor:
case nir_intrinsic_image_deref_atomic_comp_swap:
case nir_intrinsic_image_deref_atomic_inc_wrap:
case nir_intrinsic_image_deref_atomic_dec_wrap:
case nir_intrinsic_image_atomic_add:
case nir_intrinsic_image_atomic_imin:
case nir_intrinsic_image_atomic_umin:
case nir_intrinsic_image_atomic_imax:
case nir_intrinsic_image_atomic_umax:
case nir_intrinsic_image_atomic_and:
case nir_intrinsic_image_atomic_or:
case nir_intrinsic_image_atomic_xor:
case nir_intrinsic_image_atomic_comp_swap:
case nir_intrinsic_image_atomic_inc_wrap:
case nir_intrinsic_image_atomic_dec_wrap:
case nir_intrinsic_bindless_image_atomic_add:
case nir_intrinsic_bindless_image_atomic_imin:
case nir_intrinsic_bindless_image_atomic_umin:
case nir_intrinsic_bindless_image_atomic_imax:
case nir_intrinsic_bindless_image_atomic_umax:
case nir_intrinsic_bindless_image_atomic_and:
case nir_intrinsic_bindless_image_atomic_or:
case nir_intrinsic_bindless_image_atomic_xor:
case nir_intrinsic_bindless_image_atomic_comp_swap:
case nir_intrinsic_bindless_image_atomic_inc_wrap:
case nir_intrinsic_bindless_image_atomic_dec_wrap: {
enum pipe_format format = image_intrin_format(instr);
if (format != PIPE_FORMAT_COUNT) {
validate_assert(state, format == PIPE_FORMAT_R32_UINT ||
format == PIPE_FORMAT_R32_SINT ||
format == PIPE_FORMAT_R64_UINT ||
format == PIPE_FORMAT_R64_SINT);
validate_assert(state, nir_dest_bit_size(instr->dest) ==
util_format_get_blocksizebits(format));
}
break;
}
case nir_intrinsic_image_deref_atomic_exchange:
case nir_intrinsic_image_atomic_exchange:
case nir_intrinsic_bindless_image_atomic_exchange: {
enum pipe_format format = image_intrin_format(instr);
if (format != PIPE_FORMAT_COUNT) {
validate_assert(state, format == PIPE_FORMAT_R32_UINT ||
format == PIPE_FORMAT_R32_SINT ||
format == PIPE_FORMAT_R32_FLOAT ||
format == PIPE_FORMAT_R64_UINT ||
format == PIPE_FORMAT_R64_SINT);
validate_assert(state, nir_dest_bit_size(instr->dest) ==
util_format_get_blocksizebits(format));
}
break;
}
case nir_intrinsic_image_deref_atomic_fadd:
case nir_intrinsic_image_atomic_fadd:
case nir_intrinsic_bindless_image_atomic_fadd: {
enum pipe_format format = image_intrin_format(instr);
validate_assert(state, format == PIPE_FORMAT_COUNT ||
format == PIPE_FORMAT_R32_FLOAT);
validate_assert(state, nir_dest_bit_size(instr->dest) == 32);
break;
}
case nir_intrinsic_image_deref_atomic_fmin:
case nir_intrinsic_image_deref_atomic_fmax:
case nir_intrinsic_image_atomic_fmin:
case nir_intrinsic_image_atomic_fmax:
case nir_intrinsic_bindless_image_atomic_fmin:
case nir_intrinsic_bindless_image_atomic_fmax: {
enum pipe_format format = image_intrin_format(instr);
validate_assert(state, format == PIPE_FORMAT_COUNT ||
format == PIPE_FORMAT_R16_FLOAT ||
format == PIPE_FORMAT_R32_FLOAT ||
format == PIPE_FORMAT_R64_FLOAT);
validate_assert(state, nir_dest_bit_size(instr->dest) ==
util_format_get_blocksizebits(format));
break;
}
case nir_intrinsic_store_buffer_amd:
if (nir_intrinsic_access(instr) & ACCESS_USES_FORMAT_AMD) {
unsigned writemask = nir_intrinsic_write_mask(instr);