I make every effort to slap documentation at the head of every patch, so read it.
* aria2/
- * aria2-1.19.0-leech.patch (works with offsets - 1.19.3)
+ * aria2-1.19.0-leech.patch (works 1.19.3)
* Adds a --disable-seed option. Does what you expect. Now you too can be a leech with a wonderful 0.0 seed ratio (pfft.) This is custom.
* wget/
* wget-no-egd-libressl.patch
* Adds ECDHE-Camellia-GCM cipher suites to nss.
* Pale Moon forces internal nss now, so this is of limited utility, but disabling the check with PM allows to build against a patched system-nss.
* wine/
- * wine-1.7.54-force-laa-exec.patch (works - 1.9.1)
+ * wine-1.7.54-force-laa-exec.patch (works 1.9.3, w|wo staging)
* Environment var 'WINE_FORCE_LARGEADDR' can be set to force a binary to run as if the LAA flag is set. Useful for some games that need dll injection to fix otherwise.
- * wine-1.7.54-mmap-higher-memory.patch (works - 1.9.1)
+ * wine-1.7.54-mmap-higher-memory.patch (works 1.9.3, w|wo staging)
* Environment var 'WINE_HIGHER_USERSPACE_MMAP' can be set to do allocation mapping starting at a higher location.
- * wine-1.7.54-opengl-hooking-allow.patch (works - 1.9.1)
+ * wine-1.7.54-opengl-hooking-allow.patch (works 1.9.3, w|wo staging)
* WINE by default loads glSwapBuffers directly from libGL.so. This makes WINE use RTLD_NEXT so preloads can override glSwapBuffers.
- * All of the above are compatible with staging, too.
- * wine-1.9.1-nine.patch
- * This is the gallium nine state tracker from iXit/wine rebased onto 1.9.1 since NP-Hardass' tools cannot generate patches anymore. Read the patch header.
- * wine-1.9.1-nine_for_staging.patch
+ * nine-staging-1.9.2.patch (works 1.9.2-1.9.3, vanilla)
+ * This is the gallium nine state tracker from iXit/wine as a patch for vanilla wine.
+ * nine-staging-1.9.2.patch (works 1.9.2-1.9.3, staging)
* Again, nine state tracker. This is intended to be applied after staging and resolves a few conflicts not occuring otherwise.
* gmpc/
- * gmpc-*-fix-annoyance.patch
+ * gmpc-11.8.16-fix-annoyance.patch
* Disables the annoying dialog when clearing the now playing queue. The average person clears now playing all the time. Seriously a design issue.
-This is the same as the other patch, except it doesn't have any conflicts
-with staging. The other patch applies a few bits of staging: the dll
-redirection, the staging tab, etc.
+See the header of nine-vanilla-1.9.2.patch for information on this.
+This patch is intended for wine-staging.
-A few things that should be noted:
- There's a tiny possibility of error here. There are two directx replacements:
- CMST and nine, and neither are set mutually exclusive due to the dialog design.
- I may fix this to make it a three bullet select-one-of.
-
-Read the header of the other patch for more usage details. This should be
-applied AFTER staging, not before it.
-
-diff -urN wine-1.9.1/configure.ac wine-1.9.1-staging+d3d9/configure.ac
---- wine-1.9.1/configure.ac 2016-01-18 06:51:08.392592452 -0500
-+++ wine-1.9.1-staging+d3d9/configure.ac 2016-01-18 06:33:43.818613768 -0500
-@@ -67,6 +67,8 @@
+--- wine-1.9.2/configure.ac 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/configure.ac 2016-02-09 10:49:31.854614094 -0500
+@@ -65,6 +65,8 @@
AC_ARG_WITH(opencl, AS_HELP_STRING([--without-opencl],[do not use OpenCL]),
[if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; ac_cv_header_OpenCL_opencl_h=no; fi])
AC_ARG_WITH(opengl, AS_HELP_STRING([--without-opengl],[do not use OpenGL]))
AC_ARG_WITH(osmesa, AS_HELP_STRING([--without-osmesa],[do not use the OSMesa library]))
AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound support]))
AC_ARG_WITH(pcap, AS_HELP_STRING([--without-pcap],[do not use the Packet Capture library]),
-@@ -399,6 +401,8 @@
+@@ -381,6 +383,8 @@
AC_SUBST(OPENGL_LIBS,"")
dnl **** Check for header files ****
AC_SYS_LARGEFILE()
-@@ -1205,6 +1209,195 @@
- WINE_NOTICE_WITH(va,[test "x$ac_cv_lib_soname_va" = "x" -o "x$ac_cv_lib_soname_va_x11" = "x" -o "x$ac_cv_lib_soname_va_drm" = "x"],
- [libva ${notice_platform}development files not found, GPU video acceleration won't be supported.])
+@@ -1158,6 +1162,195 @@
+ WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg
+ OpenGL and Direct3D won't be supported.])
+ dnl Check for d3dadapter
+ if test "x$with_d3dadapter" != "xno"
+ D3D_MODULE_DIR=`pkg-config --variable=moduledir d3d`
+ CPPFLAGSBAK=$CPPFLAGS
+ # link against libdl
-+ CPPFLAGS="$CPPFLAGS -ldl"
++ CPPFLAGS="$CPPFLAGS -Wl,--no-as-needed -ldl"
+
+ ac_cv_c_dlopen_d3dadapter=""
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <dlfcn.h>
CPPFLAGS="$ac_save_CPPFLAGS"
else
X_CFLAGS=""
-@@ -2839,6 +3032,7 @@
+@@ -2792,6 +2985,7 @@
WINE_CONFIG_TEST(dlls/d3d8/tests)
WINE_CONFIG_DLL(d3d9,,[implib])
WINE_CONFIG_TEST(dlls/d3d9/tests)
WINE_CONFIG_DLL(d3dcompiler_33)
WINE_CONFIG_DLL(d3dcompiler_34)
WINE_CONFIG_DLL(d3dcompiler_35)
-diff -urN wine-1.9.1/dlls/d3d9/Makefile.in wine-1.9.1-staging+d3d9/dlls/d3d9/Makefile.in
---- wine-1.9.1/dlls/d3d9/Makefile.in 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9/Makefile.in 2016-01-18 06:33:43.818613768 -0500
+--- wine-1.9.2/dlls/d3d9/Makefile.in 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/d3d9/Makefile.in 2016-02-09 10:49:31.948614100 -0500
@@ -1,6 +1,6 @@
MODULE = d3d9.dll
IMPORTLIB = d3d9
C_SRCS = \
buffer.c \
-diff -urN wine-1.9.1/dlls/d3d9/tests/d3d9ex.c wine-1.9.1-staging+d3d9/dlls/d3d9/tests/d3d9ex.c
---- wine-1.9.1/dlls/d3d9/tests/d3d9ex.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9/tests/d3d9ex.c 2016-01-18 06:33:43.818613768 -0500
-@@ -1490,6 +1490,7 @@
- HRESULT hr;
- BOOL ret;
- struct device_desc desc;
-+ IDirect3DSwapChain9 *swapchain;
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-@@ -1514,6 +1515,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(GetDesktopWindow());
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1527,6 +1534,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(window);
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1540,6 +1553,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- desc.width = 1024;
- desc.height = 768;
- hr = reset_device(device, &desc);
-@@ -1569,6 +1588,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- todo_wine ok(hr == S_PRESENT_MODE_CHANGED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == S_PRESENT_MODE_CHANGED, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- hr = reset_device(device, &desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1582,6 +1607,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(GetDesktopWindow());
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-diff -urN wine-1.9.1/dlls/d3d9/tests/device.c wine-1.9.1-staging+d3d9/dlls/d3d9/tests/device.c
---- wine-1.9.1/dlls/d3d9/tests/device.c 2016-01-18 06:51:06.822592484 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9/tests/device.c 2016-01-18 06:33:43.821613767 -0500
-@@ -8306,10 +8306,10 @@
-
- static void test_vidmem_accounting(void)
- {
-- IDirect3DDevice9 *device;
-+ IDirect3DDevice9 *device, *device2;
- IDirect3D9 *d3d9;
- ULONG refcount;
-- HWND window;
-+ HWND window, window2;
- HRESULT hr = D3D_OK;
- IDirect3DTexture9 *textures[20];
- unsigned int i;
-@@ -8317,6 +8317,8 @@
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, 0, 0, 0, 0);
-+ window2 = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
-+ 0, 0, 640, 480, 0, 0, 0, 0);
- d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
- ok(!!d3d9, "Failed to create a D3D object.\n");
- if (!(device = create_device(d3d9, window, NULL)))
-@@ -8351,6 +8353,43 @@
- IDirect3DTexture9_Release(textures[i]);
- }
-
-+ /* Multi-device testing */
-+ if (!(device2 = create_device(d3d9, window2, NULL)))
-+ {
-+ skip("Failed to create a D3D device, skipping tests.\n");
-+ refcount = IDirect3DDevice9_Release(device);
-+ ok(!refcount, "Device has %u references left.\n", refcount);
-+ IDirect3D9_Release(d3d9);
-+ DestroyWindow(window2);
-+ DestroyWindow(window);
-+ return;
-+ }
-+
-+ vidmem_start = IDirect3DDevice9_GetAvailableTextureMem(device);
-+ memset(textures, 0, sizeof(textures));
-+ for (i = 0; (i < sizeof(textures) / sizeof(*textures)) && SUCCEEDED(hr); i++)
-+ {
-+ hr = IDirect3DDevice9_CreateTexture(device2, 1024, 1024, 1, D3DUSAGE_RENDERTARGET,
-+ D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &textures[i], NULL);
-+ /* D3DERR_OUTOFVIDEOMEMORY is returned when the card runs out of video memory
-+ * E_FAIL is returned on address space or system memory exhaustion */
-+ ok(SUCCEEDED(hr) || hr == D3DERR_OUTOFVIDEOMEMORY || hr == E_OUTOFMEMORY,
-+ "Failed to create texture, hr %#x.\n", hr);
-+ }
-+ vidmem_end = IDirect3DDevice9_GetAvailableTextureMem(device);
-+
-+ /* Windows 7 uses device private counters */
-+ ok(vidmem_start > vidmem_end || broken(vidmem_start == vidmem_end), "Expected available texture memory to decrease during texture creation.\n");
-+ diff = vidmem_start - vidmem_end;
-+ ok(diff > 1024 * 1024 * 2 * i || broken(diff == 0), "Expected a video memory difference of at least %u MB, got %u MB.\n",
-+ 2 * i, diff / 1024 / 1024);
-+
-+ for (i = 0; i < sizeof(textures) / sizeof(*textures); i++)
-+ {
-+ if (textures[i])
-+ IDirect3DTexture9_Release(textures[i]);
-+ }
-+
- refcount = IDirect3DDevice9_Release(device);
- ok(!refcount, "Device has %u references left.\n", refcount);
- IDirect3D9_Release(d3d9);
-@@ -10076,6 +10115,7 @@
- HWND window;
- HRESULT hr;
- BOOL ret;
-+ IDirect3DSwapChain9 *swapchain;
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-@@ -10103,6 +10143,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = ShowWindow(window, SW_RESTORE);
- ok(ret, "Failed to restore window.\n");
- ret = SetForegroundWindow(window);
-@@ -10112,6 +10158,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- hr = reset_device(device, &device_desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- hr = IDirect3DDevice9_TestCooperativeLevel(device);
-@@ -10119,6 +10171,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- device_desc.flags = 0;
- hr = reset_device(device, &device_desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-diff -urN wine-1.9.1/dlls/d3d9/tests/visual.c wine-1.9.1-staging+d3d9/dlls/d3d9/tests/visual.c
---- wine-1.9.1/dlls/d3d9/tests/visual.c 2016-01-18 06:51:08.167592457 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9/tests/visual.c 2016-01-18 06:33:43.826613767 -0500
-@@ -8678,6 +8678,167 @@
- DestroyWindow(window);
- }
-
-+static void test_blend_invalid_arg(void)
-+{
-+ IDirect3DSurface9 *backbuffer, *offscreen;
-+ IDirect3DTexture9 *offscreenTexture;
-+ IDirect3DDevice9 *device;
-+ IDirect3D9 *d3d;
-+ D3DCOLOR color;
-+ ULONG refcount;
-+ HWND window;
-+ HRESULT hr;
-+ DWORD rs;
-+
-+ static const struct
-+ {
-+ struct vec3 position;
-+ DWORD diffuse;
-+ }
-+ quad1[] =
-+ {
-+ {{-1.0f, -1.0f, 0.1f}, 0x4000ff00},
-+ {{-1.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, -1.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ },
-+ quad2[] =
-+ {
-+ {{ 0.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, 1.0f, 0.1f}, 0x4000ff00},
-+ {{ 1.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 1.0f, 1.0f, 0.1f}, 0x4000ff00},
-+ },
-+ quad3[] =
-+ {
-+ {{-1.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{-1.0f, 1.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 1.0f, 0.1f}, 0xc00000ff},
-+ },
-+ quad4[] =
-+ {
-+ {{ 0.0f, -1.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{ 1.0f, -1.0f, 0.1f}, 0xc00000ff},
-+ {{ 1.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ };
-+
-+ window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
-+ 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-+ d3d = Direct3DCreate9(D3D_SDK_VERSION);
-+ ok(!!d3d, "Failed to create a D3D object.\n");
-+ if (!(device = create_device(d3d, window, window, TRUE)))
-+ {
-+ skip("Failed to create a D3D device, skipping tests.\n");
-+ goto done;
-+ }
-+ /* Clear the render target with alpha = 0.5 */
-+ hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x80ff0000, 1.0f, 0);
-+ ok(hr == D3D_OK, "Clear failed, hr = %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_CreateTexture(device, 128, 128, 1, D3DUSAGE_RENDERTARGET,
-+ D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &offscreenTexture, NULL);
-+ ok(SUCCEEDED(hr), "Failed to create texture, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
-+ ok(hr == D3D_OK, "Can't get back buffer, hr = %08x\n", hr);
-+
-+ hr = IDirect3DTexture9_GetSurfaceLevel(offscreenTexture, 0, &offscreen);
-+ ok(hr == D3D_OK, "Can't get offscreen surface, hr = %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetFVF(device, D3DFVF_XYZ | D3DFVF_DIFFUSE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetFVF failed, hr = %#08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetTextureStageState(device, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
-+ ok(hr == D3D_OK, "SetTextureStageState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_SetTextureStageState(device, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
-+ ok(hr == D3D_OK, "SetTextureStageState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MINFILTER, D3DTEXF_POINT);
-+ ok(SUCCEEDED(hr), "SetSamplerState D3DSAMP_MINFILTER failed (0x%08x)\n", hr);
-+ hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
-+ ok(SUCCEEDED(hr), "SetSamplerState D3DSAMP_MAGFILTER failed (0x%08x)\n", hr);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_LIGHTING, FALSE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState returned %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_ALPHABLENDENABLE, TRUE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_BeginScene(device);
-+ ok(SUCCEEDED(hr), "Failed to begin scene, hr %#x.\n", hr);
-+
-+ /* draw quad to test default renderstate
-+ * expect D3DRS_SRCBLEND == D3DBLEND_ONE
-+ * expect D3DRS_DESTBLEND == D3DBLEND_ZERO */
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad1, sizeof(quad1[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ /* set invalid value and expect D3DBLEND_ZERO instead */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_SRCBLEND, 0);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_SRCBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == 0, "Unexpected renderstate %#x.\n", rs);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad2, sizeof(quad2[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+ /* set non default valid values */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_SRCBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == D3DBLEND_SRCALPHA, "Unexpected renderstate %#x.\n", rs);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_DESTBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == D3DBLEND_INVSRCALPHA, "Failed to get render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad3, sizeof(quad3[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ /* set invalid value and expect D3DBLEND_ZERO instead */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, 200);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_DESTBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == 200, "Failed to get render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad4, sizeof(quad4[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_EndScene(device);
-+ ok(SUCCEEDED(hr), "Failed to end scene, hr %#x.\n", hr);
-+
-+ color = getPixelColor(device, 160, 360);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x00, 0xff, 0x00), 1),
-+ "D3DRS_SRCBLEND ONE returned color %08x, expected 0x0000FF00\n", color);
-+
-+ color = getPixelColor(device, 480, 120);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0xbf, 0x00, 0x00), 1),
-+ "invalid D3DRS_SRCBLEND returned color %08x, expected 0x00bf0000\n", color);
-+
-+ color = getPixelColor(device, 160, 120);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x3f, 0x00, 0xC0), 1),
-+ "D3DRS_SRCBLEND SRCALPHA returned color %08x, expected 0x003f00C0\n", color);
-+
-+ color = getPixelColor(device, 480, 360);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0xC0), 1),
-+ "invalid D3DRS_DESTBLEND returned color %08x, expected 0x000000C0\n", color);
-+
-+ IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
-+
-+ IDirect3DSurface9_Release(backbuffer);
-+ IDirect3DTexture9_Release(offscreenTexture);
-+ IDirect3DSurface9_Release(offscreen);
-+ refcount = IDirect3DDevice9_Release(device);
-+ ok(!refcount, "Device has %u references left.\n", refcount);
-+done:
-+ IDirect3D9_Release(d3d);
-+ DestroyWindow(window);
-+}
-+
- static void fixed_function_decl_test(void)
- {
- IDirect3DVertexDeclaration9 *dcl_float = NULL, *dcl_short = NULL, *dcl_ubyte = NULL, *dcl_color = NULL;
-@@ -12877,6 +13038,9 @@
- }
- testdata[] =
- {
-+ /* test invalid values, D3DCMP_NEVER for values less than D3DCMP_NEVER,
-+ * D3DCMP_ALWAYS for values greater than D3DCMP_ALWAYS */
-+ {D3DCMP_NEVER-1, ALPHATEST_FAILED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_NEVER, ALPHATEST_FAILED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_LESS, ALPHATEST_PASSED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_EQUAL, ALPHATEST_FAILED, ALPHATEST_PASSED, ALPHATEST_FAILED},
-@@ -12885,6 +13049,10 @@
- {D3DCMP_NOTEQUAL, ALPHATEST_PASSED, ALPHATEST_FAILED, ALPHATEST_PASSED},
- {D3DCMP_GREATEREQUAL, ALPHATEST_FAILED, ALPHATEST_PASSED, ALPHATEST_PASSED},
- {D3DCMP_ALWAYS, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+1, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+2, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+3, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {0xdeadbeef, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
- };
- static const struct
- {
-@@ -18234,6 +18402,27 @@
- D3DFOG_LINEAR, D3DFOG_NONE, 0x0000ff00, 0x0000ff00, 0x0000ff00},
- {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
- D3DFOG_EXP, D3DFOG_NONE, 0x009b6400, 0x009b6400, 0x009b6400},
-+ /* test invalid values, expect a modulo 4 on samplerstate */
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+1, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+2, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+3, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+4, D3DFOG_NONE, 0x007f7f00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+5, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+6, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+7, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+8, D3DFOG_NONE, 0x007f7f00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+9, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+10, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
- };
- D3DCAPS9 caps;
-
-@@ -21549,6 +21738,7 @@
- test_depthbias();
- test_flip();
- test_uninitialized_varyings();
-+ test_blend_invalid_arg();
- test_multisample_init();
- test_texture_blending();
- }
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3d9_main.c wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3d9_main.c
---- wine-1.9.1/dlls/d3d9-nine/d3d9_main.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3d9_main.c 2016-01-18 06:33:43.827613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3d9_main.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3d9_main.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,157 @@
+/*
+ * Direct3D 9
+{
+ FIXME("color 0x%08x, name %s stub!\n", color, debugstr_w(name));
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3d9-nine.spec wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3d9-nine.spec
---- wine-1.9.1/dlls/d3d9-nine/d3d9-nine.spec 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3d9-nine.spec 2016-01-18 06:33:43.827613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3d9-nine.spec 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3d9-nine.spec 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,14 @@
+@ stdcall Direct3DShaderValidatorCreate9()
+@ stub PSGPError
+@ stdcall DebugSetMute()
+@ stdcall Direct3DCreate9(long)
+@ stdcall Direct3DCreate9Ex(long ptr)
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3dadapter9.c wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3dadapter9.c
---- wine-1.9.1/dlls/d3d9-nine/d3dadapter9.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3dadapter9.c 2016-01-18 06:33:43.828613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3dadapter9.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3dadapter9.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,865 @@
+/*
+ * Wine IDirect3D9 interface using ID3DAdapter9
+ "\nFor more information visit https://wiki.ixit.cz/d3d9\033[0m\n");
+ return D3D_OK;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3dadapter9.h wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3dadapter9.h
---- wine-1.9.1/dlls/d3d9-nine/d3dadapter9.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/d3dadapter9.h 2016-01-18 06:33:43.828613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3dadapter9.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3dadapter9.h 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,30 @@
+/*
+ * D3DAdapter9 interface
+HRESULT d3dadapter9_new(Display *gdi_display, boolean ex, IDirect3D9Ex **ppOut);
+
+#endif /* __WINE_D3D9ADAPTER_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/dri3.c wine-1.9.1-staging+d3d9/dlls/d3d9-nine/dri3.c
---- wine-1.9.1/dlls/d3d9-nine/dri3.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/dri3.c 2016-01-18 06:33:43.830613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/dri3.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/dri3.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,1345 @@
+/*
+ * Wine DRI3 interface
+ pthread_mutex_unlock(&present_priv->mutex_present);
+ return TRUE;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/dri3.h wine-1.9.1-staging+d3d9/dlls/d3d9-nine/dri3.h
---- wine-1.9.1/dlls/d3d9-nine/dri3.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/dri3.h 2016-01-18 06:33:43.830613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/dri3.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/dri3.h 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,101 @@
+/*
+ * Wine X11DRV DRI3 interface
+PRESENTWaitPixmapReleased(PRESENTPixmapPriv *present_pixmap_priv);
+
+#endif /* __WINE_DRI3_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/libd3d9-nine.def wine-1.9.1-staging+d3d9/dlls/d3d9-nine/libd3d9-nine.def
---- wine-1.9.1/dlls/d3d9-nine/libd3d9-nine.def 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/libd3d9-nine.def 2016-01-18 06:33:43.830613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/libd3d9-nine.def 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/libd3d9-nine.def 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,16 @@
+; File generated automatically from ./dlls/d3d9-nine/d3d9-nine.spec; do not edit!
+
+ DebugSetMute@0 @12
+ Direct3DCreate9@4 @13
+ Direct3DCreate9Ex@8 @14
-diff -urN wine-1.9.1/dlls/d3d9-nine/Makefile.in wine-1.9.1-staging+d3d9/dlls/d3d9-nine/Makefile.in
---- wine-1.9.1/dlls/d3d9-nine/Makefile.in 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/Makefile.in 2016-01-18 06:33:43.830613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/Makefile.in 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/Makefile.in 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,12 @@
+MODULE = d3d9-nine.dll
+IMPORTS = dxguid uuid advapi32 gdi32 user32
+ dri3.c
+
+RC_SRCS = version.rc
-diff -urN wine-1.9.1/dlls/d3d9-nine/present.c wine-1.9.1-staging+d3d9/dlls/d3d9-nine/present.c
---- wine-1.9.1/dlls/d3d9-nine/present.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/present.c 2016-01-18 06:33:43.831613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/present.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/present.c 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,1332 @@
+/*
+ * Wine ID3DAdapter9 support functions
+
+ return FALSE;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/present.h wine-1.9.1-staging+d3d9/dlls/d3d9-nine/present.h
---- wine-1.9.1/dlls/d3d9-nine/present.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/present.h 2016-01-18 06:33:43.831613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/present.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/present.h 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,36 @@
+/*
+ * Wine present interface
+BOOL has_d3dadapter(Display *gdi_display);
+
+#endif /* __WINE_DRI3_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/version.rc wine-1.9.1-staging+d3d9/dlls/d3d9-nine/version.rc
---- wine-1.9.1/dlls/d3d9-nine/version.rc 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/d3d9-nine/version.rc 2016-01-18 06:33:43.832613767 -0500
+--- wine-1.9.2/dlls/d3d9-nine/version.rc 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/version.rc 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2015 Patrick Rudolph
+#define WINE_PRODUCTVERSION_STR "5.3.1.904"
+
+#include "wine/wine_common_ver.rc"
-diff -urN wine-1.9.1/dlls/winex11.drv/init.c wine-1.9.1-staging+d3d9/dlls/winex11.drv/init.c
---- wine-1.9.1/dlls/winex11.drv/init.c 2016-01-18 06:51:03.053592561 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/winex11.drv/init.c 2016-01-18 06:33:43.834613767 -0500
+--- wine-1.9.2/dlls/winex11.drv/init.c 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/winex11.drv/init.c 2016-02-09 10:49:32.494614138 -0500
@@ -365,6 +365,7 @@
{
struct x11drv_escape_get_drawable *data = out_data;
return TRUE;
}
break;
-diff -urN wine-1.9.1/dlls/winex11.drv/x11drv.h wine-1.9.1-staging+d3d9/dlls/winex11.drv/x11drv.h
---- wine-1.9.1/dlls/winex11.drv/x11drv.h 2016-01-18 06:51:08.257592455 -0500
-+++ wine-1.9.1-staging+d3d9/dlls/winex11.drv/x11drv.h 2016-01-18 06:33:43.834613767 -0500
-@@ -293,6 +293,7 @@
+--- wine-1.9.2/dlls/winex11.drv/x11drv.h 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/winex11.drv/x11drv.h 2016-02-09 10:49:32.498614138 -0500
+@@ -292,6 +292,7 @@
Drawable drawable; /* X drawable */
Drawable gl_drawable; /* GL drawable */
int pixel_format; /* internal GL pixel format */
};
struct x11drv_escape_flush_gl_drawable
-diff -urN wine-1.9.1/include/config.h.in wine-1.9.1-staging+d3d9/include/config.h.in
---- wine-1.9.1/include/config.h.in 2016-01-18 06:51:11.000000000 -0500
-+++ wine-1.9.1-staging+d3d9/include/config.h.in 2016-01-18 06:33:43.835613767 -0500
+--- wine-1.9.2/include/config.h.in 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/include/config.h.in 2016-02-09 10:49:32.552614142 -0500
@@ -4,6 +4,12 @@
#define __WINE_CONFIG_H
#ifndef WINE_CROSSTEST
/* Define to a function attribute for Microsoft hotpatch assembly prefix. */
#undef DECLSPEC_HOTPATCH
-@@ -1362,6 +1368,9 @@
- /* Define to the soname of the libcairo library. */
- #undef SONAME_LIBCAIRO
+@@ -1335,6 +1341,9 @@
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+/* "temporary hack" */
+#undef SONAME_D3DADAPTER9
/* Define to the soname of the libcapi20 library. */
#undef SONAME_LIBCAPI20
-@@ -1374,6 +1383,9 @@
+@@ -1347,6 +1356,9 @@
/* Define to the soname of the libdbus-1 library. */
#undef SONAME_LIBDBUS_1
/* Define to the soname of the libfontconfig library. */
#undef SONAME_LIBFONTCONFIG
-diff -urN wine-1.9.1/programs/winecfg/resource.h wine-1.9.1-staging+d3d9/programs/winecfg/resource.h
---- wine-1.9.1/programs/winecfg/resource.h 2016-01-18 06:51:03.839592545 -0500
-+++ wine-1.9.1-staging+d3d9/programs/winecfg/resource.h 2016-01-18 06:44:19.169600803 -0500
+--- a/programs/winecfg/resource.h 2016-02-09 10:15:54.829473416 -0500
++++ b/programs/winecfg/resource.h 2016-02-09 10:23:50.436506587 -0500
@@ -218,6 +218,7 @@
#define IDC_ENABLE_EAX 9003
#define IDC_ENABLE_HIDEWINE 9004
#define IDC_ENABLE_GTK3 9005
-+#define IDC_ENABLE_NATIVE_D3D9 9006 /* Manually corrected. */
++#define IDC_ENABLE_NATIVE_D3D9 9006
/* About tab */
#define IDC_ABT_OWNER 8432
-diff -urN wine-1.9.1/programs/winecfg/staging.c wine-1.9.1-staging+d3d9/programs/winecfg/staging.c
---- wine-1.9.1/programs/winecfg/staging.c 2016-01-18 06:51:03.839592545 -0500
-+++ wine-1.9.1-staging+d3d9/programs/winecfg/staging.c 2016-01-18 06:48:46.029595357 -0500
-@@ -34,6 +34,23 @@
+--- a/programs/winecfg/staging.c 2016-02-09 10:15:54.829473416 -0500
++++ b/programs/winecfg/staging.c 2016-02-09 10:26:46.810518889 -0500
+@@ -34,6 +34,22 @@
WINE_DEFAULT_DEBUG_CHANNEL(winecfg);
/*
+ HeapFree(GetProcessHeap(), 0, value);
+ return ret;
+}
-+
+static void nine_set(BOOL status)
+{
+ set_reg_key(config_key, keypath("DllRedirects"), "d3d9", status ? "d3d9-nine.dll" : NULL);
* Command stream multithreading
*/
static BOOL csmt_get(void)
-@@ -132,6 +149,7 @@
+@@ -132,6 +148,7 @@
CheckDlgButton(dialog, IDC_ENABLE_EAX, eax_get() ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(dialog, IDC_ENABLE_HIDEWINE, hidewine_get() ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(dialog, IDC_ENABLE_GTK3, gtk3_get() ? BST_CHECKED : BST_UNCHECKED);
#ifndef HAVE_VAAPI
disable(IDC_ENABLE_VAAPI);
-@@ -139,6 +157,10 @@
+@@ -139,6 +156,9 @@
#ifndef HAVE_GTK3
disable(IDC_ENABLE_GTK3);
#endif
+#if !defined(SONAME_D3DADAPTER9)
+ disable(IDC_ENABLE_NATIVE_D3D9);
+#endif
-+
}
INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
-@@ -184,6 +206,10 @@
+@@ -184,6 +204,10 @@
gtk3_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_GTK3) == BST_CHECKED);
SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
return TRUE;
}
break;
}
-diff -urN wine-1.9.1/programs/winecfg/winecfg.rc wine-1.9.1-staging+d3d9/programs/winecfg/winecfg.rc
---- wine-1.9.1/programs/winecfg/winecfg.rc 2016-01-18 06:51:03.839592545 -0500
-+++ wine-1.9.1-staging+d3d9/programs/winecfg/winecfg.rc 2016-01-18 06:42:54.270602535 -0500
-@@ -314,12 +314,13 @@
- FONT 8, "MS Shell Dlg"
- BEGIN
- GROUPBOX "Staging settings",IDC_STATIC,8,4,244,210
-- LTEXT "The following settings are experimental and may break stuff!\nMake sure to reset them again in case of a problem.",IDC_STATIC,16,16,230,16
-+ LTEXT "The following settings are experimental and may break stuff!\nMake sure to reset them again in case of a problem.\nGallium Nine requires MESA graphic drivers and AMD/Nvidia GPU.\n",IDC_STATIC,16,16,230,24
- CONTROL "Enable &CSMT for better graphic performance",IDC_ENABLE_CSMT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,40,230,8
- CONTROL "Enable &VAAPI as backend for DXVA2 GPU decoding",IDC_ENABLE_VAAPI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,55,230,8
+--- a/programs/winecfg/winecfg.rc 2016-02-09 10:15:54.829473416 -0500
++++ b/programs/winecfg/winecfg.rc 2016-02-09 10:18:50.607485676 -0500
+@@ -320,6 +320,7 @@
CONTROL "Enable Environmental Audio E&xtensions (EAX)",IDC_ENABLE_EAX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,70,230,8
CONTROL "&Hide Wine version from applications",IDC_ENABLE_HIDEWINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,85,230,8
CONTROL "Enable >K3 Theming",IDC_ENABLE_GTK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,100,230,8
-+ CONTROL "Enable &Gallium Nine for better D3D9 graphic performance.",IDC_ENABLE_NATIVE_D3D9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,40,230,8
++ CONTROL "Enable &Gallium Nine for better D3D9 graphic performance.",IDC_ENABLE_NATIVE_D3D9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,115,230,8
END
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-This is the gallium nine wine state tracker. They're very freaking far behind.
-Luckily, this isn't terribly hard to fix, but git can no longer auto merge
-as in NP-Hardass' automated patch generator.
+This is the gallium nine wine state tracker. They're not so behind anymore,
+but it still isn't possible to easily apply on staging.
-This patch was generated through the following:
- - Diff wine 1.7.55 against iXit/wine.
+I've deployed an automated script to generate the patches via old
+school patch/diff.
+
+This patch was generated via script through the following:
+ - Diff wine against iXit/wine's base version (see VERSION file)
- Remove uneccesary changes.
+
+When wine becomes too different, the following is also done:
- Generate diff between wine 1.7.55 and the desired version.
- Apply nine, then the interversion.
- - Generate patch.
+ - Generate final patch
-This is currently based on commit eae055cf of iXit/wine.
+This is currently based on commit c092c7c6 of iXit/wine.
If this is not the latest, I'll make an effort to update.
Please also note that there are two separate versions because a few
bits of nine conflict with staging. If you wish to have staging, use
-the other patch.
+the other patch (nine-1.9.2-staging.patch)
Also, this only imports configure.ac changes. You'll need to run:
autoreconf -f
./tools/make_requests
To properly be able to build this.
-diff -urN wine-1.9.1/configure.ac wine-1.9.1-d3d9/configure.ac
---- wine-1.9.1/configure.ac 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/configure.ac 2016-01-18 06:22:34.607627423 -0500
+--- wine-1.9.2/configure.ac 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/configure.ac 2016-02-09 10:49:31.854614094 -0500
@@ -65,6 +65,8 @@
AC_ARG_WITH(opencl, AS_HELP_STRING([--without-opencl],[do not use OpenCL]),
[if test "x$withval" = "xno"; then ac_cv_header_CL_cl_h=no; ac_cv_header_OpenCL_opencl_h=no; fi])
+ D3D_MODULE_DIR=`pkg-config --variable=moduledir d3d`
+ CPPFLAGSBAK=$CPPFLAGS
+ # link against libdl
-+ CPPFLAGS="$CPPFLAGS -ldl"
++ CPPFLAGS="$CPPFLAGS -Wl,--no-as-needed -ldl"
+
+ ac_cv_c_dlopen_d3dadapter=""
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <dlfcn.h>
CPPFLAGS="$ac_save_CPPFLAGS"
else
X_CFLAGS=""
-@@ -2769,6 +2962,7 @@
+@@ -2792,6 +2985,7 @@
WINE_CONFIG_TEST(dlls/d3d8/tests)
WINE_CONFIG_DLL(d3d9,,[implib])
WINE_CONFIG_TEST(dlls/d3d9/tests)
WINE_CONFIG_DLL(d3dcompiler_33)
WINE_CONFIG_DLL(d3dcompiler_34)
WINE_CONFIG_DLL(d3dcompiler_35)
-diff -urN wine-1.9.1/dlls/d3d9/Makefile.in wine-1.9.1-d3d9/dlls/d3d9/Makefile.in
---- wine-1.9.1/dlls/d3d9/Makefile.in 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9/Makefile.in 2016-01-18 06:22:25.038627619 -0500
+--- wine-1.9.2/dlls/d3d9/Makefile.in 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/d3d9/Makefile.in 2016-02-09 10:49:31.948614100 -0500
@@ -1,6 +1,6 @@
MODULE = d3d9.dll
IMPORTLIB = d3d9
C_SRCS = \
buffer.c \
-diff -urN wine-1.9.1/dlls/d3d9/tests/d3d9ex.c wine-1.9.1-d3d9/dlls/d3d9/tests/d3d9ex.c
---- wine-1.9.1/dlls/d3d9/tests/d3d9ex.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9/tests/d3d9ex.c 2016-01-18 06:22:34.644627423 -0500
-@@ -1490,6 +1490,7 @@
- HRESULT hr;
- BOOL ret;
- struct device_desc desc;
-+ IDirect3DSwapChain9 *swapchain;
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-@@ -1514,6 +1515,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(GetDesktopWindow());
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1527,6 +1534,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(window);
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1540,6 +1553,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == S_PRESENT_OCCLUDED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- desc.width = 1024;
- desc.height = 768;
- hr = reset_device(device, &desc);
-@@ -1569,6 +1588,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- todo_wine ok(hr == S_PRESENT_MODE_CHANGED, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == S_PRESENT_MODE_CHANGED, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- hr = reset_device(device, &desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-@@ -1582,6 +1607,12 @@
- hr = IDirect3DDevice9Ex_CheckDeviceState(device, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9Ex_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = SetForegroundWindow(GetDesktopWindow());
- ok(ret, "Failed to set foreground window.\n");
- hr = IDirect3DDevice9Ex_TestCooperativeLevel(device);
-diff -urN wine-1.9.1/dlls/d3d9/tests/device.c wine-1.9.1-d3d9/dlls/d3d9/tests/device.c
---- wine-1.9.1/dlls/d3d9/tests/device.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9/tests/device.c 2016-01-18 06:22:34.645627423 -0500
-@@ -8300,10 +8300,10 @@
-
- static void test_vidmem_accounting(void)
- {
-- IDirect3DDevice9 *device;
-+ IDirect3DDevice9 *device, *device2;
- IDirect3D9 *d3d9;
- ULONG refcount;
-- HWND window;
-+ HWND window, window2;
- HRESULT hr = D3D_OK;
- IDirect3DTexture9 *textures[20];
- unsigned int i;
-@@ -8311,6 +8311,8 @@
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, 0, 0, 0, 0);
-+ window2 = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
-+ 0, 0, 640, 480, 0, 0, 0, 0);
- d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
- ok(!!d3d9, "Failed to create a D3D object.\n");
- if (!(device = create_device(d3d9, window, NULL)))
-@@ -8345,6 +8347,43 @@
- IDirect3DTexture9_Release(textures[i]);
- }
-
-+ /* Multi-device testing */
-+ if (!(device2 = create_device(d3d9, window2, NULL)))
-+ {
-+ skip("Failed to create a D3D device, skipping tests.\n");
-+ refcount = IDirect3DDevice9_Release(device);
-+ ok(!refcount, "Device has %u references left.\n", refcount);
-+ IDirect3D9_Release(d3d9);
-+ DestroyWindow(window2);
-+ DestroyWindow(window);
-+ return;
-+ }
-+
-+ vidmem_start = IDirect3DDevice9_GetAvailableTextureMem(device);
-+ memset(textures, 0, sizeof(textures));
-+ for (i = 0; (i < sizeof(textures) / sizeof(*textures)) && SUCCEEDED(hr); i++)
-+ {
-+ hr = IDirect3DDevice9_CreateTexture(device2, 1024, 1024, 1, D3DUSAGE_RENDERTARGET,
-+ D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &textures[i], NULL);
-+ /* D3DERR_OUTOFVIDEOMEMORY is returned when the card runs out of video memory
-+ * E_FAIL is returned on address space or system memory exhaustion */
-+ ok(SUCCEEDED(hr) || hr == D3DERR_OUTOFVIDEOMEMORY || hr == E_OUTOFMEMORY,
-+ "Failed to create texture, hr %#x.\n", hr);
-+ }
-+ vidmem_end = IDirect3DDevice9_GetAvailableTextureMem(device);
-+
-+ /* Windows 7 uses device private counters */
-+ ok(vidmem_start > vidmem_end || broken(vidmem_start == vidmem_end), "Expected available texture memory to decrease during texture creation.\n");
-+ diff = vidmem_start - vidmem_end;
-+ ok(diff > 1024 * 1024 * 2 * i || broken(diff == 0), "Expected a video memory difference of at least %u MB, got %u MB.\n",
-+ 2 * i, diff / 1024 / 1024);
-+
-+ for (i = 0; i < sizeof(textures) / sizeof(*textures); i++)
-+ {
-+ if (textures[i])
-+ IDirect3DTexture9_Release(textures[i]);
-+ }
-+
- refcount = IDirect3DDevice9_Release(device);
- ok(!refcount, "Device has %u references left.\n", refcount);
- IDirect3D9_Release(d3d9);
-@@ -10065,6 +10104,7 @@
- HWND window;
- HRESULT hr;
- BOOL ret;
-+ IDirect3DSwapChain9 *swapchain;
-
- window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW,
- 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-@@ -10092,6 +10132,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- ret = ShowWindow(window, SW_RESTORE);
- ok(ret, "Failed to restore window.\n");
- ret = SetForegroundWindow(window);
-@@ -10101,6 +10147,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3DERR_DEVICELOST, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- hr = reset_device(device, &device_desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- hr = IDirect3DDevice9_TestCooperativeLevel(device);
-@@ -10108,6 +10160,12 @@
- hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-
-+ hr = IDirect3DDevice9_GetSwapChain(device, 0, &swapchain);
-+ ok(SUCCEEDED(hr), "Failed to get swapchain, hr %#x.\n", hr);
-+ hr = IDirect3DSwapChain9_Present(swapchain, NULL, NULL, NULL, NULL, 0);
-+ ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-+ IDirect3DSwapChain9_Release(swapchain);
-+
- device_desc.flags = 0;
- hr = reset_device(device, &device_desc);
- ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-diff -urN wine-1.9.1/dlls/d3d9/tests/visual.c wine-1.9.1-d3d9/dlls/d3d9/tests/visual.c
---- wine-1.9.1/dlls/d3d9/tests/visual.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9/tests/visual.c 2016-01-18 06:23:32.173626249 -0500
-@@ -8674,6 +8674,167 @@
- DestroyWindow(window);
- }
-
-+static void test_blend_invalid_arg(void)
-+{
-+ IDirect3DSurface9 *backbuffer, *offscreen;
-+ IDirect3DTexture9 *offscreenTexture;
-+ IDirect3DDevice9 *device;
-+ IDirect3D9 *d3d;
-+ D3DCOLOR color;
-+ ULONG refcount;
-+ HWND window;
-+ HRESULT hr;
-+ DWORD rs;
-+
-+ static const struct
-+ {
-+ struct vec3 position;
-+ DWORD diffuse;
-+ }
-+ quad1[] =
-+ {
-+ {{-1.0f, -1.0f, 0.1f}, 0x4000ff00},
-+ {{-1.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, -1.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ },
-+ quad2[] =
-+ {
-+ {{ 0.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 0.0f, 1.0f, 0.1f}, 0x4000ff00},
-+ {{ 1.0f, 0.0f, 0.1f}, 0x4000ff00},
-+ {{ 1.0f, 1.0f, 0.1f}, 0x4000ff00},
-+ },
-+ quad3[] =
-+ {
-+ {{-1.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{-1.0f, 1.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 1.0f, 0.1f}, 0xc00000ff},
-+ },
-+ quad4[] =
-+ {
-+ {{ 0.0f, -1.0f, 0.1f}, 0xc00000ff},
-+ {{ 0.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ {{ 1.0f, -1.0f, 0.1f}, 0xc00000ff},
-+ {{ 1.0f, 0.0f, 0.1f}, 0xc00000ff},
-+ };
-+
-+ window = CreateWindowA("static", "d3d9_test", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
-+ 0, 0, 640, 480, NULL, NULL, NULL, NULL);
-+ d3d = Direct3DCreate9(D3D_SDK_VERSION);
-+ ok(!!d3d, "Failed to create a D3D object.\n");
-+ if (!(device = create_device(d3d, window, window, TRUE)))
-+ {
-+ skip("Failed to create a D3D device, skipping tests.\n");
-+ goto done;
-+ }
-+ /* Clear the render target with alpha = 0.5 */
-+ hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x80ff0000, 1.0f, 0);
-+ ok(hr == D3D_OK, "Clear failed, hr = %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_CreateTexture(device, 128, 128, 1, D3DUSAGE_RENDERTARGET,
-+ D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &offscreenTexture, NULL);
-+ ok(SUCCEEDED(hr), "Failed to create texture, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
-+ ok(hr == D3D_OK, "Can't get back buffer, hr = %08x\n", hr);
-+
-+ hr = IDirect3DTexture9_GetSurfaceLevel(offscreenTexture, 0, &offscreen);
-+ ok(hr == D3D_OK, "Can't get offscreen surface, hr = %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetFVF(device, D3DFVF_XYZ | D3DFVF_DIFFUSE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetFVF failed, hr = %#08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetTextureStageState(device, 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
-+ ok(hr == D3D_OK, "SetTextureStageState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_SetTextureStageState(device, 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
-+ ok(hr == D3D_OK, "SetTextureStageState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MINFILTER, D3DTEXF_POINT);
-+ ok(SUCCEEDED(hr), "SetSamplerState D3DSAMP_MINFILTER failed (0x%08x)\n", hr);
-+ hr = IDirect3DDevice9_SetSamplerState(device, 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
-+ ok(SUCCEEDED(hr), "SetSamplerState D3DSAMP_MAGFILTER failed (0x%08x)\n", hr);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_LIGHTING, FALSE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState returned %08x\n", hr);
-+
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_ALPHABLENDENABLE, TRUE);
-+ ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState failed, hr = %08x\n", hr);
-+ hr = IDirect3DDevice9_BeginScene(device);
-+ ok(SUCCEEDED(hr), "Failed to begin scene, hr %#x.\n", hr);
-+
-+ /* draw quad to test default renderstate
-+ * expect D3DRS_SRCBLEND == D3DBLEND_ONE
-+ * expect D3DRS_DESTBLEND == D3DBLEND_ZERO */
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad1, sizeof(quad1[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ /* set invalid value and expect D3DBLEND_ZERO instead */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_SRCBLEND, 0);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_SRCBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == 0, "Unexpected renderstate %#x.\n", rs);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad2, sizeof(quad2[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+ /* set non default valid values */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_SRCBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == D3DBLEND_SRCALPHA, "Unexpected renderstate %#x.\n", rs);
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_DESTBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == D3DBLEND_INVSRCALPHA, "Failed to get render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad3, sizeof(quad3[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ /* set invalid value and expect D3DBLEND_ZERO instead */
-+ hr = IDirect3DDevice9_SetRenderState(device, D3DRS_DESTBLEND, 200);
-+ ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
-+ hr = IDirect3DDevice9_GetRenderState(device, D3DRS_DESTBLEND, &rs);
-+ ok(SUCCEEDED(hr), "Failed to get render state, hr %#x.\n", hr);
-+ ok(rs == 200, "Failed to get render state, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_DrawPrimitiveUP(device, D3DPT_TRIANGLESTRIP, 2, quad4, sizeof(quad4[0]));
-+ ok(SUCCEEDED(hr), "Failed to draw, hr %#x.\n", hr);
-+
-+ hr = IDirect3DDevice9_EndScene(device);
-+ ok(SUCCEEDED(hr), "Failed to end scene, hr %#x.\n", hr);
-+
-+ color = getPixelColor(device, 160, 360);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x00, 0xff, 0x00), 1),
-+ "D3DRS_SRCBLEND ONE returned color %08x, expected 0x0000FF00\n", color);
-+
-+ color = getPixelColor(device, 480, 120);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0xbf, 0x00, 0x00), 1),
-+ "invalid D3DRS_SRCBLEND returned color %08x, expected 0x00bf0000\n", color);
-+
-+ color = getPixelColor(device, 160, 120);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x3f, 0x00, 0xC0), 1),
-+ "D3DRS_SRCBLEND SRCALPHA returned color %08x, expected 0x003f00C0\n", color);
-+
-+ color = getPixelColor(device, 480, 360);
-+ ok(color_match(color, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0xC0), 1),
-+ "invalid D3DRS_DESTBLEND returned color %08x, expected 0x000000C0\n", color);
-+
-+ IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
-+
-+ IDirect3DSurface9_Release(backbuffer);
-+ IDirect3DTexture9_Release(offscreenTexture);
-+ IDirect3DSurface9_Release(offscreen);
-+ refcount = IDirect3DDevice9_Release(device);
-+ ok(!refcount, "Device has %u references left.\n", refcount);
-+done:
-+ IDirect3D9_Release(d3d);
-+ DestroyWindow(window);
-+}
-+
- static void fixed_function_decl_test(void)
- {
- IDirect3DVertexDeclaration9 *dcl_float = NULL, *dcl_short = NULL, *dcl_ubyte = NULL, *dcl_color = NULL;
-@@ -12873,6 +13034,9 @@
- }
- testdata[] =
- {
-+ /* test invalid values, D3DCMP_NEVER for values less than D3DCMP_NEVER,
-+ * D3DCMP_ALWAYS for values greater than D3DCMP_ALWAYS */
-+ {D3DCMP_NEVER-1, ALPHATEST_FAILED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_NEVER, ALPHATEST_FAILED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_LESS, ALPHATEST_PASSED, ALPHATEST_FAILED, ALPHATEST_FAILED},
- {D3DCMP_EQUAL, ALPHATEST_FAILED, ALPHATEST_PASSED, ALPHATEST_FAILED},
-@@ -12881,6 +13045,10 @@
- {D3DCMP_NOTEQUAL, ALPHATEST_PASSED, ALPHATEST_FAILED, ALPHATEST_PASSED},
- {D3DCMP_GREATEREQUAL, ALPHATEST_FAILED, ALPHATEST_PASSED, ALPHATEST_PASSED},
- {D3DCMP_ALWAYS, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+1, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+2, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {D3DCMP_ALWAYS+3, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
-+ {0xdeadbeef, ALPHATEST_PASSED, ALPHATEST_PASSED, ALPHATEST_PASSED},
- };
- static const struct
- {
-@@ -18226,6 +18394,27 @@
- D3DFOG_LINEAR, D3DFOG_NONE, 0x0000ff00, 0x0000ff00, 0x0000ff00},
- {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
- D3DFOG_EXP, D3DFOG_NONE, 0x009b6400, 0x009b6400, 0x009b6400},
-+ /* test invalid values, expect a modulo 4 on samplerstate */
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+1, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+2, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+3, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+4, D3DFOG_NONE, 0x007f7f00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+5, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+6, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+7, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+8, D3DFOG_NONE, 0x007f7f00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+9, D3DFOG_NONE, 0x0000ff00, 0x009b6400, 0x009b6400},
-+ {D3DFVF_XYZ, quad, sizeof(*quad), &zero, { 0.0f}, {1.0f},
-+ D3DFOG_LINEAR+10, D3DFOG_NONE, 0x00c73800, 0x009b6400, 0x009b6400},
- };
- D3DCAPS9 caps;
-
-@@ -21541,6 +21730,7 @@
- test_depthbias();
- test_flip();
- test_uninitialized_varyings();
-+ test_blend_invalid_arg();
- test_multisample_init();
- test_texture_blending();
- }
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3d9_main.c wine-1.9.1-d3d9/dlls/d3d9-nine/d3d9_main.c
---- wine-1.9.1/dlls/d3d9-nine/d3d9_main.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/d3d9_main.c 2016-01-18 06:22:25.046627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3d9_main.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3d9_main.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,157 @@
+/*
+ * Direct3D 9
+{
+ FIXME("color 0x%08x, name %s stub!\n", color, debugstr_w(name));
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3d9-nine.spec wine-1.9.1-d3d9/dlls/d3d9-nine/d3d9-nine.spec
---- wine-1.9.1/dlls/d3d9-nine/d3d9-nine.spec 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/d3d9-nine.spec 2016-01-18 06:22:25.046627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3d9-nine.spec 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3d9-nine.spec 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,14 @@
+@ stdcall Direct3DShaderValidatorCreate9()
+@ stub PSGPError
+@ stdcall DebugSetMute()
+@ stdcall Direct3DCreate9(long)
+@ stdcall Direct3DCreate9Ex(long ptr)
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3dadapter9.c wine-1.9.1-d3d9/dlls/d3d9-nine/d3dadapter9.c
---- wine-1.9.1/dlls/d3d9-nine/d3dadapter9.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/d3dadapter9.c 2016-01-18 06:22:25.046627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3dadapter9.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3dadapter9.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,865 @@
+/*
+ * Wine IDirect3D9 interface using ID3DAdapter9
+ "\nFor more information visit https://wiki.ixit.cz/d3d9\033[0m\n");
+ return D3D_OK;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/d3dadapter9.h wine-1.9.1-d3d9/dlls/d3d9-nine/d3dadapter9.h
---- wine-1.9.1/dlls/d3d9-nine/d3dadapter9.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/d3dadapter9.h 2016-01-18 06:22:25.047627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/d3dadapter9.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/d3dadapter9.h 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,30 @@
+/*
+ * D3DAdapter9 interface
+HRESULT d3dadapter9_new(Display *gdi_display, boolean ex, IDirect3D9Ex **ppOut);
+
+#endif /* __WINE_D3D9ADAPTER_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/dri3.c wine-1.9.1-d3d9/dlls/d3d9-nine/dri3.c
---- wine-1.9.1/dlls/d3d9-nine/dri3.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/dri3.c 2016-01-18 06:22:25.047627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/dri3.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/dri3.c 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,1345 @@
+/*
+ * Wine DRI3 interface
+ pthread_mutex_unlock(&present_priv->mutex_present);
+ return TRUE;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/dri3.h wine-1.9.1-d3d9/dlls/d3d9-nine/dri3.h
---- wine-1.9.1/dlls/d3d9-nine/dri3.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/dri3.h 2016-01-18 06:22:25.048627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/dri3.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/dri3.h 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,101 @@
+/*
+ * Wine X11DRV DRI3 interface
+PRESENTWaitPixmapReleased(PRESENTPixmapPriv *present_pixmap_priv);
+
+#endif /* __WINE_DRI3_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/libd3d9-nine.def wine-1.9.1-d3d9/dlls/d3d9-nine/libd3d9-nine.def
---- wine-1.9.1/dlls/d3d9-nine/libd3d9-nine.def 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/libd3d9-nine.def 2016-01-18 06:22:25.048627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/libd3d9-nine.def 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/libd3d9-nine.def 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,16 @@
+; File generated automatically from ./dlls/d3d9-nine/d3d9-nine.spec; do not edit!
+
+ DebugSetMute@0 @12
+ Direct3DCreate9@4 @13
+ Direct3DCreate9Ex@8 @14
-diff -urN wine-1.9.1/dlls/d3d9-nine/Makefile.in wine-1.9.1-d3d9/dlls/d3d9-nine/Makefile.in
---- wine-1.9.1/dlls/d3d9-nine/Makefile.in 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/Makefile.in 2016-01-18 06:22:25.048627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/Makefile.in 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/Makefile.in 2016-02-09 10:49:31.947614100 -0500
@@ -0,0 +1,12 @@
+MODULE = d3d9-nine.dll
+IMPORTS = dxguid uuid advapi32 gdi32 user32
+ dri3.c
+
+RC_SRCS = version.rc
-diff -urN wine-1.9.1/dlls/d3d9-nine/present.c wine-1.9.1-d3d9/dlls/d3d9-nine/present.c
---- wine-1.9.1/dlls/d3d9-nine/present.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/present.c 2016-01-18 06:22:25.049627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/present.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/present.c 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,1332 @@
+/*
+ * Wine ID3DAdapter9 support functions
+
+ return FALSE;
+}
-diff -urN wine-1.9.1/dlls/d3d9-nine/present.h wine-1.9.1-d3d9/dlls/d3d9-nine/present.h
---- wine-1.9.1/dlls/d3d9-nine/present.h 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/present.h 2016-01-18 06:22:25.049627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/present.h 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/present.h 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,36 @@
+/*
+ * Wine present interface
+BOOL has_d3dadapter(Display *gdi_display);
+
+#endif /* __WINE_DRI3_H */
-diff -urN wine-1.9.1/dlls/d3d9-nine/version.rc wine-1.9.1-d3d9/dlls/d3d9-nine/version.rc
---- wine-1.9.1/dlls/d3d9-nine/version.rc 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/d3d9-nine/version.rc 2016-01-18 06:22:25.049627618 -0500
+--- wine-1.9.2/dlls/d3d9-nine/version.rc 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/dlls/d3d9-nine/version.rc 2016-02-09 10:49:31.948614100 -0500
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2015 Patrick Rudolph
+#define WINE_PRODUCTVERSION_STR "5.3.1.904"
+
+#include "wine/wine_common_ver.rc"
-diff -urN wine-1.9.1/dlls/ntdll/loader.c wine-1.9.1-d3d9/dlls/ntdll/loader.c
---- wine-1.9.1/dlls/ntdll/loader.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/ntdll/loader.c 2016-01-18 06:22:25.049627618 -0500
+--- wine-1.9.2/dlls/ntdll/loader.c 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/ntdll/loader.c 2016-02-09 10:49:32.246614121 -0500
@@ -92,6 +92,7 @@
{
const WCHAR *load_path;
{
MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
exit(1);
-diff -urN wine-1.9.1/dlls/ntdll/loadorder.c wine-1.9.1-d3d9/dlls/ntdll/loadorder.c
---- wine-1.9.1/dlls/ntdll/loadorder.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/ntdll/loadorder.c 2016-01-18 06:22:25.050627618 -0500
+--- wine-1.9.2/dlls/ntdll/loadorder.c 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/ntdll/loadorder.c 2016-02-09 10:49:32.246614121 -0500
@@ -290,102 +290,165 @@
/* first explicit module name */
if ((ret = get_load_order_value( std_key, app_key, module+1 )) != LO_INVALID)
-@@ -487,5 +594,48 @@
+@@ -487,5 +594,50 @@
done:
RtlFreeHeap( GetProcessHeap(), 0, module );
+ goto done;
+
+ /* then module basename without '*' (only if explicit path) */
++ /*
+ if (basename != module+1 && (ret = get_redirect_value( std_key, app_key, basename, buffer, size )))
+ goto done;
++ */
+
+ /* and last the hard-coded default */
+ ret = NULL;
+ RtlFreeHeap( GetProcessHeap(), 0, module );
return ret;
}
-diff -urN wine-1.9.1/dlls/ntdll/ntdll_misc.h wine-1.9.1-d3d9/dlls/ntdll/ntdll_misc.h
---- wine-1.9.1/dlls/ntdll/ntdll_misc.h 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/ntdll/ntdll_misc.h 2016-01-18 06:22:25.050627618 -0500
-@@ -205,6 +205,7 @@
+--- wine-1.9.2/dlls/ntdll/ntdll_misc.h 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/ntdll/ntdll_misc.h 2016-02-09 10:49:32.247614121 -0500
+@@ -202,6 +202,7 @@
};
extern enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path ) DECLSPEC_HIDDEN;
struct debug_info
{
-diff -urN wine-1.9.1/dlls/winex11.drv/init.c wine-1.9.1-d3d9/dlls/winex11.drv/init.c
---- wine-1.9.1/dlls/winex11.drv/init.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/winex11.drv/init.c 2016-01-18 06:22:25.050627618 -0500
+--- wine-1.9.2/dlls/winex11.drv/init.c 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/winex11.drv/init.c 2016-02-09 10:49:32.494614138 -0500
@@ -365,6 +365,7 @@
{
struct x11drv_escape_get_drawable *data = out_data;
return TRUE;
}
break;
-diff -urN wine-1.9.1/dlls/winex11.drv/x11drv.h wine-1.9.1-d3d9/dlls/winex11.drv/x11drv.h
---- wine-1.9.1/dlls/winex11.drv/x11drv.h 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/dlls/winex11.drv/x11drv.h 2016-01-18 06:22:25.051627618 -0500
+--- wine-1.9.2/dlls/winex11.drv/x11drv.h 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/dlls/winex11.drv/x11drv.h 2016-02-09 10:49:32.498614138 -0500
@@ -292,6 +292,7 @@
Drawable drawable; /* X drawable */
Drawable gl_drawable; /* GL drawable */
};
struct x11drv_escape_flush_gl_drawable
-diff -urN wine-1.9.1/include/config.h.in wine-1.9.1-d3d9/include/config.h.in
---- wine-1.9.1/include/config.h.in 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/include/config.h.in 2016-01-18 06:22:34.848627418 -0500
+--- wine-1.9.2/include/config.h.in 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/include/config.h.in 2016-02-09 10:49:32.552614142 -0500
@@ -4,6 +4,12 @@
#define __WINE_CONFIG_H
#ifndef WINE_CROSSTEST
/* Define to a function attribute for Microsoft hotpatch assembly prefix. */
#undef DECLSPEC_HOTPATCH
-@@ -1332,6 +1338,9 @@
+@@ -1335,6 +1341,9 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to the soname of the libcapi20 library. */
#undef SONAME_LIBCAPI20
-@@ -1344,6 +1353,9 @@
+@@ -1347,6 +1356,9 @@
/* Define to the soname of the libdbus-1 library. */
#undef SONAME_LIBDBUS_1
/* Define to the soname of the libfontconfig library. */
#undef SONAME_LIBFONTCONFIG
-diff -urN wine-1.9.1/programs/winecfg/main.c wine-1.9.1-d3d9/programs/winecfg/main.c
---- wine-1.9.1/programs/winecfg/main.c 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/main.c 2016-01-18 06:22:25.051627618 -0500
+--- wine-1.9.2/programs/winecfg/main.c 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/programs/winecfg/main.c 2016-02-09 10:49:32.763614157 -0500
@@ -58,7 +58,7 @@
return 0;
}
/*
* Fill out the (General) PROPSHEETPAGE data structure
* for the property sheet
-diff -urN wine-1.9.1/programs/winecfg/Makefile.in wine-1.9.1-d3d9/programs/winecfg/Makefile.in
---- wine-1.9.1/programs/winecfg/Makefile.in 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/Makefile.in 2016-01-18 06:22:25.051627618 -0500
+--- wine-1.9.2/programs/winecfg/Makefile.in 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/programs/winecfg/Makefile.in 2016-02-09 10:49:32.760614157 -0500
@@ -11,6 +11,7 @@
driveui.c \
libraries.c \
theme.c \
winecfg.c \
x11drvdlg.c
-diff -urN wine-1.9.1/programs/winecfg/resource.h wine-1.9.1-d3d9/programs/winecfg/resource.h
---- wine-1.9.1/programs/winecfg/resource.h 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/resource.h 2016-01-18 06:22:25.052627618 -0500
+--- wine-1.9.2/programs/winecfg/resource.h 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/programs/winecfg/resource.h 2016-02-09 10:49:32.763614157 -0500
@@ -45,6 +45,7 @@
#define IDS_SHELL_FOLDER 16
#define IDS_LINKS_TO 17
+
+/* Staging tab */
+#define IDC_ENABLE_NATIVE_D3D9 9001
-diff -urN wine-1.9.1/programs/winecfg/staging.c wine-1.9.1-d3d9/programs/winecfg/staging.c
---- wine-1.9.1/programs/winecfg/staging.c 1969-12-31 19:00:00.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/staging.c 2016-01-18 06:22:25.052627618 -0500
+--- wine-1.9.2/programs/winecfg/staging.c 1969-12-31 19:00:00.000000000 -0500
++++ wine-nine/programs/winecfg/staging.c 2016-02-09 10:49:32.763614157 -0500
@@ -0,0 +1,93 @@
+/*
+ * WineCfg Staging panel
+ }
+ return FALSE;
+}
-diff -urN wine-1.9.1/programs/winecfg/winecfg.h wine-1.9.1-d3d9/programs/winecfg/winecfg.h
---- wine-1.9.1/programs/winecfg/winecfg.h 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/winecfg.h 2016-01-18 06:22:25.052627618 -0500
+--- wine-1.9.2/programs/winecfg/winecfg.h 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/programs/winecfg/winecfg.h 2016-02-09 10:49:32.764614157 -0500
@@ -87,6 +87,7 @@
INT_PTR CALLBACK LibrariesDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK AudioDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
INT_PTR CALLBACK AboutDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
/* Drive management */
-diff -urN wine-1.9.1/programs/winecfg/winecfg.rc wine-1.9.1-d3d9/programs/winecfg/winecfg.rc
---- wine-1.9.1/programs/winecfg/winecfg.rc 2016-01-09 04:30:39.000000000 -0500
-+++ wine-1.9.1-d3d9/programs/winecfg/winecfg.rc 2016-01-18 06:22:34.957627416 -0500
+--- wine-1.9.2/programs/winecfg/winecfg.rc 2016-01-22 09:28:32.000000000 -0500
++++ wine-nine/programs/winecfg/winecfg.rc 2016-02-09 10:49:32.764614157 -0500
@@ -39,6 +39,7 @@
IDS_TAB_GRAPHICS "Graphics"
IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"