From 91b1d2470aaca467aa98ec32780fba3aa63c6ac2 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 16 Jun 2018 14:02:13 +1000 Subject: [PATCH] Rebase against b6c7b2d322e0cd61eaeaac0d936dfc78c850f61b --- patches/patchinstall.sh | 2 +- ...dd-more-tests-for-SPFILENOTIFY_FILEI.patch | 38 +++++----- ...inetName-passed-to-SPFILENOTIFY_CABI.patch | 13 ++-- ...dd-tests-for-cabinet-name-passed-to-.patch | 30 ++++---- ...ameters-of-SPFILENOTIFY_FILEINCABINE.patch | 15 ++-- ...ned3d-Implement-dual-source-blending.patch | 72 ++++++++++--------- ...orrect-number-of-blend-matrices-when.patch | 24 +++---- ...a-default-vulkan-driver-if-one-not-f.patch | 20 +++--- 8 files changed, 108 insertions(+), 106 deletions(-) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 9c48ea0c..e8ff5a6b 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "83f845dfa1bb4a6ec6e8b7f65e9469dc9a8a7787" + echo "b6c7b2d322e0cd61eaeaac0d936dfc78c850f61b" } # Show version information diff --git a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch index b6c0458b..6bb301ac 100644 --- a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch +++ b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0001-setupapi-tests-Add-more-tests-for-SPFILENOTIFY_FILEI.patch @@ -1,15 +1,15 @@ -From eff135f5b221772d7ee3c44bd94c680bb9c8169c Mon Sep 17 00:00:00 2001 +From 9189a69282518a2ef8aa1d9923b754b9353ad17a Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 20 Apr 2017 17:08:11 +0800 -Subject: setupapi/tests: Add more tests for SPFILENOTIFY_FILEINCABINET +Subject: [PATCH] setupapi/tests: Add more tests for SPFILENOTIFY_FILEINCABINET handler. --- - dlls/setupapi/tests/setupcab.c | 50 ++++++++++++++++++++++++++++++++---------- - 1 file changed, 38 insertions(+), 12 deletions(-) + dlls/setupapi/tests/setupcab.c | 46 ++++++++++++++++++++++++++-------- + 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/dlls/setupapi/tests/setupcab.c b/dlls/setupapi/tests/setupcab.c -index 33daae922b..8fdc3734bd 100644 +index bb9add035db..37254aa9621 100644 --- a/dlls/setupapi/tests/setupcab.c +++ b/dlls/setupapi/tests/setupcab.c @@ -299,11 +299,17 @@ static void test_invalid_callbackW(void) @@ -40,7 +40,7 @@ index 33daae922b..8fdc3734bd 100644 - (*file_count)++; + ctx->count++; - if (index < sizeof(expected_files)/sizeof(char *)) + if (index < ARRAY_SIZE(expected_files)) { ok(!strcmp(expected_files[index], info->NameInCabinet), "[%d] Expected file \"%s\", got \"%s\"\n", @@ -52,7 +52,7 @@ index 33daae922b..8fdc3734bd 100644 index++; return FILEOP_SKIP; } -@@ -339,17 +350,19 @@ static void test_simple_enumerationA(void) +@@ -339,16 +350,18 @@ static void test_simple_enumerationA(void) { BOOL ret; char source[MAX_PATH], temp[MAX_PATH]; @@ -69,14 +69,12 @@ index 33daae922b..8fdc3734bd 100644 + ctx.cabinet = source; + ret = SetupIterateCabinetA(source, 0, simple_callbackA, &ctx); ok(ret == 1, "Expected SetupIterateCabinetA to return 1, got %d\n", ret); -- ok(enum_count == sizeof(expected_files)/sizeof(char *), -- "Unexpectedly enumerated %d files\n", enum_count); -+ ok(ctx.count == sizeof(expected_files)/sizeof(char *), -+ "Unexpectedly enumerated %d files\n", ctx.count); +- ok(enum_count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", enum_count); ++ ok(ctx.count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", ctx.count); DeleteFileA(source); } -@@ -359,11 +372,17 @@ static const WCHAR wineW[] = {'w','i','n','e',0}; +@@ -358,11 +371,17 @@ static const WCHAR wineW[] = {'w','i','n','e',0}; static const WCHAR shandyW[] = {'s','h','a','n','d','y',0}; static const WCHAR *expected_filesW[] = {tristramW, wineW, shandyW}; @@ -95,7 +93,7 @@ index 33daae922b..8fdc3734bd 100644 switch (Notification) { -@@ -373,14 +392,19 @@ static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, +@@ -372,14 +391,19 @@ static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, case SPFILENOTIFY_FILEINCABINET: { FILE_IN_CABINET_INFO_W *info = (FILE_IN_CABINET_INFO_W *)Param1; @@ -104,7 +102,7 @@ index 33daae922b..8fdc3734bd 100644 - (*file_count)++; + ctx->count++; - if (index < sizeof(expected_filesW)/sizeof(WCHAR *)) + if (index < ARRAY_SIZE(expected_filesW)) { ok(!lstrcmpW(expected_filesW[index], info->NameInCabinet), "[%d] Expected file %s, got %s\n", @@ -116,7 +114,7 @@ index 33daae922b..8fdc3734bd 100644 index++; return FILEOP_SKIP; } -@@ -399,7 +423,7 @@ static void test_simple_enumerationW(void) +@@ -398,7 +422,7 @@ static void test_simple_enumerationW(void) { BOOL ret; WCHAR source[MAX_PATH], temp[MAX_PATH]; @@ -125,7 +123,7 @@ index 33daae922b..8fdc3734bd 100644 ret = SetupIterateCabinetW(NULL, 0, NULL, NULL); if (!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) -@@ -413,10 +437,12 @@ static void test_simple_enumerationW(void) +@@ -412,9 +436,11 @@ static void test_simple_enumerationW(void) create_source_fileW(source, comp_cab_zip_multi, sizeof(comp_cab_zip_multi)); @@ -134,13 +132,11 @@ index 33daae922b..8fdc3734bd 100644 + ctx.cabinet = source; + ret = SetupIterateCabinetW(source, 0, simple_callbackW, &ctx); ok(ret == 1, "Expected SetupIterateCabinetW to return 1, got %d\n", ret); -- ok(enum_count == sizeof(expected_files)/sizeof(WCHAR *), -- "Unexpectedly enumerated %d files\n", enum_count); -+ ok(ctx.count == sizeof(expected_files)/sizeof(WCHAR *), -+ "Unexpectedly enumerated %d files\n", ctx.count); +- ok(enum_count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", enum_count); ++ ok(ctx.count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", ctx.count); DeleteFileW(source); } -- -2.12.2 +2.17.1 diff --git a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch index 5e6828a0..14f7fe0a 100644 --- a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch +++ b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0002-setupapi-Fix-CabinetName-passed-to-SPFILENOTIFY_CABI.patch @@ -1,7 +1,8 @@ -From 3ddb06dbe75951815a5ca499d1bc2611ca8b5c0e Mon Sep 17 00:00:00 2001 +From ff7a8116621fc755b47abcafa4462d01681eb517 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 2 May 2017 00:48:45 +0200 -Subject: setupapi: Fix CabinetName passed to SPFILENOTIFY_CABINETINFO handler. +Subject: [PATCH] setupapi: Fix CabinetName passed to SPFILENOTIFY_CABINETINFO + handler. --- dlls/setupapi/setupcab.c | 5 +++-- @@ -9,7 +10,7 @@ Subject: setupapi: Fix CabinetName passed to SPFILENOTIFY_CABINETINFO handler. 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/dlls/setupapi/setupcab.c b/dlls/setupapi/setupcab.c -index 54c0256ee9..0146e575d4 100644 +index 54c0256ee99..0146e575d41 100644 --- a/dlls/setupapi/setupcab.c +++ b/dlls/setupapi/setupcab.c @@ -297,7 +297,7 @@ static INT_PTR CDECL sc_FNNOTIFY_A(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION p @@ -39,7 +40,7 @@ index 54c0256ee9..0146e575d4 100644 if ((len > MAX_PATH) || (len <= 1)) buf[0] = '\0'; diff --git a/dlls/setupapi/tests/setupcab.c b/dlls/setupapi/tests/setupcab.c -index 8fdc3734bd..095107f225 100644 +index 37254aa9621..e58d35fd8f0 100644 --- a/dlls/setupapi/tests/setupcab.c +++ b/dlls/setupapi/tests/setupcab.c @@ -314,8 +314,15 @@ static UINT CALLBACK simple_callbackA(PVOID Context, UINT Notification, @@ -58,7 +59,7 @@ index 8fdc3734bd..095107f225 100644 case SPFILENOTIFY_FILEINCABINET: { FILE_IN_CABINET_INFO_A *info = (FILE_IN_CABINET_INFO_A *)Param1; -@@ -381,14 +388,22 @@ struct contextW +@@ -380,14 +387,22 @@ struct contextW static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, UINT_PTR Param1, UINT_PTR Param2) { @@ -82,5 +83,5 @@ index 8fdc3734bd..095107f225 100644 { FILE_IN_CABINET_INFO_W *info = (FILE_IN_CABINET_INFO_W *)Param1; -- -2.12.2 +2.17.1 diff --git a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch index baa77c59..274fd753 100644 --- a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch +++ b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0003-setupapi-tests-Add-tests-for-cabinet-name-passed-to-.patch @@ -1,15 +1,15 @@ -From 7625977bb8c12499761e268ac4e6ddfc96892c84 Mon Sep 17 00:00:00 2001 +From 669f74a3f2426810c296efdd4d38584bdbda7337 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 2 May 2017 01:15:03 +0200 -Subject: setupapi/tests: Add tests for cabinet name passed to +Subject: [PATCH] setupapi/tests: Add tests for cabinet name passed to SPFILENOTIFY_FILEEXTRACTED. --- - dlls/setupapi/tests/setupcab.c | 56 +++++++++++++++++++++++++++++++++++++++--- + dlls/setupapi/tests/setupcab.c | 56 +++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/dlls/setupapi/tests/setupcab.c b/dlls/setupapi/tests/setupcab.c -index 095107f225..010c9d559d 100644 +index e58d35fd8f0..88516a67b0c 100644 --- a/dlls/setupapi/tests/setupcab.c +++ b/dlls/setupapi/tests/setupcab.c @@ -303,6 +303,7 @@ struct contextA @@ -57,7 +57,7 @@ index 095107f225..010c9d559d 100644 default: return NO_ERROR; } -@@ -357,21 +377,25 @@ static void test_simple_enumerationA(void) +@@ -357,20 +377,24 @@ static void test_simple_enumerationA(void) { BOOL ret; char source[MAX_PATH], temp[MAX_PATH]; @@ -75,15 +75,14 @@ index 095107f225..010c9d559d 100644 + ctx.target = target; ret = SetupIterateCabinetA(source, 0, simple_callbackA, &ctx); ok(ret == 1, "Expected SetupIterateCabinetA to return 1, got %d\n", ret); - ok(ctx.count == sizeof(expected_files)/sizeof(char *), - "Unexpectedly enumerated %d files\n", ctx.count); + ok(ctx.count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", ctx.count); DeleteFileA(source); + DeleteFileA(target); } static const WCHAR tristramW[] = {'t','r','i','s','t','r','a','m',0}; -@@ -383,6 +407,7 @@ struct contextW +@@ -382,6 +406,7 @@ struct contextW { int count; const WCHAR *cabinet; @@ -91,7 +90,7 @@ index 095107f225..010c9d559d 100644 }; static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, -@@ -420,8 +445,9 @@ todo_wine +@@ -419,8 +444,9 @@ todo_wine ok(!lstrcmpW(ctx->cabinet, cabinet_file), "[%d] Expected cabinet %s, got %s\n", index, wine_dbgstr_w(ctx->cabinet), wine_dbgstr_w(cabinet_file)); @@ -103,7 +102,7 @@ index 095107f225..010c9d559d 100644 } else { -@@ -429,6 +455,24 @@ todo_wine +@@ -428,6 +454,24 @@ todo_wine return FILEOP_ABORT; } } @@ -128,7 +127,7 @@ index 095107f225..010c9d559d 100644 default: return NO_ERROR; } -@@ -438,6 +482,7 @@ static void test_simple_enumerationW(void) +@@ -437,6 +481,7 @@ static void test_simple_enumerationW(void) { BOOL ret; WCHAR source[MAX_PATH], temp[MAX_PATH]; @@ -136,9 +135,9 @@ index 095107f225..010c9d559d 100644 struct contextW ctx; ret = SetupIterateCabinetW(NULL, 0, NULL, NULL); -@@ -449,17 +494,20 @@ static void test_simple_enumerationW(void) +@@ -448,16 +493,19 @@ static void test_simple_enumerationW(void) - GetTempPathW(sizeof(temp)/sizeof(WCHAR), temp); + GetTempPathW(ARRAY_SIZE(temp), temp); GetTempFileNameW(temp, docW, 0, source); + GetTempFileNameW(temp, docW, 0, target); @@ -149,8 +148,7 @@ index 095107f225..010c9d559d 100644 + ctx.target = target; ret = SetupIterateCabinetW(source, 0, simple_callbackW, &ctx); ok(ret == 1, "Expected SetupIterateCabinetW to return 1, got %d\n", ret); - ok(ctx.count == sizeof(expected_files)/sizeof(WCHAR *), - "Unexpectedly enumerated %d files\n", ctx.count); + ok(ctx.count == ARRAY_SIZE(expected_files), "Unexpectedly enumerated %d files\n", ctx.count); DeleteFileW(source); + DeleteFileW(target); @@ -158,5 +156,5 @@ index 095107f225..010c9d559d 100644 START_TEST(setupcab) -- -2.12.2 +2.17.1 diff --git a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch index 9f33f9f4..78e68258 100644 --- a/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch +++ b/patches/setupapi-SPFILENOTIFY_FILEINCABINET/0004-setupapi-Fix-parameters-of-SPFILENOTIFY_FILEINCABINE.patch @@ -1,7 +1,8 @@ -From ed71bc3e8c01828f7b58597d5ea0827e2540f4f0 Mon Sep 17 00:00:00 2001 +From 256b83d92adbffe2d928e74b95466fefd7cff60b Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 20 Apr 2017 17:08:11 +0800 -Subject: setupapi: Fix parameters of SPFILENOTIFY_FILEINCABINET handler. +Subject: [PATCH] setupapi: Fix parameters of SPFILENOTIFY_FILEINCABINET + handler. Bug 42827 references the setup application that depends on this. --- @@ -10,7 +11,7 @@ Bug 42827 references the setup application that depends on this. 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/dlls/setupapi/setupcab.c b/dlls/setupapi/setupcab.c -index 0146e575d4..6a02faa4cb 100644 +index 0146e575d41..6a02faa4cb3 100644 --- a/dlls/setupapi/setupcab.c +++ b/dlls/setupapi/setupcab.c @@ -323,7 +323,7 @@ static INT_PTR CDECL sc_FNNOTIFY_A(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION p @@ -67,7 +68,7 @@ index 0146e575d4..6a02faa4cb 100644 TRACE("path: %s, cabfile: %s\n", debugstr_a(pszCabPath), debugstr_a(pszCabinet)); diff --git a/dlls/setupapi/tests/setupcab.c b/dlls/setupapi/tests/setupcab.c -index 010c9d559d..f2528865aa 100644 +index 88516a67b0c..2e776e66879 100644 --- a/dlls/setupapi/tests/setupcab.c +++ b/dlls/setupapi/tests/setupcab.c @@ -336,7 +336,6 @@ static UINT CALLBACK simple_callbackA(PVOID Context, UINT Notification, @@ -86,7 +87,7 @@ index 010c9d559d..f2528865aa 100644 ok(!strcmp(ctx->cabinet, info->Source), "[%d] Expected cabinet \"%s\", got \"%s\"\n", index, ctx->cabinet, info->Source); -@@ -441,7 +439,6 @@ static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, +@@ -440,7 +438,6 @@ static UINT CALLBACK simple_callbackW(PVOID Context, UINT Notification, ok(!lstrcmpW(expected_filesW[index], info->NameInCabinet), "[%d] Expected file %s, got %s\n", index, wine_dbgstr_w(expected_filesW[index]), wine_dbgstr_w(info->NameInCabinet)); @@ -94,7 +95,7 @@ index 010c9d559d..f2528865aa 100644 ok(!lstrcmpW(ctx->cabinet, cabinet_file), "[%d] Expected cabinet %s, got %s\n", index, wine_dbgstr_w(ctx->cabinet), wine_dbgstr_w(cabinet_file)); -@@ -459,7 +456,6 @@ todo_wine +@@ -458,7 +455,6 @@ todo_wine { FILEPATHS_W *info = (FILEPATHS_W *)Param1; @@ -103,5 +104,5 @@ index 010c9d559d..f2528865aa 100644 "[%d] Expected cabinet %s, got %s\n", index, wine_dbgstr_w(ctx->cabinet), wine_dbgstr_w(info->Source)); -- -2.12.2 +2.17.1 diff --git a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch index 493e9cdf..f4bafadb 100644 --- a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch +++ b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch @@ -1,23 +1,23 @@ -From b755264588f0cfc8f9f7f1e19f101637d09a30ef Mon Sep 17 00:00:00 2001 +From 95c99274a4dc0d36c3dc4436b21ebe0d3d046717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 18 Aug 2017 23:51:59 +0200 Subject: [PATCH] wined3d: Implement dual source blending. --- dlls/d3d11/tests/d3d11.c | 2 +- - dlls/wined3d/context.c | 11 ++++++++++- - dlls/wined3d/directx.c | 10 ++++++++++ - dlls/wined3d/glsl_shader.c | 45 ++++++++++++++++++++++++++++++++---------- + dlls/wined3d/context.c | 11 ++++++++- + dlls/wined3d/directx.c | 12 ++++++++- + dlls/wined3d/glsl_shader.c | 45 ++++++++++++++++++++++++++-------- dlls/wined3d/shader.c | 2 ++ - dlls/wined3d/state.c | 14 +++++++++++-- - dlls/wined3d/wined3d_private.h | 24 ++++++++++++++++++++-- - 7 files changed, 92 insertions(+), 16 deletions(-) + dlls/wined3d/state.c | 14 +++++++++-- + dlls/wined3d/wined3d_private.h | 24 ++++++++++++++++-- + 7 files changed, 93 insertions(+), 17 deletions(-) diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index 8492fc9..2621c4f 100644 +index fbb6794d725..075fe8f72cc 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -26546,7 +26546,7 @@ static void test_dual_blending(void) +@@ -27739,7 +27739,7 @@ static void test_dual_blending(void) ID3D11DeviceContext_ClearRenderTargetView(context, rtv[1], white); ID3D11DeviceContext_Draw(context, 3, 0); @@ -27,10 +27,10 @@ index 8492fc9..2621c4f 100644 ID3D11BlendState_Release(blend_state); diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index e85e20d..92bf4f7 100644 +index 21ad11d9586..ec5af4f5a46 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -3113,10 +3113,19 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const +@@ -3131,10 +3131,19 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const else if (!context->render_offscreen) return context_generate_rt_mask_from_resource(rts[0]->resource); @@ -52,10 +52,10 @@ index e85e20d..92bf4f7 100644 { i = wined3d_bit_scan(&mask); diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c -index 93bb8f1..067a1c5 100644 +index bfe743131fb..63cd4f33041 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c -@@ -3532,6 +3532,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) +@@ -3528,6 +3528,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max); TRACE("Max draw buffers: %u.\n", gl_max); } @@ -68,22 +68,24 @@ index 93bb8f1..067a1c5 100644 if (gl_info->supported[ARB_MULTITEXTURE]) { if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) -@@ -4321,6 +4327,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, +@@ -4327,7 +4333,11 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, for (i = 0; i < gl_info->limits.buffers; ++i) - adapter->d3d_info.valid_rt_mask |= (1u << i); + d3d_info->valid_rt_mask |= (1u << i); -+ adapter->d3d_info.valid_dual_rt_mask = 0; +- if (!d3d_info->shader_color_key) ++ d3d_info->valid_dual_rt_mask = 0; + for (i = 0; i < gl_info->limits.dual_buffers; ++i) -+ adapter->d3d_info.valid_dual_rt_mask |= (1u << i); ++ d3d_info->valid_dual_rt_mask |= (1u << i); + - if (!adapter->d3d_info.shader_color_key) ++ if (!d3d_info->shader_color_key) { /* We do not want to deal with re-creating immutable texture storage for color keying emulation. */ + WARN("Disabling ARB_texture_storage because fragment pipe doesn't support color keying.\n"); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 88ed107..6e732de 100644 +index 8003ca53e04..cbb3a8d2273 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -3015,6 +3015,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * +@@ -3026,6 +3026,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * break; case WINED3DSPR_COLOROUT: @@ -91,7 +93,7 @@ index 88ed107..6e732de 100644 if (reg->idx[0].offset >= gl_info->limits.buffers) WARN("Write to render target %u, only %d supported.\n", reg->idx[0].offset, gl_info->limits.buffers); -@@ -7723,11 +7724,23 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7835,11 +7836,23 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context if (!needs_legacy_glsl_syntax(gl_info)) { @@ -119,7 +121,7 @@ index 88ed107..6e732de 100644 } } -@@ -10276,13 +10289,25 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const +@@ -10445,13 +10458,25 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const if (!needs_legacy_glsl_syntax(gl_info)) { @@ -152,10 +154,10 @@ index 88ed107..6e732de 100644 } } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index c20c1da..9fd7338 100644 +index 20d4f0773dd..f2e3c23976f 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c -@@ -4008,6 +4008,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 +@@ -4101,6 +4101,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 args->render_offscreen = shader->reg_maps.vpos && gl_info->supported[ARB_FRAGMENT_COORD_CONVENTIONS] ? context->render_offscreen : 0; @@ -165,10 +167,10 @@ index c20c1da..9fd7338 100644 static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device, diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index b65207d..9b9656a 100644 +index 2dd6ac2a639..a2e95a4a568 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c -@@ -534,12 +534,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st const struct wined3d_format *rt_format; GLenum src_blend, dst_blend; unsigned int rt_fmt_flags; @@ -185,7 +187,7 @@ index b65207d..9b9656a 100644 rt_fmt_flags = state->fb->render_targets[0]->format_flags; /* Disable blending in all cases even without pixelshaders. -@@ -549,6 +551,13 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -548,6 +550,13 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st enable_blend = FALSE; } @@ -199,7 +201,7 @@ index b65207d..9b9656a 100644 if (!enable_blend) { gl_info->gl_ops.gl.p_glDisable(GL_BLEND); -@@ -559,6 +568,7 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st +@@ -558,6 +567,7 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st gl_info->gl_ops.gl.p_glEnable(GL_BLEND); checkGLcall("glEnable(GL_BLEND)"); @@ -208,7 +210,7 @@ index b65207d..9b9656a 100644 state->render_states[WINED3D_RS_SRCBLEND], state->render_states[WINED3D_RS_DESTBLEND], rt_format); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 9dfada4..684bec5 100644 +index 80d7dcf3ccb..13cef2c7af9 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -194,6 +194,7 @@ struct wined3d_d3d_info @@ -218,8 +220,8 @@ index 9dfada4..684bec5 100644 + DWORD valid_dual_rt_mask; DWORD wined3d_creation_flags; BOOL shader_double_precision; - }; -@@ -1354,7 +1355,8 @@ struct ps_compile_args + enum wined3d_feature_level feature_level; +@@ -1355,7 +1356,8 @@ struct ps_compile_args DWORD flatshading : 1; DWORD alpha_test_func : 3; DWORD render_offscreen : 1; @@ -229,7 +231,7 @@ index 9dfada4..684bec5 100644 }; enum fog_src_type -@@ -1913,7 +1915,8 @@ struct wined3d_context +@@ -1915,7 +1917,8 @@ struct wined3d_context DWORD transform_feedback_paused : 1; DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */ DWORD clip_distance_mask : 8; /* MAX_CLIP_DISTANCES, 8 */ @@ -239,7 +241,7 @@ index 9dfada4..684bec5 100644 DWORD constant_update_mask; DWORD numbered_array_mask; -@@ -2529,6 +2532,7 @@ struct wined3d_fbo_ops +@@ -2540,6 +2543,7 @@ struct wined3d_fbo_ops struct wined3d_gl_limits { UINT buffers; @@ -247,7 +249,7 @@ index 9dfada4..684bec5 100644 UINT lights; UINT textures; UINT texture_coords; -@@ -2869,6 +2873,22 @@ struct wined3d_state +@@ -2881,6 +2885,22 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -271,5 +273,5 @@ index 9dfada4..684bec5 100644 { GLuint tex_1d; -- -2.7.4 +2.17.1 diff --git a/patches/wined3d-Indexed_Vertex_Blending/0008-wined3d-Report-correct-number-of-blend-matrices-when.patch b/patches/wined3d-Indexed_Vertex_Blending/0008-wined3d-Report-correct-number-of-blend-matrices-when.patch index feedcd1d..80efc890 100644 --- a/patches/wined3d-Indexed_Vertex_Blending/0008-wined3d-Report-correct-number-of-blend-matrices-when.patch +++ b/patches/wined3d-Indexed_Vertex_Blending/0008-wined3d-Report-correct-number-of-blend-matrices-when.patch @@ -1,8 +1,8 @@ -From 037c5691b9d2dd35a61017cfc8472c879048c182 Mon Sep 17 00:00:00 2001 +From 8e3863a2416027b47d38f01f0e6d0755c8ce1cd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 31 Aug 2017 01:54:22 +0200 -Subject: wined3d: Report correct number of blend matrices when software vertex - processing is used. +Subject: [PATCH] wined3d: Report correct number of blend matrices when + software vertex processing is used. --- dlls/d3d9/tests/visual.c | 4 ++-- @@ -11,10 +11,10 @@ Subject: wined3d: Report correct number of blend matrices when software vertex 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c -index 11b933f..2ea94fe 100644 +index b5c610e6a36..7346fcccf70 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c -@@ -20569,7 +20569,7 @@ static void test_indexed_vertex_blending(void) +@@ -20666,7 +20666,7 @@ static void test_indexed_vertex_blending(void) memset(&caps, 0, sizeof(caps)); hr = IDirect3DDevice9_GetDeviceCaps(device, &caps); ok(SUCCEEDED(hr), "Failed to get device caps, hr %#x.\n", hr); @@ -23,7 +23,7 @@ index 11b933f..2ea94fe 100644 caps.MaxVertexBlendMatrixIndex); do_test_indexed_vertex_blending(device,"IVB software"); -@@ -20595,7 +20595,7 @@ static void test_indexed_vertex_blending(void) +@@ -20692,7 +20692,7 @@ static void test_indexed_vertex_blending(void) memset(&caps, 0, sizeof(caps)); hr = IDirect3DDevice9_GetDeviceCaps(device, &caps); ok(SUCCEEDED(hr), "Failed to get device caps, hr %#x.\n", hr); @@ -33,12 +33,12 @@ index 11b933f..2ea94fe 100644 hr = IDirect3DDevice9_SetSoftwareVertexProcessing(device, FALSE); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 717a7d3..ea2d136 100644 +index bab2fcc89c4..31c843829aa 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -3480,10 +3480,17 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d +@@ -3500,10 +3500,17 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d - HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, WINED3DCAPS *caps) + HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, struct wined3d_caps *caps) { + HRESULT hr; + @@ -56,10 +56,10 @@ index 717a7d3..ea2d136 100644 HRESULT CDECL wined3d_device_get_display_mode(const struct wined3d_device *device, UINT swapchain_idx, diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c -index 86e790a..0acaa4d 100644 +index 63cd4f33041..bb332a48464 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c -@@ -6002,7 +6002,10 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte +@@ -6022,7 +6022,10 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte caps->MaxUserClipPlanes = vertex_caps.max_user_clip_planes; caps->MaxActiveLights = vertex_caps.max_active_lights; caps->MaxVertexBlendMatrices = vertex_caps.max_vertex_blend_matrices; @@ -72,5 +72,5 @@ index 86e790a..0acaa4d 100644 caps->FVFCaps = vertex_caps.fvf_caps; caps->RasterCaps |= vertex_caps.raster_caps; -- -2.7.4 +2.17.1 diff --git a/patches/winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch b/patches/winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch index a75b6096..bae3ff61 100644 --- a/patches/winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch +++ b/patches/winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch @@ -1,17 +1,17 @@ -From 0b136c373660c249f5b92bdb8c43651fb8dd650b Mon Sep 17 00:00:00 2001 +From 48056059960a8b489d195ae102a664a60242e43d Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 1 Jun 2018 14:03:26 +1000 -Subject: [PATCH] winex11: Specify a default vulkan driver if one not - found at build time +Subject: [PATCH] winex11: Specify a default vulkan driver if one not found at + build time We cannot specify it as a dependency since Debian Jessie has the vulkan library in backports and not everybody will have this mapped. --- - dlls/winex11.drv/vulkan.c | 25 +++++++++++++------------ - 1 file changed, 13 insertions(+), 12 deletions(-) + dlls/winex11.drv/vulkan.c | 29 +++++++++++++---------------- + 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c -index 7eca31b..1a82f5d 100644 +index fdb858d93f9..1a82f5d14dc 100644 --- a/dlls/winex11.drv/vulkan.c +++ b/dlls/winex11.drv/vulkan.c @@ -39,7 +39,9 @@ @@ -45,7 +45,7 @@ index 7eca31b..1a82f5d 100644 return TRUE; } -@@ -618,12 +628,3 @@ const struct vulkan_funcs *get_vulkan_driver(UINT version) +@@ -618,16 +628,3 @@ const struct vulkan_funcs *get_vulkan_driver(UINT version) return NULL; } @@ -57,7 +57,11 @@ index 7eca31b..1a82f5d 100644 - return NULL; -} - +-void wine_vk_surface_destroy(HWND hwnd) +-{ +-} +- -#endif /* SONAME_LIBVULKAN */ -- -1.9.1 +2.17.1