Rebase against 56040acaa3f584150b3ab7fc644cd1a81e34fece.

This commit is contained in:
Sebastian Lackner 2016-12-17 18:41:09 +01:00
parent 1117c77d17
commit 72d96cb61f
9 changed files with 131 additions and 228 deletions

View File

@ -1,18 +1,18 @@
From c695e014f25fd613ead12115a715cdb4303d632f Mon Sep 17 00:00:00 2001
From 744549e1ecc76c3764079d337c09445d01a3527e Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: dwrite: Avoid implicit cast of interface pointer.
---
dlls/dwrite/font.c | 6 +++---
dlls/dwrite/font.c | 4 ++--
dlls/dwrite/layout.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index ba97025..0a90c20 100644
index d9ddce0..0a90c20 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -1684,15 +1684,15 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -1684,7 +1684,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@ -21,12 +21,11 @@ index ba97025..0a90c20 100644
}
static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
{
@@ -1692,7 +1692,7 @@ static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace
if (!iface)
return NULL;
- assert(iface->lpVtbl = (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
- return CONTAINING_RECORD(iface, struct dwrite_fontface, IDWriteFontFace4_iface);
+ assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
+ return CONTAINING_RECORD((IDWriteFontFace4 *)iface, struct dwrite_fontface, IDWriteFontFace4_iface);
}

View File

@ -52,13 +52,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "4c7f3f8af856888f5ab020b2a32d0b01db0c82f7"
echo "56040acaa3f584150b3ab7fc644cd1a81e34fece"
}
# Show version information
version()
{
echo "Wine Staging 2.0-rc1"
echo "Wine Staging 2.0-rc2 (unreleased)"
echo "Copyright (C) 2014-2016 the Wine Staging project authors."
echo ""
echo "Patchset to be applied on upstream Wine:"
@ -390,7 +390,6 @@ patch_enable_all ()
enable_winex11_wglShareLists="$1"
enable_winhttp_System_Proxy_Autoconfig="$1"
enable_wininet_Cleanup="$1"
enable_wininet_HttpOpenRequestW="$1"
enable_wininet_InternetCrackUrlW="$1"
enable_wininet_Internet_Settings="$1"
enable_wininet_ParseX509EncodedCertificateForListBoxEntry="$1"
@ -1350,9 +1349,6 @@ patch_enable ()
wininet-Cleanup)
enable_wininet_Cleanup="$2"
;;
wininet-HttpOpenRequestW)
enable_wininet_HttpOpenRequestW="$2"
;;
wininet-InternetCrackUrlW)
enable_wininet_InternetCrackUrlW="$2"
;;
@ -8024,21 +8020,6 @@ if test "$enable_wininet_Cleanup" -eq 1; then
) >> "$patchlist"
fi
# Patchset wininet-HttpOpenRequestW
# |
# | This patchset fixes the following Wine bugs:
# | * [#40169] Fix handling of INTERNET_INVALID_PORT_NUMBER in HttpOpenRequestW
# |
# | Modified files:
# | * dlls/wininet/http.c, dlls/wininet/tests/http.c
# |
if test "$enable_wininet_HttpOpenRequestW" -eq 1; then
patch_apply wininet-HttpOpenRequestW/0001-wininet-Handle-INTERNET_INVALID_PORT_NUMBER-in-HttpO.patch
(
echo '+ { "Michael Müller", "wininet: Handle INTERNET_INVALID_PORT_NUMBER in HttpOpenRequest.", 1 },';
) >> "$patchlist"
fi
# Patchset wininet-InternetCrackUrlW
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From 280cb6e8d37df26215688bfe2ec13ad76faff8d4 Mon Sep 17 00:00:00 2001
From 351c41e11b0cf2a664c626626bd8143733598cae Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 15 Nov 2016 22:13:29 +0100
Subject: Revert "wined3d: Compute "buffer_type_hint" from buffer bind flags."
@ -10,7 +10,7 @@ This reverts commit e3c692151f9199d7e37b2c788daa629d0c2c1b3b.
2 files changed, 8 insertions(+), 32 deletions(-)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index a30e467..5cecce5 100644
index 0cd08f9..93ff479 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1410,28 +1410,14 @@ static const struct wined3d_resource_ops buffer_resource_ops =
@ -37,7 +37,7 @@ index a30e467..5cecce5 100644
const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops)
{
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
const struct wined3d_format *format = wined3d_get_format(gl_info, format_id);
const struct wined3d_format *format = wined3d_get_format(gl_info, format_id, usage);
- BOOL dynamic_buffer_ok;
HRESULT hr;
+ BOOL dynamic_buffer_ok;
@ -88,10 +88,10 @@ index a30e467..5cecce5 100644
if (FAILED(hr))
{
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index c7ecef1..8cbb76c 100644
index 8c8fbcb..e249e95 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -833,15 +833,6 @@ enum wined3d_display_rotation
@@ -840,15 +840,6 @@ enum wined3d_display_rotation
#define WINED3DDP_MAXTEXCOORD 8

View File

@ -1,4 +1,4 @@
From 9015c6fda2f38e2552ee7056b7f97ad994d75310 Mon Sep 17 00:00:00 2001
From 5559a51191a5cae71dd6e1b1378a17b1faf539ec 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,10 +11,10 @@ Very hacky.
3 files changed, 103 insertions(+), 54 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index cf11c3c..230c04d 100644
index 342cfc4..22c1031 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -84,6 +84,7 @@ enum wined3d_cs_op
@@ -83,6 +83,7 @@ enum wined3d_cs_op
WINED3D_CS_OP_GET_DC,
WINED3D_CS_OP_RELEASE_DC,
WINED3D_CS_OP_CREATE_DUMMY_TEXTURES,
@ -22,7 +22,7 @@ index cf11c3c..230c04d 100644
WINED3D_CS_OP_STOP,
};
@@ -496,6 +497,13 @@ struct wined3d_cs_create_dummy_textures
@@ -490,6 +491,13 @@ struct wined3d_cs_create_dummy_textures
enum wined3d_cs_op opcode;
};
@ -36,7 +36,7 @@ index cf11c3c..230c04d 100644
static void wined3d_cs_mt_submit(struct wined3d_cs *cs, size_t size)
{
LONG new_val = (cs->queue.head + size) & (WINED3D_CS_QUEUE_SIZE - 1);
@@ -2587,6 +2595,31 @@ void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs)
@@ -2557,6 +2565,31 @@ void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs)
cs->ops->finish(cs);
}
@ -68,7 +68,7 @@ index cf11c3c..230c04d 100644
static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
{
/* WINED3D_CS_OP_NOP */ wined3d_cs_exec_nop,
@@ -2649,6 +2682,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
@@ -2618,6 +2651,7 @@ static UINT (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
/* WINED3D_CS_OP_GET_DC */ wined3d_cs_exec_get_dc,
/* WINED3D_CS_OP_RELEASE_DC */ wined3d_cs_exec_release_dc,
/* WINED3D_CS_OP_CREATE_DUMMY_TEXTURES */ wined3d_cs_exec_create_dummy_textures,
@ -77,7 +77,7 @@ index cf11c3c..230c04d 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 256f9db..eac171b 100644
index 9d0cabd..0efaa88 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -817,6 +817,69 @@ static void wined3d_swapchain_apply_sample_count_override(const struct wined3d_s
@ -120,7 +120,7 @@ index 256f9db..eac171b 100644
+ * issue needs to be fixed. */
+ for (i = 0; i < (sizeof(formats) / sizeof(*formats)); i++)
+ {
+ swapchain->ds_format = wined3d_get_format(gl_info, formats[i]);
+ swapchain->ds_format = wined3d_get_format(gl_info, formats[i], WINED3DUSAGE_DEPTHSTENCIL);
+ swapchain->context[0] = context_create(swapchain, swapchain->front_buffer, swapchain->ds_format);
+ if (swapchain->context[0]) break;
+ TRACE("Depth stencil format %s is not supported, trying next format\n",
@ -189,7 +189,7 @@ index 256f9db..eac171b 100644
- * issue needs to be fixed. */
- for (i = 0; i < (sizeof(formats) / sizeof(*formats)); i++)
- {
- swapchain->ds_format = wined3d_get_format(gl_info, formats[i]);
- swapchain->ds_format = wined3d_get_format(gl_info, formats[i], WINED3DUSAGE_DEPTHSTENCIL);
- swapchain->context[0] = context_create(swapchain, swapchain->front_buffer, swapchain->ds_format);
- if (swapchain->context[0]) break;
- TRACE("Depth stencil format %s is not supported, trying next format\n",
@ -215,10 +215,10 @@ index 256f9db..eac171b 100644
if (swapchain->desc.backbuffer_count > 0)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index a635118..f18858b 100644
index 175b5a0..875c59d 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -3126,6 +3126,8 @@ void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarge
@@ -3222,6 +3222,8 @@ void wined3d_cs_emit_clear_rtv(struct wined3d_cs *cs, struct wined3d_rendertarge
const RECT *rect, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil,
const struct blit_shader *blitter) DECLSPEC_HIDDEN;
void wined3d_cs_emit_create_dummy_textures(struct wined3d_cs *cs) DECLSPEC_HIDDEN;
@ -227,7 +227,7 @@ index a635118..f18858b 100644
void wined3d_cs_emit_create_vbo(struct wined3d_cs *cs, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
void wined3d_cs_emit_destroy_object(struct wined3d_cs *cs,
void (*callback)(void *object), void *object) DECLSPEC_HIDDEN;
@@ -3367,6 +3369,8 @@ struct wined3d_swapchain
@@ -3476,6 +3478,8 @@ struct wined3d_swapchain
void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate) DECLSPEC_HIDDEN;
struct wined3d_context *swapchain_get_context(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From 73895e9d37b40608589bbe25c2e6b7defcc1cf7b Mon Sep 17 00:00:00 2001
From 0864f18c99567a16025d2cda9b70e23db43b2ed0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 28 Aug 2016 04:07:01 +0200
Subject: wined3d: Add wined3d_check_device_format_support.
@ -10,17 +10,17 @@ Subject: wined3d: Add wined3d_check_device_format_support.
3 files changed, 110 insertions(+)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index c2a8c55..03ef744 100644
index a8de282..83fa003 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3330,6 +3330,82 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
@@ -3343,6 +3343,82 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
return device->state.textures[stage];
}
+void CDECL wined3d_check_device_format_support(struct wined3d_device *device,
+ enum wined3d_format_id check_format_id, UINT *support)
+{
+ const struct wined3d_format *format = wined3d_get_format(&device->adapter->gl_info, check_format_id);
+ const struct wined3d_format *format = wined3d_get_format(&device->adapter->gl_info, check_format_id, 0);
+ const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
+
+ UINT support_flags = 0;
@ -97,7 +97,7 @@ index c2a8c55..03ef744 100644
{
TRACE("device %p, caps %p.\n", device, caps);
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index 0db371d..758d3b0 100644
index 34b2d0a..efd7501 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -5,6 +5,7 @@
@ -109,10 +109,10 @@ index 0db371d..758d3b0 100644
@ cdecl wined3d_check_device_type(ptr long long long long long)
@ cdecl wined3d_create(long)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 81dffea..a2c9657 100644
index 7271ec0..c5ccee1 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -797,6 +797,37 @@ enum wined3d_display_rotation
@@ -796,6 +796,37 @@ enum wined3d_display_rotation
WINED3D_DISPLAY_ROTATION_270 = 4,
};
@ -150,7 +150,7 @@ index 81dffea..a2c9657 100644
#define WINED3DCOLORWRITEENABLE_RED (1u << 0)
#define WINED3DCOLORWRITEENABLE_GREEN (1u << 1)
#define WINED3DCOLORWRITEENABLE_BLUE (1u << 2)
@@ -2095,6 +2126,8 @@ HRESULT __cdecl wined3d_check_device_format(const struct wined3d *wined3d, UINT
@@ -2066,6 +2097,8 @@ HRESULT __cdecl wined3d_check_device_format(const struct wined3d *wined3d, UINT
HRESULT __cdecl wined3d_check_device_format_conversion(const struct wined3d *wined3d, UINT adapter_idx,
enum wined3d_device_type device_type, enum wined3d_format_id source_format_id,
enum wined3d_format_id target_format_id);

View File

@ -1,76 +0,0 @@
From 8ee0669fae69b5a23fe2d1d4b36055ca64f93f1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 25 Apr 2016 21:46:29 +0200
Subject: wininet: Handle INTERNET_INVALID_PORT_NUMBER in HttpOpenRequest.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
---
dlls/wininet/http.c | 11 +++++++++--
dlls/wininet/tests/http.c | 6 +++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 21f6ff2..39f72c6 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -3356,7 +3356,7 @@ static DWORD HTTP_HttpOpenRequestW(http_session_t *session,
{
appinfo_t *hIC = session->appInfo;
http_request_t *request;
- DWORD len;
+ DWORD port, len;
TRACE("-->\n");
@@ -3385,7 +3385,14 @@ static DWORD HTTP_HttpOpenRequestW(http_session_t *session,
request->session = session;
list_add_head( &session->hdr.children, &request->hdr.entry );
- request->server = get_server(substrz(session->hostName), session->hostPort, (dwFlags & INTERNET_FLAG_SECURE) != 0, TRUE);
+ port = session->hostPort;
+ if (port == INTERNET_INVALID_PORT_NUMBER)
+ {
+ port = (session->hdr.dwFlags & INTERNET_FLAG_SECURE) ?
+ INTERNET_DEFAULT_HTTPS_PORT : INTERNET_DEFAULT_HTTP_PORT;
+ }
+
+ request->server = get_server(substrz(session->hostName), port, (dwFlags & INTERNET_FLAG_SECURE) != 0, TRUE);
if(!request->server) {
WININET_Release(&request->hdr);
return ERROR_OUTOFMEMORY;
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 29dd965..a76046d 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -6079,13 +6079,13 @@ static void test_default_service_port(void)
ok(request != NULL, "HttpOpenRequest failed\n");
ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
- todo_wine ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
+ ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = sizeof(buffer);
memset(buffer, 0, sizeof(buffer));
ret = HttpQueryInfoA(request, HTTP_QUERY_HOST | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed with error %u\n", GetLastError());
- todo_wine ok(!strcmp(buffer, "test.winehq.org"), "Expected test.winehg.org, got '%s'\n", buffer);
+ ok(!strcmp(buffer, "test.winehq.org"), "Expected test.winehg.org, got '%s'\n", buffer);
InternetCloseHandle(request);
InternetCloseHandle(connect);
@@ -6104,7 +6104,7 @@ static void test_default_service_port(void)
memset(buffer, 0, sizeof(buffer));
ret = HttpQueryInfoA(request, HTTP_QUERY_HOST | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed with error %u\n", GetLastError());
- todo_wine ok(!strcmp(buffer, "test.winehq.org:443"), "Expected test.winehg.org:443, got '%s'\n", buffer);
+ ok(!strcmp(buffer, "test.winehq.org:443"), "Expected test.winehg.org:443, got '%s'\n", buffer);
InternetCloseHandle(request);
InternetCloseHandle(connect);
--
2.8.0

View File

@ -1 +0,0 @@
Fixes: [40169] Fix handling of INTERNET_INVALID_PORT_NUMBER in HttpOpenRequestW

View File

@ -1 +1 @@
Wine Staging 2.0-rc1
Wine Staging 2.0-rc2 (unreleased)