Rebase against 2a28e4d843ec5302f53a3168061fdf2ca30eb076.

This commit is contained in:
Sebastian Lackner 2017-02-02 00:06:41 +01:00
parent c8b29193db
commit 2e509b911f
4 changed files with 24 additions and 155 deletions

View File

@ -1,110 +0,0 @@
From 755979edcad39862f2555c557db85644eb23acb7 Mon Sep 17 00:00:00 2001
From: Andrey Gusev <andrey.goosev@gmail.com>
Date: Wed, 28 Dec 2016 16:43:13 +0200
Subject: d3dx11: Add D3DX11CreateShaderResourceViewFromMemory stub.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
---
dlls/d3dx11_42/Makefile.in | 1 +
dlls/d3dx11_42/d3dx11_42.spec | 2 +-
dlls/d3dx11_43/Makefile.in | 1 +
dlls/d3dx11_43/d3dx11_43.spec | 2 +-
dlls/d3dx11_43/shader.c | 36 ++++++++++++++++++++++++++++++++++++
5 files changed, 40 insertions(+), 2 deletions(-)
create mode 100644 dlls/d3dx11_43/shader.c
diff --git a/dlls/d3dx11_42/Makefile.in b/dlls/d3dx11_42/Makefile.in
index d20f6600ecd..80eb4cdbce9 100644
--- a/dlls/d3dx11_42/Makefile.in
+++ b/dlls/d3dx11_42/Makefile.in
@@ -5,6 +5,7 @@ PARENTSRC = ../d3dx11_43
C_SRCS = \
async.c \
d3dx11_42.c \
+ shader.c \
texture.c
RC_SRCS = version.rc
diff --git a/dlls/d3dx11_42/d3dx11_42.spec b/dlls/d3dx11_42/d3dx11_42.spec
index f97ec246bdf..f4a1b8edd3a 100644
--- a/dlls/d3dx11_42/d3dx11_42.spec
+++ b/dlls/d3dx11_42/d3dx11_42.spec
@@ -17,7 +17,7 @@
@ stub D3DX11CreateAsyncTextureProcessor
@ stub D3DX11CreateShaderResourceViewFromFileA
@ stub D3DX11CreateShaderResourceViewFromFileW
-@ stub D3DX11CreateShaderResourceViewFromMemory
+@ stdcall D3DX11CreateShaderResourceViewFromMemory(ptr ptr long ptr ptr ptr ptr)
@ stub D3DX11CreateShaderResourceViewFromResourceA
@ stub D3DX11CreateShaderResourceViewFromResourceW
@ stub D3DX11CreateTextureFromFileA
diff --git a/dlls/d3dx11_43/Makefile.in b/dlls/d3dx11_43/Makefile.in
index d5c5b455480..8435a7c4aa5 100644
--- a/dlls/d3dx11_43/Makefile.in
+++ b/dlls/d3dx11_43/Makefile.in
@@ -5,6 +5,7 @@ IMPORTS = d3dcompiler
C_SRCS = \
async.c \
d3dx11_43.c \
+ shader.c \
texture.c
RC_SRCS = version.rc
diff --git a/dlls/d3dx11_43/d3dx11_43.spec b/dlls/d3dx11_43/d3dx11_43.spec
index 217cad10b47..6ce570b2402 100644
--- a/dlls/d3dx11_43/d3dx11_43.spec
+++ b/dlls/d3dx11_43/d3dx11_43.spec
@@ -17,7 +17,7 @@
@ stub D3DX11CreateAsyncTextureProcessor
@ stub D3DX11CreateShaderResourceViewFromFileA
@ stub D3DX11CreateShaderResourceViewFromFileW
-@ stub D3DX11CreateShaderResourceViewFromMemory
+@ stdcall D3DX11CreateShaderResourceViewFromMemory(ptr ptr long ptr ptr ptr ptr)
@ stub D3DX11CreateShaderResourceViewFromResourceA
@ stub D3DX11CreateShaderResourceViewFromResourceW
@ stub D3DX11CreateTextureFromFileA
diff --git a/dlls/d3dx11_43/shader.c b/dlls/d3dx11_43/shader.c
new file mode 100644
index 00000000000..3420cc82f3b
--- /dev/null
+++ b/dlls/d3dx11_43/shader.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2016 Andrey Gusev
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "config.h"
+#include "wine/port.h"
+#include "d3dx11.h"
+#include "d3dcompiler.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(d3dx);
+
+HRESULT WINAPI D3DX11CreateShaderResourceViewFromMemory(ID3D11Device *device, const void *data,
+ SIZE_T data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
+ ID3D11ShaderResourceView **view, HRESULT *hresult)
+{
+ FIXME("device %p, data %p, data_size %lu, load_info %p, pump %p, view %p, hresult %p stub!\n",
+ device, data, data_size, load_info, pump, view, hresult);
+
+ return E_NOTIMPL;
+}
--
2.11.0

