Henri Verbeet : vkd3d-shader: Set correct dcl masks in vkd3d_dxbc_compiler_emit_hull_shader_inputs().
Alexandre Julliard
julliard at winehq.org
Mon Mar 22 16:48:27 CDT 2021
Module: vkd3d
Branch: master
Commit: 9007df1067685bc03c07a04715ea510d5aa6ed6e
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=9007df1067685bc03c07a04715ea510d5aa6ed6e
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Mon Mar 22 13:20:09 2021 +0100
vkd3d-shader: Set correct dcl masks in vkd3d_dxbc_compiler_emit_hull_shader_inputs().
Avoiding some duplicate input declarations.
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
libs/vkd3d-shader/spirv.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 64d4e8a..0e75b0a 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -9023,10 +9023,15 @@ static void vkd3d_dxbc_compiler_emit_hull_shader_inputs(struct vkd3d_dxbc_compil
symbol.key.reg.idx = register_idx;
if ((entry = rb_get(&compiler->symbol_table, &symbol)))
+ {
+ struct vkd3d_symbol *s = RB_ENTRY_VALUE(entry, struct vkd3d_symbol, entry);
+ s->info.reg.dcl_mask |= signature->elements[i].mask;
continue;
+ }
vkd3d_symbol_set_register_info(&symbol, vicp_id, SpvStorageClassPrivate,
VKD3D_SHADER_COMPONENT_FLOAT, VKD3DSP_WRITEMASK_ALL);
+ symbol.info.reg.dcl_mask = signature->elements[i].mask;
symbol.info.reg.is_aggregate = true;
vkd3d_dxbc_compiler_put_symbol(compiler, &symbol);
}
More information about the wine-cvs
mailing list