wine-staging/patches/vkd3d-latest/0002-Updated-vkd3d-to-eb71a1722a95894c0546a597b70469d7962.patch
2024-08-29 08:00:18 +10:00

81 lines
2.7 KiB
Diff

From d3bcd5849cdbc5a2f6139ab7acf840f9d1b41898 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 29 Aug 2024 07:59:15 +1000
Subject: [PATCH] Updated vkd3d to eb71a1722a95894c0546a597b70469d7962ba77a.
---
libs/vkd3d/include/vkd3d_shader.h | 29 +++++++++++++++++++++++++++--
libs/vkd3d/libs/vkd3d-shader/ir.c | 2 +-
2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/libs/vkd3d/include/vkd3d_shader.h b/libs/vkd3d/include/vkd3d_shader.h
index d37d8ebad9e..fc583b542ee 100644
--- a/libs/vkd3d/include/vkd3d_shader.h
+++ b/libs/vkd3d/include/vkd3d_shader.h
@@ -583,7 +583,7 @@ enum vkd3d_shader_parameter_name
/**
* The value of an immediate constant parameter, used in
- * struct vkd3d_shader_parameter and struct vkd3d_shader_parameter1.
+ * struct vkd3d_shader_parameter.
*/
struct vkd3d_shader_parameter_immediate_constant
{
@@ -604,6 +604,31 @@ struct vkd3d_shader_parameter_immediate_constant
} u;
};
+/**
+ * The value of an immediate constant parameter, used in
+ * struct vkd3d_shader_parameter1.
+ *
+ * \since 1.13
+ */
+struct vkd3d_shader_parameter_immediate_constant1
+{
+ union
+ {
+ /**
+ * The value if the parameter's data type is
+ * VKD3D_SHADER_PARAMETER_DATA_TYPE_UINT32.
+ */
+ uint32_t u32;
+ /**
+ * The value if the parameter's data type is
+ * VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32.
+ */
+ float f32;
+ void *_pointer_pad;
+ uint32_t _pad[4];
+ } u;
+};
+
/**
* The linkage of a specialization constant parameter, used in
* struct vkd3d_shader_parameter and struct vkd3d_shader_parameter1.
@@ -689,7 +714,7 @@ struct vkd3d_shader_parameter1
* Additional information if \a type is
* VKD3D_SHADER_PARAMETER_TYPE_IMMEDIATE_CONSTANT.
*/
- struct vkd3d_shader_parameter_immediate_constant immediate_constant;
+ struct vkd3d_shader_parameter_immediate_constant1 immediate_constant;
/**
* Additional information if \a type is
* VKD3D_SHADER_PARAMETER_TYPE_SPECIALIZATION_CONSTANT.
diff --git a/libs/vkd3d/libs/vkd3d-shader/ir.c b/libs/vkd3d/libs/vkd3d-shader/ir.c
index 6dbe30b1553..747238e2fee 100644
--- a/libs/vkd3d/libs/vkd3d-shader/ir.c
+++ b/libs/vkd3d/libs/vkd3d-shader/ir.c
@@ -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)
{
--
2.45.2