vkd3d-shader: Use an extended version of vkd3d_shader_immediate_constant in vkd3d_shader_parameter1.

This is a proposed API change in 946, which won't make it into this release.

The intent is to allow slightly larger constants to be specified in the updated
vkd3d_shader_parameter1 structure. In particular, this is large enough to pass
4-dimensional integer or float vectors inline, which the proposed clip plane
implementation will use, as well as other Direct3D FFP parameters.

We could also simply add vkd3d_shader_immediate_constant1 as a separate union
member in vkd3d_shader_parameter1, but this API is a bit cleaner and simpler.
This commit is contained in:
Elizabeth Figura
2024-08-27 12:09:53 -05:00
committed by Henri Verbeet
parent f318e565f2
commit eb71a1722a
Notes: Henri Verbeet 2024-08-28 12:14:29 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1022
2 changed files with 28 additions and 3 deletions

View File

@@ -45,7 +45,7 @@ static int convert_parameter_info(const struct vkd3d_shader_compile_info *compil
if (src->type == VKD3D_SHADER_PARAMETER_TYPE_IMMEDIATE_CONSTANT)
{
dst->u.immediate_constant = src->u.immediate_constant;
dst->u.immediate_constant.u.u32 = src->u.immediate_constant.u.u32;
}
else if (src->type == VKD3D_SHADER_PARAMETER_TYPE_SPECIALIZATION_CONSTANT)
{