View File

@ -1 +0,0 @@
Fixes: [42078] Add D3DX11CreateShaderResourceViewFromMemory stub

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "36bb9d905ae10713bcd197958fb71aa86930a505"
echo "2a28e4d843ec5302f53a3168061fdf2ca30eb076"
}
# Show version information
@ -117,7 +117,6 @@ patch_enable_all ()
enable_d3d9_DesktopWindow="$1"
enable_d3d9_Surface_Refcount="$1"
enable_d3d9_Tests="$1"
enable_d3dx11_D3DX11CreateShaderResourceViewFromMemory="$1"
enable_d3dx9_25_ID3DXEffect="$1"
enable_d3dx9_36_BumpLuminance="$1"
enable_d3dx9_36_CloneEffect="$1"
@ -559,9 +558,6 @@ patch_enable ()
d3d9-Tests)
enable_d3d9_Tests="$2"
;;
d3dx11-D3DX11CreateShaderResourceViewFromMemory)
enable_d3dx11_D3DX11CreateShaderResourceViewFromMemory="$2"
;;
d3dx9_25-ID3DXEffect)
enable_d3dx9_25_ID3DXEffect="$2"
;;
@ -3284,22 +3280,6 @@ if test "$enable_d3d9_Tests" -eq 1; then
) >> "$patchlist"
fi
# Patchset d3dx11-D3DX11CreateShaderResourceViewFromMemory
# |
# | This patchset fixes the following Wine bugs:
# | * [#42078] Add D3DX11CreateShaderResourceViewFromMemory stub
# |
# | Modified files:
# | * dlls/d3dx11_42/Makefile.in, dlls/d3dx11_42/d3dx11_42.spec, dlls/d3dx11_43/Makefile.in, dlls/d3dx11_43/d3dx11_43.spec,
# | dlls/d3dx11_43/shader.c
# |
if test "$enable_d3dx11_D3DX11CreateShaderResourceViewFromMemory" -eq 1; then
patch_apply d3dx11-D3DX11CreateShaderResourceViewFromMemory/0001-d3dx11-Add-D3DX11CreateShaderResourceViewFromMemory-.patch
(
printf '%s\n' '+ { "Andrey Gusev", "d3dx11: Add D3DX11CreateShaderResourceViewFromMemory stub.", 1 },';
) >> "$patchlist"
fi
# Patchset d3dx9_25-ID3DXEffect
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From 5028f77be523cd890b34f333b27a10127c426d33 Mon Sep 17 00:00:00 2001
From 926b152191997c78520b5b61ba4be8decb09a361 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Mar 2015 01:22:34 +0100
Subject: server: Implement support for global and local shared memory blocks
@ -20,7 +20,7 @@ Subject: server: Implement support for global and local shared memory blocks
12 files changed, 215 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 6e24ac3..7fe8189 100644
index 6e24ac364ac..7fe818941f6 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -100,6 +100,7 @@ extern int server_pipe( int fd[2] ) DECLSPEC_HIDDEN;
@ -32,10 +32,10 @@ index 6e24ac3..7fe8189 100644
/* module handling */
extern LIST_ENTRY tls_links DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index 356d631..a91e478 100644
index ec517fcf408..016830e066f 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -972,6 +972,66 @@ done:
@@ -979,6 +979,66 @@ done:
/***********************************************************************
@ -102,7 +102,7 @@ index 356d631..a91e478 100644
* wine_server_fd_to_handle (NTDLL.@)
*
* Allocate a file handle for a Unix file descriptor.
@@ -1503,6 +1563,10 @@ size_t server_init_thread( void *entry_point )
@@ -1507,6 +1567,10 @@ size_t server_init_thread( void *entry_point )
}
SERVER_END_REQ;
@ -114,7 +114,7 @@ index 356d631..a91e478 100644
ntdll_get_thread_data()->wow64_redir = is_wow64;
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 306a6c6..4af9caf 100644
index 306a6c6ee83..e5ebd7c2665 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -380,6 +380,7 @@ void terminate_thread( int status )
@ -136,7 +136,7 @@ index 306a6c6..4af9caf 100644
if ((teb = interlocked_xchg_ptr( &prev_teb, NtCurrentTeb() )))
diff --git a/include/wine/server.h b/include/wine/server.h
index d573d1f..695389a 100644
index d573d1f7ad4..9889b95aaff 100644
--- a/include/wine/server.h
+++ b/include/wine/server.h
@@ -120,6 +120,17 @@ static inline void *wine_server_get_ptr( client_ptr_t ptr )
@ -158,7 +158,7 @@ index d573d1f..695389a 100644
/* macros for server requests */
diff --git a/include/winternl.h b/include/winternl.h
index f35091c..a969067 100644
index f35091cba1a..e4f2fd9cafc 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -366,7 +366,7 @@ typedef struct _TEB
@ -171,11 +171,11 @@ index f35091c..a969067 100644
ULONG ImpersonationLocale; /* f98/1788 */
ULONG IsImpersonating; /* f9c/178c */
diff --git a/server/fd.c b/server/fd.c
index 17b1b66..f17b473 100644
index 88ea6abb0a5..238f066f477 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -2479,6 +2479,33 @@ DECL_HANDLER(write)
}
@@ -2533,6 +2533,33 @@ DECL_HANDLER(write)
release_object( fd );
}
+/* get file descriptor to shared memory block */
@ -209,10 +209,10 @@ index 17b1b66..f17b473 100644
DECL_HANDLER(ioctl)
{
diff --git a/server/file.h b/server/file.h
index b643d94..8d7725e 100644
index c5867a670f6..46b06c630bd 100644
--- a/server/file.h
+++ b/server/file.h
@@ -146,6 +146,14 @@ extern struct object *create_mailslot_device( struct object *root, const struct
@@ -156,6 +156,14 @@ extern struct object *create_mailslot_device( struct object *root, const struct
extern struct object *create_unix_device( struct object *root, const struct unicode_str *name,
const char *unix_path );
@ -228,7 +228,7 @@ index b643d94..8d7725e 100644
extern void do_change_notify( int unix_fd );
diff --git a/server/main.c b/server/main.c
index 7aed338..f984bfc 100644
index 7aed338e968..f984bfc1e30 100644
--- a/server/main.c
+++ b/server/main.c
@@ -145,6 +145,7 @@ int main( int argc, char *argv[] )
@ -240,7 +240,7 @@ index 7aed338..f984bfc 100644
return 0;
}
diff --git a/server/mapping.c b/server/mapping.c
index fe30450..40a1f21 100644
index a465bf5f2dd..ac4d982888b 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -29,8 +29,32 @@
@ -341,7 +341,7 @@ index fe30450..40a1f21 100644
static int create_temp_file( file_pos_t size )
{
diff --git a/server/protocol.def b/server/protocol.def
index e67632c..05d5e3f 100644
index 3d91aecf1e4..ddb996ad42b 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -69,6 +69,15 @@ struct request_max_size
@ -360,7 +360,7 @@ index e67632c..05d5e3f 100644
/* debug event data */
typedef union
@@ -1219,6 +1228,12 @@ enum server_fd_type
@@ -1243,6 +1252,12 @@ enum server_fd_type
@END
@ -374,10 +374,10 @@ index e67632c..05d5e3f 100644
@REQ(flush)
int blocking; /* whether it's a blocking flush */
diff --git a/server/thread.c b/server/thread.c
index e82207a..0d0bf28 100644
index 0eed897e032..08c07821862 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -200,6 +200,8 @@ static inline void init_thread_structure( struct thread *thread )
@@ -201,6 +201,8 @@ static inline void init_thread_structure( struct thread *thread )
thread->desktop_users = 0;
thread->token = NULL;
thread->exit_poll = NULL;
@ -386,7 +386,7 @@ index e82207a..0d0bf28 100644
thread->creation_time = current_time;
thread->exit_time = 0;
@@ -301,6 +303,8 @@ static void cleanup_thread( struct thread *thread )
@@ -302,6 +304,8 @@ static void cleanup_thread( struct thread *thread )
thread->inflight[i].client = thread->inflight[i].server = -1;
}
}
@ -395,7 +395,7 @@ index e82207a..0d0bf28 100644
thread->req_data = NULL;
thread->reply_data = NULL;
thread->request_fd = NULL;
@@ -309,6 +313,9 @@ static void cleanup_thread( struct thread *thread )
@@ -310,6 +314,9 @@ static void cleanup_thread( struct thread *thread )
thread->context = NULL;
thread->suspend_context = NULL;
thread->desktop = 0;
@ -406,7 +406,7 @@ index e82207a..0d0bf28 100644
/* destroy a thread when its refcount is 0 */
diff --git a/server/thread.h b/server/thread.h
index ac9af24..59ef250 100644
index ac9af24086d..59ef2505bd4 100644
--- a/server/thread.h
+++ b/server/thread.h
@@ -89,6 +89,8 @@ struct thread
@ -419,5 +419,5 @@ index ac9af24..59ef250 100644
struct thread_snapshot
--
2.8.0
2.11.0