You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 7dcdd7a6549793e8a6469816a5c25226e2d73e9c.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,12 @@
|
||||
From 9385c0987fde1070c8e9e1054c57fa16eeab2c7d Mon Sep 17 00:00:00 2001
|
||||
From b2165faef0a403a805b21efd42f8769a1769b78a Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 22 Aug 2025 07:26:18 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 3b41d99fa9e80dda5844738a226f70f14f778c8b.
|
||||
|
||||
---
|
||||
libs/vkd3d/include/vkd3d.h | 1 +
|
||||
libs/vkd3d/include/vkd3d_shader.h | 24 ++
|
||||
libs/vkd3d/include/vkd3d_shader.h | 23 ++
|
||||
libs/vkd3d/libs/vkd3d-shader/d3dbc.c | 34 ++-
|
||||
libs/vkd3d/libs/vkd3d-shader/dxil.c | 73 ++---
|
||||
libs/vkd3d/libs/vkd3d-shader/fx.c | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-shader/glsl.c | 1 +
|
||||
libs/vkd3d/libs/vkd3d-shader/hlsl.c | 70 +++++
|
||||
libs/vkd3d/libs/vkd3d-shader/hlsl.h | 9 +
|
||||
@@ -17,39 +15,16 @@ Subject: [PATCH] Updated vkd3d to 3b41d99fa9e80dda5844738a226f70f14f778c8b.
|
||||
.../libs/vkd3d-shader/hlsl_constant_ops.c | 83 +-----
|
||||
libs/vkd3d/libs/vkd3d-shader/ir.c | 208 ++++++-------
|
||||
libs/vkd3d/libs/vkd3d-shader/msl.c | 1 +
|
||||
libs/vkd3d/libs/vkd3d-shader/spirv.c | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-shader/tpf.c | 39 +--
|
||||
.../libs/vkd3d-shader/vkd3d_shader_main.c | 15 +-
|
||||
.../libs/vkd3d-shader/vkd3d_shader_private.h | 3 +-
|
||||
.../vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c | 6 +-
|
||||
libs/vkd3d/libs/vkd3d/state.c | 6 +-
|
||||
19 files changed, 640 insertions(+), 266 deletions(-)
|
||||
14 files changed, 630 insertions(+), 258 deletions(-)
|
||||
|
||||
diff --git a/libs/vkd3d/include/vkd3d.h b/libs/vkd3d/include/vkd3d.h
|
||||
index 2cb150dce16..8286f36f6ba 100644
|
||||
--- a/libs/vkd3d/include/vkd3d.h
|
||||
+++ b/libs/vkd3d/include/vkd3d.h
|
||||
@@ -101,6 +101,7 @@ enum vkd3d_api_version
|
||||
VKD3D_API_VERSION_1_14,
|
||||
VKD3D_API_VERSION_1_15,
|
||||
VKD3D_API_VERSION_1_16,
|
||||
+ VKD3D_API_VERSION_1_17,
|
||||
|
||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_API_VERSION),
|
||||
};
|
||||
diff --git a/libs/vkd3d/include/vkd3d_shader.h b/libs/vkd3d/include/vkd3d_shader.h
|
||||
index 0fd3c67b7e0..a1f85dbbd05 100644
|
||||
index d82869e79ea..a1f85dbbd05 100644
|
||||
--- a/libs/vkd3d/include/vkd3d_shader.h
|
||||
+++ b/libs/vkd3d/include/vkd3d_shader.h
|
||||
@@ -59,6 +59,7 @@ enum vkd3d_shader_api_version
|
||||
VKD3D_SHADER_API_VERSION_1_14,
|
||||
VKD3D_SHADER_API_VERSION_1_15,
|
||||
VKD3D_SHADER_API_VERSION_1_16,
|
||||
+ VKD3D_SHADER_API_VERSION_1_17,
|
||||
|
||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_API_VERSION),
|
||||
};
|
||||
@@ -119,6 +120,11 @@ enum vkd3d_shader_structure_type
|
||||
@@ -120,6 +120,11 @@ enum vkd3d_shader_structure_type
|
||||
* \since 1.15
|
||||
*/
|
||||
VKD3D_SHADER_STRUCTURE_TYPE_SCAN_HULL_SHADER_TESSELLATION_INFO,
|
||||
@@ -61,7 +36,7 @@ index 0fd3c67b7e0..a1f85dbbd05 100644
|
||||
|
||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_STRUCTURE_TYPE),
|
||||
};
|
||||
@@ -2281,6 +2287,24 @@ struct vkd3d_shader_scan_hull_shader_tessellation_info
|
||||
@@ -2282,6 +2287,24 @@ struct vkd3d_shader_scan_hull_shader_tessellation_info
|
||||
enum vkd3d_shader_tessellator_partitioning partitioning;
|
||||
};
|
||||
|
||||
@@ -546,19 +521,6 @@ index c448e000cf9..6a12dec14bf 100644
|
||||
|
||||
switch (program->shader_version.type)
|
||||
{
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/fx.c b/libs/vkd3d/libs/vkd3d-shader/fx.c
|
||||
index 5b776108c95..676c501bb08 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/fx.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/fx.c
|
||||
@@ -4205,7 +4205,7 @@ static void fx_parse_shader_blob(struct fx_parser *parser, enum vkd3d_shader_sou
|
||||
|
||||
static const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
};
|
||||
|
||||
info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/glsl.c b/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
index dfe0a40ddf0..5988e7b3a30 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
@@ -1706,19 +1668,6 @@ index c6e048adb20..88d1160d4e8 100644
|
||||
msl_relop(gen, ins, ">=");
|
||||
break;
|
||||
case VSIR_OP_IF:
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/spirv.c b/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
index a4990d982bc..97c0d0e73a8 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
@@ -38,7 +38,7 @@
|
||||
#define VKD3D_SPIRV_VERSION_1_0 0x00010000
|
||||
#define VKD3D_SPIRV_VERSION_1_3 0x00010300
|
||||
#define VKD3D_SPIRV_GENERATOR_ID 18
|
||||
-#define VKD3D_SPIRV_GENERATOR_VERSION 16
|
||||
+#define VKD3D_SPIRV_GENERATOR_VERSION 17
|
||||
#define VKD3D_SPIRV_GENERATOR_MAGIC vkd3d_make_u32(VKD3D_SPIRV_GENERATOR_VERSION, VKD3D_SPIRV_GENERATOR_ID)
|
||||
#ifndef VKD3D_SHADER_UNSUPPORTED_SPIRV_PARSER
|
||||
# define VKD3D_SHADER_UNSUPPORTED_SPIRV_PARSER 0
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/tpf.c b/libs/vkd3d/libs/vkd3d-shader/tpf.c
|
||||
index ea15c1a9ad5..e2123656557 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/tpf.c
|
||||
@@ -1975,68 +1924,6 @@ index e758c16b3d4..b63c5785770 100644
|
||||
struct vkd3d_shader_message_context *message_context, const char *source_name);
|
||||
void vkd3d_shader_parser_warning(struct vkd3d_shader_parser *parser,
|
||||
enum vkd3d_shader_error error, const char *format, ...) VKD3D_PRINTF_FUNC(3, 4);
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c b/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
index c41f8bae806..f804c1f0c24 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-utils/vkd3d_utils_main.c
|
||||
@@ -271,7 +271,7 @@ HRESULT WINAPI D3DCompile2VKD3D(const void *data, SIZE_T data_size, const char *
|
||||
|
||||
option = &options[0];
|
||||
option->name = VKD3D_SHADER_COMPILE_OPTION_API_VERSION;
|
||||
- option->value = VKD3D_SHADER_API_VERSION_1_16;
|
||||
+ option->value = VKD3D_SHADER_API_VERSION_1_17;
|
||||
|
||||
compile_info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
||||
compile_info.next = &preprocess_info;
|
||||
@@ -435,7 +435,7 @@ HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename
|
||||
|
||||
static const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
};
|
||||
|
||||
TRACE("data %p, size %"PRIuPTR", filename %s, macros %p, include %p, preprocessed_blob %p, messages_blob %p.\n",
|
||||
@@ -981,7 +981,7 @@ HRESULT WINAPI D3DDisassemble(const void *data, SIZE_T data_size,
|
||||
|
||||
static const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
};
|
||||
|
||||
TRACE("data %p, data_size %"PRIuPTR", flags %#x, comments %p, blob %p.\n",
|
||||
diff --git a/libs/vkd3d/libs/vkd3d/state.c b/libs/vkd3d/libs/vkd3d/state.c
|
||||
index 413892789ba..6bbd6533b74 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d/state.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d/state.c
|
||||
@@ -2391,7 +2391,7 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
|
||||
|
||||
const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_WRITE_TESS_GEOM_POINT_SIZE, 0},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_FEATURE, feature_flags_compile_option(device)},
|
||||
@@ -2456,7 +2456,7 @@ static int vkd3d_scan_dxbc(const struct d3d12_device *device, const D3D12_SHADER
|
||||
|
||||
const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
{VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV, typed_uav_compile_option(device)},
|
||||
};
|
||||
|
||||
@@ -4135,7 +4135,7 @@ static int compile_hlsl_cs(const struct vkd3d_shader_code *hlsl, struct vkd3d_sh
|
||||
|
||||
static const struct vkd3d_shader_compile_option options[] =
|
||||
{
|
||||
- {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_16},
|
||||
+ {VKD3D_SHADER_COMPILE_OPTION_API_VERSION, VKD3D_SHADER_API_VERSION_1_17},
|
||||
};
|
||||
|
||||
info.type = VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_INFO;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
|
@@ -0,0 +1,133 @@
|
||||
From 5881c4d692d2522ed93d5e39362eda5f0c8e647f Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 23 Aug 2025 07:27:59 +1000
|
||||
Subject: [PATCH] Updated vkd3d to d0098b0d5968d1969ec622b91fd360fd0aec2328.
|
||||
|
||||
---
|
||||
libs/vkd3d/libs/vkd3d-shader/glsl.c | 9 +--------
|
||||
libs/vkd3d/libs/vkd3d-shader/hlsl.l | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-shader/preproc.l | 12 ++----------
|
||||
libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c | 7 ++++++-
|
||||
libs/vkd3d/libs/vkd3d/utils.c | 3 ++-
|
||||
5 files changed, 12 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/glsl.c b/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
index 5988e7b3a30..acc30b998f6 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/glsl.c
|
||||
@@ -2329,7 +2329,6 @@ static int vkd3d_glsl_generator_generate(struct vkd3d_glsl_generator *gen, struc
|
||||
struct vkd3d_string_buffer *buffer = gen->buffer;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
struct vsir_program_iterator it;
|
||||
- void *code;
|
||||
|
||||
MESSAGE("Generating a GLSL shader. This is unsupported; you get to keep all the pieces if it breaks.\n");
|
||||
|
||||
@@ -2358,13 +2357,7 @@ static int vkd3d_glsl_generator_generate(struct vkd3d_glsl_generator *gen, struc
|
||||
if (gen->failed)
|
||||
return VKD3D_ERROR_INVALID_SHADER;
|
||||
|
||||
- if ((code = vkd3d_malloc(buffer->buffer_size)))
|
||||
- {
|
||||
- memcpy(code, buffer->buffer, buffer->content_size);
|
||||
- out->size = buffer->content_size;
|
||||
- out->code = code;
|
||||
- }
|
||||
- else return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
+ vkd3d_shader_code_from_string_buffer(out, buffer);
|
||||
|
||||
return VKD3D_OK;
|
||||
}
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl.l b/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
index 0cdebb8a657..da9f0d39136 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/hlsl.l
|
||||
@@ -346,7 +346,7 @@ while {return KW_WHILE; }
|
||||
<pp>{ANY} {}
|
||||
|
||||
{ANY} {
|
||||
- return yytext[0];
|
||||
+ return (unsigned char)yytext[0];
|
||||
}
|
||||
|
||||
%%
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/preproc.l b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
index 5c56fba0229..f9b1d67ac36 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/preproc.l
|
||||
@@ -824,7 +824,6 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
static const struct vkd3d_shader_preprocess_info default_preprocess_info = {0};
|
||||
struct preproc_ctx ctx = {0};
|
||||
char *source_name = NULL;
|
||||
- void *output_code;
|
||||
unsigned int i;
|
||||
|
||||
vkd3d_string_buffer_init(&ctx.buffer);
|
||||
@@ -901,16 +900,9 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
|
||||
return VKD3D_ERROR_INVALID_SHADER;
|
||||
}
|
||||
|
||||
- if (!(output_code = vkd3d_malloc(ctx.buffer.content_size)))
|
||||
- {
|
||||
- vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
- return VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
- }
|
||||
- memcpy(output_code, ctx.buffer.buffer, ctx.buffer.content_size);
|
||||
- out->size = ctx.buffer.content_size;
|
||||
- out->code = output_code;
|
||||
vkd3d_string_buffer_trace(&ctx.buffer);
|
||||
- vkd3d_string_buffer_cleanup(&ctx.buffer);
|
||||
+
|
||||
+ vkd3d_shader_code_from_string_buffer(out, &ctx.buffer);
|
||||
return VKD3D_OK;
|
||||
|
||||
fail:
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
index 75b7f9aa769..08450b4cf85 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
@@ -2266,6 +2266,7 @@ int vkd3d_shader_preprocess(const struct vkd3d_shader_compile_info *compile_info
|
||||
struct vkd3d_shader_code *out, char **messages)
|
||||
{
|
||||
struct vkd3d_shader_message_context message_context;
|
||||
+ struct shader_dump_data dump_data;
|
||||
int ret;
|
||||
|
||||
TRACE("compile_info %p, out %p, messages %p.\n", compile_info, out, messages);
|
||||
@@ -2278,7 +2279,11 @@ int vkd3d_shader_preprocess(const struct vkd3d_shader_compile_info *compile_info
|
||||
|
||||
vkd3d_shader_message_context_init(&message_context, compile_info->log_level);
|
||||
|
||||
- ret = preproc_lexer_parse(compile_info, out, &message_context);
|
||||
+ fill_shader_dump_data(compile_info, &dump_data);
|
||||
+ vkd3d_shader_dump_shader(&dump_data, compile_info->source.code, compile_info->source.size, SHADER_DUMP_TYPE_SOURCE);
|
||||
+
|
||||
+ if ((ret = preproc_lexer_parse(compile_info, out, &message_context)) >= 0)
|
||||
+ vkd3d_shader_dump_shader(&dump_data, out->code, out->size, SHADER_DUMP_TYPE_PREPROC);
|
||||
|
||||
vkd3d_shader_message_context_trace_messages(&message_context);
|
||||
if (!vkd3d_shader_message_context_copy_messages(&message_context, messages))
|
||||
diff --git a/libs/vkd3d/libs/vkd3d/utils.c b/libs/vkd3d/libs/vkd3d/utils.c
|
||||
index c2832a61f67..2d0510e5456 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d/utils.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d/utils.c
|
||||
@@ -703,7 +703,7 @@ const char *debug_vk_extent_3d(VkExtent3D extent)
|
||||
|
||||
const char *debug_vk_queue_flags(VkQueueFlags flags)
|
||||
{
|
||||
- char buffer[191];
|
||||
+ char buffer[222];
|
||||
|
||||
buffer[0] = '\0';
|
||||
#define FLAG_TO_STR(f) if (flags & f) { strcat(buffer, " | "#f); flags &= ~f; }
|
||||
@@ -716,6 +716,7 @@ const char *debug_vk_queue_flags(VkQueueFlags flags)
|
||||
#define FLAG_TO_STR(f, n) if (flags & f) { strcat(buffer, " | "#n); flags &= ~f; }
|
||||
FLAG_TO_STR(0x20, VK_QUEUE_VIDEO_DECODE_BIT_KHR)
|
||||
FLAG_TO_STR(0x40, VK_QUEUE_VIDEO_ENCODE_BIT_KHR)
|
||||
+ FLAG_TO_STR(0x100, VK_QUEUE_OPTICAL_FLOW_BIT_NV)
|
||||
#undef FLAG_TO_STR
|
||||
if (flags)
|
||||
FIXME("Unrecognized flag(s) %#x.\n", flags);
|
||||
--
|
||||
2.50.1
|
||||
|
@@ -1 +1 @@
|
||||
288a40d05c8cddf62d0b12524a90d2d4f5ce114d
|
||||
7dcdd7a6549793e8a6469816a5c25226e2d73e9c
|
||||
|
Reference in New Issue
Block a user