diff --git a/patches/dinput-joy-mappings/0001-dinput-Load-users-Joystick-mappings.patch b/patches/dinput-joy-mappings/0001-dinput-Load-users-Joystick-mappings.patch index dfe75e96..d1b65405 100644 --- a/patches/dinput-joy-mappings/0001-dinput-Load-users-Joystick-mappings.patch +++ b/patches/dinput-joy-mappings/0001-dinput-Load-users-Joystick-mappings.patch @@ -1,7 +1,7 @@ -From d5ea6db794ad1c943b4f8b03a3a5e0424a210ed3 Mon Sep 17 00:00:00 2001 +From 3d90cc93c56571a6c1d7d25054094106595e7c03 Mon Sep 17 00:00:00 2001 From: Jetro Jormalainen Date: Tue, 30 Apr 2019 09:20:20 +1000 -Subject: [PATCH 1/3] dinput: Load users Joystick mappings. +Subject: [PATCH] dinput: Load users Joystick mappings. --- dlls/dinput/device.c | 2 +- @@ -10,7 +10,7 @@ Subject: [PATCH 1/3] dinput: Load users Joystick mappings. 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c -index 6c44616..2150db7 100644 +index ade7947..648a4cc 100644 --- a/dlls/dinput/device.c +++ b/dlls/dinput/device.c @@ -714,7 +714,7 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM @@ -36,7 +36,7 @@ index d9e2997..af8d99d 100644 extern HRESULT _set_action_map(LPDIRECTINPUTDEVICE8W iface, LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags, LPCDIDATAFORMAT df) DECLSPEC_HIDDEN; diff --git a/dlls/dinput/joystick.c b/dlls/dinput/joystick.c -index 4809831..b146712 100644 +index 20d9ee4..62b57bc 100644 --- a/dlls/dinput/joystick.c +++ b/dlls/dinput/joystick.c @@ -28,6 +28,7 @@ @@ -47,7 +47,7 @@ index 4809831..b146712 100644 #include "joystick_private.h" #include "wine/debug.h" #include "winreg.h" -@@ -782,9 +783,26 @@ HRESULT WINAPI JoystickWGenericImpl_BuildActionMap(LPDIRECTINPUTDEVICE8W iface, +@@ -792,9 +793,26 @@ HRESULT WINAPI JoystickWGenericImpl_BuildActionMap(LPDIRECTINPUTDEVICE8W iface, JoystickGenericImpl *This = impl_from_IDirectInputDevice8W(iface); unsigned int i, j; BOOL has_actions = FALSE; @@ -55,7 +55,7 @@ index 4809831..b146712 100644 + DWORD username_size = MAX_PATH; + BOOL load_success = FALSE; - FIXME("(%p)->(%p,%s,%08x): semi-stub !\n", iface, lpdiaf, debugstr_w(lpszUserName), dwFlags); + FIXME("(%p)->(%p,%s,%08x): semi-stub !\n", This, lpdiaf, debugstr_w(lpszUserName), dwFlags); + /* Unless asked the contrary by these flags, try to load a previous mapping */ + if (!(dwFlags & DIDBAM_HWDEFAULTS)) diff --git a/patches/dinput-joy-mappings/0003-dinput-Support-username-in-Config-dialog.patch b/patches/dinput-joy-mappings/0003-dinput-Support-username-in-Config-dialog.patch index c78fb5b8..53df41f8 100644 --- a/patches/dinput-joy-mappings/0003-dinput-Support-username-in-Config-dialog.patch +++ b/patches/dinput-joy-mappings/0003-dinput-Support-username-in-Config-dialog.patch @@ -1,7 +1,7 @@ -From 9b284de24a4bb4972f7f165cdc41281d35dab492 Mon Sep 17 00:00:00 2001 +From af785463a8e9fc8ff47ead4143151e9831cbbddf Mon Sep 17 00:00:00 2001 From: Jetro Jormalainen Date: Tue, 30 Apr 2019 09:21:24 +1000 -Subject: [PATCH 3/3] dinput: Support username in Config dialog. +Subject: [PATCH] dinput: Support username in Config dialog. --- dlls/dinput/config.c | 183 ++++++++++++++++++++++++++++++------------- @@ -11,7 +11,7 @@ Subject: [PATCH 3/3] dinput: Support username in Config dialog. 4 files changed, 156 insertions(+), 57 deletions(-) diff --git a/dlls/dinput/config.c b/dlls/dinput/config.c -index db5878b..f42a44a 100644 +index bf44898..cd2c4b9 100644 --- a/dlls/dinput/config.c +++ b/dlls/dinput/config.c @@ -29,6 +29,9 @@ typedef struct { @@ -278,8 +278,8 @@ index db5878b..f42a44a 100644 + SendDlgItemMessageW(dialog, IDC_PLAYERCOMBO, CB_SETCURSEL, 0, 0); fill_device_object_list(dialog); - break; -@@ -408,6 +446,7 @@ static INT_PTR CALLBACK ConfigureDevicesDlgProc(HWND dialog, UINT uMsg, WPARAM w + ShowCursor(TRUE); +@@ -414,6 +452,7 @@ static INT_PTR CALLBACK ConfigureDevicesDlgProc(HWND dialog, UINT uMsg, WPARAM w break; case IDC_CONTROLLERCOMBO: @@ -287,7 +287,7 @@ index db5878b..f42a44a 100644 switch (HIWORD(wParam)) { -@@ -418,12 +457,12 @@ static INT_PTR CALLBACK ConfigureDevicesDlgProc(HWND dialog, UINT uMsg, WPARAM w +@@ -424,12 +463,12 @@ static INT_PTR CALLBACK ConfigureDevicesDlgProc(HWND dialog, UINT uMsg, WPARAM w break; case IDOK: @@ -301,7 +301,7 @@ index db5878b..f42a44a 100644 EndDialog(dialog, 0); destroy_data(dialog); break; -@@ -446,15 +485,47 @@ HRESULT _configure_devices(IDirectInput8W *iface, +@@ -452,15 +491,47 @@ HRESULT _configure_devices(IDirectInput8W *iface, LPVOID pvRefData ) { @@ -351,7 +351,7 @@ index db5878b..f42a44a 100644 return DI_OK; } diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c -index a7cfe36..63eb868 100644 +index b441743..0c94326 100644 --- a/dlls/dinput/device.c +++ b/dlls/dinput/device.c @@ -692,7 +692,7 @@ static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WC @@ -376,10 +376,10 @@ index af8d99d..36b71f7 100644 extern HRESULT _build_action_map(LPDIRECTINPUTDEVICE8W iface, LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags, DWORD devMask, LPCDIDATAFORMAT df) DECLSPEC_HIDDEN; diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c -index 1b2020c..9e837bd 100644 +index 198c6a8..ee319f0 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c -@@ -1264,9 +1264,34 @@ static HRESULT WINAPI IDirectInput8AImpl_ConfigureDevices( +@@ -1251,9 +1251,34 @@ static HRESULT WINAPI IDirectInput8AImpl_ConfigureDevices( /* Copy parameters */ diCDParamsW.dwSize = sizeof(DICONFIGUREDEVICESPARAMSW); @@ -414,7 +414,7 @@ index 1b2020c..9e837bd 100644 diafW.rgoAction = HeapAlloc(GetProcessHeap(), 0, sizeof(DIACTIONW)*lpdiCDParams->lprgFormats->dwNumActions); _copy_diactionformatAtoW(&diafW, lpdiCDParams->lprgFormats); -@@ -1294,6 +1319,8 @@ static HRESULT WINAPI IDirectInput8AImpl_ConfigureDevices( +@@ -1281,6 +1306,8 @@ static HRESULT WINAPI IDirectInput8AImpl_ConfigureDevices( HeapFree(GetProcessHeap(), 0, diafW.rgoAction); diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 562a7d6a..4af858c3 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "08a899d433e5b638b5cc18d5c81330dea38d7c04" + echo "9bcaf9769c5ae834f0f6e8fe2b28a85b286833b0" } # Show version information diff --git a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch index 04a94bdc..2616b032 100644 --- a/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch +++ b/patches/wined3d-WINED3D_RS_COLORWRITEENABLE/0001-wined3d-Implement-all-8-d3d11-color-write-masks.patch @@ -1,4 +1,4 @@ -From bc38b0c46dc7827dcc30afc93d1ad2458a95ebc1 Mon Sep 17 00:00:00 2001 +From f123897b94017ed6e036ddf0e57d2173e6a19690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 20 Jul 2017 13:50:07 +0200 Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks. @@ -17,10 +17,10 @@ Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks. 10 files changed, 74 insertions(+), 71 deletions(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c -index 8f12098..c225563 100644 +index ffa9330..c3fe4d4 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c -@@ -2081,6 +2081,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2089,6 +2089,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi static const float default_blend_factor[] = {1.0f, 1.0f, 1.0f, 1.0f}; struct d3d_blend_state *blend_state_impl; const D3D11_BLEND_DESC *desc; @@ -28,7 +28,7 @@ index 8f12098..c225563 100644 TRACE("iface %p, blend_state %p, blend_factor %s, sample_mask 0x%08x.\n", iface, blend_state, debug_float4(blend_factor), sample_mask); -@@ -2095,14 +2096,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2103,14 +2104,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi wined3d_device_set_blend_state(device->wined3d_device, NULL, (const struct wined3d_color *)blend_factor); wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_ALPHABLENDENABLE, FALSE); @@ -48,7 +48,7 @@ index 8f12098..c225563 100644 wined3d_mutex_unlock(); return; } -@@ -2124,14 +2122,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi +@@ -2132,14 +2130,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_DESTBLENDALPHA, d->DestBlendAlpha); wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_BLENDOPALPHA, d->BlendOpAlpha); } @@ -86,19 +86,19 @@ index 6de3502..2051749 100644 /* glEnableIndexedEXT(GL_BLEND, ...) */ diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index 2653925..fd43a81 100644 +index 07649a9..a0d2128 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -2769,7 +2769,7 @@ void context_apply_blit_state(struct wined3d_context *context, const struct wine - const struct wined3d_gl_info *gl_info = context->gl_info; - struct wined3d_texture *rt = context->current_rt.texture; +@@ -2755,7 +2755,7 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, + const struct wined3d_gl_info *gl_info; + struct wined3d_texture *rt; DWORD rt_mask, *cur_mask; - unsigned int sampler; + unsigned int i, sampler; SIZE rt_size; TRACE("Setting up context %p for blitting.\n", context); -@@ -2876,10 +2876,8 @@ void context_apply_blit_state(struct wined3d_context *context, const struct wine +@@ -2865,10 +2865,8 @@ void wined3d_context_gl_apply_blit_state(struct wined3d_context_gl *context_gl, context_invalidate_state(context, STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE)); } gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); @@ -111,7 +111,7 @@ index 2653925..fd43a81 100644 context->last_was_rhw = TRUE; context_invalidate_state(context, STATE_VDECL); /* because of last_was_rhw = TRUE */ -@@ -4876,7 +4874,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s +@@ -4862,7 +4860,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s if (!(rtv = fb->render_targets[i]) || rtv->format->id == WINED3DFMT_NULL) continue; @@ -121,10 +121,10 @@ index 2653925..fd43a81 100644 wined3d_rendertarget_view_load_location(rtv, context, rtv->resource->draw_binding); wined3d_rendertarget_view_invalidate_location(rtv, ~rtv->resource->draw_binding); diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 3b6db26..d679f38 100644 +index 232f740..c00621a2 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -392,10 +392,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c +@@ -412,10 +412,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c } gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); @@ -138,7 +138,7 @@ index 3b6db26..d679f38 100644 checkGLcall("glClearColor"); clear_mask = clear_mask | GL_COLOR_BUFFER_BIT; diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index d25ee97..7b219d4 100644 +index af8797c..99f2f43 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -1564,9 +1564,6 @@ static void state_debug_monitor(struct wined3d_context *context, const struct wi @@ -201,7 +201,7 @@ index d25ee97..7b219d4 100644 } static void state_localviewer(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id) -@@ -4671,18 +4658,26 @@ const struct StateEntryTemplate misc_state_template[] = +@@ -4678,18 +4665,26 @@ const struct wined3d_state_entry_template misc_state_template[] = { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), state_msaa_w }, WINED3D_GL_EXT_NONE }, { STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), { STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), state_multisampmask }, WINED3D_GL_EXT_NONE }, { STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), { STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), state_debug_monitor }, WINED3D_GL_EXT_NONE }, @@ -236,7 +236,7 @@ index d25ee97..7b219d4 100644 { STATE_RENDER(WINED3D_RS_ZVISIBLE), { STATE_RENDER(WINED3D_RS_ZVISIBLE), state_zvisible }, WINED3D_GL_EXT_NONE }, /* Samplers */ diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c -index 8117652..59efd12 100644 +index 05149ad..e16b0e2 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -44,6 +44,10 @@ static const DWORD pixel_states_render[] = @@ -250,7 +250,7 @@ index 8117652..59efd12 100644 WINED3D_RS_DEPTHBIAS, WINED3D_RS_DESTBLEND, WINED3D_RS_DESTBLENDALPHA, -@@ -1162,6 +1166,7 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock) +@@ -1276,6 +1280,7 @@ void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock) static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], const struct wined3d_d3d_info *d3d_info) { @@ -258,7 +258,7 @@ index 8117652..59efd12 100644 union { struct wined3d_line_pattern lp; -@@ -1255,7 +1260,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1369,7 +1374,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c tmpfloat.f = d3d_info->limits.pointsize_max; rs[WINED3D_RS_POINTSIZE_MAX] = tmpfloat.d; rs[WINED3D_RS_INDEXEDVERTEXBLENDENABLE] = FALSE; @@ -266,7 +266,7 @@ index 8117652..59efd12 100644 tmpfloat.f = 0.0f; rs[WINED3D_RS_TWEENFACTOR] = tmpfloat.d; rs[WINED3D_RS_BLENDOP] = WINED3D_BLEND_OP_ADD; -@@ -1281,9 +1285,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1395,9 +1399,6 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c rs[WINED3D_RS_BACK_STENCILZFAIL] = WINED3D_STENCIL_OP_KEEP; rs[WINED3D_RS_BACK_STENCILPASS] = WINED3D_STENCIL_OP_KEEP; rs[WINED3D_RS_BACK_STENCILFUNC] = WINED3D_CMP_ALWAYS; @@ -276,7 +276,7 @@ index 8117652..59efd12 100644 rs[WINED3D_RS_SRGBWRITEENABLE] = 0; rs[WINED3D_RS_DEPTHBIAS] = 0; rs[WINED3D_RS_WRAP8] = 0; -@@ -1298,6 +1299,8 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c +@@ -1412,6 +1413,8 @@ static void init_default_render_states(DWORD rs[WINEHIGHEST_RENDER_STATE + 1], c rs[WINED3D_RS_SRCBLENDALPHA] = WINED3D_BLEND_ONE; rs[WINED3D_RS_DESTBLENDALPHA] = WINED3D_BLEND_ZERO; rs[WINED3D_RS_BLENDOPALPHA] = WINED3D_BLEND_OP_ADD; @@ -286,7 +286,7 @@ index 8117652..59efd12 100644 static void init_default_texture_state(unsigned int i, DWORD stage[WINED3D_HIGHEST_TEXTURE_STATE + 1]) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index 19b6d0b..1483855 100644 +index c8c1d0d..e8bb1eb 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -160,6 +160,7 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3 @@ -311,10 +311,10 @@ index 19b6d0b..1483855 100644 gl_info->gl_ops.gl.p_glDisable(GL_SCISSOR_TEST); context_invalidate_state(context, STATE_RENDER(WINED3D_RS_SCISSORTESTENABLE)); diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c -index dd70d3f..bea118a 100644 +index 8c292f6..567ef18 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c -@@ -4752,7 +4752,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) +@@ -4915,7 +4915,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) D3DSTATE_TO_STR(WINED3D_RS_DEBUGMONITORTOKEN); D3DSTATE_TO_STR(WINED3D_RS_POINTSIZE_MAX); D3DSTATE_TO_STR(WINED3D_RS_INDEXEDVERTEXBLENDENABLE); @@ -322,7 +322,7 @@ index dd70d3f..bea118a 100644 D3DSTATE_TO_STR(WINED3D_RS_TWEENFACTOR); D3DSTATE_TO_STR(WINED3D_RS_BLENDOP); D3DSTATE_TO_STR(WINED3D_RS_POSITIONDEGREE); -@@ -4772,9 +4771,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) +@@ -4935,9 +4934,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state) D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILZFAIL); D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILPASS); D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILFUNC); @@ -338,10 +338,10 @@ index dd70d3f..bea118a 100644 D3DSTATE_TO_STR(WINED3D_RS_DEPTHBIAS); D3DSTATE_TO_STR(WINED3D_RS_WRAP8); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 7f0ee7f..a69b6ca 100644 +index ff36a74..0dd2c5d 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -273,6 +273,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup +@@ -282,6 +282,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup #define MAX_UNORDERED_ACCESS_VIEWS 8 #define MAX_TGSM_REGISTERS 8192 #define MAX_VERTEX_BLENDS 4 @@ -350,7 +350,7 @@ index 7f0ee7f..a69b6ca 100644 struct min_lookup { diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 167a749..5ff9d35 100644 +index ad73c66..ec40ebc 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -404,8 +404,20 @@ enum wined3d_render_state