mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 370254cbe93beae6a9ff693d98c638db5bfb1134.
This commit is contained in:
parent
3faa0f1212
commit
75dc81b7d3
@ -143,7 +143,7 @@ for more details.*
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
|
||||
* ~~Fix cursor clip regression / broken raw input in multiple games~~ ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
|
||||
* Fix detection of case-insensitive systems in MSYS2
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix endless loop in regedit when importing files with very long lines
|
||||
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -22,6 +22,8 @@ wine-staging (1.7.55) UNRELEASED; urgency=low
|
||||
upstream).
|
||||
* Removed patch to fix handling of opening read-only files for
|
||||
FILE_DELETE_ON_CLOSE (accepted upstream).
|
||||
* Removed patch to fix cursor clip regression / broken raw input in multiple
|
||||
games (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 01 Nov 2015 01:06:20 +0100
|
||||
|
||||
wine-staging (1.7.54) unstable; urgency=low
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ff63d064b47c582a0b31a0120d9555af5f041b7d Mon Sep 17 00:00:00 2001
|
||||
From 5733c4ddb3e5a2ff310fed2a585da13538345b97 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 18 Jan 2015 05:42:10 +0100
|
||||
Subject: ntoskrnl.exe/tests: Add initial driver testing framework and
|
||||
@ -73,10 +73,10 @@ index 774377d..bf91b70 100644
|
||||
dnl
|
||||
dnl Usage: WINE_CONFIG_LIB(name,flags)
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 84420a9..fe4b94e 100644
|
||||
index 48268b0..782d1d7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3203,6 +3203,8 @@ WINE_CONFIG_TEST(dlls/ntdll/tests)
|
||||
@@ -3142,6 +3142,8 @@ WINE_CONFIG_TEST(dlls/ntdll/tests)
|
||||
WINE_CONFIG_DLL(ntdsapi,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/ntdsapi/tests)
|
||||
WINE_CONFIG_DLL(ntoskrnl.exe,,[implib])
|
||||
@ -557,16 +557,16 @@ index b7f8b63..8143c4f 100755
|
||||
{
|
||||
die "MODULE should not be defined as static lib in $file" unless $file =~ /^dlls\//;
|
||||
diff --git a/tools/makedep.c b/tools/makedep.c
|
||||
index d8cf2f5..6094148 100644
|
||||
index 023c0ec..a4884cf 100644
|
||||
--- a/tools/makedep.c
|
||||
+++ b/tools/makedep.c
|
||||
@@ -170,4 +170,5 @@ struct makefile
|
||||
@@ -171,4 +171,5 @@ struct makefile
|
||||
const char *module;
|
||||
const char *testdll;
|
||||
+ const char *resource;
|
||||
const char *sharedlib;
|
||||
const char *staticlib;
|
||||
const char *importlib;
|
||||
@@ -472,6 +473,30 @@ static char *get_extension( char *filename )
|
||||
@@ -474,6 +475,30 @@ static char *get_extension( char *filename )
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
@ -597,7 +597,7 @@ index d8cf2f5..6094148 100644
|
||||
* replace_extension
|
||||
*/
|
||||
static char *replace_extension( const char *name, const char *old_ext, const char *new_ext )
|
||||
@@ -1958,6 +1983,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
@@ -2025,6 +2050,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
struct strarray subdirs = empty_strarray;
|
||||
struct strarray phony_targets = empty_strarray;
|
||||
struct strarray all_targets = empty_strarray;
|
||||
@ -605,7 +605,7 @@ index d8cf2f5..6094148 100644
|
||||
struct strarray install_rules[NB_INSTALL_RULES];
|
||||
char *ldrpath_local = get_expanded_make_variable( make, "LDRPATH_LOCAL" );
|
||||
char *ldrpath_install = get_expanded_make_variable( make, "LDRPATH_INSTALL" );
|
||||
@@ -2229,7 +2255,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
@@ -2297,7 +2323,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -614,7 +614,7 @@ index d8cf2f5..6094148 100644
|
||||
(source->file->flags & FLAG_C_IMPLIB) ||
|
||||
(make->module && make->staticlib);
|
||||
|
||||
@@ -2243,7 +2269,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
@@ -2311,7 +2337,7 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
output_filenames( includes );
|
||||
output_filenames( make->define_args );
|
||||
output_filenames( extradefs );
|
||||
@ -623,7 +623,7 @@ index d8cf2f5..6094148 100644
|
||||
{
|
||||
output_filenames( dll_flags );
|
||||
if (make->use_msvcrt) output_filenames( msvcrt_flags );
|
||||
@@ -2322,6 +2348,72 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
@@ -2390,6 +2416,72 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
output( "\n" );
|
||||
}
|
||||
|
||||
@ -696,7 +696,7 @@ index d8cf2f5..6094148 100644
|
||||
if (make->module && !make->staticlib)
|
||||
{
|
||||
struct strarray all_libs = empty_strarray;
|
||||
@@ -2666,6 +2758,83 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
@@ -2780,6 +2872,83 @@ static struct strarray output_sources( const struct makefile *make, struct strar
|
||||
add_install_rule( make, install_rules, make->scripts.str[i], make->scripts.str[i],
|
||||
strmake( "S$(bindir)/%s", make->scripts.str[i] ));
|
||||
|
||||
@ -780,12 +780,12 @@ index d8cf2f5..6094148 100644
|
||||
if (all_targets.count)
|
||||
{
|
||||
output( "all:" );
|
||||
@@ -2951,4 +3120,5 @@ static void update_makefile( const char *path )
|
||||
@@ -3075,4 +3244,5 @@ static void update_makefile( const char *path )
|
||||
make->module = get_expanded_make_variable( make, "MODULE" );
|
||||
make->testdll = get_expanded_make_variable( make, "TESTDLL" );
|
||||
+ make->resource = get_expanded_make_variable( make, "RESOURCE" );
|
||||
make->sharedlib = get_expanded_make_variable( make, "SHAREDLIB" );
|
||||
make->staticlib = get_expanded_make_variable( make, "STATICLIB" );
|
||||
make->importlib = get_expanded_make_variable( make, "IMPORTLIB" );
|
||||
--
|
||||
2.6.2
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "5cf95396503d49f0249c473c1ed51e51213124c0"
|
||||
echo "370254cbe93beae6a9ff693d98c638db5bfb1134"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -4691,17 +4691,14 @@ fi
|
||||
# Patchset server-ClipCursor
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#33479] Fix cursor clip regression / broken raw input in multiple games
|
||||
# | * [#38087] Fix multithreading issues with fullscreen clipping
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/message.c, dlls/winex11.drv/mouse.c, server/queue.c
|
||||
# | * dlls/winex11.drv/mouse.c
|
||||
# |
|
||||
if test "$enable_server_ClipCursor" -eq 1; then
|
||||
patch_apply server-ClipCursor/0001-server-Only-send-WM_WINE_CLIPCURSOR-for-forced-clip-.patch
|
||||
patch_apply server-ClipCursor/0002-winex11-Forward-all-clipping-requests-to-the-right-t.patch
|
||||
patch_apply server-ClipCursor/0001-winex11-Forward-all-clipping-requests-to-the-right-t.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "server: Only send WM_WINE_CLIPCURSOR for forced clip resets.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "winex11: Forward all clipping requests to the right thread (including fullscreen clipping).", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
@ -1,70 +0,0 @@
|
||||
From d4e11dc9293e9faea3edb4c0d7c3defbb621ca97 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 22 Jan 2015 16:34:58 +0100
|
||||
Subject: server: Only send WM_WINE_CLIPCURSOR for forced clip resets.
|
||||
|
||||
---
|
||||
dlls/user32/message.c | 6 ++++++
|
||||
server/queue.c | 8 ++++----
|
||||
2 files changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
|
||||
index eac4e4d..67e1cf4 100644
|
||||
--- a/dlls/user32/message.c
|
||||
+++ b/dlls/user32/message.c
|
||||
@@ -1881,6 +1881,12 @@ static LRESULT handle_internal_message( HWND hwnd, UINT msg, WPARAM wparam, LPAR
|
||||
return call_current_hook( h_extra->handle, HC_ACTION, wparam, h_extra->lparam );
|
||||
}
|
||||
case WM_WINE_CLIPCURSOR:
|
||||
+ if (!lparam)
|
||||
+ {
|
||||
+ /* This is just a notification, nothing to do. Clipping will be
|
||||
+ * done by the process that issues the set_cursor wineserver call. */
|
||||
+ return 0;
|
||||
+ }
|
||||
if (wparam)
|
||||
{
|
||||
RECT rect;
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index 3a321cd..19acbd3 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -362,7 +362,7 @@ static void set_cursor_pos( struct desktop *desktop, int x, int y )
|
||||
}
|
||||
|
||||
/* set the cursor clip rectangle */
|
||||
-static void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect )
|
||||
+static void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect, int do_clip )
|
||||
{
|
||||
rectangle_t top_rect;
|
||||
int x, y;
|
||||
@@ -381,7 +381,7 @@ static void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect
|
||||
else desktop->cursor.clip = top_rect;
|
||||
|
||||
if (desktop->cursor.clip_msg)
|
||||
- post_desktop_message( desktop, desktop->cursor.clip_msg, rect != NULL, 0 );
|
||||
+ post_desktop_message( desktop, desktop->cursor.clip_msg, rect != NULL, do_clip );
|
||||
|
||||
/* warp the mouse to be inside the clip rect */
|
||||
x = min( max( desktop->cursor.x, desktop->cursor.clip.left ), desktop->cursor.clip.right-1 );
|
||||
@@ -393,7 +393,7 @@ static void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect
|
||||
static void set_foreground_input( struct desktop *desktop, struct thread_input *input )
|
||||
{
|
||||
if (desktop->foreground_input == input) return;
|
||||
- set_clip_rectangle( desktop, NULL );
|
||||
+ set_clip_rectangle( desktop, NULL, 1 );
|
||||
desktop->foreground_input = input;
|
||||
}
|
||||
|
||||
@@ -3023,7 +3023,7 @@ DECL_HANDLER(set_cursor)
|
||||
if (req->clip_msg && get_top_window_owner(desktop) == current->process)
|
||||
desktop->cursor.clip_msg = req->clip_msg;
|
||||
|
||||
- set_clip_rectangle( desktop, (req->flags & SET_CURSOR_NOCLIP) ? NULL : &req->clip );
|
||||
+ set_clip_rectangle( desktop, (req->flags & SET_CURSOR_NOCLIP) ? NULL : &req->clip, 0 );
|
||||
}
|
||||
|
||||
reply->new_x = input->desktop->cursor.x;
|
||||
--
|
||||
2.3.1
|
||||
|
@ -1,3 +1,2 @@
|
||||
Fixes: [33479] Fix cursor clip regression / broken raw input in multiple games
|
||||
Fixes: [38087] Fix multithreading issues with fullscreen clipping
|
||||
Category: stable
|
||||
|
@ -3416,7 +3416,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
device->d3d_initialized = FALSE;
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -1461,6 +1627,16 @@
|
||||
@@ -1462,6 +1628,16 @@
|
||||
TRACE("... Range(%f), Falloff(%f), Theta(%f), Phi(%f)\n",
|
||||
light->range, light->falloff, light->theta, light->phi);
|
||||
|
||||
@ -3433,7 +3433,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
/* Save away the information. */
|
||||
object->OriginalParms = *light;
|
||||
|
||||
@@ -1540,9 +1716,11 @@
|
||||
@@ -1541,9 +1717,11 @@
|
||||
FIXME("Unrecognized light type %#x.\n", light->type);
|
||||
}
|
||||
|
||||
@ -3445,7 +3445,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@@ -1615,6 +1793,14 @@
|
||||
@@ -1616,6 +1794,14 @@
|
||||
{
|
||||
if (light_info->glIndex != -1)
|
||||
{
|
||||
@ -3460,7 +3460,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
device->update_state->lights[light_info->glIndex] = NULL;
|
||||
light_info->glIndex = -1;
|
||||
}
|
||||
@@ -1656,11 +1842,23 @@
|
||||
@@ -1657,11 +1843,23 @@
|
||||
WARN("Too many concurrently active lights\n");
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@ -3484,7 +3484,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -1835,9 +2033,11 @@
|
||||
@@ -1836,9 +2034,11 @@
|
||||
TRACE("device %p, base_index %d.\n", device, base_index);
|
||||
|
||||
device->update_state->base_vertex_index = base_index;
|
||||
@ -3496,7 +3496,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
INT CDECL wined3d_device_get_base_vertex_index(const struct wined3d_device *device)
|
||||
@@ -1882,7 +2082,11 @@
|
||||
@@ -1883,7 +2083,11 @@
|
||||
|| !(texture->resource.format_flags & WINED3DFMT_FLAG_DEPTH))
|
||||
return;
|
||||
surface = surface_from_resource(texture->sub_resources[0]);
|
||||
@ -3508,7 +3508,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
return;
|
||||
|
||||
wined3d_surface_blt(surface, NULL, depth_stencil, NULL, 0, NULL, WINED3D_TEXF_POINT);
|
||||
@@ -2202,7 +2406,11 @@
|
||||
@@ -2203,7 +2407,11 @@
|
||||
return device->state.sampler[WINED3D_SHADER_TYPE_VERTEX][idx];
|
||||
}
|
||||
|
||||
@ -3520,7 +3520,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
{
|
||||
UINT i;
|
||||
|
||||
@@ -2235,8 +2443,12 @@
|
||||
@@ -2236,8 +2444,12 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3533,7 +3533,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2283,8 +2495,12 @@
|
||||
@@ -2284,8 +2496,12 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3546,7 +3546,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2335,8 +2551,13 @@
|
||||
@@ -2336,8 +2552,13 @@
|
||||
memset(device->recording->changed.vertexShaderConstantsF + start_register, 1,
|
||||
sizeof(*device->recording->changed.vertexShaderConstantsF) * vector4f_count);
|
||||
else
|
||||
@ -3560,7 +3560,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2471,8 +2692,12 @@
|
||||
@@ -2472,8 +2693,12 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3573,7 +3573,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2519,8 +2744,12 @@
|
||||
@@ -2520,8 +2745,12 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3586,7 +3586,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2572,8 +2801,12 @@
|
||||
@@ -2573,8 +2802,12 @@
|
||||
memset(device->recording->changed.pixelShaderConstantsF + start_register, 1,
|
||||
sizeof(*device->recording->changed.pixelShaderConstantsF) * vector4f_count);
|
||||
else
|
||||
@ -3599,7 +3599,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2733,6 +2966,7 @@
|
||||
@@ -2734,6 +2967,7 @@
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -3607,7 +3607,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (wined3d_settings.cs_multithreaded)
|
||||
{
|
||||
FIXME("Waiting for cs.\n");
|
||||
@@ -2740,6 +2974,7 @@
|
||||
@@ -2741,6 +2975,7 @@
|
||||
device->cs->ops->finish(device->cs);
|
||||
}
|
||||
|
||||
@ -3615,7 +3615,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_device_get_transform(device, WINED3D_TS_VIEW, &view_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_PROJECTION, &proj_mat);
|
||||
wined3d_device_get_transform(device, WINED3D_TS_WORLD_MATRIX(0), &world_mat);
|
||||
@@ -3225,6 +3460,10 @@
|
||||
@@ -3226,6 +3461,10 @@
|
||||
|
||||
HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)
|
||||
{
|
||||
@ -3626,7 +3626,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("device %p.\n", device);
|
||||
|
||||
if (!device->inScene)
|
||||
@@ -3233,6 +3472,15 @@
|
||||
@@ -3234,6 +3473,15 @@
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -3642,7 +3642,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
device->inScene = FALSE;
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -3240,8 +3488,10 @@
|
||||
@@ -3241,8 +3489,10 @@
|
||||
HRESULT CDECL wined3d_device_clear(struct wined3d_device *device, DWORD rect_count,
|
||||
const RECT *rects, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil)
|
||||
{
|
||||
@ -3653,7 +3653,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("device %p, rect_count %u, rects %p, flags %#x, color {%.8e, %.8e, %.8e, %.8e}, depth %.8e, stencil %u.\n",
|
||||
device, rect_count, rects, flags, color->r, color->g, color->b, color->a, depth, stencil);
|
||||
|
||||
@@ -3250,12 +3500,19 @@
|
||||
@@ -3251,12 +3501,19 @@
|
||||
WARN("Rects is %p, but rect_count is 0, ignoring clear\n", rects);
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@ -3673,7 +3673,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (!ds)
|
||||
{
|
||||
WARN("Clearing depth and/or stencil without a depth stencil buffer attached, returning WINED3DERR_INVALIDCALL\n");
|
||||
@@ -3264,8 +3521,13 @@
|
||||
@@ -3265,8 +3522,13 @@
|
||||
}
|
||||
else if (flags & WINED3DCLEAR_TARGET)
|
||||
{
|
||||
@ -3687,7 +3687,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
{
|
||||
WARN("Silently ignoring depth and target clear with mismatching sizes\n");
|
||||
return WINED3D_OK;
|
||||
@@ -3311,6 +3573,9 @@
|
||||
@@ -3312,6 +3574,9 @@
|
||||
enum wined3d_primitive_type primitive_type)
|
||||
{
|
||||
GLenum gl_primitive_type, prev;
|
||||
@ -3697,7 +3697,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("device %p, primitive_type %s\n", device, debug_d3dprimitivetype(primitive_type));
|
||||
|
||||
gl_primitive_type = gl_primitive_type_from_d3d(primitive_type);
|
||||
@@ -3318,8 +3583,13 @@
|
||||
@@ -3319,8 +3584,13 @@
|
||||
device->update_state->gl_primitive_type = gl_primitive_type;
|
||||
if (device->recording)
|
||||
device->recording->changed.primitive_type = TRUE;
|
||||
@ -3711,7 +3711,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
void CDECL wined3d_device_get_primitive_type(const struct wined3d_device *device,
|
||||
@@ -3342,6 +3612,14 @@
|
||||
@@ -3343,6 +3613,14 @@
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -3726,7 +3726,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_draw(device->cs, start_vertex, vertex_count, 0, 0, FALSE);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -3358,6 +3636,10 @@
|
||||
@@ -3359,6 +3637,10 @@
|
||||
|
||||
HRESULT CDECL wined3d_device_draw_indexed_primitive(struct wined3d_device *device, UINT start_idx, UINT index_count)
|
||||
{
|
||||
@ -3737,7 +3737,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("device %p, start_idx %u, index_count %u.\n", device, start_idx, index_count);
|
||||
|
||||
if (!device->state.index_buffer)
|
||||
@@ -3376,6 +3658,15 @@
|
||||
@@ -3377,6 +3659,15 @@
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -3753,7 +3753,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_draw(device->cs, start_idx, index_count, 0, 0, TRUE);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -3391,6 +3682,7 @@
|
||||
@@ -3392,6 +3683,7 @@
|
||||
}
|
||||
|
||||
/* This is a helper function for UpdateTexture, there is no UpdateVolume method in D3D. */
|
||||
@ -3761,7 +3761,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
static void device_update_volume(struct wined3d_context *context,
|
||||
struct wined3d_volume *src_volume, struct wined3d_volume *dst_volume)
|
||||
{
|
||||
@@ -3427,6 +3719,88 @@
|
||||
@@ -3428,6 +3720,88 @@
|
||||
{
|
||||
enum wined3d_resource_type type = src_texture->resource.type;
|
||||
unsigned int level_count, i, j, src_size, dst_size, src_skip_levels = 0;
|
||||
@ -3850,7 +3850,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
level_count = min(wined3d_texture_get_level_count(src_texture),
|
||||
wined3d_texture_get_level_count(dst_texture));
|
||||
@@ -3445,7 +3819,13 @@
|
||||
@@ -3446,7 +3820,13 @@
|
||||
}
|
||||
|
||||
/* Make sure that the destination texture is loaded. */
|
||||
@ -3864,7 +3864,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
/* Update every surface level of the texture. */
|
||||
switch (type)
|
||||
@@ -3460,7 +3840,16 @@
|
||||
@@ -3461,7 +3841,16 @@
|
||||
src_surface = surface_from_resource(wined3d_texture_get_sub_resource(src_texture,
|
||||
i + src_skip_levels));
|
||||
dst_surface = surface_from_resource(wined3d_texture_get_sub_resource(dst_texture, i));
|
||||
@ -3881,7 +3881,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -3480,7 +3869,16 @@
|
||||
@@ -3481,7 +3870,16 @@
|
||||
i * src_levels + j + src_skip_levels));
|
||||
dst_surface = surface_from_resource(wined3d_texture_get_sub_resource(dst_texture,
|
||||
i * dst_levels + j));
|
||||
@ -3898,7 +3898,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -3490,6 +3888,7 @@
|
||||
@@ -3491,6 +3889,7 @@
|
||||
{
|
||||
for (i = 0; i < level_count; ++i)
|
||||
{
|
||||
@ -3906,7 +3906,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
device_update_volume(context,
|
||||
volume_from_resource(wined3d_texture_get_sub_resource(src_texture,
|
||||
i + src_skip_levels)),
|
||||
@@ -3543,6 +3942,25 @@
|
||||
@@ -3544,6 +3943,25 @@
|
||||
}
|
||||
|
||||
wined3d_cs_emit_update_texture(device->cs, src_texture, dst_texture);
|
||||
@ -3932,7 +3932,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -3592,8 +4010,13 @@
|
||||
@@ -3593,8 +4011,13 @@
|
||||
if (state->render_states[WINED3D_RS_ZENABLE] || state->render_states[WINED3D_RS_ZWRITEENABLE]
|
||||
|| state->render_states[WINED3D_RS_STENCILENABLE])
|
||||
{
|
||||
@ -3946,7 +3946,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
if (ds && rt && (ds->width < rt->width || ds->height < rt->height))
|
||||
{
|
||||
@@ -3692,6 +4115,7 @@
|
||||
@@ -3693,6 +4116,7 @@
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect,
|
||||
struct wined3d_surface *dst_surface, const POINT *dst_point)
|
||||
{
|
||||
@ -3954,7 +3954,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
const struct wined3d_format *src_format = src_surface->resource.format;
|
||||
const struct wined3d_format *dst_format = dst_surface->resource.format;
|
||||
UINT update_w, update_h;
|
||||
@@ -3699,6 +4123,7 @@
|
||||
@@ -3700,6 +4124,7 @@
|
||||
RECT r, dst_rect;
|
||||
POINT p;
|
||||
|
||||
@ -3962,7 +3962,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("device %p, src_surface %p, src_rect %s, dst_surface %p, dst_point %s.\n",
|
||||
device, src_surface, wine_dbgstr_rect(src_rect),
|
||||
dst_surface, wine_dbgstr_point(dst_point));
|
||||
@@ -3710,6 +4135,7 @@
|
||||
@@ -3711,6 +4136,7 @@
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -3970,7 +3970,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (src_format->id != dst_format->id)
|
||||
{
|
||||
WARN("Source and destination surfaces should have the same format.\n");
|
||||
@@ -3774,6 +4200,9 @@
|
||||
@@ -3775,6 +4201,9 @@
|
||||
wined3d_cs_emit_update_surface(device->cs, src_surface, src_rect, dst_surface, dst_point);
|
||||
|
||||
return WINED3D_OK;
|
||||
@ -3980,7 +3980,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
void CDECL wined3d_device_copy_resource(struct wined3d_device *device,
|
||||
@@ -3928,7 +4357,17 @@
|
||||
@@ -3929,7 +4358,17 @@
|
||||
unsigned int depth_pitch)
|
||||
{
|
||||
struct wined3d_resource *sub_resource;
|
||||
@ -3998,7 +3998,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
TRACE("device %p, resource %p, sub_resource_idx %u, box %p, data %p, row_pitch %u, depth_pitch %u.\n",
|
||||
device, resource, sub_resource_idx, box, data, row_pitch, depth_pitch);
|
||||
@@ -3945,7 +4384,14 @@
|
||||
@@ -3946,7 +4385,14 @@
|
||||
WARN("Invalid sub_resource_idx %u.\n", sub_resource_idx);
|
||||
return;
|
||||
}
|
||||
@ -4013,7 +4013,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (box)
|
||||
{
|
||||
if (box->left >= box->right || box->right > sub_resource->width
|
||||
@@ -3955,9 +4401,47 @@
|
||||
@@ -3956,9 +4402,47 @@
|
||||
box->left, box->top, box->front, box->right, box->bottom, box->back);
|
||||
return;
|
||||
}
|
||||
@ -4061,7 +4061,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *device,
|
||||
@@ -3988,8 +4472,14 @@
|
||||
@@ -3989,8 +4473,14 @@
|
||||
rect = &r;
|
||||
}
|
||||
|
||||
@ -4076,7 +4076,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device,
|
||||
@@ -4003,6 +4493,7 @@
|
||||
@@ -4004,6 +4494,7 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -4084,7 +4084,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
return device->state.fb.render_targets[view_idx];
|
||||
}
|
||||
|
||||
@@ -4018,6 +4509,22 @@
|
||||
@@ -4019,6 +4510,22 @@
|
||||
{
|
||||
struct wined3d_rendertarget_view *prev;
|
||||
struct wined3d_fb_state *fb = &device->state.fb;
|
||||
@ -4107,7 +4107,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
TRACE("device %p, view_idx %u, view %p, set_viewport %#x.\n",
|
||||
device, view_idx, view, set_viewport);
|
||||
@@ -4057,6 +4564,7 @@
|
||||
@@ -4058,6 +4565,7 @@
|
||||
}
|
||||
|
||||
|
||||
@ -4115,7 +4115,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
prev = fb->render_targets[view_idx];
|
||||
if (view == prev)
|
||||
return WINED3D_OK;
|
||||
@@ -4064,6 +4572,15 @@
|
||||
@@ -4065,6 +4573,15 @@
|
||||
if (view)
|
||||
wined3d_rendertarget_view_incref(view);
|
||||
fb->render_targets[view_idx] = view;
|
||||
@ -4131,7 +4131,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_set_rendertarget_view(device->cs, view_idx, view);
|
||||
/* Release after the assignment, to prevent device_resource_released()
|
||||
* from seeing the surface as still in use. */
|
||||
@@ -4075,6 +4592,7 @@
|
||||
@@ -4076,6 +4593,7 @@
|
||||
|
||||
void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device, struct wined3d_rendertarget_view *view)
|
||||
{
|
||||
@ -4139,7 +4139,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
struct wined3d_fb_state *fb = &device->state.fb;
|
||||
struct wined3d_rendertarget_view *prev;
|
||||
|
||||
@@ -4092,6 +4610,66 @@
|
||||
@@ -4093,6 +4611,66 @@
|
||||
wined3d_cs_emit_set_depth_stencil_view(device->cs, view);
|
||||
if (prev)
|
||||
wined3d_rendertarget_view_decref(prev);
|
||||
@ -4206,7 +4206,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device,
|
||||
@@ -4112,6 +4690,14 @@
|
||||
@@ -4113,6 +4691,14 @@
|
||||
|
||||
cursor_image = surface_from_resource(sub_resource);
|
||||
|
||||
@ -4221,7 +4221,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (cursor_image->resource.format->id != WINED3DFMT_B8G8R8A8_UNORM)
|
||||
{
|
||||
WARN("Surface %p has an invalid format %s.\n",
|
||||
@@ -4139,6 +4725,13 @@
|
||||
@@ -4140,6 +4726,13 @@
|
||||
* release it after setting the cursor image. Windows doesn't
|
||||
* addref the set surface, so we can't do this either without
|
||||
* creating circular refcount dependencies. */
|
||||
@ -4235,7 +4235,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
if (cursor_image->resource.width == 32 && cursor_image->resource.height == 32)
|
||||
{
|
||||
@@ -4243,6 +4836,12 @@
|
||||
@@ -4244,6 +4837,12 @@
|
||||
else
|
||||
SetCursor(NULL);
|
||||
}
|
||||
@ -4248,7 +4248,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return oldVisible;
|
||||
}
|
||||
@@ -4253,8 +4852,10 @@
|
||||
@@ -4254,8 +4853,10 @@
|
||||
|
||||
TRACE("device %p.\n", device);
|
||||
|
||||
@ -4259,7 +4259,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
LIST_FOR_EACH_ENTRY_SAFE(resource, cursor, &device->resources, struct wined3d_resource, resource_list_entry)
|
||||
{
|
||||
TRACE("Checking resource %p for eviction.\n", resource);
|
||||
@@ -4262,6 +4863,7 @@
|
||||
@@ -4263,6 +4864,7 @@
|
||||
if (resource->pool == WINED3D_POOL_MANAGED && !resource->map_count)
|
||||
{
|
||||
TRACE("Evicting %p.\n", resource);
|
||||
@ -4267,7 +4267,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_evict_resource(device->cs, resource);
|
||||
}
|
||||
}
|
||||
@@ -4280,6 +4882,37 @@
|
||||
@@ -4281,6 +4883,37 @@
|
||||
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
@ -4305,7 +4305,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
if (device->depth_blt_texture)
|
||||
{
|
||||
@@ -4300,6 +4933,7 @@
|
||||
@@ -4301,6 +4934,7 @@
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, swapchain->context);
|
||||
swapchain->context = NULL;
|
||||
@ -4313,7 +4313,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
swapchain->num_contexts = 0;
|
||||
}
|
||||
|
||||
@@ -4319,6 +4953,14 @@
|
||||
@@ -4320,6 +4954,14 @@
|
||||
|
||||
static HRESULT create_primary_opengl_context(struct wined3d_device *device, struct wined3d_swapchain *swapchain)
|
||||
{
|
||||
@ -4328,7 +4328,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
HRESULT hr;
|
||||
|
||||
if (FAILED(hr = device->shader_backend->shader_alloc_private(device,
|
||||
@@ -4335,6 +4977,7 @@
|
||||
@@ -4336,6 +4978,7 @@
|
||||
return hr;
|
||||
}
|
||||
|
||||
@ -4336,7 +4336,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
hr = wined3d_cs_emit_create_swapchain_context(device->cs, swapchain);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
@@ -4345,6 +4988,34 @@
|
||||
@@ -4346,6 +4989,34 @@
|
||||
}
|
||||
|
||||
wined3d_cs_emit_create_dummy_textures(device->cs);
|
||||
@ -4371,7 +4371,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -4363,9 +5034,11 @@
|
||||
@@ -4364,9 +5035,11 @@
|
||||
TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n",
|
||||
device, swapchain_desc, mode, callback, reset_state);
|
||||
|
||||
@ -4383,7 +4383,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (!(swapchain = wined3d_device_get_swapchain(device, 0)))
|
||||
{
|
||||
ERR("Failed to get the first implicit swapchain.\n");
|
||||
@@ -4380,9 +5053,21 @@
|
||||
@@ -4381,9 +5054,21 @@
|
||||
wined3d_texture_decref(device->logo_texture);
|
||||
device->logo_texture = NULL;
|
||||
}
|
||||
@ -4405,7 +4405,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
{
|
||||
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
|
||||
{
|
||||
@@ -4391,6 +5076,7 @@
|
||||
@@ -4392,6 +5077,7 @@
|
||||
}
|
||||
wined3d_device_set_depth_stencil_view(device, NULL);
|
||||
|
||||
@ -4413,7 +4413,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (reset_state)
|
||||
{
|
||||
state_unbind_resources(&device->state);
|
||||
@@ -4400,6 +5086,12 @@
|
||||
@@ -4401,6 +5087,12 @@
|
||||
{
|
||||
wined3d_texture_decref(device->cs->onscreen_depth_stencil->container);
|
||||
device->cs->onscreen_depth_stencil = NULL;
|
||||
@ -4426,7 +4426,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
|
||||
if (reset_state)
|
||||
@@ -4412,6 +5104,7 @@
|
||||
@@ -4413,6 +5105,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@ -4434,7 +4434,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
/* Free implicit resources and wait for the command stream before modifying
|
||||
* swapchain parameters. After modifying the swapchain parameters a new GL
|
||||
* context may be acquired by the worker thread. This causes problems in the
|
||||
@@ -4433,6 +5126,7 @@
|
||||
@@ -4434,6 +5127,7 @@
|
||||
}
|
||||
device->cs->ops->finish(device->cs);
|
||||
|
||||
@ -4442,7 +4442,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
TRACE("New params:\n");
|
||||
TRACE("backbuffer_width %u\n", swapchain_desc->backbuffer_width);
|
||||
TRACE("backbuffer_height %u\n", swapchain_desc->backbuffer_height);
|
||||
@@ -4559,6 +5253,13 @@
|
||||
@@ -4560,6 +5254,13 @@
|
||||
swapchain_desc->multisample_type, swapchain_desc->multisample_quality)))
|
||||
return hr;
|
||||
|
||||
@ -4456,7 +4456,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
if (swapchain->desc.enable_auto_depth_stencil)
|
||||
{
|
||||
struct wined3d_resource_desc texture_desc;
|
||||
@@ -4601,6 +5302,13 @@
|
||||
@@ -4602,6 +5303,13 @@
|
||||
wined3d_device_set_depth_stencil_view(device, device->auto_depth_stencil_view);
|
||||
}
|
||||
|
||||
@ -4470,7 +4470,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)))
|
||||
@@ -4621,12 +5329,20 @@
|
||||
@@ -4622,12 +5330,20 @@
|
||||
}
|
||||
wined3d_cs_emit_reset_state(device->cs);
|
||||
state_cleanup(&device->state);
|
||||
@ -4491,7 +4491,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;
|
||||
@@ -4635,6 +5351,7 @@
|
||||
@@ -4636,6 +5352,7 @@
|
||||
}
|
||||
else if (device->back_buffer_view)
|
||||
{
|
||||
@ -4499,7 +4499,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);
|
||||
@@ -4650,6 +5367,24 @@
|
||||
@@ -4651,6 +5368,24 @@
|
||||
state->scissor_rect.left = 0;
|
||||
state->scissor_rect.right = swapchain->desc.backbuffer_width;
|
||||
state->scissor_rect.bottom = swapchain->desc.backbuffer_height;
|
||||
@ -4524,7 +4524,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
wined3d_cs_emit_set_scissor_rect(device->cs, &state->scissor_rect);
|
||||
}
|
||||
|
||||
@@ -4725,6 +5460,10 @@
|
||||
@@ -4726,6 +5461,10 @@
|
||||
|
||||
TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type));
|
||||
|
||||
@ -4535,7 +4535,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
switch (type)
|
||||
{
|
||||
case WINED3D_RTYPE_SURFACE:
|
||||
@@ -4735,6 +5474,7 @@
|
||||
@@ -4736,6 +5475,7 @@
|
||||
|
||||
for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
|
||||
{
|
||||
@ -4543,7 +4543,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);
|
||||
@@ -4746,6 +5486,19 @@
|
||||
@@ -4747,6 +5487,19 @@
|
||||
{
|
||||
ERR("Surface %p is still in use as depth/stencil buffer.\n", surface);
|
||||
device->state.fb.depth_stencil = NULL;
|
||||
@ -4563,7 +4563,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -4908,7 +5661,11 @@
|
||||
@@ -4909,7 +5662,11 @@
|
||||
|
||||
device->blitter = adapter->blitter;
|
||||
|
||||
@ -4575,7 +4575,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);
|
||||
@@ -5007,6 +5764,7 @@
|
||||
@@ -5008,6 +5765,7 @@
|
||||
else
|
||||
return CallWindowProcA(proc, window, message, wparam, lparam);
|
||||
}
|
||||
@ -4583,7 +4583,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,
|
||||
@@ -5060,3 +5818,4 @@
|
||||
@@ -5061,3 +5819,4 @@
|
||||
|
||||
wined3d_device_destroy_bo(device, context, bo);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user