Module: Mesa Branch: master Commit: fb64954d9dd55b45239c27af122bf60c3962d006 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb64954d9dd55b45239c27af122bf60c3962d006
Author: Jason Ekstrand <[email protected]> Date: Fri Mar 27 13:08:21 2020 -0500 nir: Validate that memory load/store ops work on whole bytes Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4338> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4338> --- src/compiler/nir/nir_validate.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c index e0da743144a..7ecca048750 100644 --- a/src/compiler/nir/nir_validate.c +++ b/src/compiler/nir/nir_validate.c @@ -570,6 +570,33 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state) break; } + case nir_intrinsic_load_uniform: + case nir_intrinsic_load_ubo: + case nir_intrinsic_load_input: + case nir_intrinsic_load_per_vertex_input: + case nir_intrinsic_load_interpolated_input: + case nir_intrinsic_load_ssbo: + case nir_intrinsic_load_output: + case nir_intrinsic_load_per_vertex_output: + case nir_intrinsic_load_shared: + case nir_intrinsic_load_push_constant: + case nir_intrinsic_load_constant: + case nir_intrinsic_load_global: + case nir_intrinsic_load_scratch: + /* Memory load operations must load at least a byte */ + validate_assert(state, nir_dest_bit_size(instr->dest) >= 8); + break; + + case nir_intrinsic_store_output: + case nir_intrinsic_store_per_vertex_output: + case nir_intrinsic_store_ssbo: + case nir_intrinsic_store_shared: + case nir_intrinsic_store_global: + case nir_intrinsic_store_scratch: + /* Memory store operations must store at least a byte */ + validate_assert(state, nir_src_bit_size(instr->src[0]) >= 8); + break; + default: break; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
