[Mesa-dev] [PATCH v2 02/18] nir/vtn: Use imov where we might have 8 bit types

Karol Herbst kherbst at redhat.com
Thu Mar 8 15:25:48 UTC 2018


From: Rob Clark <robdclark at gmail.com>

Otherwise nir_validate may complain about 8 bit floats, which do not exist.

Signed-off-by: Karol Herbst <kherbst at redhat.com>
---
 src/compiler/spirv/spirv_to_nir.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 6dbea090bb..48ade2c1ca 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -2686,7 +2686,7 @@ create_vec(struct vtn_builder *b, unsigned num_components, unsigned bit_size)
 {
    nir_op op;
    switch (num_components) {
-   case 1: op = nir_op_fmov; break;
+   case 1: op = nir_op_imov; break;
    case 2: op = nir_op_vec2; break;
    case 3: op = nir_op_vec3; break;
    case 4: op = nir_op_vec4; break;
@@ -2735,7 +2735,7 @@ nir_ssa_def *
 vtn_vector_extract(struct vtn_builder *b, nir_ssa_def *src, unsigned index)
 {
    unsigned swiz[4] = { index };
-   return nir_swizzle(&b->nb, src, swiz, 1, true);
+   return nir_swizzle(&b->nb, src, swiz, 1, false);
 }
 
 nir_ssa_def *
-- 
2.14.3



More information about the mesa-dev mailing list