Added patch to fix regression related to buffer_sync_apple handling.

This commit is contained in:
Sebastian Lackner 2017-06-22 14:38:12 +02:00
parent 4d290efd99
commit b1cb4553ec
4 changed files with 898 additions and 6 deletions

View File

@ -438,6 +438,7 @@ patch_enable_all ()
enable_wined3d_Silence_FIXMEs="$1"
enable_wined3d_WINED3DFMT_R32G32_UINT="$1"
enable_wined3d_buffer_create="$1"
enable_wined3d_buffer_sync_apple="$1"
enable_wined3d_wined3d_guess_gl_vendor="$1"
enable_winedbg_Process_Arguments="$1"
enable_winedevice_Default_Drivers="$1"
@ -1557,6 +1558,9 @@ patch_enable ()
wined3d-buffer_create)
enable_wined3d_buffer_create="$2"
;;
wined3d-buffer_sync_apple)
enable_wined3d_buffer_sync_apple="$2"
;;
wined3d-wined3d_guess_gl_vendor)
enable_wined3d_wined3d_guess_gl_vendor="$2"
;;
@ -9102,6 +9106,22 @@ if test "$enable_wined3d_buffer_create" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-buffer_sync_apple
# |
# | This patchset fixes the following Wine bugs:
# | * [#43196] Fix regression related to buffer_sync_apple handling
# |
# | Modified files:
# | * dlls/wined3d/buffer.c, dlls/wined3d/context.c, dlls/wined3d/drawprim.c, dlls/wined3d/query.c,
# | dlls/wined3d/wined3d_private.h
# |
if test "$enable_wined3d_buffer_sync_apple" -eq 1; then
patch_apply wined3d-buffer_sync_apple/0001-wined3d-Fix-buffer_sync_apple-handling.patch
(
printf '%s\n' '+ { "Józef Kucia", "wined3d: Fix regression related to buffer_sync_apple handling.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-wined3d_guess_gl_vendor
# |
# | This patchset fixes the following Wine bugs:

View File

@ -9,7 +9,7 @@ Based on patches by:
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1267,6 +1267,9 @@ HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
@@ -1263,6 +1263,9 @@ HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
const struct wined3d_box *box, const void *data)
{
UINT offset, size;
@ -19,7 +19,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
HRESULT hr;
BYTE *ptr;
@@ -1281,7 +1284,14 @@ HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
@@ -1277,7 +1280,14 @@ HRESULT wined3d_buffer_upload_data(struct wined3d_buffer *buffer,
size = buffer->resource.size;
}
@ -619,7 +619,7 @@ diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2766,6 +2766,16 @@ struct wined3d_state
@@ -2773,6 +2773,16 @@ struct wined3d_state
struct wined3d_rasterizer_state *rasterizer_state;
};
@ -636,7 +636,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
@@ -2877,6 +2887,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
@@ -2884,6 +2894,12 @@ 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;
@ -649,7 +649,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)
{
@@ -3064,7 +3080,11 @@ struct wined3d_texture
@@ -3071,7 +3087,11 @@ struct wined3d_texture
unsigned int map_count;
DWORD locations;
@ -661,7 +661,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
} sub_resources[1];
};
@@ -3379,6 +3399,9 @@ struct wined3d_cs_queue
@@ -3386,6 +3406,9 @@ struct wined3d_cs_queue
struct wined3d_cs_ops
{

View File

@ -0,0 +1 @@
Fixes: [43196] Fix regression related to buffer_sync_apple handling