projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
20bd0f6
)
radeonsi/nir: fix handling of doubles for gs inputs
author
Timothy Arceri
<tarceri@itsqueeze.com>
Thu, 1 Mar 2018 04:21:52 +0000
(15:21 +1100)
committer
Timothy Arceri
<tarceri@itsqueeze.com>
Tue, 6 Mar 2018 00:44:06 +0000
(11:44 +1100)
Fixes piglit test:
tests/spec/arb_gpu_shader_fp64/execution/explicit-location-gs-fs-vs.shader_test
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/radeonsi/si_shader.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index f3a37d71a0a88500a21eb4c7c0b5a33acb59e2aa..2ae2544e3f71aa549fc1a621e8ac42bce649bd66 100644
(file)
--- a/
src/gallium/drivers/radeonsi/si_shader.c
+++ b/
src/gallium/drivers/radeonsi/si_shader.c
@@
-1693,10
+1693,14
@@
static LLVMValueRef si_nir_load_input_gs(struct ac_shader_abi *abi,
{
struct si_shader_context *ctx = si_shader_context_from_abi(abi);
- LLVMValueRef value[
8
];
+ LLVMValueRef value[
4
];
for (unsigned i = component; i < num_components + component; i++) {
+ unsigned offset = i;
+ if (llvm_type_is_64bit(ctx, type))
+ offset *= 2;
+
value[i] = si_llvm_load_input_gs(&ctx->abi, driver_location / 4,
- vertex_index, type,
i
);
+ vertex_index, type,
offset
);
}
return ac_build_varying_gather_values(&ctx->ac, value, num_components, component);