From bf3ff21ed7a90f2074476abdf8e8d8c81a23bd6c Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 28 Apr 2017 04:05:47 +0200 Subject: [PATCH] Rebase against ae600c0b2c5b63d0c32a19f44629c204d1a0fc51. --- ...-Add-stub-deferred-rendering-context.patch | 12 +++---- ...implementation-for-deferred-contexts.patch | 36 +++++++++---------- patches/patchinstall.sh | 2 +- .../wined3d-CSMT_Main/9999-IfDefined.patch | 14 ++++---- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/patches/d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch b/patches/d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch index fce377b2..a3f3412b 100644 --- a/patches/d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch +++ b/patches/d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch @@ -1,4 +1,4 @@ -From 6abf532ce00b767eb8c57593ffec8e69c46fd603 Mon Sep 17 00:00:00 2001 +From c7a3f1e20d97f61080df53a909c90707160ba45b Mon Sep 17 00:00:00 2001 From: Kimmo Myllyvirta Date: Sat, 24 Sep 2016 06:51:24 +0300 Subject: d3d11: Add stub deferred rendering context. @@ -8,7 +8,7 @@ Subject: d3d11: Add stub deferred rendering context. 1 file changed, 993 insertions(+), 2 deletions(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c -index 777146d717e..45467480905 100644 +index 259f189f8a..366f330bf0 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -25,6 +25,16 @@ @@ -27,8 +27,8 @@ index 777146d717e..45467480905 100644 + static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {} - const struct wined3d_parent_ops d3d_null_wined3d_parent_ops = -@@ -2110,6 +2120,974 @@ static void d3d11_immediate_context_destroy(struct d3d11_immediate_context *cont + static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops = +@@ -2417,6 +2427,974 @@ static void d3d11_immediate_context_destroy(struct d3d11_immediate_context *cont wined3d_private_store_cleanup(&context->private_store); } @@ -1003,7 +1003,7 @@ index 777146d717e..45467480905 100644 /* ID3D11Device methods */ static HRESULT STDMETHODCALLTYPE d3d11_device_QueryInterface(ID3D11Device *iface, REFIID riid, void **out) -@@ -2735,9 +3713,22 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateCounter(ID3D11Device *iface, +@@ -3070,9 +4048,22 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateCounter(ID3D11Device *iface, static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device *iface, UINT flags, ID3D11DeviceContext **context) { @@ -1029,5 +1029,5 @@ index 777146d717e..45467480905 100644 static HRESULT STDMETHODCALLTYPE d3d11_device_OpenSharedResource(ID3D11Device *iface, HANDLE resource, REFIID riid, -- -2.11.0 +2.12.2 diff --git a/patches/d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch b/patches/d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch index 9d8ae8e5..94d3b58c 100644 --- a/patches/d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch +++ b/patches/d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch @@ -1,4 +1,4 @@ -From 498edc59046c38c028f6d9e2d91264ad08d93d57 Mon Sep 17 00:00:00 2001 +From 38079a15e97192b7f0f80b9317a47530d6430a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 19 Jan 2017 16:56:56 +0100 Subject: d3d11: Initial implementation for deferred contexts. @@ -8,7 +8,7 @@ Subject: d3d11: Initial implementation for deferred contexts. 1 file changed, 1043 insertions(+), 32 deletions(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c -index 45467480905..4ee9d500802 100644 +index 366f330bf0..7aac903b54 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -19,12 +19,181 @@ @@ -724,8 +724,8 @@ index 45467480905..4ee9d500802 100644 + static void STDMETHODCALLTYPE d3d_null_wined3d_object_destroyed(void *parent) {} - const struct wined3d_parent_ops d3d_null_wined3d_parent_ops = -@@ -1139,7 +1830,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D + static const struct wined3d_parent_ops d3d_null_wined3d_parent_ops = +@@ -1133,7 +1824,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ResolveSubresource(ID3D11D static void STDMETHODCALLTYPE d3d11_immediate_context_ExecuteCommandList(ID3D11DeviceContext *iface, ID3D11CommandList *command_list, BOOL restore_state) { @@ -747,7 +747,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_immediate_context_HSSetShaderResources(ID3D11DeviceContext *iface, -@@ -1953,7 +2657,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSGetConstantBuffers(ID3D1 +@@ -2260,7 +2964,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSGetConstantBuffers(ID3D1 static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceContext *iface) { @@ -756,7 +756,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_immediate_context_Flush(ID3D11DeviceContext *iface) -@@ -2165,6 +2869,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex +@@ -2472,6 +3176,7 @@ static ULONG STDMETHODCALLTYPE d3d11_deferred_context_Release(ID3D11DeviceContex if (!refcount) { @@ -764,7 +764,7 @@ index 45467480905..4ee9d500802 100644 wined3d_private_store_cleanup(&context->private_store); ID3D11Device_Release(context->device); HeapFree(GetProcessHeap(), 0, context); -@@ -2216,43 +2921,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface( +@@ -2523,43 +3228,86 @@ static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_SetPrivateDataInterface( static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetConstantBuffers(ID3D11DeviceContext *iface, UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers) { @@ -857,7 +857,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *iface, -@@ -2265,53 +3013,171 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i +@@ -2572,53 +3320,171 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_Draw(ID3D11DeviceContext *i static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_Map(ID3D11DeviceContext *iface, ID3D11Resource *resource, UINT subresource_idx, D3D11_MAP map_type, UINT map_flags, D3D11_MAPPED_SUBRESOURCE *mapped_subresource) { @@ -1038,7 +1038,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_DrawInstanced(ID3D11DeviceContext *iface, -@@ -2340,7 +3206,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon +@@ -2647,7 +3513,16 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_GSSetShader(ID3D11DeviceCon static void STDMETHODCALLTYPE d3d11_deferred_context_IASetPrimitiveTopology(ID3D11DeviceContext *iface, D3D11_PRIMITIVE_TOPOLOGY topology) { @@ -1056,7 +1056,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_VSSetShaderResources(ID3D11DeviceContext *iface, -@@ -2400,8 +3275,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De +@@ -2707,8 +3582,28 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargets(ID3D11De UINT render_target_view_count, ID3D11RenderTargetView *const *render_target_views, ID3D11DepthStencilView *depth_stencil_view) { @@ -1086,7 +1086,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorderedAccessViews( -@@ -2421,15 +3316,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde +@@ -2728,15 +3623,44 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetRenderTargetsAndUnorde static void STDMETHODCALLTYPE d3d11_deferred_context_OMSetBlendState(ID3D11DeviceContext *iface, ID3D11BlendState *blend_state, const float blend_factor[4], UINT sample_mask) { @@ -1133,7 +1133,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_SOSetTargets(ID3D11DeviceContext *iface, UINT buffer_count, -@@ -2471,13 +3395,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi +@@ -2778,13 +3702,34 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_DispatchIndirect(ID3D11Devi static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetState(ID3D11DeviceContext *iface, ID3D11RasterizerState *rasterizer_state) { @@ -1170,7 +1170,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_RSSetScissorRects(ID3D11DeviceContext *iface, -@@ -2592,8 +3537,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11 +@@ -2899,8 +3844,18 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShaderResources(ID3D11 static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetShader(ID3D11DeviceContext *iface, ID3D11HullShader *shader, ID3D11ClassInstance *const *class_instances, UINT class_instance_count) { @@ -1190,7 +1190,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceContext *iface, -@@ -2606,36 +3561,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC +@@ -2913,36 +3868,62 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetSamplers(ID3D11DeviceC static void STDMETHODCALLTYPE d3d11_deferred_context_HSSetConstantBuffers(ID3D11DeviceContext *iface, UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers) { @@ -1258,7 +1258,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_CSSetShaderResources(ID3D11DeviceContext *iface, -@@ -2936,7 +3917,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11 +@@ -3243,7 +4224,15 @@ static void STDMETHODCALLTYPE d3d11_deferred_context_CSGetConstantBuffers(ID3D11 static void STDMETHODCALLTYPE d3d11_deferred_context_ClearState(ID3D11DeviceContext *iface) { @@ -1275,7 +1275,7 @@ index 45467480905..4ee9d500802 100644 } static void STDMETHODCALLTYPE d3d11_deferred_context_Flush(ID3D11DeviceContext *iface) -@@ -2961,9 +3950,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic +@@ -3268,9 +4257,29 @@ static UINT STDMETHODCALLTYPE d3d11_deferred_context_GetContextFlags(ID3D11Devic static HRESULT STDMETHODCALLTYPE d3d11_deferred_context_FinishCommandList(ID3D11DeviceContext *iface, BOOL restore, ID3D11CommandList **command_list) { @@ -1307,7 +1307,7 @@ index 45467480905..4ee9d500802 100644 } static const struct ID3D11DeviceContextVtbl d3d11_deferred_context_vtbl = -@@ -3724,6 +4733,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device +@@ -4059,6 +5068,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateDeferredContext(ID3D11Device object->device = iface; object->refcount = 1; @@ -1317,5 +1317,5 @@ index 45467480905..4ee9d500802 100644 wined3d_private_store_init(&object->private_store); -- -2.11.0 +2.12.2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 7966c92d..53b0cb82 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "6f99cf01e1b88c9bb09fe6b9bff3443514db5ae2" + echo "ae600c0b2c5b63d0c32a19f44629c204d1a0fc51" } # Show version information diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index d68432a0..d6b8b27b 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -1616,7 +1616,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -2645,6 +2645,16 @@ struct wined3d_state +@@ -2648,6 +2648,16 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -1633,7 +1633,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h #define WINED3D_UNMAPPED_STAGE ~0u /* Multithreaded flag. Removed from the public header to signal that -@@ -2756,6 +2766,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -2759,6 +2769,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN; @@ -1646,7 +1646,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state) { -@@ -2942,7 +2958,11 @@ struct wined3d_texture +@@ -2945,7 +2961,11 @@ struct wined3d_texture unsigned int map_count; DWORD locations; @@ -1658,7 +1658,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h } sub_resources[1]; }; -@@ -3250,8 +3270,15 @@ struct wined3d_cs_queue +@@ -3253,8 +3273,15 @@ struct wined3d_cs_queue struct wined3d_cs_ops { @@ -1674,7 +1674,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void (*push_constants)(struct wined3d_cs *cs, enum wined3d_push_constants p, unsigned int start_idx, unsigned int count, const void *constants); }; -@@ -3266,13 +3293,23 @@ struct wined3d_cs +@@ -3269,13 +3296,23 @@ struct wined3d_cs HANDLE thread; DWORD thread_id; @@ -1698,7 +1698,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device) DECLSPEC_HIDDEN; -@@ -3294,6 +3331,9 @@ void wined3d_cs_emit_dispatch(struct wined3d_cs *cs, +@@ -3297,6 +3334,9 @@ void wined3d_cs_emit_dispatch(struct wined3d_cs *cs, void wined3d_cs_emit_draw(struct wined3d_cs *cs, GLenum primitive_type, int base_vertex_idx, unsigned int start_idx, unsigned int index_count, unsigned int start_instance, unsigned int instance_count, BOOL indexed) DECLSPEC_HIDDEN; @@ -1708,7 +1708,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_cs_emit_flush(struct wined3d_cs *cs) DECLSPEC_HIDDEN; void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource) DECLSPEC_HIDDEN; void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *swapchain, -@@ -3346,6 +3386,9 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, enum wined +@@ -3349,6 +3389,9 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, enum wined void wined3d_cs_emit_set_vertex_declaration(struct wined3d_cs *cs, struct wined3d_vertex_declaration *declaration) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_viewport(struct wined3d_cs *cs, const struct wined3d_viewport *viewport) DECLSPEC_HIDDEN;