summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-12-15 14:22:16 +1100
committerTimothy Arceri <[email protected]>2018-01-30 09:08:47 +1100
commit327c1a7fb3c30b639112f0d3f7c4a9b768434381 (patch)
treef6fac4c2414f5663ca64d3e188fb3422cbd5acfe /src/gallium
parent44067d6f0d3822bfe7cef449bb5920a986a66cdc (diff)
radeonsi/nir: add support vs double inputs
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 94d8def8141..453d31bd135 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -681,6 +681,11 @@ bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir)
if (nir->info.stage == MESA_SHADER_VERTEX) {
declare_nir_input_vs(ctx, variable, input_idx / 4, data);
bitcast_inputs(ctx, data, input_idx);
+ if (glsl_type_is_dual_slot(variable->type)) {
+ input_idx += 4;
+ declare_nir_input_vs(ctx, variable, input_idx / 4, data);
+ bitcast_inputs(ctx, data, input_idx);
+ }
} else if (nir->info.stage == MESA_SHADER_FRAGMENT) {
declare_nir_input_fs(ctx, variable, input_idx / 4, data);
bitcast_inputs(ctx, data, input_idx);