From 999c6a11d688ace3957cd3fa4afcff7057bf5375 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 1 Aug 2025 07:19:16 +1000 Subject: [PATCH] Updated vkd3d-latest patchset --- ...-3163e589bc41b674c46750bef9a3cbbaa90.patch | 2 +- ...-ba545669cd09682960f5da17b9131780642.patch | 2 +- ...-decc155cca45d7c4a60699990452b921a6e.patch | 2 +- ...-68cd72c7fc7a364ecce87a19617acb382c7.patch | 2 +- ...-a4c25b81c59ae783a94c1b25714eb080231.patch | 2 +- ...-b3e367b099cb65d79c5b0044134a02e7e9c.patch | 2 +- ...-f7866df201e491aa6033cc4618ab21cedd1.patch | 2 +- ...-bb2979aa4c3432bfd5b30ae23de8aaaa57e.patch | 2 +- ...-75cb4336ec1a0455c347db05b22dc0fd76d.patch | 48 ++++++ ...-bd3d0f3495f6375901df9ca899accf8bc7a.patch | 150 ++++++++++++++++++ 10 files changed, 206 insertions(+), 8 deletions(-) create mode 100644 patches/vkd3d-latest/0009-Updated-vkd3d-to-75cb4336ec1a0455c347db05b22dc0fd76d.patch create mode 100644 patches/vkd3d-latest/0010-Updated-vkd3d-to-bd3d0f3495f6375901df9ca899accf8bc7a.patch diff --git a/patches/vkd3d-latest/0001-Updated-vkd3d-to-3163e589bc41b674c46750bef9a3cbbaa90.patch b/patches/vkd3d-latest/0001-Updated-vkd3d-to-3163e589bc41b674c46750bef9a3cbbaa90.patch index 62a19c90..d0532455 100644 --- a/patches/vkd3d-latest/0001-Updated-vkd3d-to-3163e589bc41b674c46750bef9a3cbbaa90.patch +++ b/patches/vkd3d-latest/0001-Updated-vkd3d-to-3163e589bc41b674c46750bef9a3cbbaa90.patch @@ -1,4 +1,4 @@ -From 353b04bba2da73c0d4131318e643aa2b63e51ff0 Mon Sep 17 00:00:00 2001 +From b180bb5a9e0cc9023e80c703547d23c9d1f0d264 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 26 May 2025 07:03:34 +1000 Subject: [PATCH] Updated vkd3d to 3163e589bc41b674c46750bef9a3cbbaa90fc560. diff --git a/patches/vkd3d-latest/0002-Updated-vkd3d-to-ba545669cd09682960f5da17b9131780642.patch b/patches/vkd3d-latest/0002-Updated-vkd3d-to-ba545669cd09682960f5da17b9131780642.patch index 5ec25f42..5dbd5f17 100644 --- a/patches/vkd3d-latest/0002-Updated-vkd3d-to-ba545669cd09682960f5da17b9131780642.patch +++ b/patches/vkd3d-latest/0002-Updated-vkd3d-to-ba545669cd09682960f5da17b9131780642.patch @@ -1,4 +1,4 @@ -From a07c810b73f076e39630eb3664a5ecb1c694cff2 Mon Sep 17 00:00:00 2001 +From e926a5feca44a2f4d87d9b282b9e76a500cf3fec Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 17 Jul 2025 07:20:27 +1000 Subject: [PATCH] Updated vkd3d to ba545669cd09682960f5da17b9131780642daf8e. diff --git a/patches/vkd3d-latest/0003-Updated-vkd3d-to-decc155cca45d7c4a60699990452b921a6e.patch b/patches/vkd3d-latest/0003-Updated-vkd3d-to-decc155cca45d7c4a60699990452b921a6e.patch index 906e0bef..fde53980 100644 --- a/patches/vkd3d-latest/0003-Updated-vkd3d-to-decc155cca45d7c4a60699990452b921a6e.patch +++ b/patches/vkd3d-latest/0003-Updated-vkd3d-to-decc155cca45d7c4a60699990452b921a6e.patch @@ -1,4 +1,4 @@ -From da1e76c8f548baf2442b7d94cdac59e6e0576a51 Mon Sep 17 00:00:00 2001 +From 13167990b5ba6916b53b88641cf563063124e992 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 22 Jul 2025 07:27:52 +1000 Subject: [PATCH] Updated vkd3d to decc155cca45d7c4a60699990452b921a6e0fa65. diff --git a/patches/vkd3d-latest/0004-Updated-vkd3d-to-68cd72c7fc7a364ecce87a19617acb382c7.patch b/patches/vkd3d-latest/0004-Updated-vkd3d-to-68cd72c7fc7a364ecce87a19617acb382c7.patch index cfc3bd48..054c7366 100644 --- a/patches/vkd3d-latest/0004-Updated-vkd3d-to-68cd72c7fc7a364ecce87a19617acb382c7.patch +++ b/patches/vkd3d-latest/0004-Updated-vkd3d-to-68cd72c7fc7a364ecce87a19617acb382c7.patch @@ -1,4 +1,4 @@ -From 60452a7096890ff0659ebf93a29deaf989c34633 Mon Sep 17 00:00:00 2001 +From 0a466e3e78bebbdc52c77e1dc05c37149e4f8d3b Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 23 Jul 2025 07:16:58 +1000 Subject: [PATCH] Updated vkd3d to 68cd72c7fc7a364ecce87a19617acb382c70762f. diff --git a/patches/vkd3d-latest/0005-Updated-vkd3d-to-a4c25b81c59ae783a94c1b25714eb080231.patch b/patches/vkd3d-latest/0005-Updated-vkd3d-to-a4c25b81c59ae783a94c1b25714eb080231.patch index b0c42958..023c432e 100644 --- a/patches/vkd3d-latest/0005-Updated-vkd3d-to-a4c25b81c59ae783a94c1b25714eb080231.patch +++ b/patches/vkd3d-latest/0005-Updated-vkd3d-to-a4c25b81c59ae783a94c1b25714eb080231.patch @@ -1,4 +1,4 @@ -From 3b6c1b56b27f1103c7587e4c5b8df38fe472f785 Mon Sep 17 00:00:00 2001 +From 4b593d3dd67fdc82cd1144ba4b1ac3011c53f797 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 24 Jul 2025 06:52:52 +1000 Subject: [PATCH] Updated vkd3d to a4c25b81c59ae783a94c1b25714eb080231b86bd. diff --git a/patches/vkd3d-latest/0006-Updated-vkd3d-to-b3e367b099cb65d79c5b0044134a02e7e9c.patch b/patches/vkd3d-latest/0006-Updated-vkd3d-to-b3e367b099cb65d79c5b0044134a02e7e9c.patch index 1196f2e2..8dae6fa8 100644 --- a/patches/vkd3d-latest/0006-Updated-vkd3d-to-b3e367b099cb65d79c5b0044134a02e7e9c.patch +++ b/patches/vkd3d-latest/0006-Updated-vkd3d-to-b3e367b099cb65d79c5b0044134a02e7e9c.patch @@ -1,4 +1,4 @@ -From d19dca2687f986a0a477ad70c710255df224b53e Mon Sep 17 00:00:00 2001 +From dbe3f2e5cdbba46a42c74ed3f7ed8e0d0408d0f9 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 25 Jul 2025 07:41:13 +1000 Subject: [PATCH] Updated vkd3d to b3e367b099cb65d79c5b0044134a02e7e9c285a5. diff --git a/patches/vkd3d-latest/0007-Updated-vkd3d-to-f7866df201e491aa6033cc4618ab21cedd1.patch b/patches/vkd3d-latest/0007-Updated-vkd3d-to-f7866df201e491aa6033cc4618ab21cedd1.patch index df577aca..fb9f6a6c 100644 --- a/patches/vkd3d-latest/0007-Updated-vkd3d-to-f7866df201e491aa6033cc4618ab21cedd1.patch +++ b/patches/vkd3d-latest/0007-Updated-vkd3d-to-f7866df201e491aa6033cc4618ab21cedd1.patch @@ -1,4 +1,4 @@ -From 362cd620cd04c3a6eaed93334690acb5193d8d4e Mon Sep 17 00:00:00 2001 +From e84c7c6b8d6f3c77eeedbe5bfe928968555f0be8 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 29 Jul 2025 18:36:33 +1000 Subject: [PATCH] Updated vkd3d to f7866df201e491aa6033cc4618ab21cedd12a2e2. diff --git a/patches/vkd3d-latest/0008-Updated-vkd3d-to-bb2979aa4c3432bfd5b30ae23de8aaaa57e.patch b/patches/vkd3d-latest/0008-Updated-vkd3d-to-bb2979aa4c3432bfd5b30ae23de8aaaa57e.patch index 1c843de7..b56d5fc2 100644 --- a/patches/vkd3d-latest/0008-Updated-vkd3d-to-bb2979aa4c3432bfd5b30ae23de8aaaa57e.patch +++ b/patches/vkd3d-latest/0008-Updated-vkd3d-to-bb2979aa4c3432bfd5b30ae23de8aaaa57e.patch @@ -1,4 +1,4 @@ -From fc76b139261addd09e54837c43e73e08a237a4cb Mon Sep 17 00:00:00 2001 +From b81eed1086ba3660ec00639862986ca4544f462f Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 30 Jul 2025 08:46:04 +1000 Subject: [PATCH] Updated vkd3d to bb2979aa4c3432bfd5b30ae23de8aaaa57e04c6a. diff --git a/patches/vkd3d-latest/0009-Updated-vkd3d-to-75cb4336ec1a0455c347db05b22dc0fd76d.patch b/patches/vkd3d-latest/0009-Updated-vkd3d-to-75cb4336ec1a0455c347db05b22dc0fd76d.patch new file mode 100644 index 00000000..d4227b26 --- /dev/null +++ b/patches/vkd3d-latest/0009-Updated-vkd3d-to-75cb4336ec1a0455c347db05b22dc0fd76d.patch @@ -0,0 +1,48 @@ +From 322f54a20a7c189417a2e6d9214e7077023b2495 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Thu, 31 Jul 2025 09:06:17 +1000 +Subject: [PATCH] Updated vkd3d to 75cb4336ec1a0455c347db05b22dc0fd76dd8b5f. + +--- + libs/vkd3d/libs/vkd3d-shader/ir.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/libs/vkd3d/libs/vkd3d-shader/ir.c b/libs/vkd3d/libs/vkd3d-shader/ir.c +index 1098e4d3950..4c324fef7cf 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/ir.c ++++ b/libs/vkd3d/libs/vkd3d-shader/ir.c +@@ -444,7 +444,14 @@ bool vsir_program_init(struct vsir_program *program, const struct vkd3d_shader_c + program->shader_version = *version; + program->cf_type = cf_type; + program->normalisation_level = normalisation_level; +- return shader_instruction_array_init(&program->instructions, reserve); ++ if (!shader_instruction_array_init(&program->instructions, reserve)) ++ { ++ if (program->free_parameters) ++ vkd3d_free((void *)program->parameters); ++ return false; ++ } ++ ++ return true; + } + + void vsir_program_cleanup(struct vsir_program *program) +@@ -8744,6 +8751,7 @@ static void temp_allocator_set_dst(struct temp_allocator *allocator, + enum vkd3d_result vsir_allocate_temp_registers(struct vsir_program *program, + struct vkd3d_shader_message_context *message_context) + { ++ const unsigned int prev_temp_count = program->temp_count; + struct temp_allocator allocator = {0}; + struct temp_allocator_reg *regs; + struct liveness_tracker tracker; +@@ -8766,7 +8774,6 @@ enum vkd3d_result vsir_allocate_temp_registers(struct vsir_program *program, + for (unsigned int i = 0; i < program->ssa_count; ++i) + { + const struct liveness_tracker_reg *liveness_reg = &tracker.ssa_regs[i]; +- const unsigned int prev_temp_count = program->temp_count; + struct temp_allocator_reg *reg = &allocator.ssa_regs[i]; + + if (temp_allocator_allocate(&allocator, &tracker, reg, liveness_reg, prev_temp_count)) +-- +2.47.2 + diff --git a/patches/vkd3d-latest/0010-Updated-vkd3d-to-bd3d0f3495f6375901df9ca899accf8bc7a.patch b/patches/vkd3d-latest/0010-Updated-vkd3d-to-bd3d0f3495f6375901df9ca899accf8bc7a.patch new file mode 100644 index 00000000..f7608f0c --- /dev/null +++ b/patches/vkd3d-latest/0010-Updated-vkd3d-to-bd3d0f3495f6375901df9ca899accf8bc7a.patch @@ -0,0 +1,150 @@ +From 01122d73cdd5d5de8e682877484241177ef0124d Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 1 Aug 2025 07:18:27 +1000 +Subject: [PATCH] Updated vkd3d to bd3d0f3495f6375901df9ca899accf8bc7a45345. + +--- + dlls/msado15/tests/msado15.c | 2 +- + .../include/private/vkd3d_shader_utils.h | 4 ---- + libs/vkd3d/libs/vkd3d-shader/dxil.c | 1 + + libs/vkd3d/libs/vkd3d-shader/ir.c | 5 +---- + libs/vkd3d/libs/vkd3d/command.c | 21 +++++++++++++------ + libs/vkd3d/libs/vkd3d/state.c | 4 ++-- + 6 files changed, 20 insertions(+), 17 deletions(-) + +diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c +index 9d153adff6d..049b9194b5f 100644 +--- a/dlls/msado15/tests/msado15.c ++++ b/dlls/msado15/tests/msado15.c +@@ -2023,8 +2023,8 @@ START_TEST(msado15) + setup_database(); + + test_Connection(); +- test_Connection_Open(); + test_ConnectionPoint(); ++ test_Connection_Open(); + test_ADORecordsetConstruction(FALSE); + test_ADORecordsetConstruction(TRUE); + test_Fields(); +diff --git a/libs/vkd3d/include/private/vkd3d_shader_utils.h b/libs/vkd3d/include/private/vkd3d_shader_utils.h +index 00052a89988..465734dfbff 100644 +--- a/libs/vkd3d/include/private/vkd3d_shader_utils.h ++++ b/libs/vkd3d/include/private/vkd3d_shader_utils.h +@@ -21,10 +21,6 @@ + + #include "vkd3d_shader.h" + +-#define TAG_DXIL VKD3D_MAKE_TAG('D', 'X', 'I', 'L') +-#define TAG_SHDR VKD3D_MAKE_TAG('S', 'H', 'D', 'R') +-#define TAG_SHEX VKD3D_MAKE_TAG('S', 'H', 'E', 'X') +- + static inline enum vkd3d_result vkd3d_shader_parse_dxbc_source_type(const struct vkd3d_shader_code *dxbc, + enum vkd3d_shader_source_type *type, char **messages) + { +diff --git a/libs/vkd3d/libs/vkd3d-shader/dxil.c b/libs/vkd3d/libs/vkd3d-shader/dxil.c +index 19e9f54edda..02e72b28908 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/dxil.c ++++ b/libs/vkd3d/libs/vkd3d-shader/dxil.c +@@ -8905,6 +8905,7 @@ static const enum vkd3d_shader_sysval_semantic sysval_semantic_table[] = + [SEMANTIC_KIND_INSTANCEID] = VKD3D_SHADER_SV_INSTANCE_ID, + [SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION, + [SEMANTIC_KIND_RTARRAYINDEX] = VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX, ++ [SEMANTIC_KIND_VIEWPORTARRAYINDEX] = VKD3D_SHADER_SV_VIEWPORT_ARRAY_INDEX, + [SEMANTIC_KIND_CLIPDISTANCE] = VKD3D_SHADER_SV_CLIP_DISTANCE, + [SEMANTIC_KIND_CULLDISTANCE] = VKD3D_SHADER_SV_CULL_DISTANCE, + [SEMANTIC_KIND_PRIMITIVEID] = VKD3D_SHADER_SV_PRIMITIVE_ID, +diff --git a/libs/vkd3d/libs/vkd3d-shader/ir.c b/libs/vkd3d/libs/vkd3d-shader/ir.c +index 4c324fef7cf..76eb62cfd6f 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/ir.c ++++ b/libs/vkd3d/libs/vkd3d-shader/ir.c +@@ -1752,14 +1752,11 @@ static enum vkd3d_result vsir_program_ensure_ret(struct vsir_program *program, + struct vkd3d_shader_instruction *ins; + + ins = vsir_program_iterator_tail(&it); +- + if (ins && ins->opcode == VSIR_OP_RET) + return VKD3D_OK; + +- if (!vsir_program_iterator_insert_after(&it, 1)) ++ if (!(ins = vsir_program_append(program))) + return VKD3D_ERROR_OUT_OF_MEMORY; +- +- ins = vsir_program_iterator_next(&it); + vsir_instruction_init(ins, &no_loc, VSIR_OP_RET); + + return VKD3D_OK; +diff --git a/libs/vkd3d/libs/vkd3d/command.c b/libs/vkd3d/libs/vkd3d/command.c +index e487ed0b9ad..074d8430585 100644 +--- a/libs/vkd3d/libs/vkd3d/command.c ++++ b/libs/vkd3d/libs/vkd3d/command.c +@@ -4221,13 +4221,21 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCo + TRACE("iface %p, viewport_count %u, viewports %p.\n", iface, viewport_count, viewports); + + if (viewport_count > ARRAY_SIZE(vk_viewports)) +- { + FIXME("Viewport count %u > D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE.\n", viewport_count); +- viewport_count = ARRAY_SIZE(vk_viewports); +- } + +- for (i = 0; i < viewport_count; ++i) ++ for (i = 0; i < ARRAY_SIZE(vk_viewports); ++i) + { ++ if (i >= viewport_count) ++ { ++ vk_viewports[i].x = 0.0f; ++ vk_viewports[i].y = 0.0f; ++ vk_viewports[i].width = 1.0f; ++ vk_viewports[i].height = 1.0f; ++ vk_viewports[i].minDepth = 0.0f; ++ vk_viewports[i].maxDepth = 0.0f; ++ continue; ++ } ++ + vk_viewports[i].x = viewports[i].TopLeftX; + vk_viewports[i].y = viewports[i].TopLeftY + viewports[i].Height; + vk_viewports[i].width = viewports[i].Width; +@@ -4245,7 +4253,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCo + } + + vk_procs = &list->device->vk_procs; +- VK_CALL(vkCmdSetViewport(list->vk_command_buffer, 0, viewport_count, vk_viewports)); ++ VK_CALL(vkCmdSetViewport(list->vk_command_buffer, 0, ARRAY_SIZE(vk_viewports), vk_viewports)); + } + + static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12GraphicsCommandList6 *iface, +@@ -4264,6 +4272,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12Graphic + rect_count = ARRAY_SIZE(vk_rects); + } + ++ memset(vk_rects, 0, sizeof(vk_rects)); + for (i = 0; i < rect_count; ++i) + { + vk_rects[i].offset.x = rects[i].left; +@@ -4273,7 +4282,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12Graphic + } + + vk_procs = &list->device->vk_procs; +- VK_CALL(vkCmdSetScissor(list->vk_command_buffer, 0, rect_count, vk_rects)); ++ VK_CALL(vkCmdSetScissor(list->vk_command_buffer, 0, ARRAY_SIZE(vk_rects), vk_rects)); + } + + static void STDMETHODCALLTYPE d3d12_command_list_OMSetBlendFactor(ID3D12GraphicsCommandList6 *iface, +diff --git a/libs/vkd3d/libs/vkd3d/state.c b/libs/vkd3d/libs/vkd3d/state.c +index 9e9811bf922..413892789ba 100644 +--- a/libs/vkd3d/libs/vkd3d/state.c ++++ b/libs/vkd3d/libs/vkd3d/state.c +@@ -3971,9 +3971,9 @@ VkPipeline d3d12_pipeline_state_get_or_create_pipeline(struct d3d12_pipeline_sta + .sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, + .pNext = NULL, + .flags = 0, +- .viewportCount = 1, ++ .viewportCount = D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE, + .pViewports = NULL, +- .scissorCount = 1, ++ .scissorCount = D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE, + .pScissors = NULL, + }; + static const VkDynamicState dynamic_states[] = +-- +2.47.2 +