summaryrefslogtreecommitdiff
path: root/src/compiler/glsl/glsl_to_nir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/glsl/glsl_to_nir.cpp')
-rw-r--r--src/compiler/glsl/glsl_to_nir.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp
index 108ce7177f6..fdcdc07b359 100644
--- a/src/compiler/glsl/glsl_to_nir.cpp
+++ b/src/compiler/glsl/glsl_to_nir.cpp
@@ -1344,10 +1344,13 @@ nir_visitor::visit(ir_call *ir)
if (op == nir_intrinsic_image_deref_size) {
instr->num_components = instr->dest.ssa.num_components;
- } else if (op == nir_intrinsic_image_deref_load ||
- op == nir_intrinsic_image_deref_store) {
+ } else if (op == nir_intrinsic_image_deref_load) {
+ instr->num_components = 4;
+ nir_intrinsic_set_dest_type(instr,
+ nir_get_nir_type_for_glsl_base_type(type->sampled_type));
+ } else if (op == nir_intrinsic_image_deref_store) {
instr->num_components = 4;
- nir_intrinsic_set_type(instr,
+ nir_intrinsic_set_src_type(instr,
nir_get_nir_type_for_glsl_base_type(type->sampled_type));
}