zink/spirv: drop temp-array for component-count
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 30 Oct 2019 14:33:14 +0000 (15:33 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 6 Nov 2019 12:43:14 +0000 (13:43 +0100)
src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c

index 8732bc8839fb35f71883477e8faad8461a1ec394..b72c731dd858769eb05ab037f9d38a2be9124034 100644 (file)
@@ -1052,10 +1052,6 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
 static void
 emit_load_const(struct ntv_context *ctx, nir_load_const_instr *load_const)
 {
-   uint32_t values[NIR_MAX_VEC_COMPONENTS];
-   for (int i = 0; i < load_const->def.num_components; ++i)
-      values[i] = load_const->value[i].u32;
-
    unsigned bit_size = load_const->def.bit_size;
    unsigned num_components = load_const->def.num_components;
 
@@ -1063,14 +1059,15 @@ emit_load_const(struct ntv_context *ctx, nir_load_const_instr *load_const)
    if (num_components > 1) {
       SpvId components[num_components];
       for (int i = 0; i < num_components; i++)
-         components[i] = emit_uint_const(ctx, bit_size, values[i]);
+         components[i] = emit_uint_const(ctx, bit_size,
+                                         load_const->value[i].u32);
 
       SpvId type = get_uvec_type(ctx, bit_size, num_components);
       constant = spirv_builder_const_composite(&ctx->builder, type,
                                                components, num_components);
    } else {
       assert(num_components == 1);
-      constant = emit_uint_const(ctx, bit_size, values[0]);
+      constant = emit_uint_const(ctx, bit_size, load_const->value[0].u32);
    }
 
    store_ssa_def_uint(ctx, &load_const->def, constant);