Rebase against 253a587e471a653e1b5ed590280452f43679aa6d.

This commit is contained in:
Sebastian Lackner 2015-09-04 19:22:32 +02:00
parent 36aa7ea01e
commit b3e0c26b34
6 changed files with 54 additions and 54 deletions

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "76c43d817746bb9c81b36e0d0bec4bb0b2ffbdbb"
echo "253a587e471a653e1b5ed590280452f43679aa6d"
}
# Show version information
@ -5743,7 +5743,7 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
patch_apply wined3d-CSMT_Main/0176-wined3d-Destroy-samplers-through-the-command-stream.patch
patch_apply wined3d-CSMT_Main/0177-wined3d-Hack-to-reject-unsupported-color-fills.patch
patch_apply wined3d-CSMT_Main/0178-wined3d-Alloc-the-buffer-map-array-before-mapping-th.patch
patch_apply wined3d-CSMT_Main/0180-wined3d-Avoid-unnecessary-call-to-wined3d_resource_g.patch
patch_apply wined3d-CSMT_Main/0179-wined3d-Avoid-unnecessary-call-to-wined3d_resource_g.patch
patch_apply wined3d-CSMT_Main/9998-wined3d-Enable-CSMT-by-default-print-a-winediag-mess.patch
patch_apply wined3d-CSMT_Main/9999-IfDefined.patch
(

View File

@ -1,4 +1,4 @@
From 651ea75a3da6c0608cb4dae8425f57954ffe723b Mon Sep 17 00:00:00 2001
From 09cdb67f93b21136003250e7cb60ec1a55877e26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sat, 4 Jan 2014 00:53:47 +0100
Subject: wined3d: Remove surface_validate_location.
@ -13,10 +13,10 @@ Subject: wined3d: Remove surface_validate_location.
6 files changed, 21 insertions(+), 31 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index a5c5c43..8f74bf6 100644
index fc91209..582746c 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -7864,7 +7864,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
@@ -7886,7 +7886,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
context_release(context);
@ -26,7 +26,7 @@ index a5c5c43..8f74bf6 100644
}
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 05652e0..a7a83da 100644
index 1ef681a..2683140 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -392,7 +392,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
@ -38,7 +38,7 @@ index 05652e0..a7a83da 100644
surface_invalidate_location(rt, ~rt->container->resource.draw_binding);
}
}
@@ -4057,7 +4057,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
@@ -4041,7 +4041,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
context_release(context);
@ -48,7 +48,7 @@ index 05652e0..a7a83da 100644
}
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 4a61d1b..8ec6ab8 100644
index b669ca3..4b4769f 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1170,7 +1170,7 @@ static void surface_unload(struct wined3d_resource *resource)
@ -69,7 +69,7 @@ index 4a61d1b..8ec6ab8 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
return WINED3D_OK;
@@ -2169,7 +2169,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
@@ -2170,7 +2170,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
valid_location = WINED3D_LOCATION_SYSMEM;
}
@ -78,7 +78,7 @@ index 4a61d1b..8ec6ab8 100644
return WINED3D_OK;
}
@@ -2715,7 +2715,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
@@ -2716,7 +2716,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
{
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
wined3d_debug_location(surface->resource.map_binding));
@ -87,7 +87,7 @@ index 4a61d1b..8ec6ab8 100644
}
else
{
@@ -3274,7 +3274,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
@@ -3288,7 +3288,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
@ -96,7 +96,7 @@ index 4a61d1b..8ec6ab8 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
}
@@ -3547,7 +3547,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
@@ -3561,7 +3561,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
@ -105,7 +105,7 @@ index 4a61d1b..8ec6ab8 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
}
@@ -4053,13 +4053,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
@@ -4067,13 +4067,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
surface->ds_current_size.cy = surface->resource.height;
}
@ -119,7 +119,7 @@ index 4a61d1b..8ec6ab8 100644
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
{
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
@@ -4447,7 +4440,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
@@ -4461,7 +4454,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
break;
}
@ -128,7 +128,7 @@ index 4a61d1b..8ec6ab8 100644
if (location != WINED3D_LOCATION_SYSMEM && (surface->resource.locations & WINED3D_LOCATION_SYSMEM))
surface_evict_sysmem(surface);
@@ -4620,7 +4613,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, DWORD filter,
@@ -4635,7 +4628,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, DWORD filter,
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);
@ -137,7 +137,7 @@ index 4a61d1b..8ec6ab8 100644
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
}
@@ -5600,7 +5593,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5615,7 +5608,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
dst_surface, dst_surface->container->resource.draw_binding, &dst_rect);
context_release(context);
@ -146,7 +146,7 @@ index 4a61d1b..8ec6ab8 100644
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
return WINED3D_OK;
@@ -5698,7 +5691,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
@@ -5707,7 +5700,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
surface->container = container;
surface->resource.format_flags = container->resource.format_flags;
@ -155,7 +155,7 @@ index 4a61d1b..8ec6ab8 100644
list_init(&surface->renderbuffers);
list_init(&surface->overlays);
@@ -5730,7 +5723,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
@@ -5739,7 +5732,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
if (surface->resource.map_binding == WINED3D_LOCATION_DIB)
{
wined3d_resource_free_sysmem(&surface->resource);
@ -165,7 +165,7 @@ index 4a61d1b..8ec6ab8 100644
}
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index ce7ff46..cd1aabd 100644
index cc7c3e0..b3c5b18 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -569,19 +569,19 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@ -201,8 +201,8 @@ index ce7ff46..cd1aabd 100644
surface_invalidate_location(back_buffer, ~back_buffer->container->resource.draw_binding);
}
}
@@ -865,7 +865,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
wined3d_texture_set_swapchain(swapchain->front_buffer, swapchain);
@@ -858,7 +858,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
front_buffer = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));
if (!(device->wined3d->flags & WINED3D_NO3D))
{
- surface_validate_location(front_buffer, WINED3D_LOCATION_DRAWABLE);
@ -211,10 +211,10 @@ index ce7ff46..cd1aabd 100644
}
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index ffaf779..e6e0d78 100644
index 187862c..7671f46 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -800,9 +800,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *
@@ -794,9 +794,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *
static void texture2d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
{
@ -226,7 +226,7 @@ index ffaf779..e6e0d78 100644
static void texture2d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 7944ae0..6a3a863 100644
index 140588e..ef2dfa7 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2447,7 +2447,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
@ -238,5 +238,5 @@ index 7944ae0..6a3a863 100644
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
--
2.5.0
2.5.1

View File

@ -1,4 +1,4 @@
From 994d4c154e7017344ddf8ba6403a9c02ca177b4f Mon Sep 17 00:00:00 2001
From 070101f77c342c4eeb49e01d3cc9ca9eaa63fe24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Thu, 10 Oct 2013 16:43:19 +0200
Subject: wined3d: Create the initial context through the CS.
@ -11,7 +11,7 @@ Very hacky.
3 files changed, 103 insertions(+), 53 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index 97281c8..a643b84 100644
index 7dc847b..c78ac12 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -89,6 +89,7 @@ enum wined3d_cs_op
@ -77,7 +77,7 @@ index 97281c8..a643b84 100644
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index d2e2c05..d72eb8a 100644
index efe6987..71e5df6 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -723,6 +723,69 @@ static void swapchain_update_render_to_fbo(struct wined3d_swapchain *swapchain)
@ -150,7 +150,7 @@ index d2e2c05..d72eb8a 100644
static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3d_device *device,
struct wined3d_swapchain_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops)
{
@@ -847,60 +910,9 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
@@ -840,60 +903,9 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
if (!(device->wined3d->flags & WINED3D_NO3D))
{
@ -170,7 +170,9 @@ index d2e2c05..d72eb8a 100644
- {
- ERR("Failed to create the context array.\n");
- hr = E_OUTOFMEMORY;
- goto err;
+ hr = wined3d_cs_emit_create_swapchain_context(device->cs, swapchain);
+ if (FAILED(hr))
goto err;
- }
- swapchain->num_contexts = 1;
-
@ -198,9 +200,7 @@ index d2e2c05..d72eb8a 100644
- {
- WARN("Failed to create context.\n");
- hr = WINED3DERR_NOTAVAILABLE;
+ hr = wined3d_cs_emit_create_swapchain_context(device->cs, swapchain);
+ if (FAILED(hr))
goto err;
- goto err;
- }
-
- if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
@ -214,7 +214,7 @@ index d2e2c05..d72eb8a 100644
if (swapchain->desc.backbuffer_count > 0)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index fa5f6d8..b16dae9 100644
index df99c6f..4f2e652 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2804,6 +2804,8 @@ void wined3d_cs_emit_volume_cleanup(struct wined3d_cs *cs, struct wined3d_volume
@ -236,5 +236,5 @@ index fa5f6d8..b16dae9 100644
/*****************************************************************************
* Utility function prototypes
--
2.5.0
2.5.1

View File

@ -1,4 +1,4 @@
From be5885b9e5a4f9a8dd659a0b26d829844e232ffe Mon Sep 17 00:00:00 2001
From cc06aee370abd3cb1d9cd3ff52a8859c7810fcd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Fri, 29 Aug 2014 14:46:19 +0200
Subject: wined3d: Make sure the new window is set up before setting up a
@ -9,10 +9,10 @@ Subject: wined3d: Make sure the new window is set up before setting up a
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 563b6f0..eb5aa4c 100644
index 0173d18..3ae0091 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4381,6 +4381,27 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
@@ -4454,6 +4454,27 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
}
}
@ -40,7 +40,7 @@ index 563b6f0..eb5aa4c 100644
TRACE("New params:\n");
TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width);
TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height);
@@ -4507,11 +4528,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
@@ -4580,11 +4601,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
swapchain_desc->multisample_type, swapchain_desc->multisample_quality)))
return hr;
@ -51,8 +51,8 @@ index 563b6f0..eb5aa4c 100644
- }
if (swapchain->desc.enable_auto_depth_stencil)
{
struct wined3d_resource_desc surface_desc;
@@ -4549,11 +4565,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
struct wined3d_resource_desc texture_desc;
@@ -4627,11 +4643,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
}
@ -65,5 +65,5 @@ index 563b6f0..eb5aa4c 100644
surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)),
NULL, &wined3d_null_parent_ops, &device->back_buffer_view)))
--
2.5.0
2.5.1

View File

@ -233,7 +233,7 @@ diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
struct wined3d_swapchain_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops)
{
@@ -881,8 +1004,13 @@
wined3d_texture_set_swapchain(swapchain->front_buffer, swapchain);
front_buffer = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));
if (!(device->wined3d->flags & WINED3D_NO3D))
{
+#if defined(STAGING_CSMT)
@ -4475,8 +4475,8 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
+#endif /* STAGING_CSMT */
if (swapchain->desc.enable_auto_depth_stencil)
{
struct wined3d_resource_desc surface_desc;
@@ -4656,6 +5330,13 @@
struct wined3d_resource_desc texture_desc;
@@ -4661,6 +5335,13 @@
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
}
@ -4490,7 +4490,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (swapchain->desc.backbuffer_count && FAILED(hr = wined3d_rendertarget_view_create_from_surface(
surface_from_resource(wined3d_texture_get_sub_resource(swapchain->back_buffers[0], 0)),
NULL, &wined3d_null_parent_ops, &device->back_buffer_view)))
@@ -4676,12 +5357,20 @@
@@ -4681,12 +5362,20 @@
}
wined3d_cs_emit_reset_state(device->cs);
state_cleanup(&device->state);
@ -4511,7 +4511,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
&device->adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
ERR("Failed to initialize device state, hr %#x.\n", hr);
device->update_state = &device->state;
@@ -4690,6 +5379,7 @@
@@ -4695,6 +5384,7 @@
}
else if (device->back_buffer_view)
{
@ -4519,7 +4519,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
struct wined3d_state *state = &device->state;
wined3d_device_set_rendertarget_view(device, 0, device->back_buffer_view, FALSE);
@@ -4705,6 +5395,24 @@
@@ -4710,6 +5400,24 @@
state->scissor_rect.left = 0;
state->scissor_rect.right = swapchain->desc.backbuffer_width;
state->scissor_rect.bottom = swapchain->desc.backbuffer_height;
@ -4544,7 +4544,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
wined3d_cs_emit_set_scissor_rect(device->cs, &state->scissor_rect);
}
@@ -4780,6 +5488,10 @@
@@ -4785,6 +5493,10 @@
TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type));
@ -4555,7 +4555,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
switch (type)
{
case WINED3D_RTYPE_SURFACE:
@@ -4790,6 +5502,7 @@
@@ -4795,6 +5507,7 @@
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
{
@ -4563,7 +4563,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
if (wined3d_rendertarget_view_get_surface(device->state.fb.render_targets[i]) == surface)
{
ERR("Surface %p is still in use as render target %u.\n", surface, i);
@@ -4801,6 +5514,19 @@
@@ -4806,6 +5519,19 @@
{
ERR("Surface %p is still in use as depth/stencil buffer.\n", surface);
device->state.fb.depth_stencil = NULL;
@ -4583,7 +4583,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
}
}
break;
@@ -4963,7 +5689,11 @@
@@ -4968,7 +5694,11 @@
device->blitter = adapter->blitter;
@ -4595,7 +4595,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
&adapter->d3d_info, WINED3D_STATE_INIT_DEFAULT)))
{
ERR("Failed to initialize device state, hr %#x.\n", hr);
@@ -5062,6 +5792,7 @@
@@ -5067,6 +5797,7 @@
else
return CallWindowProcA(proc, window, message, wparam, lparam);
}
@ -4603,7 +4603,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
/* Context activation is done by the caller */
struct wined3d_gl_bo *wined3d_device_get_bo(struct wined3d_device *device, UINT size, GLenum gl_usage,
@@ -5115,3 +5846,4 @@
@@ -5120,3 +5851,4 @@
wined3d_device_destroy_bo(device, context, bo);
}