Rebase against 63bcfa3354edd910ee52b8134af191f7a774b701.

This commit is contained in:
Sebastian Lackner
2017-04-04 03:59:24 +02:00
parent e2750d967a
commit 3a8de0f3f4
13 changed files with 170 additions and 1849 deletions

View File

@@ -1,4 +1,4 @@
From b880794502fe7d805e3f49b61c8a8b6664cbd187 Mon Sep 17 00:00:00 2001
From bf11cf98c90e7f841ac3ccc1860409f918325203 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 4 Jul 2013 21:10:16 +0200
Subject: wined3d: Send render target view clears through the command stream
@@ -11,7 +11,7 @@ Subject: wined3d: Send render target view clears through the command stream
4 files changed, 55 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 8e5be756654..88e0e44c4d3 100644
index 7070895aa2..c3034c4909 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -1337,7 +1337,7 @@ static void color_fill_test(void)
@@ -24,7 +24,7 @@ index 8e5be756654..88e0e44c4d3 100644
* supported as offscreen plain surfaces and do not support D3DUSAGE_RENDERTARGET
* when created as texture. */
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index bf1b63b897b..b8c99985af4 100644
index bf1b63b897..72e177a41e 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -68,6 +68,7 @@ enum wined3d_cs_op
@@ -48,7 +48,7 @@ index bf1b63b897b..b8c99985af4 100644
+ struct wined3d_color color;
+ float depth;
+ DWORD stencil;
+ const struct blit_shader *blitter;
+ const struct wined3d_blitter_ops *blitter;
+};
+
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
@@ -73,7 +73,7 @@ index bf1b63b897b..b8c99985af4 100644
+
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
+ const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
+ const struct blit_shader *blitter)
+ const struct wined3d_blitter_ops *blitter)
+{
+ struct wined3d_cs_clear_rtv *op;
+
@@ -105,10 +105,10 @@ index bf1b63b897b..b8c99985af4 100644
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c3a10a2d13a..728e5570777 100644
index 500506d789..f1b90f5ee1 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4320,10 +4320,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
@@ -4328,10 +4328,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
return WINED3DERR_INVALIDCALL;
}
@@ -122,16 +122,16 @@ index c3a10a2d13a..728e5570777 100644
struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 8a07bb98523..f69cead4d1c 100644
index ad72e10d7a..59b446167b 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3225,6 +3225,9 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
@@ -3232,6 +3232,9 @@ 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;
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
+ const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
+ const struct blit_shader *blitter) DECLSPEC_HIDDEN;
+ const struct wined3d_blitter_ops *blitter) DECLSPEC_HIDDEN;
void wined3d_cs_emit_dispatch(struct wined3d_cs *cs,
unsigned int group_count_x, unsigned int group_count_y, unsigned int group_count_z) DECLSPEC_HIDDEN;
void wined3d_cs_emit_draw(struct wined3d_cs *cs, GLenum primitive_type, int base_vertex_idx,

View File

@@ -1,4 +1,4 @@
From 8f9e2da3bc48abffee005b95c2b996352db2de16 Mon Sep 17 00:00:00 2001
From 27c6d619ed9ad1090a5ee9724e25492f5d945de7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 1 Aug 2013 00:33:48 +0200
Subject: wined3d: Send update_texture calls through the CS
@@ -11,7 +11,7 @@ FIXME: This logic duplication is ugly.
3 files changed, 141 insertions(+), 75 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index b8c99985af4..bbea6bbb454 100644
index 72e177a41e..82dbe684e2 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -69,6 +69,7 @@ enum wined3d_cs_op
@@ -23,7 +23,7 @@ index b8c99985af4..bbea6bbb454 100644
struct wined3d_cs_sync
@@ -404,6 +405,12 @@ struct wined3d_cs_clear_rtv
const struct blit_shader *blitter;
const struct wined3d_blitter_ops *blitter;
};
+struct wined3d_cs_update_texture
@@ -80,10 +80,10 @@ index b8c99985af4..bbea6bbb454 100644
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 364eac4411e..d0e1fe6e9d7 100644
index 1805cd71a8..0192552a14 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3659,34 +3659,17 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
@@ -3667,34 +3667,17 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
start_idx, index_count, start_instance, instance_count, TRUE);
}
@@ -122,7 +122,7 @@ index 364eac4411e..d0e1fe6e9d7 100644
/* Only a prepare, since we're uploading entire volumes. */
wined3d_texture_prepare_texture(dst_texture, context, FALSE);
@@ -3694,32 +3677,89 @@ static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
@@ -3702,32 +3685,89 @@ static HRESULT wined3d_device_update_texture_3d(struct wined3d_device *device,
for (i = 0; i < level_count; ++i)
{
@@ -222,7 +222,7 @@ index 364eac4411e..d0e1fe6e9d7 100644
TRACE("device %p, src_texture %p, dst_texture %p.\n", device, src_texture, dst_texture);
@@ -3756,63 +3796,48 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
@@ -3764,63 +3804,48 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device,
return WINED3DERR_INVALIDCALL;
}
@@ -316,10 +316,10 @@ index 364eac4411e..d0e1fe6e9d7 100644
HRESULT CDECL wined3d_device_validate_device(const struct wined3d_device *device, DWORD *num_passes)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f69cead4d1c..fcefe12d226 100644
index 59b446167b..7026544526 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2703,6 +2703,8 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2709,6 +2709,8 @@ 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;
@@ -328,7 +328,7 @@ index f69cead4d1c..fcefe12d226 100644
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
{
@@ -3292,6 +3294,8 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
@@ -3299,6 +3301,8 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_resource *resource,
unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch,
unsigned int slice_pitch) DECLSPEC_HIDDEN;

View File

@@ -1,4 +1,4 @@
From 87fa7de2951f6de25293783ffe157f29cf18c1d7 Mon Sep 17 00:00:00 2001
From 3d5c666305162466d808a7f8c8940264c9af019c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefandoesinger@gmx.at>
Date: Thu, 7 Apr 2016 20:04:17 +0100
Subject: wined3d: Avoid destroying views in color and depth fills.
@@ -8,20 +8,20 @@ Subject: wined3d: Avoid destroying views in color and depth fills.
1 file changed, 22 insertions(+), 32 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 8d8142204ca..cc70506d803 100644
index 24c8941ed7..5169cd8cea 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -676,8 +676,7 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
{
@@ -548,8 +548,7 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
struct wined3d_resource *resource = &surface->container->resource;
struct wined3d_device *device = resource->device;
const struct wined3d_blitter_ops *blitter;
- struct wined3d_rendertarget_view *view;
- struct wined3d_view_desc view_desc;
+ struct wined3d_rendertarget_view view;
const struct blit_shader *blitter;
HRESULT hr;
@@ -688,21 +687,17 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
@@ -559,21 +558,17 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
return WINED3DERR_INVALIDCALL;
}
@@ -53,17 +53,17 @@ index 8d8142204ca..cc70506d803 100644
return hr;
}
@@ -2481,8 +2476,7 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
{
@@ -2259,8 +2254,7 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
struct wined3d_resource *resource = &s->container->resource;
struct wined3d_device *device = resource->device;
const struct wined3d_blitter_ops *blitter;
- struct wined3d_rendertarget_view *view;
- struct wined3d_view_desc view_desc;
+ struct wined3d_rendertarget_view view;
const struct blit_shader *blitter;
HRESULT hr;
@@ -2493,21 +2487,17 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
@@ -2270,21 +2264,17 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
return WINED3DERR_INVALIDCALL;
}

