From 06da0acbdcd7c545bec3eb51d3205cd322df6b99 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 15 Mar 2017 16:16:43 +0100 Subject: [PATCH] Rebase against 2cc730b4ad148382093d67f15d40134aee05d058. --- ...sOldCaps-correctly-in-ddraw7_GetCaps.patch | 24 ++++----- ...b-for-_SetWinRTOutOfMemoryExceptionC.patch | 16 +++--- patches/patchinstall.sh | 2 +- ...9-wined3d-Wrap-GL-BOs-in-a-structure.patch | 51 ++++++++++--------- .../wined3d-CSMT_Main/9999-IfDefined.patch | 32 ++++++------ 5 files changed, 63 insertions(+), 62 deletions(-) diff --git a/patches/ddraw-Device_Caps/0003-ddraw-Set-ddsOldCaps-correctly-in-ddraw7_GetCaps.patch b/patches/ddraw-Device_Caps/0003-ddraw-Set-ddsOldCaps-correctly-in-ddraw7_GetCaps.patch index 90ba3fbd..e5c6b1e9 100644 --- a/patches/ddraw-Device_Caps/0003-ddraw-Set-ddsOldCaps-correctly-in-ddraw7_GetCaps.patch +++ b/patches/ddraw-Device_Caps/0003-ddraw-Set-ddsOldCaps-correctly-in-ddraw7_GetCaps.patch @@ -1,4 +1,4 @@ -From c2d4f3fc4de77decbec1a31b07507e26baaf1c16 Mon Sep 17 00:00:00 2001 +From 93267b9dc171775f908aa0f0dde65cc5a60c3b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 4 Mar 2016 22:22:42 +0100 Subject: ddraw: Set ddsOldCaps correctly in ddraw7_GetCaps. @@ -12,7 +12,7 @@ Subject: ddraw: Set ddsOldCaps correctly in ddraw7_GetCaps. 5 files changed, 106 insertions(+) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c -index 8a33ccd4c77..3330b9ce321 100644 +index 8a33ccd4c7..3330b9ce32 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -1554,6 +1554,8 @@ static HRESULT WINAPI ddraw7_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DD @@ -25,7 +25,7 @@ index 8a33ccd4c77..3330b9ce321 100644 if(DriverCaps) diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c -index da01bd2ef6d..b81f858ad46 100644 +index 4f53ee1059..538ab656e3 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -10683,6 +10683,31 @@ done: @@ -67,7 +67,7 @@ index da01bd2ef6d..b81f858ad46 100644 + test_caps(); } diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c -index 0c2c00f2af7..c26e2cd9b12 100644 +index be950d8034..b72fffb51e 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -12021,6 +12021,31 @@ done: @@ -109,10 +109,10 @@ index 0c2c00f2af7..c26e2cd9b12 100644 + test_caps(); } diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c -index dfdf4ce1932..52cc3c84447 100644 +index 2f92a70f4c..1381b498de 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c -@@ -13450,6 +13450,31 @@ static void test_vb_refcount(void) +@@ -13551,6 +13551,31 @@ static void test_compute_sphere_visibility(void) DestroyWindow(window); } @@ -144,17 +144,17 @@ index dfdf4ce1932..52cc3c84447 100644 START_TEST(ddraw4) { IDirectDraw4 *ddraw; -@@ -13555,4 +13580,5 @@ START_TEST(ddraw4) - test_get_surface_from_dc(); +@@ -13657,4 +13682,5 @@ START_TEST(ddraw4) test_ck_operation(); test_vb_refcount(); + test_compute_sphere_visibility(); + test_caps(); } diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c -index 1378673b480..65d4bfca464 100644 +index 29dd246d91..206c90ca3d 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c -@@ -13145,6 +13145,31 @@ static void test_vb_refcount(void) +@@ -13251,6 +13251,31 @@ static void test_compute_sphere_visibility(void) DestroyWindow(window); } @@ -186,10 +186,10 @@ index 1378673b480..65d4bfca464 100644 START_TEST(ddraw7) { HMODULE module = GetModuleHandleA("ddraw.dll"); -@@ -13260,4 +13285,5 @@ START_TEST(ddraw7) - test_get_surface_from_dc(); +@@ -13367,4 +13392,5 @@ START_TEST(ddraw7) test_ck_operation(); test_vb_refcount(); + test_compute_sphere_visibility(); + test_caps(); } -- diff --git a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch b/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch index 2be0655e..e68c97b3 100644 --- a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch +++ b/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch @@ -1,4 +1,4 @@ -From e10eaddb1261c79cb80fc99172e1f53b1b7daf53 Mon Sep 17 00:00:00 2001 +From 76d016aa66e8b00405a10fad09b49613578d1a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 15 Jan 2016 12:58:17 +0100 Subject: msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback. @@ -10,7 +10,7 @@ Subject: msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback. 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec -index 461b529..67c7fc4 100644 +index fa8f3adf06..893d167ec2 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -844,7 +844,7 @@ @@ -21,9 +21,9 @@ index 461b529..67c7fc4 100644 +@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) MSVCR120__SetWinRTOutOfMemoryExceptionCallback @ stub -arch=win64 _SetImageBase @ stub -arch=win64 _SetThrowImageBase - @ cdecl _Strftime(str long str ptr ptr) + @ cdecl _Strftime(ptr long str ptr ptr) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec -index 425c839..ff71998 100644 +index bcbc8bf894..5e3b42e141 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -838,7 +838,7 @@ @@ -34,12 +34,12 @@ index 425c839..ff71998 100644 +@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) msvcr120._SetWinRTOutOfMemoryExceptionCallback @ stub -arch=win64 _SetImageBase @ stub -arch=win64 _SetThrowImageBase - @ cdecl _Strftime(str long str ptr ptr) msvcr120._Strftime + @ cdecl _Strftime(ptr long str ptr ptr) msvcr120._Strftime diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c -index c1510ef..6842f1e 100644 +index 23a089ab3b..754362aeff 100644 --- a/dlls/msvcrt/misc.c +++ b/dlls/msvcrt/misc.c -@@ -506,3 +506,11 @@ void CDECL MSVCRT__crt_debugger_hook(int reserved) +@@ -532,3 +532,11 @@ void CDECL MSVCRT__crt_debugger_hook(int reserved) { WARN("(%x)\n", reserved); } @@ -52,5 +52,5 @@ index c1510ef..6842f1e 100644 + FIXME("(%p): stub\n", callback); +} -- -2.6.4 +2.11.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 54c71702..a0f42f23 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "f8031d06486761b1068a5b4fa8572d08efdfb8f1" + echo "2cc730b4ad148382093d67f15d40134aee05d058" } # Show version information diff --git a/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch b/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch index 97de0cf8..652d5c3e 100644 --- a/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch +++ b/patches/wined3d-CSMT_Main/0019-wined3d-Wrap-GL-BOs-in-a-structure.patch @@ -1,4 +1,4 @@ -From 966ef73fc86a013fafb0ed3491d6347e4224b504 Mon Sep 17 00:00:00 2001 +From 5fab8a00429f7e67ac09cd82a6b168c5f0abb590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Fri, 30 Aug 2013 17:00:35 +0200 Subject: wined3d: Wrap GL BOs in a structure @@ -6,17 +6,17 @@ Subject: wined3d: Wrap GL BOs in a structure The idea is to use those structures for mapping through the command stream and caching them for DISCARD maps. --- - dlls/wined3d/device.c | 53 +++++++++++++++++++++++++++++++++++++++ + dlls/wined3d/device.c | 53 +++++++++++++++++++++++++++++++++++++ dlls/wined3d/surface.c | 2 +- - dlls/wined3d/texture.c | 57 ++++++++++++++++++------------------------ - dlls/wined3d/wined3d_private.h | 14 ++++++++++- - 4 files changed, 92 insertions(+), 34 deletions(-) + dlls/wined3d/texture.c | 59 +++++++++++++++++++----------------------- + dlls/wined3d/wined3d_private.h | 14 +++++++++- + 4 files changed, 93 insertions(+), 35 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index 1c424d517bb..18695774bc8 100644 +index bf48c71564..a7dd944dab 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c -@@ -5169,3 +5169,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -5222,3 +5222,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL else return CallWindowProcA(proc, window, message, wparam, lparam); } @@ -74,10 +74,10 @@ index 1c424d517bb..18695774bc8 100644 + wined3d_device_destroy_bo(device, context, bo); +} diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index 8c5624c8787..e641dcc8b80 100644 +index cd82d46a00..59c1f55455 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -2801,7 +2801,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface, +@@ -2773,7 +2773,7 @@ static BOOL surface_load_texture(struct wined3d_surface *surface, /* Don't use PBOs for converted surfaces. During PBO conversion we look at * WINED3D_TEXTURE_CONVERTED but it isn't set (yet) in all cases it is * getting called. */ @@ -87,7 +87,7 @@ index 8c5624c8787..e641dcc8b80 100644 TRACE("Removing the pbo attached to surface %p.\n", surface); diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 7dc0f096f77..2d3d51f0489 100644 +index 05dc506716..5abd80eae1 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -337,7 +337,7 @@ void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int su @@ -106,20 +106,21 @@ index 7dc0f096f77..2d3d51f0489 100644 - unsigned int sub_resource_idx, const struct wined3d_gl_info *gl_info) + unsigned int sub_resource_idx, struct wined3d_context *context) { -- GLuint *buffer_object; +- GLuint *buffer_object = &texture->sub_resources[sub_resource_idx].buffer_object; + struct wined3d_gl_bo *buffer = texture->sub_resources[sub_resource_idx].buffer; + GLuint name = buffer->name; -- buffer_object = &texture->sub_resources[sub_resource_idx].buffer_object; - GL_EXTCALL(glDeleteBuffers(1, buffer_object)); - checkGLcall("glDeleteBuffers"); + wined3d_device_release_bo(texture->resource.device, buffer, context); + texture->sub_resources[sub_resource_idx].buffer = NULL; - wined3d_texture_invalidate_location(texture, sub_resource_idx, WINED3D_LOCATION_BUFFER); -- *buffer_object = 0; ++ wined3d_texture_invalidate_location(texture, sub_resource_idx, WINED3D_LOCATION_BUFFER); TRACE("Deleted buffer object %u for texture %p, sub-resource %u.\n", - *buffer_object, texture, sub_resource_idx); +- +- wined3d_texture_invalidate_location(texture, sub_resource_idx, WINED3D_LOCATION_BUFFER); +- *buffer_object = 0; + name, texture, sub_resource_idx); } @@ -167,7 +168,7 @@ index 7dc0f096f77..2d3d51f0489 100644 } if (context) context_release(context); -@@ -1327,22 +1323,19 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT +@@ -1351,22 +1347,19 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT /* Context activation is done by the caller. */ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *texture, @@ -195,7 +196,7 @@ index 7dc0f096f77..2d3d51f0489 100644 } static void wined3d_texture_force_reload(struct wined3d_texture *texture) -@@ -1468,7 +1461,7 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned +@@ -1492,7 +1485,7 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned return TRUE; case WINED3D_LOCATION_BUFFER: @@ -204,7 +205,7 @@ index 7dc0f096f77..2d3d51f0489 100644 return TRUE; case WINED3D_LOCATION_TEXTURE_RGB: -@@ -1768,7 +1761,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -1792,7 +1785,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -213,7 +214,7 @@ index 7dc0f096f77..2d3d51f0489 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); -@@ -1813,7 +1806,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -1837,7 +1830,7 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -222,7 +223,7 @@ index 7dc0f096f77..2d3d51f0489 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); -@@ -2107,8 +2100,8 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) +@@ -2131,8 +2124,8 @@ static void wined3d_texture_unload(struct wined3d_resource *resource) wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED); } @@ -233,7 +234,7 @@ index 7dc0f096f77..2d3d51f0489 100644 if (resource->type == WINED3D_RTYPE_TEXTURE_2D) { -@@ -2906,7 +2899,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in +@@ -2917,7 +2910,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in } else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) { @@ -242,7 +243,7 @@ index 7dc0f096f77..2d3d51f0489 100644 wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); -@@ -2952,7 +2945,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in +@@ -2963,7 +2956,7 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in case WINED3D_LOCATION_BUFFER: if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB)) { @@ -252,10 +253,10 @@ index 7dc0f096f77..2d3d51f0489 100644 if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) wined3d_texture_bind_and_dirtify(texture, context, FALSE); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 834a681f6a4..6204fc3915d 100644 +index 91e0bfb313..6114e5b88a 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -2571,6 +2571,14 @@ struct wined3d_state +@@ -2606,6 +2606,14 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -270,7 +271,7 @@ index 834a681f6a4..6204fc3915d 100644 #define WINED3D_UNMAPPED_STAGE ~0u /* Multithreaded flag. Removed from the public header to signal that -@@ -2684,6 +2692,10 @@ void device_resource_released(struct wined3d_device *device, struct wined3d_reso +@@ -2720,6 +2728,10 @@ void device_resource_released(struct wined3d_device *device, struct wined3d_reso void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN; void device_exec_update_texture(struct wined3d_context *context, struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture) DECLSPEC_HIDDEN; @@ -281,7 +282,7 @@ index 834a681f6a4..6204fc3915d 100644 static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state) { -@@ -2874,7 +2886,7 @@ struct wined3d_texture +@@ -2910,7 +2922,7 @@ struct wined3d_texture unsigned int map_count; DWORD locations; diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index b47aaba3..d70d6e1d 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -54,7 +54,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c -@@ -3720,6 +3720,11 @@ struct wined3d_context *context_acquire(const struct wined3d_device *device, +@@ -3777,6 +3777,11 @@ struct wined3d_context *context_acquire(const struct wined3d_device *device, TRACE("device %p, texture %p, sub_resource_idx %u.\n", device, texture, sub_resource_idx); @@ -3224,11 +3224,11 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c +#if !defined(STAGING_CSMT) unsigned int sub_resource_idx, const struct wined3d_gl_info *gl_info) { - GLuint *buffer_object; + GLuint *buffer_object = &texture->sub_resources[sub_resource_idx].buffer_object; @@ -450,6 +455,19 @@ static void wined3d_texture_remove_buffer_object(struct wined3d_texture *texture - TRACE("Deleted buffer object %u for texture %p, sub-resource %u.\n", - *buffer_object, texture, sub_resource_idx); + wined3d_texture_invalidate_location(texture, sub_resource_idx, WINED3D_LOCATION_BUFFER); + *buffer_object = 0; +#else /* STAGING_CSMT */ + unsigned int sub_resource_idx, struct wined3d_context *context) +{ @@ -3728,7 +3728,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h }; struct wined3d_timestamp_query -@@ -2600,6 +2610,16 @@ struct wined3d_state +@@ -2606,6 +2616,16 @@ struct wined3d_state struct wined3d_rasterizer_state *rasterizer_state; }; @@ -3745,7 +3745,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 -@@ -2712,6 +2732,14 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL +@@ -2718,6 +2738,14 @@ 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; @@ -3760,7 +3760,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) { -@@ -2787,11 +2815,13 @@ static inline void wined3d_resource_release(struct wined3d_resource *resource) +@@ -2793,11 +2821,13 @@ static inline void wined3d_resource_release(struct wined3d_resource *resource) InterlockedDecrement(&resource->access_count); } @@ -3774,7 +3774,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void resource_cleanup(struct wined3d_resource *resource) DECLSPEC_HIDDEN; HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *device, enum wined3d_resource_type type, const struct wined3d_format *format, -@@ -2902,7 +2932,11 @@ struct wined3d_texture +@@ -2908,7 +2938,11 @@ struct wined3d_texture unsigned int map_count; DWORD locations; @@ -3786,7 +3786,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h } sub_resources[1]; }; -@@ -2955,6 +2989,9 @@ void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture, +@@ -2961,6 +2995,9 @@ void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN; HRESULT wined3d_texture_check_box_dimensions(const struct wined3d_texture *texture, unsigned int level, const struct wined3d_box *box) DECLSPEC_HIDDEN; @@ -3796,7 +3796,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h GLenum wined3d_texture_get_gl_buffer(const struct wined3d_texture *texture) DECLSPEC_HIDDEN; void wined3d_texture_get_memory(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_bo_address *data, DWORD locations) DECLSPEC_HIDDEN; -@@ -2970,6 +3007,10 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned +@@ -2976,6 +3013,10 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN; void wined3d_texture_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN; @@ -3807,7 +3807,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_texture_set_map_binding(struct wined3d_texture *texture, DWORD map_binding) DECLSPEC_HIDDEN; void wined3d_texture_set_swapchain(struct wined3d_texture *texture, struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN; -@@ -3204,6 +3245,7 @@ enum wined3d_push_constants +@@ -3210,6 +3251,7 @@ enum wined3d_push_constants WINED3D_PUSH_CONSTANTS_PS_B, }; @@ -3815,7 +3815,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_cs_ops { void *(*require_space)(struct wined3d_cs *cs, size_t size); -@@ -3211,6 +3253,33 @@ struct wined3d_cs_ops +@@ -3217,6 +3259,33 @@ struct wined3d_cs_ops void (*push_constants)(struct wined3d_cs *cs, enum wined3d_push_constants p, unsigned int start_idx, unsigned int count, const void *constants); }; @@ -3849,7 +3849,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h struct wined3d_cs { -@@ -3221,8 +3290,31 @@ struct wined3d_cs +@@ -3227,8 +3296,31 @@ struct wined3d_cs size_t data_size, start, end; void *data; @@ -3881,7 +3881,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; void wined3d_cs_destroy(struct wined3d_cs *cs) DECLSPEC_HIDDEN; void wined3d_cs_destroy_object(struct wined3d_cs *cs, -@@ -3233,15 +3325,34 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso +@@ -3239,15 +3331,34 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN; void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN; @@ -3916,7 +3916,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_cs_emit_reset_state(struct wined3d_cs *cs) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, const struct wined3d_vec4 *plane) DECLSPEC_HIDDEN; -@@ -3289,10 +3400,20 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, enum wined +@@ -3295,10 +3406,20 @@ 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; @@ -3937,7 +3937,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h void wined3d_cs_init_object(struct wined3d_cs *cs, void (*callback)(void *object), void *object) DECLSPEC_HIDDEN; HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx, -@@ -3300,12 +3421,14 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, +@@ -3306,12 +3427,14 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, HRESULT wined3d_cs_unmap(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx) DECLSPEC_HIDDEN;