mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/msl: Handle signature element masks in the prologue and epilogue.
This commit is contained in:
parent
7c42da465a
commit
b7314e2438
Notes:
Henri Verbeet
2024-10-07 17:52:05 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1132
@ -482,7 +482,9 @@ static void msl_generate_entrypoint_prologue(struct msl_generator *gen)
|
|||||||
if (e->sysval_semantic == VKD3D_SHADER_SV_NONE)
|
if (e->sysval_semantic == VKD3D_SHADER_SV_NONE)
|
||||||
{
|
{
|
||||||
msl_print_register_datatype(buffer, gen, vkd3d_data_type_from_component_type(e->component_type));
|
msl_print_register_datatype(buffer, gen, vkd3d_data_type_from_component_type(e->component_type));
|
||||||
|
msl_print_write_mask(buffer, e->mask);
|
||||||
vkd3d_string_buffer_printf(buffer, " = input.shader_in_%u", i);
|
vkd3d_string_buffer_printf(buffer, " = input.shader_in_%u", i);
|
||||||
|
msl_print_write_mask(buffer, e->mask);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -513,8 +515,11 @@ static void msl_generate_entrypoint_epilogue(struct msl_generator *gen)
|
|||||||
case VKD3D_SHADER_SV_NONE:
|
case VKD3D_SHADER_SV_NONE:
|
||||||
case VKD3D_SHADER_SV_TARGET:
|
case VKD3D_SHADER_SV_TARGET:
|
||||||
case VKD3D_SHADER_SV_POSITION:
|
case VKD3D_SHADER_SV_POSITION:
|
||||||
vkd3d_string_buffer_printf(buffer, " output.shader_out_%u = %s_out", i, gen->prefix);
|
vkd3d_string_buffer_printf(buffer, " output.shader_out_%u", i);
|
||||||
|
msl_print_write_mask(buffer, e->mask);
|
||||||
|
vkd3d_string_buffer_printf(buffer, " = %s_out", gen->prefix);
|
||||||
msl_print_register_datatype(buffer, gen, vkd3d_data_type_from_component_type(e->component_type));
|
msl_print_register_datatype(buffer, gen, vkd3d_data_type_from_component_type(e->component_type));
|
||||||
|
msl_print_write_mask(buffer, e->mask);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
vkd3d_string_buffer_printf(buffer, " <unhandled sysval %#x>", e->sysval_semantic);
|
vkd3d_string_buffer_printf(buffer, " <unhandled sysval %#x>", e->sysval_semantic);
|
||||||
|
Loading…
Reference in New Issue
Block a user