nir: add src and dest types to all IO loads and stores for mediump

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9050>
This commit is contained in:
Marek Olšák
2021-02-09 11:08:11 -05:00
committed by Marge Bot
parent e06cbff50e
commit 5f7c7c9a7f
2 changed files with 11 additions and 6 deletions

View File

@@ -301,6 +301,10 @@ emit_load(struct lower_io_state *state,
if (load->intrinsic == nir_intrinsic_load_input ||
load->intrinsic == nir_intrinsic_load_input_vertex ||
load->intrinsic == nir_intrinsic_load_interpolated_input ||
load->intrinsic == nir_intrinsic_load_per_vertex_input ||
load->intrinsic == nir_intrinsic_load_output ||
load->intrinsic == nir_intrinsic_load_per_vertex_output ||
load->intrinsic == nir_intrinsic_load_uniform)
nir_intrinsic_set_dest_type(load, dest_type);
@@ -407,7 +411,8 @@ emit_store(struct lower_io_state *state, nir_ssa_def *data,
if (mode == nir_var_shader_out)
nir_intrinsic_set_component(store, component);
if (store->intrinsic == nir_intrinsic_store_output)
if (store->intrinsic == nir_intrinsic_store_output ||
store->intrinsic == nir_intrinsic_store_per_vertex_output)
nir_intrinsic_set_src_type(store, src_type);
nir_intrinsic_set_write_mask(store, write_mask);