From 2c3f70b42b10f8a074c87104ef59746a486ae6de Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 13 Nov 2015 18:00:14 +0100 Subject: [PATCH] Rebase against a786dca935c3e9b3d85853db4b61700e590a1c8b. --- README.md | 2 +- debian/changelog | 1 + ...-Staging-at-the-end-of-the-version-s.patch | 16 +-- ...ts-Add-initial-driver-testing-framew.patch | 38 +++--- ...oskrnl.exe-Add-stub-for-ProbeForRead.patch | 42 ------- ...stub-for-PsRemoveLoadImageNotifyRou.patch} | 0 ...skrnl.exe-Add-stub-for-ProbeForWrite.patch | 42 ------- patches/ntoskrnl-Stubs/definition | 2 - patches/patchinstall.sh | 11 +- .../wined3d-CSMT_Main/9999-IfDefined.patch | 112 +++++++++--------- 10 files changed, 87 insertions(+), 179 deletions(-) delete mode 100644 patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-ProbeForRead.patch rename patches/ntoskrnl-Stubs/{0014-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch => 0012-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch} (100%) delete mode 100644 patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Add-stub-for-ProbeForWrite.patch diff --git a/README.md b/README.md index 82777433..26237e44 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,7 @@ for more details.* * Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913)) * Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699)) * Process APC calls before starting process -* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103)) +* ~~Process Hacker 2.x needs ntoskrnl.ProbeForRead~~ ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103)) * Properly close sockets when WSACleanup is called ([Wine Bug #18670](https://bugs.winehq.org/show_bug.cgi?id=18670)) * Properly implement imagehlp.ImageLoad and ImageUnload ([Wine Bug #23455](https://bugs.winehq.org/show_bug.cgi?id=23455)) * Properly initialize caps->dwZBufferBitDepths in ddraw7_GetCaps ([Wine Bug #27002](https://bugs.winehq.org/show_bug.cgi?id=27002)) diff --git a/debian/changelog b/debian/changelog index f2cb6ab5..68332b2b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,7 @@ wine-staging (1.7.55) UNRELEASED; urgency=low FILE_DELETE_ON_CLOSE (accepted upstream). * Removed patch to fix cursor clip regression / broken raw input in multiple games (accepted upstream). + * Removed patch for ntoskrnl.ProbeForRead stub (accepted upstream). -- Sebastian Lackner Sun, 01 Nov 2015 01:06:20 +0100 wine-staging (1.7.54) unstable; urgency=low diff --git a/patches/Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch b/patches/Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch index b79d33fc..3cee1a7a 100644 --- a/patches/Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch +++ b/patches/Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch @@ -1,4 +1,4 @@ -From 65feac97e132fb25278e7c4c904d2ae831bf8a50 Mon Sep 17 00:00:00 2001 +From 2e1a505fedd43f0f03ba36e1a8413bf04f8afa83 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 2 Oct 2014 19:53:46 +0200 Subject: winelib: Append '(Staging)' at the end of the version string. @@ -8,18 +8,18 @@ Subject: winelib: Append '(Staging)' at the end of the version string. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in -index bc5f6fe..799b032 100644 +index 1b7fea8..780be10 100644 --- a/libs/wine/Makefile.in +++ b/libs/wine/Makefile.in -@@ -105,7 +105,7 @@ config_EXTRADEFS = \ - -DBIN_TO_DATADIR=\"`$(MAKEDEP) -R ${bindir} ${datadir}/wine`\" +@@ -112,7 +112,7 @@ libwine_LDFLAGS = $(LIBWINE_LDFLAGS) + libwine_DEPS = $(LIBWINE_DEPENDS) version.c: dummy -- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) -+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) +- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) ++ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-$(PACKAGE_VERSION)") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) dummy: - + .PHONY: dummy -- -2.6.1 +2.6.2 diff --git a/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch b/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch index bf350dc7..469afa80 100644 --- a/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch +++ b/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch @@ -1,4 +1,4 @@ -From 5733c4ddb3e5a2ff310fed2a585da13538345b97 Mon Sep 17 00:00:00 2001 +From 94f9145a8c4e06efe46330c75819eb18486965f3 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 18 Jan 2015 05:42:10 +0100 Subject: ntoskrnl.exe/tests: Add initial driver testing framework and @@ -24,10 +24,10 @@ Subject: ntoskrnl.exe/tests: Add initial driver testing framework and create mode 100644 dlls/ntoskrnl.exe/tests/ntoskrnl.c diff --git a/aclocal.m4 b/aclocal.m4 -index 774377d..bf91b70 100644 +index d5a3532..f33846f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 -@@ -629,6 +629,28 @@ $ac_dir/crosstest: $ac_dir/Makefile __builddeps__ dummy +@@ -617,6 +617,28 @@ $ac_dir/crosstest: $ac_dir/Makefile __builddeps__ dummy fi } @@ -56,7 +56,7 @@ index 774377d..bf91b70 100644 wine_fn_config_tool () { ac_dir=$[1] -@@ -734,6 +756,15 @@ wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl +@@ -722,6 +744,15 @@ wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl m4_popdef([ac_suffix])dnl m4_popdef([ac_name])]) @@ -73,10 +73,10 @@ index 774377d..bf91b70 100644 dnl dnl Usage: WINE_CONFIG_LIB(name,flags) diff --git a/configure.ac b/configure.ac -index 48268b0..782d1d7 100644 +index 7d2449f..dd5ee1e 100644 --- a/configure.ac +++ b/configure.ac -@@ -3142,6 +3142,8 @@ WINE_CONFIG_TEST(dlls/ntdll/tests) +@@ -3097,6 +3097,8 @@ WINE_CONFIG_TEST(dlls/ntdll/tests) WINE_CONFIG_DLL(ntdsapi,,[implib]) WINE_CONFIG_TEST(dlls/ntdsapi/tests) WINE_CONFIG_DLL(ntoskrnl.exe,,[implib]) @@ -530,13 +530,13 @@ index 0000000..9b8a6a7 + unload_driver(service, filename); +} diff --git a/tools/make_makefiles b/tools/make_makefiles -index b7f8b63..8143c4f 100755 +index 78b6dea..cb77784 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles -@@ -200,7 +200,7 @@ sub parse_makefile($) - while (/\\$/) { chop; $_ .= ; chomp; } # merge continued lines - next if (/^\s*$/); - +@@ -204,7 +204,7 @@ sub parse_makefile($) + { + die "Configure substitution is not allowed in $file"; + } - if (/^\s*(MODULE|IMPORTLIB|TESTDLL|PARENTSRC|APPMODE)\s*=\s*(.*)/) + if (/^\s*(MODULE|IMPORTLIB|TESTDLL|RESOURCE|PARENTSRC|APPMODE)\s*=\s*(.*)/) { @@ -557,7 +557,7 @@ index b7f8b63..8143c4f 100755 { die "MODULE should not be defined as static lib in $file" unless $file =~ /^dlls\//; diff --git a/tools/makedep.c b/tools/makedep.c -index 023c0ec..a4884cf 100644 +index 14a26ef..ad61e99 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -171,4 +171,5 @@ struct makefile @@ -566,7 +566,7 @@ index 023c0ec..a4884cf 100644 + const char *resource; const char *sharedlib; const char *staticlib; -@@ -474,6 +475,30 @@ static char *get_extension( char *filename ) +@@ -472,6 +473,30 @@ static char *get_extension( char *filename ) /******************************************************************* @@ -597,7 +597,7 @@ index 023c0ec..a4884cf 100644 * replace_extension */ static char *replace_extension( const char *name, const char *old_ext, const char *new_ext ) -@@ -2025,6 +2050,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar +@@ -2044,6 +2069,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar struct strarray subdirs = empty_strarray; struct strarray phony_targets = empty_strarray; struct strarray all_targets = empty_strarray; @@ -605,7 +605,7 @@ index 023c0ec..a4884cf 100644 struct strarray install_rules[NB_INSTALL_RULES]; char *ldrpath_local = get_expanded_make_variable( make, "LDRPATH_LOCAL" ); char *ldrpath_install = get_expanded_make_variable( make, "LDRPATH_INSTALL" ); -@@ -2297,7 +2323,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar +@@ -2319,7 +2345,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar } else { @@ -614,7 +614,7 @@ index 023c0ec..a4884cf 100644 (source->file->flags & FLAG_C_IMPLIB) || (make->module && make->staticlib); -@@ -2311,7 +2337,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar +@@ -2333,7 +2359,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar output_filenames( includes ); output_filenames( make->define_args ); output_filenames( extradefs ); @@ -623,7 +623,7 @@ index 023c0ec..a4884cf 100644 { output_filenames( dll_flags ); if (make->use_msvcrt) output_filenames( msvcrt_flags ); -@@ -2390,6 +2416,72 @@ static struct strarray output_sources( const struct makefile *make, struct strar +@@ -2412,6 +2438,72 @@ static struct strarray output_sources( const struct makefile *make, struct strar output( "\n" ); } @@ -696,7 +696,7 @@ index 023c0ec..a4884cf 100644 if (make->module && !make->staticlib) { struct strarray all_libs = empty_strarray; -@@ -2780,6 +2872,83 @@ static struct strarray output_sources( const struct makefile *make, struct strar +@@ -2806,6 +2898,83 @@ static struct strarray output_sources( const struct makefile *make, struct strar add_install_rule( make, install_rules, make->scripts.str[i], make->scripts.str[i], strmake( "S$(bindir)/%s", make->scripts.str[i] )); @@ -780,7 +780,7 @@ index 023c0ec..a4884cf 100644 if (all_targets.count) { output( "all:" ); -@@ -3075,4 +3244,5 @@ static void update_makefile( const char *path ) +@@ -3101,4 +3270,5 @@ static void update_makefile( const char *path ) make->module = get_expanded_make_variable( make, "MODULE" ); make->testdll = get_expanded_make_variable( make, "TESTDLL" ); + make->resource = get_expanded_make_variable( make, "RESOURCE" ); diff --git a/patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-ProbeForRead.patch b/patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-ProbeForRead.patch deleted file mode 100644 index 5eb15a49..00000000 --- a/patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-ProbeForRead.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 091911f7841be1d88128ed63fd1d56f44d7c99a6 Mon Sep 17 00:00:00 2001 -From: Austin English -Date: Fri, 27 Feb 2015 01:27:07 +0100 -Subject: ntoskrnl.exe: Add stub for ProbeForRead. - ---- - dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ - dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index 3d1db1b..a4d5641 100644 ---- a/dlls/ntoskrnl.exe/ntoskrnl.c -+++ b/dlls/ntoskrnl.exe/ntoskrnl.c -@@ -2470,3 +2470,11 @@ void WINAPI KeLeaveCriticalRegion(void) - { - FIXME(": stub\n"); - } -+ -+/*********************************************************************** -+ * ProbeForRead (NTOSKRNL.EXE.@) -+ */ -+VOID WINAPI ProbeForRead(PVOID address, SIZE_T length, ULONG alignment) -+{ -+ FIXME("%p %lu %u\n", address, length, alignment); -+} -diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -index e1d594b..14ce087 100644 ---- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -@@ -835,7 +835,7 @@ - @ stub PoShutdownBugCheck - @ stub PoStartNextPowerIrp - @ stub PoUnregisterSystemState --@ stub ProbeForRead -+@ stdcall ProbeForRead(ptr long long) - @ stub ProbeForWrite - @ stub PsAssignImpersonationToken - @ stub PsChargePoolQuota --- -2.5.1 - diff --git a/patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch b/patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch similarity index 100% rename from patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch rename to patches/ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch diff --git a/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Add-stub-for-ProbeForWrite.patch b/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Add-stub-for-ProbeForWrite.patch deleted file mode 100644 index 9e073375..00000000 --- a/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Add-stub-for-ProbeForWrite.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e182b0a8eec7ec662d107591cf13cc80dc53ca98 Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Fri, 27 Feb 2015 01:29:54 +0100 -Subject: ntoskrnl.exe: Add stub for ProbeForWrite. - ---- - dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ - dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index 6b52d27..274132e 100644 ---- a/dlls/ntoskrnl.exe/ntoskrnl.c -+++ b/dlls/ntoskrnl.exe/ntoskrnl.c -@@ -2203,3 +2203,11 @@ VOID WINAPI ProbeForRead(PVOID address, SIZE_T length, ULONG alignment) - { - FIXME("%p %lu %u\n", address, length, alignment); - } -+ -+/*********************************************************************** -+ * ProbeForWrite (NTOSKRNL.EXE.@) -+ */ -+VOID WINAPI ProbeForWrite(PVOID address, SIZE_T length, ULONG alignment) -+{ -+ FIXME("%p %lu %u\n", address, length, alignment); -+} -diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -index 6e86a16..e813146 100644 ---- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -@@ -836,7 +836,7 @@ - @ stub PoStartNextPowerIrp - @ stub PoUnregisterSystemState - @ stdcall ProbeForRead(ptr long long) --@ stub ProbeForWrite -+@ stdcall ProbeForWrite(ptr long long) - @ stub PsAssignImpersonationToken - @ stub PsChargePoolQuota - @ stub PsChargeProcessNonPagedPoolQuota --- -2.3.0 - diff --git a/patches/ntoskrnl-Stubs/definition b/patches/ntoskrnl-Stubs/definition index c46ffd29..1b0cb8b0 100644 --- a/patches/ntoskrnl-Stubs/definition +++ b/patches/ntoskrnl-Stubs/definition @@ -9,6 +9,4 @@ Fixes: Add stub for ntoskrnl.ExReleaseResourceForThread Fixes: Add stub for ntoskrnl.ExDeleteResourceLite Fixes: Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages Fixes: Implement ntoskrnl.KeInitializeMutex -Fixes: [38103] Process Hacker 2.x needs ntoskrnl.ProbeForRead Fixes: Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine -# Fixes: [21448] SecuROM 5.x media validation fails diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 47693bda..0fd47b58 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "370254cbe93beae6a9ff693d98c638db5bfb1134" + echo "a786dca935c3e9b3d85853db4b61700e590a1c8b" } # Show version information @@ -4411,9 +4411,6 @@ fi # Patchset ntoskrnl-Stubs # | -# | This patchset fixes the following Wine bugs: -# | * [#38103] Process Hacker 2.x needs ntoskrnl.ProbeForRead -# | # | Modified files: # | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h # | @@ -4429,9 +4426,7 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then patch_apply ntoskrnl-Stubs/0009-ntoskrnl.exe-Fix-IoReleaseCancelSpinLock-argument.patch patch_apply ntoskrnl-Stubs/0010-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch patch_apply ntoskrnl-Stubs/0011-ntoskrnl.exe-Implement-KeInitializeMutex.patch - patch_apply ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-ProbeForRead.patch - patch_apply ntoskrnl-Stubs/0013-ntoskrnl.exe-Add-stub-for-ProbeForWrite.patch - patch_apply ntoskrnl-Stubs/0014-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch + patch_apply ntoskrnl-Stubs/0012-ntoskrnl.exe-Add-stub-for-PsRemoveLoadImageNotifyRou.patch ( echo '+ { "Austin English", "ntoskrnl.exe: add KeWaitForMultipleObjects stub.", 1 },'; echo '+ { "Alexander Morozov", "ntoskrnl.exe: Add stub for IoGetAttachedDeviceReference.", 1 },'; @@ -4444,8 +4439,6 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then echo '+ { "Christian Costa", "ntoskrnl.exe: Fix IoReleaseCancelSpinLock argument.", 1 },'; echo '+ { "Christian Costa", "ntoskrnl.exe: Implement MmMapLockedPages and MmUnmapLockedPages.", 1 },'; echo '+ { "Alexander Morozov", "ntoskrnl.exe: Implement KeInitializeMutex.", 1 },'; - echo '+ { "Austin English", "ntoskrnl.exe: Add stub for ProbeForRead.", 1 },'; - echo '+ { "Sebastian Lackner", "ntoskrnl.exe: Add stub for ProbeForWrite.", 1 },'; echo '+ { "Michael Müller", "ntoskrnl.exe: Add stub for PsRemoveLoadImageNotifyRoutine.", 1 },'; ) >> "$patchlist" fi diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index b0d85d9a..83b204b9 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -1218,7 +1218,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader shader_arb_ps_local_constants(compiled, context, state, rt_height); } -@@ -7850,7 +7858,11 @@ +@@ -7851,7 +7859,11 @@ /* Now load the surface */ if (wined3d_settings.offscreen_rendering_mode != ORM_FBO @@ -1230,7 +1230,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader == WINED3D_LOCATION_DRAWABLE && !wined3d_resource_is_offscreen(&src_surface->container->resource)) { -@@ -7880,6 +7892,7 @@ +@@ -7881,6 +7893,7 @@ /* Leave the opengl state valid for blitting */ arbfp_blit_unset(context->gl_info); @@ -1238,7 +1238,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader if (wined3d_settings.cs_multithreaded) context->gl_info->gl_ops.gl.p_glFinish(); else if (wined3d_settings.strict_draw_ordering -@@ -7891,6 +7904,17 @@ +@@ -7892,6 +7905,17 @@ wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding); wined3d_resource_invalidate_location(&dst_surface->resource, ~dst_surface->container->resource.draw_binding); @@ -1472,7 +1472,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c } static void context_map_stage(struct wined3d_context *context, DWORD stage, DWORD unit) -@@ -2728,12 +2790,22 @@ +@@ -2737,12 +2799,22 @@ /* Context activation is done by the caller. */ void context_state_drawbuf(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) { @@ -1495,7 +1495,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c if (rt_mask != *cur_mask) { context_apply_draw_buffers(context, rt_mask); -@@ -2935,7 +3007,11 @@ +@@ -2944,7 +3016,11 @@ { if (state->vertex_declaration->half_float_conv_needed && !stream_info->all_vbo) { @@ -1507,7 +1507,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c context->use_immediate_mode_draw = TRUE; } else -@@ -3110,11 +3186,19 @@ +@@ -3119,11 +3195,19 @@ } /* Context activation is done by the caller. */ @@ -1527,7 +1527,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c unsigned int i; WORD map; -@@ -3147,12 +3231,17 @@ +@@ -3156,12 +3240,17 @@ for (i = 0, map = context->stream_info.use_map; map; map >>= 1, ++i) { if (map & 1) @@ -1545,7 +1545,7 @@ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c } if (state->index_buffer) { -@@ -3247,7 +3336,11 @@ +@@ -3256,7 +3345,11 @@ if (texture->texture_srgb.name) wined3d_texture_load(texture, context, TRUE); wined3d_texture_load(texture, context, FALSE); @@ -1692,7 +1692,7 @@ diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c /* Vendor-specific formats like ATI2N are a non-issue here since they're not * supported as offscreen plain surfaces and do not support D3DUSAGE_RENDERTARGET * when created as texture. */ -@@ -17377,7 +17381,11 @@ +@@ -17491,7 +17495,11 @@ fill_surface(surface_managed, 0x0000ff00, D3DLOCK_NO_DIRTY_UPDATE); add_dirty_rect_test_draw(device); color = getPixelColor(device, 320, 240); @@ -1765,7 +1765,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; extern struct wined3d_settings wined3d_settings DECLSPEC_HIDDEN; -@@ -1024,9 +1054,14 @@ +@@ -1026,9 +1056,14 @@ WORD use_map; /* MAX_ATTRIBS, 16 */ }; @@ -1780,7 +1780,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h DWORD get_flexible_vertex_size(DWORD d3dvtVertexType) DECLSPEC_HIDDEN; #define eps 1e-8f -@@ -1114,8 +1149,10 @@ +@@ -1116,8 +1151,10 @@ struct list entry; GLuint id; struct wined3d_context *context; @@ -1791,7 +1791,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; union wined3d_gl_query_object -@@ -1151,6 +1188,7 @@ +@@ -1153,6 +1190,7 @@ struct list entry; GLuint id; struct wined3d_context *context; @@ -1799,7 +1799,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h UINT64 timestamp; }; -@@ -1186,6 +1224,12 @@ +@@ -1188,6 +1226,12 @@ for (i = 0; i < min(dst->rt_size, src->rt_size); i++) dst->render_targets[i] = src->render_targets[i]; } @@ -1812,7 +1812,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_context { -@@ -1201,7 +1245,9 @@ +@@ -1203,7 +1247,9 @@ DWORD dirtyArray[STATE_HIGHEST + 1]; /* Won't get bigger than that, a state is never marked dirty 2 times */ DWORD numDirtyEntries; DWORD isStateDirty[STATE_HIGHEST / (sizeof(DWORD) * CHAR_BIT) + 1]; /* Bitmap to find out quickly if a state is dirty */ @@ -1822,7 +1822,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_swapchain *swapchain; struct wined3d_surface *current_rt; -@@ -1298,8 +1344,17 @@ +@@ -1300,8 +1346,17 @@ GLfloat fog_coord_value; GLfloat color[4], fogstart, fogend, fogcolor[4]; GLuint dummy_arbfp_prog; @@ -1840,7 +1840,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; typedef void (*APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id); -@@ -1439,8 +1494,12 @@ +@@ -1442,8 +1497,12 @@ void context_apply_blit_state(struct wined3d_context *context, const struct wined3d_device *device) DECLSPEC_HIDDEN; BOOL context_apply_clear_state(struct wined3d_context *context, const struct wined3d_device *device, UINT rt_count, const struct wined3d_fb_state *fb) DECLSPEC_HIDDEN; @@ -1853,7 +1853,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void context_apply_fbo_state_blit(struct wined3d_context *context, GLenum target, struct wined3d_surface *render_target, struct wined3d_surface *depth_stencil, DWORD location) DECLSPEC_HIDDEN; void context_active_texture(struct wined3d_context *context, const struct wined3d_gl_info *gl_info, -@@ -2020,7 +2079,11 @@ +@@ -2026,7 +2085,11 @@ struct wined3d_state { DWORD flags; @@ -1865,7 +1865,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_vertex_declaration *vertex_declaration; struct wined3d_stream_output stream_output[MAX_STREAM_OUT]; -@@ -2065,6 +2128,7 @@ +@@ -2071,6 +2134,7 @@ DWORD render_states[WINEHIGHEST_RENDER_STATE + 1]; }; @@ -1873,7 +1873,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_gl_bo { GLuint name; -@@ -2073,6 +2137,7 @@ +@@ -2079,6 +2143,7 @@ UINT size; }; @@ -1881,7 +1881,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h #define WINED3D_UNMAPPED_STAGE ~0U /* Multithreaded flag. Removed from the public header to signal that -@@ -2128,11 +2193,23 @@ +@@ -2134,11 +2199,23 @@ struct wined3d_rendertarget_view *back_buffer_view; struct wined3d_swapchain **swapchains; UINT swapchain_count; @@ -1905,7 +1905,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h /* For rendering to a texture using glCopyTexImage */ GLuint depth_blt_texture; -@@ -2143,6 +2220,9 @@ +@@ -2149,6 +2226,9 @@ UINT xScreenSpace; UINT yScreenSpace; UINT cursorWidth, cursorHeight; @@ -1915,7 +1915,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h HCURSOR hardwareCursor; /* The Wine logo texture */ -@@ -2174,6 +2254,7 @@ +@@ -2180,6 +2260,7 @@ UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc) DECLSPEC_HIDDEN; void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; @@ -1923,7 +1923,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN; void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask) DECLSPEC_HIDDEN; void device_exec_update_texture(struct wined3d_context *context, struct wined3d_texture *src_texture, -@@ -2185,6 +2266,11 @@ +@@ -2191,6 +2272,11 @@ void device_create_dummy_textures(struct wined3d_device *device, struct wined3d_context *context) DECLSPEC_HIDDEN; void device_delete_opengl_contexts_cs(struct wined3d_device *device, struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; @@ -1935,7 +1935,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state) { -@@ -2204,9 +2290,11 @@ +@@ -2210,9 +2296,11 @@ HRESULT (*resource_sub_resource_map)(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags); HRESULT (*resource_sub_resource_unmap)(struct wined3d_resource *resource, unsigned int sub_resource_idx); @@ -1947,7 +1947,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_resource -@@ -2231,6 +2319,7 @@ +@@ -2237,6 +2325,7 @@ UINT depth; UINT size; DWORD priority; @@ -1955,7 +1955,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void *heap_memory, *map_heap_memory, *user_memory, *bitmap_data; UINT custom_row_pitch, custom_slice_pitch; struct wined3d_gl_bo *buffer, *map_buffer; -@@ -2238,6 +2327,10 @@ +@@ -2244,6 +2333,10 @@ DWORD locations; LONG access_fence; BOOL unmap_dirtify; @@ -1966,7 +1966,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void *parent; const struct wined3d_parent_ops *parent_ops; -@@ -2262,6 +2355,7 @@ +@@ -2268,6 +2361,7 @@ void *parent, const struct wined3d_parent_ops *parent_ops, const struct wined3d_resource_ops *resource_ops) DECLSPEC_HIDDEN; void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN; @@ -1974,7 +1974,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h DWORD wined3d_resource_access_from_location(DWORD location) DECLSPEC_HIDDEN; BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN; void wined3d_resource_changed(struct wined3d_resource *resource, -@@ -2310,6 +2404,15 @@ +@@ -2316,6 +2410,15 @@ { while(InterlockedCompareExchange(&resource->access_fence, 0, 0)); } @@ -1990,7 +1990,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h /* Tests show that the start address of resources is 32 byte aligned */ #define RESOURCE_ALIGNMENT 16 -@@ -2394,7 +2497,9 @@ +@@ -2400,7 +2503,9 @@ void wined3d_texture_apply_sampler_desc(struct wined3d_texture *texture, const struct wined3d_sampler_desc *sampler_desc, const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN; @@ -2000,7 +2000,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_texture_bind(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN; void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture, -@@ -2428,9 +2533,16 @@ +@@ -2434,9 +2539,16 @@ struct wined3d_resource resource; struct wined3d_texture *container; @@ -2017,7 +2017,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; static inline struct wined3d_volume *volume_from_resource(struct wined3d_resource *resource) -@@ -2438,6 +2550,7 @@ +@@ -2444,6 +2556,7 @@ return CONTAINING_RECORD(resource, struct wined3d_volume, resource); } @@ -2025,7 +2025,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h HRESULT wined3d_volume_create(struct wined3d_texture *container, const struct wined3d_resource_desc *desc, unsigned int level, struct wined3d_volume **volume) DECLSPEC_HIDDEN; void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN; -@@ -2453,6 +2566,27 @@ +@@ -2459,6 +2572,27 @@ struct wined3d_surface_dib { HBITMAP DIBsection; @@ -2053,7 +2053,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h UINT bitmap_size; }; -@@ -2478,7 +2612,11 @@ +@@ -2484,7 +2618,11 @@ struct wined3d_surface_ops { HRESULT (*surface_private_setup)(struct wined3d_surface *surface); @@ -2065,7 +2065,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_surface -@@ -2486,12 +2624,26 @@ +@@ -2492,12 +2630,26 @@ struct wined3d_resource resource; const struct wined3d_surface_ops *surface_ops; struct wined3d_texture *container; @@ -2092,7 +2092,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h GLuint rb_multisample; GLuint rb_resolved; GLenum texture_target; -@@ -2535,11 +2687,22 @@ +@@ -2541,11 +2693,22 @@ GLenum surface_get_gl_buffer(const struct wined3d_surface *surface) DECLSPEC_HIDDEN; void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context, unsigned int *width, unsigned int *height) DECLSPEC_HIDDEN; @@ -2115,7 +2115,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void surface_modify_ds_location(struct wined3d_surface *surface, DWORD location, UINT w, UINT h) DECLSPEC_HIDDEN; void surface_prepare_rb(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info, BOOL multisample) DECLSPEC_HIDDEN; -@@ -2551,6 +2714,7 @@ +@@ -2557,6 +2720,7 @@ const struct wined3d_gl_info *gl_info, void *mem, unsigned int pitch) DECLSPEC_HIDDEN; HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point, struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN; @@ -2123,7 +2123,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct wined3d_resource_desc *desc, GLenum target, unsigned int level, unsigned int layer, DWORD flags, struct wined3d_surface **surface) DECLSPEC_HIDDEN; -@@ -2565,6 +2729,17 @@ +@@ -2571,6 +2735,17 @@ void wined3d_surface_cleanup_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN; void wined3d_surface_getdc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN; void wined3d_surface_releasedc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN; @@ -2141,7 +2141,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context, const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN; -@@ -2587,8 +2762,10 @@ +@@ -2593,8 +2768,10 @@ GLuint name; }; @@ -2152,7 +2152,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_vertex_declaration_element { const struct wined3d_format *format; -@@ -2617,8 +2794,10 @@ +@@ -2623,8 +2800,10 @@ BOOL half_float_conv_needed; }; @@ -2163,7 +2163,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_saved_states { DWORD transform[(HIGHEST_TRANSFORMSTATE >> 5) + 1]; -@@ -2686,6 +2865,7 @@ +@@ -2692,6 +2871,7 @@ void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN; void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN; @@ -2171,7 +2171,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h HRESULT state_init(struct wined3d_state *state, const struct wined3d_gl_info *gl_info, const struct wined3d_d3d_info *d3d_info, DWORD flags) DECLSPEC_HIDDEN; void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN; -@@ -2736,6 +2916,32 @@ +@@ -2742,6 +2922,32 @@ void wined3d_cs_destroy(struct wined3d_cs *cs) DECLSPEC_HIDDEN; void wined3d_cs_switch_onscreen_ds(struct wined3d_cs *cs, struct wined3d_context *context, struct wined3d_surface *depth_stencil) DECLSPEC_HIDDEN; @@ -2204,7 +2204,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN; -@@ -2785,6 +2991,7 @@ +@@ -2791,6 +2997,7 @@ void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs, struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN; @@ -2212,7 +2212,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_cs_emit_set_consts_f(struct wined3d_cs *cs, UINT start_register, const float *constants, UINT vector4f_count, enum wined3d_shader_type type) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_consts_b(struct wined3d_cs *cs, UINT start_register, -@@ -2848,6 +3055,7 @@ +@@ -2854,6 +3061,7 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch, unsigned int depth_pitch) DECLSPEC_HIDDEN; @@ -2220,7 +2220,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h /* Direct3D terminology with little modifications. We do not have an issued state * because only the driver knows about it, but we have a created state because d3d -@@ -2862,8 +3070,12 @@ +@@ -2868,8 +3076,12 @@ struct wined3d_query_ops { HRESULT (*query_get_data)(struct wined3d_query *query, void *data, DWORD data_size, DWORD flags); @@ -2233,7 +2233,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_query -@@ -2877,12 +3089,16 @@ +@@ -2883,12 +3095,16 @@ enum wined3d_query_type type; DWORD data_size; void *extendedData; @@ -2250,7 +2250,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h /* TODO: Add tests and support for FLOAT16_4 POSITIONT, D3DCOLOR position, other * fixed function semantics as D3DCOLOR or FLOAT16 */ -@@ -2909,7 +3125,9 @@ +@@ -2915,7 +3131,9 @@ GLenum buffer_object_usage; GLenum buffer_type_hint; DWORD flags; @@ -2260,7 +2260,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void *map_ptr; struct wined3d_map_range *maps; -@@ -2934,11 +3152,15 @@ +@@ -2940,11 +3158,15 @@ BYTE *buffer_get_sysmem(struct wined3d_buffer *This, struct wined3d_context *context) DECLSPEC_HIDDEN; void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_context *context, const struct wined3d_state *state) DECLSPEC_HIDDEN; @@ -2276,7 +2276,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_rendertarget_view { -@@ -2977,8 +3199,10 @@ +@@ -2983,8 +3205,10 @@ return surface_from_resource(resource); } @@ -2287,7 +2287,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_shader_resource_view { LONG refcount; -@@ -2991,8 +3215,12 @@ +@@ -2997,8 +3221,12 @@ struct wined3d_swapchain_ops { void (*swapchain_present)(struct wined3d_swapchain *swapchain, const RECT *src_rect, @@ -2300,7 +2300,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_swapchain -@@ -3031,8 +3259,10 @@ +@@ -3037,8 +3265,10 @@ void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; HDC swapchain_get_backup_dc(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; @@ -2311,7 +2311,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h /***************************************************************************** * Utility function prototypes -@@ -3232,7 +3462,9 @@ +@@ -3241,7 +3471,9 @@ void shader_generate_main(const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer, const struct wined3d_shader_reg_maps *reg_maps, const DWORD *byte_code, void *backend_ctx) DECLSPEC_HIDDEN; BOOL shader_match_semantic(const char *semantic_name, enum wined3d_decl_usage usage) DECLSPEC_HIDDEN; @@ -4609,7 +4609,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c unsigned int i, extra_constants_needed = 0; const struct wined3d_shader_lconst *lconst; const char *prefix; -@@ -1906,7 +1914,11 @@ +@@ -1904,7 +1912,11 @@ { UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input); @@ -4621,7 +4621,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c declare_in_varying(gl_info, buffer, FALSE, "vec4 %s_link[%u];\n", prefix, in_count); shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count); } -@@ -1947,6 +1959,7 @@ +@@ -1945,6 +1957,7 @@ } else { @@ -4629,7 +4629,7 @@ diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c /* This happens because we do not have proper tracking of the * constant registers that are actually used, only the max * limit of the shader version. -@@ -1955,6 +1968,23 @@ +@@ -1953,6 +1966,23 @@ * it and just create the uniform. */ FIXME("Cannot find a free uniform for vpos correction params\n"); @@ -9144,7 +9144,7 @@ diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c } return refcount; -@@ -2412,7 +2422,11 @@ +@@ -2417,7 +2427,11 @@ memset(args, 0, sizeof(*args)); /* FIXME: Make sure all bits are set. */ if (!gl_info->supported[ARB_FRAMEBUFFER_SRGB] && state->render_states[WINED3D_RS_SRGBWRITEENABLE]) { @@ -9724,7 +9724,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c -@@ -5529,9 +5529,15 @@ +@@ -5530,9 +5530,15 @@ DebugBreak(); }