View File

@@ -178,7 +178,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
+ struct wined3d_color color;
+ float depth;
+ DWORD stencil;
+ const struct blit_shader *blitter;
+ const struct wined3d_blitter_ops *blitter;
+};
+
+struct wined3d_cs_update_texture
@@ -1884,7 +1884,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
+
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
+ const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
+ const struct blit_shader *blitter)
+ const struct wined3d_blitter_ops *blitter)
+{
+ struct wined3d_cs_clear_rtv *op;
+
@@ -2964,19 +2964,19 @@ diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -547,8 +547,12 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
{
@@ -548,8 +548,12 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
struct wined3d_resource *resource = &surface->container->resource;
struct wined3d_device *device = resource->device;
const struct wined3d_blitter_ops *blitter;
+#if !defined(STAGING_CSMT)
struct wined3d_rendertarget_view *view;
struct wined3d_view_desc view_desc;
+#else /* STAGING_CSMT */
+ struct wined3d_rendertarget_view view;
+#endif /* STAGING_CSMT */
const struct blit_shader *blitter;
HRESULT hr;
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
@@ -559,6 +563,7 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
return WINED3DERR_INVALIDCALL;
}
@@ -3005,19 +3005,19 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
return hr;
}
@@ -2258,8 +2276,12 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
{
@@ -2259,8 +2277,12 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
struct wined3d_resource *resource = &s->container->resource;
struct wined3d_device *device = resource->device;
const struct wined3d_blitter_ops *blitter;
+#if !defined(STAGING_CSMT)
struct wined3d_rendertarget_view *view;
struct wined3d_view_desc view_desc;
+#else /* STAGING_CSMT */
+ struct wined3d_rendertarget_view view;
+#endif /* STAGING_CSMT */
const struct blit_shader *blitter;
HRESULT hr;
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
@@ -2270,6 +2292,7 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
return WINED3DERR_INVALIDCALL;
}
@@ -3084,7 +3084,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
swapchain_cleanup(swapchain);
swapchain->parent_ops->wined3d_object_destroyed(swapchain->parent);
HeapFree(GetProcessHeap(), 0, swapchain);
@@ -539,7 +548,11 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain,
@@ -525,7 +534,11 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain,
swapchain_blit(swapchain, context, src_rect, dst_rect);
}
@@ -3096,7 +3096,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
gl_info->gl_ops.gl.p_glFinish();
/* call wglSwapBuffers through the gl table to avoid confusing the Steam overlay */
@@ -919,6 +932,9 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
@@ -905,6 +918,9 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
}
wined3d_cs_init_object(device->cs, wined3d_swapchain_cs_init, swapchain);
@@ -3106,7 +3106,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
if (!swapchain->context[0])
{
@@ -1059,6 +1075,10 @@ static struct wined3d_context *swapchain_create_context(struct wined3d_swapchain
@@ -1045,6 +1061,10 @@ static struct wined3d_context *swapchain_create_context(struct wined3d_swapchain
TRACE("Creating a new context for swapchain %p, thread %u.\n", swapchain, GetCurrentThreadId());
@@ -3117,7 +3117,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
if (!(ctx = context_create(swapchain, swapchain->front_buffer, swapchain->ds_format)))
{
ERR("Failed to create a new context for the swapchain\n");
@@ -1245,6 +1265,9 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha
@@ -1231,6 +1251,9 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha
enum wined3d_multisample_type multisample_type, unsigned int multisample_quality)
{
BOOL update_desc = FALSE;
@@ -3127,7 +3127,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
TRACE("swapchain %p, buffer_count %u, width %u, height %u, format %s, "
"multisample_type %#x, multisample_quality %#x.\n",
@@ -1256,6 +1279,10 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha
@@ -1242,6 +1265,10 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha
if (buffer_count && buffer_count != swapchain->desc.backbuffer_count)
FIXME("Cannot change the back buffer count yet.\n");
@@ -3462,7 +3462,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -594,6 +594,10 @@ static void wined3d_shader_resource_view_cs_init(void *object)
@@ -596,6 +596,10 @@ static void wined3d_shader_resource_view_cs_init(void *object)
debug_d3dformat(resource->format->id), debug_d3dformat(view_format->id));
}
}
@@ -3473,7 +3473,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
}
static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_view *view,
@@ -610,6 +614,9 @@ static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_
@@ -612,6 +616,9 @@ static HRESULT wined3d_shader_resource_view_init(struct wined3d_shader_resource_
wined3d_resource_incref(view->resource = resource);
@@ -3483,7 +3483,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
wined3d_cs_init_object(resource->device->cs, wined3d_shader_resource_view_cs_init, view);
return WINED3D_OK;
@@ -791,6 +798,10 @@ static void wined3d_unordered_access_view_cs_init(void *object)
@@ -793,6 +800,10 @@ static void wined3d_unordered_access_view_cs_init(void *object)
desc, texture, view->format);
}
}
@@ -3494,7 +3494,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
}
static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_access_view *view,
@@ -810,6 +821,9 @@ static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_acces
@@ -812,6 +823,9 @@ static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_acces
wined3d_resource_incref(view->resource = resource);
@@ -3572,7 +3572,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
};
struct wined3d_timestamp_query
@@ -2602,6 +2612,16 @@ struct wined3d_state
@@ -2597,6 +2607,16 @@ struct wined3d_state
struct wined3d_rasterizer_state *rasterizer_state;
};
@@ -3589,7 +3589,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
@@ -2714,6 +2734,14 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2709,6 +2729,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;
@@ -3604,7 +3604,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)
{
@@ -2789,11 +2817,13 @@ static inline void wined3d_resource_release(struct wined3d_resource *resource)
@@ -2784,11 +2812,13 @@ static inline void wined3d_resource_release(struct wined3d_resource *resource)
InterlockedDecrement(&resource->access_count);
}
@@ -3618,7 +3618,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,
@@ -2904,7 +2934,11 @@ struct wined3d_texture
@@ -2899,7 +2929,11 @@ struct wined3d_texture
unsigned int map_count;
DWORD locations;
@@ -3630,7 +3630,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
} sub_resources[1];
};
@@ -3207,6 +3241,7 @@ enum wined3d_push_constants
@@ -3202,6 +3236,7 @@ enum wined3d_push_constants
WINED3D_PUSH_CONSTANTS_PS_B,
};
@@ -3638,7 +3638,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);
@@ -3214,6 +3249,33 @@ struct wined3d_cs_ops
@@ -3209,6 +3244,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);
};
@@ -3672,7 +3672,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
struct wined3d_cs
{
@@ -3224,8 +3286,31 @@ struct wined3d_cs
@@ -3219,8 +3281,31 @@ struct wined3d_cs
size_t data_size, start, end;
void *data;
@@ -3704,14 +3704,14 @@ 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,
@@ -3236,15 +3321,30 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
@@ -3231,15 +3316,30 @@ 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;
+#if defined(STAGING_CSMT)
+void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view,
+ const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
+ const struct blit_shader *blitter) DECLSPEC_HIDDEN;
+ const struct wined3d_blitter_ops *blitter) DECLSPEC_HIDDEN;
+#endif /* STAGING_CSMT */
void wined3d_cs_emit_dispatch(struct wined3d_cs *cs,
unsigned int group_count_x, unsigned int group_count_y, unsigned int group_count_z) DECLSPEC_HIDDEN;
@@ -3735,7 +3735,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;
@@ -3292,10 +3392,20 @@ void wined3d_cs_emit_set_unordered_access_view(struct wined3d_cs *cs, enum wined
@@ -3287,10 +3387,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;
@@ -3756,7 +3756,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,
@@ -3303,12 +3413,14 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource,
@@ -3298,12 +3408,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;