From 6af5181f137c7fa54d9ed64ba2989a37f992620b Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Tue, 8 Dec 2020 13:46:35 +0100 Subject: [PATCH] vtn: Use sized types for nir_tex_instr::dest_type Reviewed-by: Jason Ekstrand Part-of: --- src/compiler/spirv/spirv_to_nir.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index d5fe6483eb8..bdb969a8324 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -2613,22 +2613,22 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, case SpvOpImageQuerySizeLod: case SpvOpImageQuerySize: texop = nir_texop_txs; - dest_type = nir_type_int; + dest_type = nir_type_int32; break; case SpvOpImageQueryLod: texop = nir_texop_lod; - dest_type = nir_type_float; + dest_type = nir_type_float32; break; case SpvOpImageQueryLevels: texop = nir_texop_query_levels; - dest_type = nir_type_int; + dest_type = nir_type_int32; break; case SpvOpImageQuerySamples: texop = nir_texop_texture_samples; - dest_type = nir_type_int; + dest_type = nir_type_int32; break; case SpvOpFragmentFetchAMD: @@ -2637,7 +2637,7 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, case SpvOpFragmentMaskFetchAMD: texop = nir_texop_fragment_mask_fetch; - dest_type = nir_type_uint; + dest_type = nir_type_uint32; break; default: @@ -2941,14 +2941,7 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, vtn_fail_if(sampler_base != ret_base && sampler_base != GLSL_TYPE_VOID, "SPIR-V return type mismatches image type. This is only valid " "for untyped images (OpenCL)."); - switch (ret_base) { - case GLSL_TYPE_FLOAT: dest_type = nir_type_float; break; - case GLSL_TYPE_INT: dest_type = nir_type_int; break; - case GLSL_TYPE_UINT: dest_type = nir_type_uint; break; - case GLSL_TYPE_BOOL: dest_type = nir_type_bool; break; - default: - vtn_fail("Invalid base type for sampler result"); - } + dest_type = nir_get_nir_type_for_glsl_base_type(ret_base); } instr->dest_type = dest_type;