mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against b652c119690afe8b89b8ce9cddde34b4c1589a62.
This commit is contained in:
parent
f9f999d16e
commit
e1ff6e2674
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "7276d5fac1417dd81344db45b3af904f8f2c7d77"
|
||||
echo "b652c119690afe8b89b8ce9cddde34b4c1589a62"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1c6393b228a4764d3b7383fea540948ba147e009 Mon Sep 17 00:00:00 2001
|
||||
From a2fa1f714ab7acc02da34950500d5501e4eca65e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Tue, 21 Jan 2014 13:25:48 +0100
|
||||
Subject: wined3d: Remove surface->pbo.
|
||||
@ -10,7 +10,7 @@ Subject: wined3d: Remove surface->pbo.
|
||||
3 files changed, 18 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 604a79c..75abc0a 100644
|
||||
index fd5cc8c..e9ae033 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -46,7 +46,7 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
@ -22,8 +22,8 @@ index 604a79c..75abc0a 100644
|
||||
|| surface->rb_resolved || !list_empty(&surface->renderbuffers))
|
||||
{
|
||||
struct wined3d_renderbuffer_entry *entry, *entry2;
|
||||
@@ -56,10 +56,10 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
context = context_acquire(surface->resource.device, NULL);
|
||||
@@ -57,10 +57,10 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
|
||||
- if (surface->pbo)
|
||||
@ -36,7 +36,7 @@ index 604a79c..75abc0a 100644
|
||||
}
|
||||
|
||||
if (surface->rb_multisample)
|
||||
@@ -485,7 +485,7 @@ static void surface_get_memory(const struct wined3d_surface *surface, struct win
|
||||
@@ -473,7 +473,7 @@ static void surface_get_memory(const struct wined3d_surface *surface, struct win
|
||||
if (location & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
data->addr = NULL;
|
||||
@ -45,7 +45,7 @@ index 604a79c..75abc0a 100644
|
||||
return;
|
||||
}
|
||||
if (location & WINED3D_LOCATION_USER_MEMORY)
|
||||
@@ -518,20 +518,20 @@ static void surface_prepare_buffer(struct wined3d_surface *surface)
|
||||
@@ -506,20 +506,20 @@ static void surface_prepare_buffer(struct wined3d_surface *surface)
|
||||
GLenum error;
|
||||
const struct wined3d_gl_info *gl_info;
|
||||
|
||||
@ -71,7 +71,7 @@ index 604a79c..75abc0a 100644
|
||||
checkGLcall("glBindBuffer");
|
||||
|
||||
GL_EXTCALL(glBufferData(GL_PIXEL_UNPACK_BUFFER, surface->resource.size + 4,
|
||||
@@ -711,7 +711,7 @@ static void surface_unmap(struct wined3d_surface *surface)
|
||||
@@ -693,7 +693,7 @@ static void surface_unmap(struct wined3d_surface *surface)
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
|
||||
@ -80,7 +80,7 @@ index 604a79c..75abc0a 100644
|
||||
GL_EXTCALL(glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER));
|
||||
GL_EXTCALL(glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0));
|
||||
checkGLcall("glUnmapBuffer");
|
||||
@@ -1091,10 +1091,10 @@ static HRESULT wined3d_surface_depth_blt(struct wined3d_surface *src_surface, DW
|
||||
@@ -1089,10 +1089,10 @@ static HRESULT wined3d_surface_depth_blt(struct wined3d_surface *src_surface, DW
|
||||
/* Context activation is done by the caller. */
|
||||
static void surface_remove_pbo(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info)
|
||||
{
|
||||
@ -94,7 +94,7 @@ index 604a79c..75abc0a 100644
|
||||
wined3d_resource_invalidate_location(&surface->resource, WINED3D_LOCATION_BUFFER);
|
||||
}
|
||||
|
||||
@@ -1161,7 +1161,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1159,7 +1159,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
}
|
||||
|
||||
/* Destroy PBOs, but load them into real sysmem before */
|
||||
@ -103,7 +103,7 @@ index 604a79c..75abc0a 100644
|
||||
surface_remove_pbo(surface, gl_info);
|
||||
|
||||
/* Destroy fbo render buffers. This is needed for implicit render targets, for
|
||||
@@ -2674,7 +2674,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2539,7 +2539,7 @@ HRESULT wined3d_surface_map(struct wined3d_surface *surface, struct wined3d_map_
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
|
||||
@ -112,7 +112,7 @@ index 604a79c..75abc0a 100644
|
||||
base_memory = GL_EXTCALL(glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_READ_WRITE));
|
||||
GL_EXTCALL(glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0));
|
||||
checkGLcall("map PBO");
|
||||
@@ -3990,7 +3990,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -3878,7 +3878,7 @@ static HRESULT 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. */
|
||||
@ -122,10 +122,10 @@ index 604a79c..75abc0a 100644
|
||||
TRACE("Removing the pbo attached to surface %p.\n", surface);
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index dd3a600..d41b79e 100644
|
||||
index 23f4a1b..e3fb0df 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1561,7 +1561,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
||||
@@ -1652,7 +1652,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
||||
}
|
||||
if (!(surface->resource.map_binding == WINED3D_LOCATION_USER_MEMORY
|
||||
|| surface->container->flags & WINED3D_TEXTURE_PIN_SYSMEM
|
||||
@ -135,10 +135,10 @@ index dd3a600..d41b79e 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 3bbe506..7aba4a7 100644
|
||||
index 579d760..51aef5a 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2468,8 +2468,6 @@ struct wined3d_surface
|
||||
@@ -2523,8 +2523,6 @@ struct wined3d_surface
|
||||
UINT pow2Width;
|
||||
UINT pow2Height;
|
||||
|
||||
@ -148,5 +148,5 @@ index 3bbe506..7aba4a7 100644
|
||||
GLuint rb_resolved;
|
||||
GLenum texture_target;
|
||||
--
|
||||
2.7.0
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bd7832b10a3c2c43e33abff97a9447d52166da3e Mon Sep 17 00:00:00 2001
|
||||
From 9ab92589f48b8a5b6b8b65f90efb480d1b02c3d3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 18 Sep 2013 22:49:34 +0200
|
||||
Subject: wined3d: Move buffer creation into the resource.
|
||||
@ -14,10 +14,10 @@ surface_load_location will write a lot of ERRs.
|
||||
3 files changed, 71 insertions(+), 62 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 5204fee..0d2145f 100644
|
||||
index 45c30ab..e9e5d8d 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -223,6 +223,18 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
@@ -233,6 +233,18 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@ -36,7 +36,7 @@ index 5204fee..0d2145f 100644
|
||||
void resource_cleanup(struct wined3d_resource *resource)
|
||||
{
|
||||
const struct wined3d *d3d = resource->device->wined3d;
|
||||
@@ -235,6 +247,9 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
@@ -245,6 +257,9 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
adapter_adjust_memory(resource->device->adapter, (INT64)0 - resource->size);
|
||||
}
|
||||
|
||||
@ -46,17 +46,17 @@ index 5204fee..0d2145f 100644
|
||||
wined3d_resource_free_sysmem(resource);
|
||||
|
||||
device_resource_released(resource->device, resource);
|
||||
@@ -245,6 +260,9 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
@@ -254,6 +269,9 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
{
|
||||
if (resource->map_count)
|
||||
ERR("Resource %p is being unloaded while mapped.\n", resource);
|
||||
|
||||
+
|
||||
+ if (resource->buffer_object)
|
||||
+ wined3d_resource_free_bo(resource);
|
||||
+
|
||||
context_resource_unloaded(resource->device,
|
||||
resource, resource->type);
|
||||
}
|
||||
@@ -597,3 +615,51 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
|
||||
DWORD CDECL wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority)
|
||||
@@ -604,3 +622,51 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -109,7 +109,7 @@ index 5204fee..0d2145f 100644
|
||||
+ }
|
||||
+}
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 78b153d..c95af94 100644
|
||||
index dd041869..99ab8d1 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -314,42 +314,10 @@ void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *
|
||||
@ -215,10 +215,10 @@ index 78b153d..c95af94 100644
|
||||
WARN("Out of memory.\n");
|
||||
map_desc->data = NULL;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 6dc1b04..0049165 100644
|
||||
index 51aef5a..2df5349 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2238,6 +2238,9 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
@@ -2321,6 +2321,9 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
||||
@ -228,7 +228,7 @@ index 6dc1b04..0049165 100644
|
||||
void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
const struct wined3d_context *context) DECLSPEC_HIDDEN;
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
@@ -2367,7 +2370,6 @@ static inline struct wined3d_volume *volume_from_resource(struct wined3d_resourc
|
||||
@@ -2457,7 +2460,6 @@ static inline struct wined3d_volume *volume_from_resource(struct wined3d_resourc
|
||||
return CONTAINING_RECORD(resource, struct wined3d_volume, resource);
|
||||
}
|
||||
|
||||
@ -237,5 +237,5 @@ index 6dc1b04..0049165 100644
|
||||
unsigned int level, struct wined3d_volume **volume) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.6.4
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 408f3f44631f7d3b32e936129e380992c5396094 Mon Sep 17 00:00:00 2001
|
||||
From 37f94c5d3e7b4b872b793b5472bd7d5ccd5aa295 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Tue, 21 Jan 2014 16:41:33 +0100
|
||||
Subject: wined3d: Don't delete the buffer in surface_cleanup.
|
||||
@ -8,11 +8,11 @@ Subject: wined3d: Don't delete the buffer in surface_cleanup.
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 48de325..e5edd34 100644
|
||||
index a51954d..8054573 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -56,12 +56,6 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
context = context_acquire(surface->resource.device, NULL);
|
||||
@@ -57,12 +57,6 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
|
||||
- if (surface->resource.buffer_object)
|
||||
@ -25,5 +25,5 @@ index 48de325..e5edd34 100644
|
||||
{
|
||||
TRACE("Deleting multisample renderbuffer %u.\n", surface->rb_multisample);
|
||||
--
|
||||
2.2.1
|
||||
2.7.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 426922ff0b4f47661031f865c90529fb29f61d38 Mon Sep 17 00:00:00 2001
|
||||
From 67b6f5ac75be711c4aa3c00e1d7153ee2b07dc0a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 20 Dec 2012 13:09:17 +0100
|
||||
Subject: wined3d: Move the framebuffer into wined3d_state
|
||||
@ -42,10 +42,10 @@ index eb09795..21290d8 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 4a3abed..af5b210 100644
|
||||
index 8c3a4bc..66edff8 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -1511,6 +1511,12 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
@@ -1629,6 +1629,12 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain,
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ index 4a3abed..af5b210 100644
|
||||
/* Initialize the texture unit mapping to a 1:1 mapping */
|
||||
for (s = 0; s < MAX_COMBINED_SAMPLERS; ++s)
|
||||
{
|
||||
@@ -1840,6 +1846,7 @@ out:
|
||||
@@ -1958,6 +1964,7 @@ out:
|
||||
if (hdc) wined3d_release_dc(swapchain->win_handle, hdc);
|
||||
device->shader_backend->shader_free_context_data(ret);
|
||||
device->adapter->fragment_pipe->free_context_data(ret);
|
||||
@ -66,15 +66,15 @@ index 4a3abed..af5b210 100644
|
||||
HeapFree(GetProcessHeap(), 0, ret->free_event_queries);
|
||||
HeapFree(GetProcessHeap(), 0, ret->free_occlusion_queries);
|
||||
HeapFree(GetProcessHeap(), 0, ret->free_timestamp_queries);
|
||||
@@ -1874,6 +1881,7 @@ void context_destroy(struct wined3d_device *device, struct wined3d_context *cont
|
||||
@@ -1993,6 +2000,7 @@ void context_destroy(struct wined3d_device *device, struct wined3d_context *cont
|
||||
|
||||
device->shader_backend->shader_free_context_data(context);
|
||||
device->adapter->fragment_pipe->free_context_data(context);
|
||||
+ HeapFree(GetProcessHeap(), 0, context->current_fb.render_targets);
|
||||
HeapFree(GetProcessHeap(), 0, context->fbo_key);
|
||||
HeapFree(GetProcessHeap(), 0, context->draw_buffers);
|
||||
HeapFree(GetProcessHeap(), 0, context->blit_targets);
|
||||
device_context_remove(device, context);
|
||||
@@ -2385,7 +2393,7 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
@@ -2505,7 +2513,7 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
DWORD rt_mask = 0, *cur_mask;
|
||||
UINT i;
|
||||
|
||||
@ -83,7 +83,7 @@ index 4a3abed..af5b210 100644
|
||||
|| rt_count != context->gl_info->limits.buffers)
|
||||
{
|
||||
if (!context_validate_rt_config(rt_count, rts, dsv))
|
||||
@@ -2430,6 +2438,8 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
@@ -2550,6 +2558,8 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
rt_mask = context_generate_rt_mask_no_fbo(device,
|
||||
rt_count ? wined3d_rendertarget_view_get_surface(rts[0]) : NULL);
|
||||
}
|
||||
@ -92,7 +92,7 @@ index 4a3abed..af5b210 100644
|
||||
}
|
||||
else if (wined3d_settings.offscreen_rendering_mode == ORM_FBO
|
||||
&& (!rt_count || wined3d_resource_is_offscreen(rts[0]->resource)))
|
||||
@@ -2489,7 +2499,7 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
@@ -2609,7 +2619,7 @@ BOOL context_apply_clear_state(struct wined3d_context *context, const struct win
|
||||
static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const struct wined3d_device *device)
|
||||
{
|
||||
const struct wined3d_state *state = &device->state;
|
||||
@ -101,7 +101,7 @@ index 4a3abed..af5b210 100644
|
||||
struct wined3d_shader *ps = state->shader[WINED3D_SHADER_TYPE_PIXEL];
|
||||
DWORD rt_mask, rt_mask_bits;
|
||||
unsigned int i;
|
||||
@@ -2519,7 +2529,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
|
||||
@@ -2639,7 +2649,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
|
||||
void context_state_fb(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
const struct wined3d_device *device = context->swapchain->device;
|
||||
@ -110,7 +110,7 @@ index 4a3abed..af5b210 100644
|
||||
DWORD rt_mask = find_draw_buffers_mask(context, device);
|
||||
DWORD *cur_mask;
|
||||
|
||||
@@ -2551,6 +2561,8 @@ void context_state_fb(struct wined3d_context *context, const struct wined3d_stat
|
||||
@@ -2671,6 +2681,8 @@ void context_state_fb(struct wined3d_context *context, const struct wined3d_stat
|
||||
context_apply_draw_buffers(context, rt_mask);
|
||||
*cur_mask = rt_mask;
|
||||
}
|
||||
@ -119,7 +119,7 @@ index 4a3abed..af5b210 100644
|
||||
}
|
||||
|
||||
static void context_map_stage(struct wined3d_context *context, DWORD stage, DWORD unit)
|
||||
@@ -3194,7 +3206,7 @@ BOOL context_apply_draw_state(struct wined3d_context *context, struct wined3d_de
|
||||
@@ -3314,7 +3326,7 @@ BOOL context_apply_draw_state(struct wined3d_context *context, struct wined3d_de
|
||||
{
|
||||
const struct wined3d_state *state = &device->state;
|
||||
const struct StateEntry *state_table = context->state_table;
|
||||
@ -601,7 +601,7 @@ index 88c064c..da51493 100644
|
||||
static unsigned int warned = 0;
|
||||
|
||||
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
index 58d2fed..0e874b0 100644
|
||||
index 3e08907..c94c9be 100644
|
||||
--- a/dlls/wined3d/state.c
|
||||
+++ b/dlls/wined3d/state.c
|
||||
@@ -105,7 +105,7 @@ static void state_zenable(struct wined3d_context *context, const struct wined3d_
|
||||
@ -660,7 +660,7 @@ index 58d2fed..0e874b0 100644
|
||||
float scale;
|
||||
|
||||
union
|
||||
@@ -4543,7 +4543,7 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine
|
||||
@@ -4548,7 +4548,7 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine
|
||||
|
||||
static void viewport_miscpart(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
@ -669,7 +669,7 @@ index 58d2fed..0e874b0 100644
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
struct wined3d_viewport vp = state->viewport;
|
||||
|
||||
@@ -4721,7 +4721,7 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
|
||||
@@ -4726,7 +4726,7 @@ static void scissorrect(struct wined3d_context *context, const struct wined3d_st
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -678,7 +678,7 @@ index 58d2fed..0e874b0 100644
|
||||
UINT height;
|
||||
UINT width;
|
||||
|
||||
@@ -4789,7 +4789,7 @@ void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state
|
||||
@@ -4794,7 +4794,7 @@ void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state
|
||||
|
||||
TRACE("context %p, state %p, state_id %#x.\n", context, state, state_id);
|
||||
|
||||
@ -788,10 +788,10 @@ index cb3d494..6b348b8 100644
|
||||
|
||||
if (FAILED(hr = stateblock_allocate_shader_constants(stateblock)))
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 293210c..341197d 100644
|
||||
index 924bfaf..2de931f 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -3066,8 +3066,8 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
@@ -3051,8 +3051,8 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
|
||||
{
|
||||
struct wined3d_device *device = dst_surface->resource.device;
|
||||
@ -815,10 +815,10 @@ index 0454eb7..cca2a93 100644
|
||||
struct wined3d_context *context;
|
||||
struct wined3d_surface *front;
|
||||
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
|
||||
index 81fb262..457b3f4 100644
|
||||
index eeccb3b..5ebc9fa 100644
|
||||
--- a/dlls/wined3d/utils.c
|
||||
+++ b/dlls/wined3d/utils.c
|
||||
@@ -4117,7 +4117,7 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
|
||||
@@ -4146,7 +4146,7 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
|
||||
float y_offset = context->render_offscreen
|
||||
? (center_offset - (2.0f * y) - h) / h
|
||||
: (center_offset - (2.0f * y) - h) / -h;
|
||||
@ -827,7 +827,7 @@ index 81fb262..457b3f4 100644
|
||||
state->render_states[WINED3D_RS_ZENABLE] : WINED3D_ZB_FALSE;
|
||||
float z_scale = zenable ? 2.0f : 0.0f;
|
||||
float z_offset = zenable ? -1.0f : 0.0f;
|
||||
@@ -4911,7 +4911,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
|
||||
@@ -4939,7 +4939,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -837,7 +837,7 @@ index 81fb262..457b3f4 100644
|
||||
|| !state->render_states[WINED3D_RS_CLIPPLANEENABLE])
|
||||
{
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index a1962bc..c042259 100644
|
||||
index 8abf8e9..0cff772 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1230,6 +1230,36 @@ struct wined3d_timestamp_query
|
||||
@ -885,7 +885,7 @@ index a1962bc..c042259 100644
|
||||
|
||||
struct wined3d_swapchain *swapchain;
|
||||
struct wined3d_surface *current_rt;
|
||||
@@ -1346,12 +1377,6 @@ struct wined3d_context
|
||||
@@ -1347,12 +1378,6 @@ struct wined3d_context
|
||||
GLuint dummy_arbfp_prog;
|
||||
};
|
||||
|
||||
@ -898,7 +898,7 @@ index a1962bc..c042259 100644
|
||||
typedef void (*APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id);
|
||||
|
||||
struct StateEntry
|
||||
@@ -2076,7 +2101,7 @@ struct wined3d_stream_state
|
||||
@@ -2077,7 +2102,7 @@ struct wined3d_stream_state
|
||||
struct wined3d_state
|
||||
{
|
||||
DWORD flags;
|
||||
@ -907,7 +907,7 @@ index a1962bc..c042259 100644
|
||||
|
||||
struct wined3d_vertex_declaration *vertex_declaration;
|
||||
struct wined3d_stream_output stream_output[MAX_STREAM_OUT];
|
||||
@@ -2182,7 +2207,6 @@ struct wined3d_device
|
||||
@@ -2183,7 +2208,6 @@ struct wined3d_device
|
||||
struct wine_rb_tree samplers;
|
||||
|
||||
/* Render Target Support */
|
||||
@ -915,7 +915,7 @@ index a1962bc..c042259 100644
|
||||
struct wined3d_surface *onscreen_depth_stencil;
|
||||
struct wined3d_rendertarget_view *auto_depth_stencil_view;
|
||||
|
||||
@@ -2710,9 +2734,8 @@ struct wined3d_stateblock
|
||||
@@ -2726,9 +2750,8 @@ struct wined3d_stateblock
|
||||
void stateblock_init_contained_states(struct wined3d_stateblock *stateblock) DECLSPEC_HIDDEN;
|
||||
|
||||
void state_cleanup(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
@ -927,7 +927,7 @@ index a1962bc..c042259 100644
|
||||
void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
|
||||
struct wined3d_cs_ops
|
||||
@@ -2725,7 +2748,6 @@ struct wined3d_cs
|
||||
@@ -2741,7 +2764,6 @@ struct wined3d_cs
|
||||
{
|
||||
const struct wined3d_cs_ops *ops;
|
||||
struct wined3d_device *device;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c9ba533914088eba32bfa04e4318c1b18b20388e Mon Sep 17 00:00:00 2001
|
||||
From 15cd6f1aa8cfde737389b5265ee405ac26c92e8c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Fri, 30 Aug 2013 17:00:35 +0200
|
||||
Subject: wined3d: Wrap GL BOs in a structure
|
||||
@ -15,10 +15,10 @@ them for DISCARD maps.
|
||||
6 files changed, 86 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 46058ef..4325e65 100644
|
||||
index e7b2cc2..305684e 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -5254,3 +5254,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
@@ -5154,3 +5154,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
else
|
||||
return CallWindowProcA(proc, window, message, wparam, lparam);
|
||||
}
|
||||
@ -76,7 +76,7 @@ index 46058ef..4325e65 100644
|
||||
+ wined3d_device_destroy_bo(device, context, bo);
|
||||
+}
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 3b9c609..611bfa3 100644
|
||||
index 769adae..fec76d6 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -236,12 +236,10 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
@ -111,9 +111,9 @@ index 3b9c609..611bfa3 100644
|
||||
- if (resource->buffer_object)
|
||||
+ if (resource->buffer)
|
||||
wined3d_resource_free_bo(resource);
|
||||
}
|
||||
|
||||
context_resource_unloaded(resource->device,
|
||||
@@ -537,7 +535,7 @@ void wined3d_resource_get_memory(const struct wined3d_resource *resource,
|
||||
@@ -534,7 +532,7 @@ void wined3d_resource_get_memory(const struct wined3d_resource *resource,
|
||||
{
|
||||
if (location & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
@ -122,7 +122,7 @@ index 3b9c609..611bfa3 100644
|
||||
data->addr = NULL;
|
||||
return;
|
||||
}
|
||||
@@ -646,7 +644,7 @@ BYTE *wined3d_resource_get_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -643,7 +641,7 @@ BYTE *wined3d_resource_get_map_ptr(const struct wined3d_resource *resource,
|
||||
{
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
gl_info = context->gl_info;
|
||||
@ -131,7 +131,7 @@ index 3b9c609..611bfa3 100644
|
||||
|
||||
if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
|
||||
{
|
||||
@@ -689,7 +687,7 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -686,7 +684,7 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
{
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
gl_info = context->gl_info;
|
||||
@ -140,7 +140,7 @@ index 3b9c609..611bfa3 100644
|
||||
GL_EXTCALL(glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER));
|
||||
GL_EXTCALL(glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0));
|
||||
checkGLcall("Unmap GL buffer");
|
||||
@@ -707,20 +705,14 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -704,20 +702,14 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@ -167,7 +167,7 @@ index 3b9c609..611bfa3 100644
|
||||
|
||||
BOOL wined3d_resource_prepare_system_memory(struct wined3d_resource *resource)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 40f4dab..3816f35 100644
|
||||
index bce3067..d01501b 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -48,7 +48,7 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
@ -179,7 +179,7 @@ index 40f4dab..3816f35 100644
|
||||
|| surface->rb_resolved || !list_empty(&surface->renderbuffers))
|
||||
{
|
||||
struct wined3d_renderbuffer_entry *entry, *entry2;
|
||||
@@ -3701,7 +3701,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -3585,7 +3585,7 @@ static HRESULT 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. */
|
||||
@ -189,10 +189,10 @@ index 40f4dab..3816f35 100644
|
||||
TRACE("Removing the pbo attached to surface %p.\n", surface);
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 12796198..0fcc436 100644
|
||||
index fb18d94..c4dc122 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1586,7 +1586,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
||||
@@ -1677,7 +1677,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
|
||||
}
|
||||
if (!(surface->resource.map_binding == WINED3D_LOCATION_USER_MEMORY
|
||||
|| surface->container->flags & WINED3D_TEXTURE_PIN_SYSMEM
|
||||
@ -202,7 +202,7 @@ index 12796198..0fcc436 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 807e626..d93a0bd 100644
|
||||
index 8d827d1..c349a44 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -216,7 +216,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@ -230,10 +230,10 @@ index 807e626..d93a0bd 100644
|
||||
if (volume->resource.locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, FALSE);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 877dd1e..67301c8 100644
|
||||
index bc53f65..6fd14f9 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2120,6 +2120,14 @@ struct wined3d_state
|
||||
@@ -2156,6 +2156,14 @@ struct wined3d_state
|
||||
DWORD render_states[WINEHIGHEST_RENDER_STATE + 1];
|
||||
};
|
||||
|
||||
@ -248,7 +248,7 @@ index 877dd1e..67301c8 100644
|
||||
#define WINED3D_UNMAPPED_STAGE ~0U
|
||||
|
||||
/* Multithreaded flag. Removed from the public header to signal that
|
||||
@@ -2229,6 +2237,11 @@ void device_invalidate_state(const struct wined3d_device *device, DWORD state) D
|
||||
@@ -2265,6 +2273,11 @@ void device_invalidate_state(const struct wined3d_device *device, DWORD state) D
|
||||
void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask) DECLSPEC_HIDDEN;
|
||||
void device_exec_update_texture(struct wined3d_context *context, struct wined3d_texture *src_texture,
|
||||
struct wined3d_texture *dst_texture) DECLSPEC_HIDDEN;
|
||||
@ -260,7 +260,7 @@ index 877dd1e..67301c8 100644
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -2277,7 +2290,7 @@ struct wined3d_resource
|
||||
@@ -2313,7 +2326,7 @@ struct wined3d_resource
|
||||
DWORD priority;
|
||||
void *heap_memory, *user_memory, *bitmap_data;
|
||||
UINT custom_row_pitch, custom_slice_pitch;
|
||||
@ -270,5 +270,5 @@ index 877dd1e..67301c8 100644
|
||||
DWORD locations;
|
||||
LONG access_fence;
|
||||
--
|
||||
2.7.0
|
||||
2.7.1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user