From a49aa40ac81d0c33dd8e8b8d96e8943aa69d5e5f Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 7 Jun 2019 08:38:50 +1000 Subject: [PATCH] Rebase against 48a74277f5f9e0c87d8c01457236a89d94cb71d3 --- ...gdi32-Add-D3DKMTQueryStatistics-stub.patch | 37 ++++++------ ...nt-CIF-reader-and-download-functions.patch | 58 ++++++++++--------- patches/patchinstall.sh | 2 +- ...ned3d-Implement-dual-source-blending.patch | 50 ++++++++-------- ...ice-Load-some-common-drivers-and-fix.patch | 24 ++++---- 5 files changed, 87 insertions(+), 84 deletions(-) diff --git a/patches/gdi32-D3DKMTQueryStatistics/0002-gdi32-Add-D3DKMTQueryStatistics-stub.patch b/patches/gdi32-D3DKMTQueryStatistics/0002-gdi32-Add-D3DKMTQueryStatistics-stub.patch index fe48bed3..aa0a0430 100644 --- a/patches/gdi32-D3DKMTQueryStatistics/0002-gdi32-Add-D3DKMTQueryStatistics-stub.patch +++ b/patches/gdi32-D3DKMTQueryStatistics/0002-gdi32-Add-D3DKMTQueryStatistics-stub.patch @@ -1,22 +1,22 @@ -From e4c38a569fe653a038d46bbf67a8d151851ea2b9 Mon Sep 17 00:00:00 2001 +From a119d47ffc9e59747c435488002ee3eaecbc515f Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 23 Apr 2019 13:32:56 +1000 -Subject: [PATCH 2/2] gdi32: Add D3DKMTQueryStatistics stub +Subject: [PATCH] gdi32: Add D3DKMTQueryStatistics stub Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47074 --- - dlls/gdi32/driver.c | 9 +++++++++ - dlls/gdi32/gdi32.spec | 1 + - include/ddk/d3dkmthk.h | 1 + - 3 files changed, 11 insertions(+) + dlls/gdi32/driver.c | 10 ++++++++++ + dlls/gdi32/gdi32.spec | 1 + + include/ddk/d3dkmthk.h | 1 + + 3 files changed, 12 insertions(+) diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c -index 88f49a0..d2d9fd7 100644 +index 96c2f1f1299..53914a88e5f 100644 --- a/dlls/gdi32/driver.c +++ b/dlls/gdi32/driver.c -@@ -1272,3 +1272,12 @@ NTSTATUS WINAPI D3DKMTCloseAdapter( const D3DKMT_CLOSEADAPTER *desc ) - FIXME("(%p): stub\n", desc); - return STATUS_SUCCESS; +@@ -1423,3 +1423,13 @@ NTSTATUS WINAPI D3DKMTDestroyDevice( const D3DKMT_DESTROYDEVICE *desc ) + + return status; } + +/****************************************************************************** @@ -27,30 +27,31 @@ index 88f49a0..d2d9fd7 100644 + FIXME("(%p): stub\n", stats); + return STATUS_SUCCESS; +} ++ diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec -index 2d158e0..745e05e 100644 +index 9abd82173c8..cc5d2c21a31 100644 --- a/dlls/gdi32/gdi32.spec +++ b/dlls/gdi32/gdi32.spec -@@ -85,6 +85,7 @@ - @ stdcall D3DKMTDestroyDCFromMemory(ptr) +@@ -88,6 +88,7 @@ @ stdcall D3DKMTEscape(ptr) + @ stdcall D3DKMTOpenAdapterFromGdiDisplayName(ptr) @ stdcall D3DKMTOpenAdapterFromHdc(ptr) +@ stdcall D3DKMTQueryStatistics(ptr) @ stdcall DPtoLP(long ptr long) @ stdcall DeleteColorSpace(long) @ stdcall DeleteDC(long) diff --git a/include/ddk/d3dkmthk.h b/include/ddk/d3dkmthk.h -index ab2af52..2ce2c6c 100644 +index 8e28c94bbf8..ea4df3a9e01 100644 --- a/include/ddk/d3dkmthk.h +++ b/include/ddk/d3dkmthk.h -@@ -490,6 +490,7 @@ extern "C" - NTSTATUS WINAPI D3DKMTCloseAdapter(const D3DKMT_CLOSEADAPTER *desc); - NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc); +@@ -608,6 +608,7 @@ NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc); NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc); + NTSTATUS WINAPI D3DKMTDestroyDevice(const D3DKMT_DESTROYDEVICE *desc); + NTSTATUS WINAPI D3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *desc); +NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats); #ifdef __cplusplus } -- -1.9.1 +2.17.1 diff --git a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch index c0a0cc62..dc83d8a1 100644 --- a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch +++ b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch @@ -1,4 +1,4 @@ -From f43e1e4f9fd62217be81ce0c2f25a1237855e564 Mon Sep 17 00:00:00 2001 +From 3d71df14a8a79f7827591f76eab7e3dbb3b9aa1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 5 Sep 2016 15:31:29 +0200 Subject: [PATCH] inseng: Implement CIF reader and download functions. @@ -6,26 +6,28 @@ Subject: [PATCH] inseng: Implement CIF reader and download functions. FIXME: Needs splitting. --- dlls/inseng/Makefile.in | 7 +- - dlls/inseng/icif.c | 1745 ++++++++++++++++++++++++++++++++++++++++++ - dlls/inseng/inf.c | 443 +++++++++++ + dlls/inseng/icif.c | 1745 ++++++++++++++++++++++++++++++++++ + dlls/inseng/inf.c | 443 +++++++++ dlls/inseng/inseng.spec | 4 +- - dlls/inseng/inseng_main.c | 990 +++++++++++++++++++++++- + dlls/inseng/inseng_main.c | 990 ++++++++++++++++++- dlls/inseng/inseng_private.h | 79 ++ - include/inseng.idl | 276 ++++++- + include/inseng.idl | 276 +++++- 7 files changed, 3490 insertions(+), 54 deletions(-) create mode 100644 dlls/inseng/icif.c create mode 100644 dlls/inseng/inf.c create mode 100644 dlls/inseng/inseng_private.h diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in -index 652e06b..d0aaa66 100644 +index 797a0d2b46f..d58b88377f3 100644 --- a/dlls/inseng/Makefile.in +++ b/dlls/inseng/Makefile.in -@@ -1,6 +1,9 @@ +@@ -1,8 +1,11 @@ MODULE = inseng.dll -IMPORTS = uuid ole32 advapi32 +IMPORTS = uuid ole32 advapi32 urlmon shlwapi + EXTRADLLFLAGS = -mno-cygwin + -C_SRCS = inseng_main.c +C_SRCS = \ + icif.c \ @@ -35,7 +37,7 @@ index 652e06b..d0aaa66 100644 IDL_SRCS = inseng_classes.idl diff --git a/dlls/inseng/icif.c b/dlls/inseng/icif.c new file mode 100644 -index 0000000..f7bf0a0 +index 00000000000..f7bf0a07077 --- /dev/null +++ b/dlls/inseng/icif.c @@ -0,0 +1,1745 @@ @@ -59,7 +61,7 @@ index 0000000..f7bf0a0 + +#define COBJMACROS + -+#include "config.h" ++ + +#include +#include @@ -1786,7 +1788,7 @@ index 0000000..f7bf0a0 +} diff --git a/dlls/inseng/inf.c b/dlls/inseng/inf.c new file mode 100644 -index 0000000..bead72c +index 00000000000..bead72c082c --- /dev/null +++ b/dlls/inseng/inf.c @@ -0,0 +1,443 @@ @@ -2234,7 +2236,7 @@ index 0000000..bead72c + return hr; +} diff --git a/dlls/inseng/inseng.spec b/dlls/inseng/inseng.spec -index 82c0b4d..7ae46fa 100644 +index 82c0b4d5fe1..7ae46fad3a7 100644 --- a/dlls/inseng/inseng.spec +++ b/dlls/inseng/inseng.spec @@ -7,6 +7,6 @@ @@ -2247,7 +2249,7 @@ index 82c0b4d..7ae46fa 100644 +@ stdcall GetICifRWFileFromFile(ptr str) @ stub PurgeDownloadDirectory diff --git a/dlls/inseng/inseng_main.c b/dlls/inseng/inseng_main.c -index 93649e2..f2e0ea5 100644 +index 631a9364e39..afa13873c08 100644 --- a/dlls/inseng/inseng_main.c +++ b/dlls/inseng/inseng_main.c @@ -2,6 +2,7 @@ @@ -2258,7 +2260,7 @@ index 93649e2..f2e0ea5 100644 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public -@@ -29,19 +30,70 @@ +@@ -28,19 +29,70 @@ #include "winuser.h" #include "ole2.h" #include "rpcproxy.h" @@ -2330,7 +2332,7 @@ index 93649e2..f2e0ea5 100644 }; static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface) -@@ -49,6 +101,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface) +@@ -48,6 +100,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface) return CONTAINING_RECORD(iface, InstallEngine, IInstallEngine2_iface); } @@ -2581,7 +2583,7 @@ index 93649e2..f2e0ea5 100644 static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFIID riid, void **ppv) { InstallEngine *This = impl_from_IInstallEngine2(iface); -@@ -62,13 +358,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII +@@ -61,13 +357,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII }else if(IsEqualGUID(&IID_IInstallEngine2, riid)) { TRACE("(%p)->(IID_IInstallEngine2 %p)\n", This, ppv); *ppv = &This->IInstallEngine2_iface; @@ -2600,7 +2602,7 @@ index 93649e2..f2e0ea5 100644 return S_OK; } -@@ -89,181 +388,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface) +@@ -88,181 +387,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface) TRACE("(%p) ref=%d\n", This, ref); @@ -3363,7 +3365,7 @@ index 93649e2..f2e0ea5 100644 InstallEngine_QueryInterface, InstallEngine_AddRef, InstallEngine_Release, -@@ -293,6 +1137,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = { +@@ -292,6 +1136,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = { InstallEngine2_GetICifFile }; @@ -3434,7 +3436,7 @@ index 93649e2..f2e0ea5 100644 static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv) { *ppv = NULL; -@@ -337,12 +1245,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn +@@ -336,12 +1244,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv); @@ -3452,7 +3454,7 @@ index 93649e2..f2e0ea5 100644 IInstallEngine2_Release(&engine->IInstallEngine2_iface); diff --git a/dlls/inseng/inseng_private.h b/dlls/inseng/inseng_private.h new file mode 100644 -index 0000000..1a649e2 +index 00000000000..1a649e251ec --- /dev/null +++ b/dlls/inseng/inseng_private.h @@ -0,0 +1,79 @@ @@ -3481,7 +3483,7 @@ index 0000000..1a649e2 +#include "rpcproxy.h" +#include "inseng.h" +#include "wine/heap.h" -+#include "wine/unicode.h" ++ + +static inline char *strdupA(const char *src) +{ @@ -3494,8 +3496,8 @@ index 0000000..1a649e2 +{ + WCHAR *dest; + if (!src) return NULL; -+ dest = HeapAlloc(GetProcessHeap(), 0, (strlenW(src) + 1) * sizeof(WCHAR)); -+ if (dest) strcpyW(dest, src); ++ dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR)); ++ if (dest) lstrcpyW(dest, src); + return dest; +} + @@ -3536,7 +3538,7 @@ index 0000000..1a649e2 +void component_set_installed(ICifComponent *iface, BOOL value) DECLSPEC_HIDDEN; + char *component_get_id(ICifComponent *iface) DECLSPEC_HIDDEN; diff --git a/include/inseng.idl b/include/inseng.idl -index 8a3f4c4..8292741 100644 +index 8a3f4c4d270..82927418a99 100644 --- a/include/inseng.idl +++ b/include/inseng.idl @@ -1,5 +1,6 @@ @@ -3837,10 +3839,11 @@ index 8a3f4c4..8292741 100644 } [ -@@ -122,6 +365,16 @@ interface IInstallEngine2 : IInstallEngine +@@ -121,6 +364,16 @@ interface IInstallEngine2 : IInstallEngine + HRESULT GetICifFile(ICifFile **cif_file); } - [ ++[ + uuid(6e449687-c509-11cf-aafa-00aa00b6015c), + local +] @@ -3850,10 +3853,9 @@ index 8a3f4c4..8292741 100644 + HRESULT GetInstallProgress(INSTALLPROGRESS *progress); +} + -+[ + [ helpstring("Microsoft Active Setup Engine"), threading(apartment), - uuid(6e449686-c509-11cf-aafa-00aa00b6015c) @@ -134,3 +387,6 @@ coclass InstallEngine { } uuid(bfc880f1-7484-11d0-8309-00aa00b6015c) ] @@ -3862,5 +3864,5 @@ index 8a3f4c4..8292741 100644 +cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);") +cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);") -- -1.9.1 +2.17.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1a621278..060e7b4d 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "4d5c874f42e27ac992f361c71490985d7553571a" + echo "48a74277f5f9e0c87d8c01457236a89d94cb71d3" } # Show version information diff --git a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch index c532e4f1..c3e1ce3d 100644 --- a/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch +++ b/patches/wined3d-Dual_Source_Blending/0003-wined3d-Implement-dual-source-blending.patch @@ -1,4 +1,4 @@ -From 6a12467d0b1a0c3da1b188d8815e3065367e1bd4 Mon Sep 17 00:00:00 2001 +From b0362c88d59f9a5674a01c04d18104e20500e823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 18 Aug 2017 23:51:59 +0200 Subject: [PATCH] wined3d: Implement dual source blending. @@ -27,10 +27,10 @@ index 4b2f4350840..d6d4f0a3057 100644 ID3D11BlendState_Release(blend_state); diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c -index 70b7cd0f297..7c2f2235761 100644 +index c22645fc1a2..98719ce57f7 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c -@@ -2987,6 +2987,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct +@@ -2986,6 +2986,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max); TRACE("Max draw buffers: %u.\n", gl_max); } @@ -43,7 +43,7 @@ index 70b7cd0f297..7c2f2235761 100644 if (gl_info->supported[ARB_MULTITEXTURE]) { if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) -@@ -3820,6 +3826,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, +@@ -3814,6 +3820,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, TRACE("Max texture stages: %u.\n", d3d_info->limits.ffp_blend_stages); @@ -55,10 +55,10 @@ index 70b7cd0f297..7c2f2235761 100644 { /* We do not want to deal with re-creating immutable texture storage diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c -index e112a81ad5b..e0eed59b475 100644 +index 2e562844194..da2d9348f1b 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -3128,10 +3128,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_ +@@ -3120,10 +3120,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_ else if (!context_gl->c.render_offscreen) return context_generate_rt_mask_from_resource(rts[0]->resource); @@ -84,10 +84,10 @@ index e112a81ad5b..e0eed59b475 100644 { i = wined3d_bit_scan(&mask); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index e8a7dc46709..9bdf07b2a49 100644 +index ab62c1ca599..95400d9d9b6 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c -@@ -2936,6 +2936,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * +@@ -2798,6 +2798,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register * break; case WINED3DSPR_COLOROUT: @@ -95,7 +95,7 @@ index e8a7dc46709..9bdf07b2a49 100644 if (reg->idx[0].offset >= gl_info->limits.buffers) WARN("Write to render target %u, only %d supported.\n", reg->idx[0].offset, gl_info->limits.buffers); -@@ -7840,7 +7841,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7702,7 +7703,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context { const struct wined3d_shader_signature *output_signature = &shader->output_signature; @@ -107,7 +107,7 @@ index e8a7dc46709..9bdf07b2a49 100644 if (output_signature->element_count) { for (i = 0; i < output_signature->element_count; ++i) -@@ -7855,7 +7859,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7717,7 +7721,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context continue; } if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -121,7 +121,7 @@ index e8a7dc46709..9bdf07b2a49 100644 shader_addline(buffer, "out %s4 color_out%u;\n", component_type_info[output->component_type].glsl_vector_type, output->semantic_idx); } -@@ -7868,7 +7877,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context +@@ -7730,7 +7739,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context { i = wined3d_bit_scan(&mask); if (shader_glsl_use_explicit_attrib_location(gl_info)) @@ -136,10 +136,10 @@ index e8a7dc46709..9bdf07b2a49 100644 } } diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c -index 68cea78778e..10b42f389a9 100644 +index a8fee07c6c3..52c817ea399 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c -@@ -4157,6 +4157,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 +@@ -4137,6 +4137,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 args->rt_alpha_swizzle |= 1u << i; } } @@ -149,7 +149,7 @@ index 68cea78778e..10b42f389a9 100644 static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device, diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c -index 31ff3f676c6..707e5400005 100644 +index c52e25d6ce2..fbd4e5647b7 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st @@ -192,10 +192,10 @@ index 31ff3f676c6..707e5400005 100644 state->render_states[WINED3D_RS_SRCBLEND], state->render_states[WINED3D_RS_DESTBLEND], rt_format); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 860fde83a58..b3337d5f12c 100644 +index f9af8542ad0..d9434a2aa68 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -200,6 +200,7 @@ struct wined3d_d3d_info +@@ -198,6 +198,7 @@ struct wined3d_d3d_info { struct wined3d_d3d_limits limits; struct wined3d_ffp_attrib_ops ffp_attrib_ops; @@ -203,7 +203,7 @@ index 860fde83a58..b3337d5f12c 100644 unsigned int wined3d_creation_flags; unsigned int xyzrhw : 1; unsigned int emulated_flatshading : 1; -@@ -1392,7 +1393,8 @@ struct ps_compile_args +@@ -1386,7 +1387,8 @@ struct ps_compile_args DWORD alpha_test_func : 3; DWORD render_offscreen : 1; DWORD rt_alpha_swizzle : 8; /* MAX_RENDER_TARGET_VIEWS, 8 */ @@ -213,17 +213,17 @@ index 860fde83a58..b3337d5f12c 100644 }; enum fog_src_type -@@ -1944,7 +1946,8 @@ struct wined3d_context - DWORD transform_feedback_paused : 1; - DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */ +@@ -1935,7 +1937,8 @@ struct wined3d_context + DWORD destroyed : 1; + DWORD destroy_delayed : 1; DWORD clip_distance_mask : 8; /* WINED3D_MAX_CLIP_DISTANCES, 8 */ -- DWORD padding : 11; +- DWORD padding : 15; + DWORD last_was_dual_blend : 1; -+ DWORD padding : 10; ++ DWORD padding : 14; DWORD constant_update_mask; DWORD numbered_array_mask; -@@ -2623,6 +2626,7 @@ struct wined3d_fbo_ops +@@ -2615,6 +2618,7 @@ struct wined3d_fbo_ops struct wined3d_gl_limits { UINT buffers; @@ -231,7 +231,7 @@ index 860fde83a58..b3337d5f12c 100644 UINT lights; UINT textures; UINT texture_coords; -@@ -3090,6 +3094,22 @@ struct wined3d_state +@@ -3081,6 +3085,22 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -255,5 +255,5 @@ index 860fde83a58..b3337d5f12c 100644 { GLuint tex_1d; -- -2.20.1 +2.17.1 diff --git a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch index 9b874a19..9aa953be 100644 --- a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch +++ b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch @@ -1,27 +1,27 @@ -From c21d5b2c6ac912a4bc4f4dff281f275b971796bc Mon Sep 17 00:00:00 2001 +From 761d7a8f9ce64f1174a1903ab08de2cb5a5c10c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 8 Jun 2017 23:50:03 +0200 Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr order. --- - dlls/ntoskrnl.exe/tests/driver.c | 50 ++++++++++++++++++++++++++++++++++++++++ - programs/winedevice/device.c | 26 +++++++++++++++++++++ + dlls/ntoskrnl.exe/tests/driver.c | 50 ++++++++++++++++++++++++++++++++ + programs/winedevice/device.c | 26 +++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index 73fc2fb..ed3fece 100644 +index f5801a51620..fcea581353b 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c -@@ -40,6 +40,7 @@ static const WCHAR driver_link[] = {'\\','D','o','s','D','e','v','i','c','e','s' - '\\','W','i','n','e','T','e','s','t','D','r','i','v','e','r',0}; +@@ -43,6 +43,7 @@ static const WCHAR driver_link[] = {'\\','D','o','s','D','e','v','i','c','e','s' static DRIVER_OBJECT *driver_obj; + static DEVICE_OBJECT *lower_device, *upper_device; +static LDR_MODULE *ldr_module; static HANDLE okfile; static LONG successes; -@@ -1411,6 +1412,7 @@ static void test_resource(void) +@@ -1444,6 +1445,7 @@ static void test_resource(void) ok(status == STATUS_SUCCESS, "got status %#x\n", status); } @@ -29,7 +29,7 @@ index 73fc2fb..ed3fece 100644 static void test_lookup_thread(void) { NTSTATUS status; -@@ -1509,6 +1511,52 @@ static void WINAPI main_test_task(DEVICE_OBJECT *device, void *context) +@@ -1543,6 +1545,52 @@ static void WINAPI main_test_task(DEVICE_OBJECT *device, void *context) IoCompleteRequest(irp, IO_NO_INCREMENT); } @@ -82,7 +82,7 @@ index 73fc2fb..ed3fece 100644 static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -1554,6 +1602,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st +@@ -1589,6 +1637,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st test_stack_callout(); test_lookaside_list(); test_ob_reference(test_input->path); @@ -90,7 +90,7 @@ index 73fc2fb..ed3fece 100644 test_resource(); test_lookup_thread(); test_IoAttachDeviceToDeviceStack(); -@@ -1704,6 +1753,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) +@@ -1747,6 +1796,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) DbgPrint("loading driver\n"); driver_obj = driver; @@ -99,7 +99,7 @@ index 73fc2fb..ed3fece 100644 /* Allow unloading of the driver */ driver->DriverUnload = driver_Unload; diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c -index f4ebad2..b8ed745 100644 +index f4ebad2f2d0..b8ed745cb64 100644 --- a/programs/winedevice/device.c +++ b/programs/winedevice/device.c @@ -120,7 +120,33 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_ @@ -137,5 +137,5 @@ index f4ebad2..b8ed745 100644 if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL ))) return; -- -1.9.1 +2.17.1