Compare commits

..

41 Commits

Author SHA1 Message Date
Sebastian Lackner
e7778c5622 Release 1.9.15. 2016-07-23 22:40:22 +02:00
Sebastian Lackner
b8df58d714 Added patch to use sysfs to populate SCSI registry keys. 2016-07-23 18:37:21 +02:00
Sebastian Lackner
7307a7ea4f patchupdate.py: Add list of authors to autogenerated patches. 2016-07-23 17:27:59 +02:00
Sebastian Lackner
7ca3f2b608 Rebase against 267e8e3eeb6d0b6e8ccab809fddd27bae05cbfc2. 2016-07-23 16:30:17 +02:00
Sebastian Lackner
5989fb0938 Rebase against 654e960e340cc37a9282c52ba8aca5f779a13dbb. 2016-07-23 15:38:42 +02:00
Sebastian Lackner
3f111101a8 Rebase against 51c7df4f376fa7924752dc32a9715a4475e038df. 2016-07-23 14:32:39 +02:00
Sebastian Lackner
857c2fcfe2 Rebase against fac012f2e114870c9628e5ea5b5c8312284c0f3e. 2016-07-23 06:44:18 +02:00
Sebastian Lackner
f901f130fd Rebase against be2908ed071dd11de5dc2fae270aad15e5df7d17. 2016-07-22 20:22:24 +02:00
Sebastian Lackner
ba40b415b7 Rebase against a02c7ce7518b19d401ae854f18d2401a489f60db. 2016-07-22 19:10:06 +02:00
Sebastian Lackner
94f533c0ad Rebase against 0a5e205c06e0f0ccf632e02a48e86a386a4884e0. 2016-07-22 19:06:49 +02:00
Sebastian Lackner
4d1dd4c62a patchutils.py: Create smaller #ifdef ranges. 2016-07-22 18:49:06 +02:00
Sebastian Lackner
2b1f2e8578 patchutils.py: Fix a bug when parsing certain hunk headers. 2016-07-22 18:44:44 +02:00
Sebastian Lackner
4b1b7f77bc patchutils.py: Invert logic for applying #ifdef patches. 2016-07-22 17:33:27 +02:00
Sebastian Lackner
c779a2acbe Rebase against a615647435bd017af1993454902982d7a37b3cb3. 2016-07-20 21:01:50 +02:00
Sebastian Lackner
97fec39e47 Added patch to ensure process_attach callbacks are not executed too early. 2016-07-20 05:00:15 +02:00
Sebastian Lackner
cbd440689d Rebase against a71128513767d44a8f42e10895578b650061bdce.
[ntdll-NtUnmapViewOfSection]
Removed patch to fix behavior of UnmapViewOfFile for Win9x (accepted upstream).

[shell32-FolderItems_Stub_Iface]
Removed patch to implement stubbed FolderItems interface (fixed upstream).
2016-07-19 18:33:14 +02:00
Sebastian Lackner
5125d3edeb Rebase against adde9fadebe07c30ecc9f12685751fb78b3473c5.
[server-BaseNamedObjects]
Removed patch to provide symlink to BaseNamedObjects in \Sessions\1 (accepted
upstream).
2016-07-18 20:03:49 +02:00
Sebastian Lackner
6455c8e654 d3dx9_36-GetShaderSemantics: Correct spec files (thanks Alistair Leslie-Hughes). 2016-07-17 15:43:06 +02:00
Sebastian Lackner
b1b5d6c670 Added patch to provide symlink to BaseNamedObjects in \Sessions\1. 2016-07-16 18:12:26 +02:00
Sebastian Lackner
6a8aacda4c Rebase against fec0b697c74a8e016b41968b342f9fc9fe11bf74.
[ntdll-NtQueryInformationThread]
Removed patch to implement support for fs segment in GetThreadSelectorEntry
(accepted upstream).
2016-07-15 17:49:47 +02:00
Sebastian Lackner
f788007dc4 Rebase against 5101a90bca2bd2618b488f37624af43efe17a0e0.
[secur32-Gnutls_Algorithms]
Removed patch to define missing gnutls_kx_algorithm_t values for old gnutls
versions (accepted upstream).

[taskmgr-Memory_Usage]
Removed patch to use sysinfo to report correct number of physical pages
(accepted upstream).
2016-07-15 03:04:28 +02:00
Sebastian Lackner
31baacffe2 Rebase against 1bcc7ce75f64f2894de43379674bc5c53c52bb3a. 2016-07-11 03:06:53 +02:00
Sebastian Lackner
bd3563bdf1 Rebase against 0a3700e051f3e9473c5daa40a5cdd951b1310b8c.
[gdi32-PtInRegion]
Removed patch to add back the extents test (accepted upstream).
2016-07-10 22:20:23 +02:00
Sebastian Lackner
372c0be9d9 Release 1.9.14. 2016-07-10 19:52:08 +02:00
Sebastian Lackner
245467db83 Added patch to define missing gnutls_kx_algorithm_t values for old versions of gnutls. 2016-07-10 06:39:46 +02:00
Sebastian Lackner
f902de09d5 Added patch to add back extents test in PtInRegion. 2016-07-10 02:54:57 +02:00
Sebastian Lackner
17b81919fa wined3d-CSMT_Main: Removed patches affecting other dlls.
Because of the #ifdef those patches had no effect anyway.
2016-07-10 01:47:12 +02:00
Sebastian Lackner
a3e5cd8f58 Rebase against abb221fa81b60f53c14f6864bbfb9453455aeeeb. 2016-07-10 01:47:10 +02:00
Sebastian Lackner
a0cb1797f4 Rebase against cc9c18a46d1ce7e2834bae0fa65a6ed7904820dd. 2016-07-10 00:31:24 +02:00
Sebastian Lackner
970dc74e89 Rebase against 38f3d59ed694afba7913b4992d13cb044a09126c.
[user32-CharToOem]
Removed patch to properly handle invalid parameters in CharToOem* and
OemToChar* APIs (accepted upstream).
2016-07-09 17:57:44 +02:00
Sebastian Lackner
867c8334a1 Rebase against 94b6a885a880728f5e0a865fc17a82532723e756.
[ntdll-InMemoryOrderModuleList]
Removed patch to sort InMemoryOrderModuleList in load order (accepted upstream).
2016-07-07 20:33:23 +02:00
Sebastian Lackner
cf457f4e1c Rebase against 27ea3804ddc8077fedb7a0ea81ac96910f78a26f. 2016-07-06 22:38:12 +02:00
Sebastian Lackner
fc6aa583cf server-Realtime_Priority: Include stdarg.h in server/scheduler.c. 2016-07-06 05:51:29 +02:00
Sebastian Lackner
ed54d227d8 Added patch to forward various functions from d3d10_1 to d3d10. 2016-07-05 21:47:56 +02:00
Sebastian Lackner
f5734d67c8 Rebase against 9729d15a1a8de61030b68436a1c2239290af90f5. 2016-07-05 20:17:20 +02:00
Sebastian Lackner
8aa5c2acd0 Rebase against b1930ee4b8a0f77654bbab65c3bc30d721bf5d6a.
[include-webservices]
Removed patch to delete duplicate definition of WS_XML_NODE_POSITION (accepted
upstream).
2016-07-04 18:14:50 +02:00
Sebastian Lackner
d8862cbbfd Rebase against a9a6948b7944dccca6831914ea40e5c9aa5929bc.
[winspool.drv-SetPrinterW]
Removed patch to add stub for winspool.SetPrinterW level 8 (fixed upstream).
2016-07-03 23:05:00 +02:00
Sebastian Lackner
0792e994bd precommit-hook.sh: Use 'grep -q' instead of redirection to /dev/null. 2016-07-01 20:13:03 +02:00
Sebastian Lackner
09e1b75334 patchinstall.sh: Escape $ at the end of a string. 2016-07-01 19:50:22 +02:00
Sebastian Lackner
004c3abe40 patchutils.py: Generate diff in git format. 2016-07-01 01:28:38 +02:00
Sebastian Lackner
270b4f702b precommit-hook.sh: Automatically adjust version number after a release. 2016-07-01 01:13:40 +02:00
112 changed files with 8807 additions and 7768 deletions

View File

@@ -1,4 +1,4 @@
From 71e593294e868bafa0b0b45c2694d7c0dceb0d64 Mon Sep 17 00:00:00 2001
From 23e0f029f1cc37d5d33bb39d5277371827b701aa Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:54:48 +0100
Subject: d3d11: Avoid implicit cast of interface pointer.
@@ -8,16 +8,18 @@ Subject: d3d11: Avoid implicit cast of interface pointer.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/d3d11/view.c b/dlls/d3d11/view.c
index 1d9b766..78fc1ad 100644
index 5e48965..70eae5e 100644
--- a/dlls/d3d11/view.c
+++ b/dlls/d3d11/view.c
@@ -1559,5 +1559,5 @@ struct d3d_shader_resource_view *unsafe_impl_from_ID3D10ShaderResourceView(ID3D1
@@ -2191,7 +2191,7 @@ struct d3d_shader_resource_view *unsafe_impl_from_ID3D10ShaderResourceView(ID3D1
if (!iface)
return NULL;
assert(iface->lpVtbl == (ID3D10ShaderResourceViewVtbl *)&d3d10_shader_resource_view_vtbl);
- return CONTAINING_RECORD(iface, struct d3d_shader_resource_view, ID3D10ShaderResourceView1_iface);
+ return CONTAINING_RECORD((ID3D10ShaderResourceView1 *)iface, struct d3d_shader_resource_view, ID3D10ShaderResourceView1_iface);
}
/* ID3D11UnorderedAccessView methods */
--
2.7.1
2.8.0

View File

@@ -0,0 +1,70 @@
From a9daa20013ed733317fb0c8680c13549a0595d02 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 5 Jul 2016 21:42:23 +0200
Subject: d3d10_1: Add missing forwards to d3d10.
Spotted by Jarkko Korpi.
---
dlls/d3d10_1/d3d10_1.spec | 24 ++++++++++++------------
tools/make_specfiles | 4 ++++
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/dlls/d3d10_1/d3d10_1.spec b/dlls/d3d10_1/d3d10_1.spec
index 18eb3ac..10edc3f 100644
--- a/dlls/d3d10_1/d3d10_1.spec
+++ b/dlls/d3d10_1/d3d10_1.spec
@@ -1,24 +1,24 @@
@ stub RevertToOldImplementation
-@ stub D3D10CompileEffectFromMemory
-@ stub D3D10CompileShader
-@ stub D3D10CreateBlob
+@ stdcall D3D10CompileEffectFromMemory(ptr long ptr ptr ptr long long ptr ptr) d3d10.D3D10CompileEffectFromMemory
+@ stdcall D3D10CompileShader(ptr long str ptr ptr str str long ptr ptr) d3d10.D3D10CompileShader
+@ stdcall D3D10CreateBlob(long ptr) d3d10.D3D10CreateBlob
@ stdcall D3D10CreateDevice1(ptr long ptr long long long ptr)
@ stdcall D3D10CreateDeviceAndSwapChain1(ptr long ptr long long long ptr ptr ptr)
@ stdcall D3D10CreateEffectFromMemory(ptr long long ptr ptr ptr) d3d10.D3D10CreateEffectFromMemory
@ stdcall D3D10CreateEffectPoolFromMemory(ptr long long ptr ptr) d3d10.D3D10CreateEffectPoolFromMemory
@ stdcall D3D10CreateStateBlock(ptr ptr ptr) d3d10.D3D10CreateStateBlock
@ stub D3D10DisassembleEffect
-@ stub D3D10DisassembleShader
-@ stub D3D10GetGeometryShaderProfile
-@ stub D3D10GetInputAndOutputSignatureBlob
-@ stub D3D10GetInputSignatureBlob
-@ stub D3D10GetOutputSignatureBlob
-@ stub D3D10GetPixelShaderProfile
-@ stub D3D10GetShaderDebugInfo
+@ stdcall D3D10DisassembleShader(ptr long long ptr ptr) d3d10.D3D10DisassembleShader
+@ stdcall D3D10GetGeometryShaderProfile(ptr) d3d10.D3D10GetGeometryShaderProfile
+@ stdcall D3D10GetInputAndOutputSignatureBlob(ptr long ptr) d3d10.D3D10GetInputAndOutputSignatureBlob
+@ stdcall D3D10GetInputSignatureBlob(ptr long ptr) d3d10.D3D10GetInputSignatureBlob
+@ stdcall D3D10GetOutputSignatureBlob(ptr long ptr) d3d10.D3D10GetOutputSignatureBlob
+@ stdcall D3D10GetPixelShaderProfile(ptr) d3d10.D3D10GetPixelShaderProfile
+@ stdcall D3D10GetShaderDebugInfo(ptr long ptr) d3d10.D3D10GetShaderDebugInfo
@ stub D3D10GetVersion
-@ stub D3D10GetVertexShaderProfile
+@ stdcall D3D10GetVertexShaderProfile(ptr) d3d10.D3D10GetVertexShaderProfile
@ stub D3D10PreprocessShader
-@ stub D3D10ReflectShader
+@ stdcall D3D10ReflectShader(ptr long ptr) d3d10.D3D10ReflectShader
@ stub D3D10RegisterLayers
@ stdcall D3D10StateBlockMaskDifference(ptr ptr ptr) d3d10.D3D10StateBlockMaskDifference
@ stdcall D3D10StateBlockMaskDisableAll(ptr) d3d10.D3D10StateBlockMaskDisableAll
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 85d39d8..e36685d 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -73,6 +73,10 @@ my @dll_groups =
"msvcp120_app",
],
[
+ "d3d10",
+ "d3d10_1",
+ ],
+ [
"d3dx10_43",
"d3dx10_42",
"d3dx10_41",
--
2.8.0

View File

@@ -1,4 +1,4 @@
From d1229f450e5b7f7cdda6654010c520dc79f7951a Mon Sep 17 00:00:00 2001
From 4008ff706b5b5358e02e7a092085701ad4d286ec Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Mar 2015 04:48:38 +0100
Subject: d3dx9_*: Adjust ID3DXEffect interface based on DLL version.
@@ -14,10 +14,19 @@ Subject: d3dx9_*: Adjust ID3DXEffect interface based on DLL version.
dlls/d3dx9_31/Makefile.in | 1 +
dlls/d3dx9_32/Makefile.in | 1 +
dlls/d3dx9_33/Makefile.in | 1 +
dlls/d3dx9_34/Makefile.in | 1 +
dlls/d3dx9_35/Makefile.in | 1 +
dlls/d3dx9_36/Makefile.in | 1 +
dlls/d3dx9_36/effect.c | 8 ++++++++
dlls/d3dx9_37/Makefile.in | 1 +
dlls/d3dx9_38/Makefile.in | 1 +
dlls/d3dx9_39/Makefile.in | 1 +
dlls/d3dx9_40/Makefile.in | 1 +
dlls/d3dx9_41/Makefile.in | 1 +
dlls/d3dx9_42/Makefile.in | 1 +
dlls/d3dx9_43/Makefile.in | 1 +
include/d3dx9effect.h | 12 ++++++++++++
13 files changed, 31 insertions(+)
22 files changed, 40 insertions(+)
diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in
index 71dee7f..7464bd1 100644
@@ -128,6 +137,28 @@ index 44bd991..c9b6587 100644
+EXTRADEFS = -D_D3DX9_VER=33
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_34/Makefile.in b/dlls/d3dx9_34/Makefile.in
index 4ba14c2..822f621 100644
--- a/dlls/d3dx9_34/Makefile.in
+++ b/dlls/d3dx9_34/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_34.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=34
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_35/Makefile.in b/dlls/d3dx9_35/Makefile.in
index ee527d5..3c8df66 100644
--- a/dlls/d3dx9_35/Makefile.in
+++ b/dlls/d3dx9_35/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_35.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=35
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
index 83f7d1c..24ce09d 100644
@@ -142,7 +173,7 @@ index 83f7d1c..24ce09d 100644
C_SRCS = \
animation.c \
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index fd8d59e..5b140fe 100644
index 42f5aea..5281e8e 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -3888,6 +3888,7 @@ static HRESULT WINAPI ID3DXEffectImpl_ApplyParameterBlock(ID3DXEffect* iface, D3
@@ -191,6 +222,83 @@ index fd8d59e..5b140fe 100644
};
static inline struct ID3DXEffectCompilerImpl *impl_from_ID3DXEffectCompiler(ID3DXEffectCompiler *iface)
diff --git a/dlls/d3dx9_37/Makefile.in b/dlls/d3dx9_37/Makefile.in
index 61528a3..672878f 100644
--- a/dlls/d3dx9_37/Makefile.in
+++ b/dlls/d3dx9_37/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_37.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=37
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_38/Makefile.in b/dlls/d3dx9_38/Makefile.in
index cb1507c..0b537c6 100644
--- a/dlls/d3dx9_38/Makefile.in
+++ b/dlls/d3dx9_38/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_38.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=38
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_39/Makefile.in b/dlls/d3dx9_39/Makefile.in
index e372816..58d88f7 100644
--- a/dlls/d3dx9_39/Makefile.in
+++ b/dlls/d3dx9_39/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_39.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=39
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_40/Makefile.in b/dlls/d3dx9_40/Makefile.in
index b6c4dcd..a4417b5 100644
--- a/dlls/d3dx9_40/Makefile.in
+++ b/dlls/d3dx9_40/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_40.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=40
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_41/Makefile.in b/dlls/d3dx9_41/Makefile.in
index 9aa91a9..0463175 100644
--- a/dlls/d3dx9_41/Makefile.in
+++ b/dlls/d3dx9_41/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_41.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=41
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_42/Makefile.in b/dlls/d3dx9_42/Makefile.in
index a5cc60e..309324f 100644
--- a/dlls/d3dx9_42/Makefile.in
+++ b/dlls/d3dx9_42/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_42.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=42
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/dlls/d3dx9_43/Makefile.in b/dlls/d3dx9_43/Makefile.in
index cb78707..9c1a87d 100644
--- a/dlls/d3dx9_43/Makefile.in
+++ b/dlls/d3dx9_43/Makefile.in
@@ -1,5 +1,6 @@
MODULE = d3dx9_43.dll
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+EXTRADEFS = -D_D3DX9_VER=43
PARENTSRC = ../d3dx9_36
C_SRCS = \
diff --git a/include/d3dx9effect.h b/include/d3dx9effect.h
index 3f527ed..b8259e4 100644
--- a/include/d3dx9effect.h

View File

@@ -1,4 +1,4 @@
From 0dd9b5f8cdee5652916ddaa1f1673417229bc15b Mon Sep 17 00:00:00 2001
From 20fe06391437e9afaf34014b182df39e9a617e3b Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Wed, 31 Dec 2014 18:45:24 +0100
Subject: d3dx9_36: Add stub for D3DXComputeNormalMap.
@@ -9,11 +9,11 @@ Subject: d3dx9_36: Add stub for D3DXComputeNormalMap.
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 78b2969..4cadb53 100644
index 622f2d0..746b8db 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -22,7 +22,7 @@
@ stub D3DXComputeIMTFromPerTexelSignal(ptr long ptr long long long long long ptr ptr ptr)
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)

View File

@@ -1,4 +1,4 @@
From 94ca9bf354be47b2fe57689a4a1479d1d53255b2 Mon Sep 17 00:00:00 2001
From 499d0a3ccd24ffb60e5fe58dd054b71de1f3121f Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 1 Nov 2014 13:08:05 +0100
Subject: d3dx9_36: Add dxtn support.
@@ -14,10 +14,19 @@ Subject: d3dx9_36: Add dxtn support.
dlls/d3dx9_31/Makefile.in | 2 +-
dlls/d3dx9_32/Makefile.in | 2 +-
dlls/d3dx9_33/Makefile.in | 2 +-
dlls/d3dx9_34/Makefile.in | 2 +-
dlls/d3dx9_35/Makefile.in | 2 +-
dlls/d3dx9_36/Makefile.in | 2 +-
dlls/d3dx9_36/surface.c | 103 +++++++++++++++++++++++++++++++++++++++---
dlls/d3dx9_36/tests/surface.c | 8 ++--
13 files changed, 111 insertions(+), 22 deletions(-)
dlls/d3dx9_37/Makefile.in | 2 +-
dlls/d3dx9_38/Makefile.in | 2 +-
dlls/d3dx9_39/Makefile.in | 2 +-
dlls/d3dx9_40/Makefile.in | 2 +-
dlls/d3dx9_41/Makefile.in | 2 +-
dlls/d3dx9_42/Makefile.in | 2 +-
dlls/d3dx9_43/Makefile.in | 2 +-
22 files changed, 120 insertions(+), 31 deletions(-)
diff --git a/dlls/d3dx9_24/Makefile.in b/dlls/d3dx9_24/Makefile.in
index 7464bd1..bca7d82 100644
@@ -129,6 +138,28 @@ index c9b6587..ecf1b15 100644
EXTRADEFS = -D_D3DX9_VER=33
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_34/Makefile.in b/dlls/d3dx9_34/Makefile.in
index 822f621..2dcd721 100644
--- a/dlls/d3dx9_34/Makefile.in
+++ b/dlls/d3dx9_34/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_34.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=34
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_35/Makefile.in b/dlls/d3dx9_35/Makefile.in
index 3c8df66..8c90f16 100644
--- a/dlls/d3dx9_35/Makefile.in
+++ b/dlls/d3dx9_35/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_35.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=35
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
index 24ce09d..6b78518 100644
--- a/dlls/d3dx9_36/Makefile.in
@@ -332,6 +363,83 @@ index f2855e8..2be48df 100644
check_release((IUnknown*)newsurf, 1);
check_release((IUnknown*)tex, 0);
diff --git a/dlls/d3dx9_37/Makefile.in b/dlls/d3dx9_37/Makefile.in
index 672878f..9eecd32 100644
--- a/dlls/d3dx9_37/Makefile.in
+++ b/dlls/d3dx9_37/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_37.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=37
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_38/Makefile.in b/dlls/d3dx9_38/Makefile.in
index 0b537c6..6bb7bac 100644
--- a/dlls/d3dx9_38/Makefile.in
+++ b/dlls/d3dx9_38/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_38.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=38
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_39/Makefile.in b/dlls/d3dx9_39/Makefile.in
index 58d88f7..5d03e18 100644
--- a/dlls/d3dx9_39/Makefile.in
+++ b/dlls/d3dx9_39/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_39.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=39
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_40/Makefile.in b/dlls/d3dx9_40/Makefile.in
index a4417b5..8982d4e 100644
--- a/dlls/d3dx9_40/Makefile.in
+++ b/dlls/d3dx9_40/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_40.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=40
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_41/Makefile.in b/dlls/d3dx9_41/Makefile.in
index 0463175..e9f3d65 100644
--- a/dlls/d3dx9_41/Makefile.in
+++ b/dlls/d3dx9_41/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_41.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=41
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_42/Makefile.in b/dlls/d3dx9_42/Makefile.in
index 309324f..a55736d 100644
--- a/dlls/d3dx9_42/Makefile.in
+++ b/dlls/d3dx9_42/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_42.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=42
PARENTSRC = ../d3dx9_36
diff --git a/dlls/d3dx9_43/Makefile.in b/dlls/d3dx9_43/Makefile.in
index 9c1a87d..c2e787c 100644
--- a/dlls/d3dx9_43/Makefile.in
+++ b/dlls/d3dx9_43/Makefile.in
@@ -1,5 +1,5 @@
MODULE = d3dx9_43.dll
-IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32
+IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 wined3d
EXTRADEFS = -D_D3DX9_VER=43
PARENTSRC = ../d3dx9_36
--
2.8.0

View File

@@ -1,18 +1,193 @@
From 112abf989d718eb45388793f138d115eeda5b921 Mon Sep 17 00:00:00 2001
From f6450f50915fa8aa93983cb736015c4eb2d1bf97 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 5 Apr 2014 14:02:07 +0200
Subject: d3dx9_36: Implement D3DXGetShaderInputSemantics + tests. (rev 3)
Fixes bug 22682.
---
dlls/d3dx9_24/d3dx9_24.spec | 2 +-
dlls/d3dx9_25/d3dx9_25.spec | 2 +-
dlls/d3dx9_26/d3dx9_26.spec | 2 +-
dlls/d3dx9_27/d3dx9_27.spec | 2 +-
dlls/d3dx9_28/d3dx9_28.spec | 2 +-
dlls/d3dx9_29/d3dx9_29.spec | 2 +-
dlls/d3dx9_30/d3dx9_30.spec | 2 +-
dlls/d3dx9_31/d3dx9_31.spec | 2 +-
dlls/d3dx9_32/d3dx9_32.spec | 2 +-
dlls/d3dx9_33/d3dx9_33.spec | 2 +-
dlls/d3dx9_34/d3dx9_34.spec | 2 +-
dlls/d3dx9_35/d3dx9_35.spec | 2 +-
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/shader.c | 93 ++++++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_36/tests/shader.c | 86 ++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_37/d3dx9_37.spec | 2 +-
dlls/d3dx9_38/d3dx9_38.spec | 2 +-
dlls/d3dx9_39/d3dx9_39.spec | 2 +-
dlls/d3dx9_40/d3dx9_40.spec | 2 +-
dlls/d3dx9_41/d3dx9_41.spec | 2 +-
dlls/d3dx9_42/d3dx9_42.spec | 2 +-
dlls/d3dx9_43/d3dx9_43.spec | 2 +-
include/d3dx9shader.h | 1 +
4 files changed, 181 insertions(+), 1 deletion(-)
23 files changed, 200 insertions(+), 20 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index 88ad9af..7e4217d 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -154,7 +154,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index fc64fb4..2c7ae49 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -154,7 +154,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index 5bcf2cc..21b7f3c 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index 5bcf2cc..21b7f3c 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index edb494e..5f630a6 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index edb494e..5f630a6 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index dc00086..5f0e3a4 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index c650a77..1d52ecb 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -157,7 +157,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index 8c2fe78..4333519 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -157,7 +157,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index 8c2fe78..4333519 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -157,7 +157,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index 8c2fe78..4333519 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -157,7 +157,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index 8c2fe78..4333519 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -157,7 +157,7 @@
@ stdcall D3DXGetImageInfoFromResourceW(long wstr ptr)
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index f79b6fa..cba33b4 100644
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -159,7 +159,7 @@
@@ -25,7 +200,7 @@ index f79b6fa..cba33b4 100644
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index e9d893b..2918bde 100644
index 9723aa4..940cd15 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -1,6 +1,7 @@
@@ -36,7 +211,7 @@ index e9d893b..2918bde 100644
* Copyright 2011 Travis Athougies
*
* This library is free software; you can redistribute it and/or
@@ -2151,3 +2152,95 @@ HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const
@@ -2146,3 +2147,95 @@ HRESULT WINAPI D3DXDisassembleShader(const DWORD *shader, BOOL colorcode, const
FIXME("%p %d %s %p: stub\n", shader, colorcode, debugstr_a(comments), disassembly);
return E_OUTOFMEMORY;
}
@@ -133,7 +308,7 @@ index e9d893b..2918bde 100644
+ return D3D_OK;
+}
diff --git a/dlls/d3dx9_36/tests/shader.c b/dlls/d3dx9_36/tests/shader.c
index 694540c..728cd86 100644
index 4a7ae67..9a2769f 100644
--- a/dlls/d3dx9_36/tests/shader.c
+++ b/dlls/d3dx9_36/tests/shader.c
@@ -1,5 +1,6 @@
@@ -247,6 +422,97 @@ index 694540c..728cd86 100644
test_registerset_defaults();
+ test_get_shader_semantics();
}
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_37/d3dx9_37.spec
+++ b/dlls/d3dx9_37/d3dx9_37.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_38/d3dx9_38.spec
+++ b/dlls/d3dx9_38/d3dx9_38.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_39/d3dx9_39.spec
+++ b/dlls/d3dx9_39/d3dx9_39.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_40/d3dx9_40.spec
+++ b/dlls/d3dx9_40/d3dx9_40.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
index 622f2d0..e81aef2 100644
--- a/dlls/d3dx9_41/d3dx9_41.spec
+++ b/dlls/d3dx9_41/d3dx9_41.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
index 7851c60..257c6bd 100644
--- a/dlls/d3dx9_42/d3dx9_42.spec
+++ b/dlls/d3dx9_42/d3dx9_42.spec
@@ -152,7 +152,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
index 7851c60..257c6bd 100644
--- a/dlls/d3dx9_43/d3dx9_43.spec
+++ b/dlls/d3dx9_43/d3dx9_43.spec
@@ -152,7 +152,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
-@ stub D3DXGetShaderInputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
diff --git a/include/d3dx9shader.h b/include/d3dx9shader.h
index a3f68f2..5714ddb 100644
--- a/include/d3dx9shader.h
@@ -260,5 +526,5 @@ index a3f68f2..5714ddb 100644
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
--
2.6.1
2.8.0

View File

@@ -1,18 +1,193 @@
From b92b1b248050bc0b0b900de72b01cb79ef88df94 Mon Sep 17 00:00:00 2001
From 93d8dea11ef99d14e59031586bbb62d300b4385a Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 8 Jul 2015 10:55:03 +1000
Subject: d3dx9_36: Implement D3DXGetShaderOutputSemantics. (rev 2)
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/d3dx9_24/d3dx9_24.spec | 2 +-
dlls/d3dx9_25/d3dx9_25.spec | 2 +-
dlls/d3dx9_26/d3dx9_26.spec | 2 +-
dlls/d3dx9_27/d3dx9_27.spec | 2 +-
dlls/d3dx9_28/d3dx9_28.spec | 2 +-
dlls/d3dx9_29/d3dx9_29.spec | 2 +-
dlls/d3dx9_30/d3dx9_30.spec | 2 +-
dlls/d3dx9_31/d3dx9_31.spec | 2 +-
dlls/d3dx9_32/d3dx9_32.spec | 2 +-
dlls/d3dx9_33/d3dx9_33.spec | 2 +-
dlls/d3dx9_34/d3dx9_34.spec | 2 +-
dlls/d3dx9_35/d3dx9_35.spec | 2 +-
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/shader.c | 20 +++++++++++++++-
dlls/d3dx9_36/tests/shader.c | 54 ++++++++++++++++++++++++++++++++++++++++++++
dlls/d3dx9_37/d3dx9_37.spec | 2 +-
dlls/d3dx9_38/d3dx9_38.spec | 2 +-
dlls/d3dx9_39/d3dx9_39.spec | 2 +-
dlls/d3dx9_40/d3dx9_40.spec | 2 +-
dlls/d3dx9_41/d3dx9_41.spec | 2 +-
dlls/d3dx9_42/d3dx9_42.spec | 2 +-
dlls/d3dx9_43/d3dx9_43.spec | 2 +-
include/d3dx9shader.h | 1 +
4 files changed, 75 insertions(+), 2 deletions(-)
23 files changed, 94 insertions(+), 21 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index 7e4217d..c53c946 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -155,7 +155,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index 2c7ae49..2072001 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -155,7 +155,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index 21b7f3c..5e1bce9 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index 21b7f3c..5e1bce9 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index 5f630a6..503d0b2 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index 5f630a6..503d0b2 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index 5f0e3a4..74bf709 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -159,7 +159,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index 1d52ecb..b1fa7bf 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index 4333519..4e65a9e 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index 4333519..4e65a9e 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index 4333519..4e65a9e 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index 4333519..4e65a9e 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -158,7 +158,7 @@
@ stdcall D3DXGetPixelShaderProfile(ptr)
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index cba33b4..7cbf499 100644
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -160,7 +160,7 @@
@@ -25,10 +200,10 @@ index cba33b4..7cbf499 100644
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index 39f1f31..c699299 100644
index 940cd15..a5871c5 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -2192,7 +2192,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
@@ -2187,7 +2187,7 @@ static UINT get_shader_semantics(const DWORD *byte_code, D3DXSEMANTIC *semantics
{
if (*ptr & (1u << 31))
{
@@ -37,7 +212,7 @@ index 39f1f31..c699299 100644
return 0;
}
else if ((*ptr & D3DSI_OPCODE_MASK) == D3DSIO_DCL)
@@ -2243,3 +2243,21 @@ HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC
@@ -2239,3 +2239,21 @@ HRESULT WINAPI D3DXGetShaderInputSemantics(const DWORD *byte_code, D3DXSEMANTIC
return D3D_OK;
}
@@ -60,7 +235,7 @@ index 39f1f31..c699299 100644
+ return D3D_OK;
+}
diff --git a/dlls/d3dx9_36/tests/shader.c b/dlls/d3dx9_36/tests/shader.c
index 728cd86..946143e 100644
index 9a2769f..6b76bf7 100644
--- a/dlls/d3dx9_36/tests/shader.c
+++ b/dlls/d3dx9_36/tests/shader.c
@@ -6572,6 +6572,60 @@ static void test_get_shader_semantics(void)
@@ -124,6 +299,97 @@ index 728cd86..946143e 100644
}
START_TEST(shader)
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_37/d3dx9_37.spec
+++ b/dlls/d3dx9_37/d3dx9_37.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_38/d3dx9_38.spec
+++ b/dlls/d3dx9_38/d3dx9_38.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_39/d3dx9_39.spec
+++ b/dlls/d3dx9_39/d3dx9_39.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_40/d3dx9_40.spec
+++ b/dlls/d3dx9_40/d3dx9_40.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
index e81aef2..4454d25 100644
--- a/dlls/d3dx9_41/d3dx9_41.spec
+++ b/dlls/d3dx9_41/d3dx9_41.spec
@@ -160,7 +160,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
index 257c6bd..c03d804 100644
--- a/dlls/d3dx9_42/d3dx9_42.spec
+++ b/dlls/d3dx9_42/d3dx9_42.spec
@@ -153,7 +153,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
index 257c6bd..c03d804 100644
--- a/dlls/d3dx9_43/d3dx9_43.spec
+++ b/dlls/d3dx9_43/d3dx9_43.spec
@@ -153,7 +153,7 @@
@ stdcall D3DXGetShaderConstantTable(ptr ptr)
@ stdcall D3DXGetShaderConstantTableEx(ptr long ptr)
@ stdcall D3DXGetShaderInputSemantics(ptr ptr ptr)
-@ stub D3DXGetShaderOutputSemantics(ptr ptr ptr)
+@ stdcall D3DXGetShaderOutputSemantics(ptr ptr ptr)
@ stdcall D3DXGetShaderSamplers(ptr ptr ptr)
@ stdcall D3DXGetShaderSize(ptr)
@ stdcall D3DXGetShaderVersion(ptr)
diff --git a/include/d3dx9shader.h b/include/d3dx9shader.h
index 5714ddb..1176143 100644
--- a/include/d3dx9shader.h
@@ -137,5 +403,5 @@ index 5714ddb..1176143 100644
HRESULT WINAPI D3DXAssembleShaderFromFileA(const char *filename, const D3DXMACRO *defines,
ID3DXInclude *include, DWORD flags, ID3DXBuffer **shader, ID3DXBuffer **error_messages);
--
2.6.1
2.8.0

View File

@@ -1,24 +0,0 @@
From 50389a00b3f63757d8cab2b36e63d88f955d5a92 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 25 Jun 2016 07:11:52 +0200
Subject: include: Remove duplicate definition of WS_XML_NODE_POSITION.
---
include/webservices.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/include/webservices.h b/include/webservices.h
index a5ffd51..3c808f5 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -73,7 +73,6 @@ typedef struct _WS_CUSTOM_HTTP_PROXY WS_CUSTOM_HTTP_PROXY;
typedef struct _WS_HTTP_MESSAGE_MAPPING WS_HTTP_MESSAGE_MAPPING;
typedef struct _WS_HTTP_HEADER_MAPPING WS_HTTP_HEADER_MAPPING;
typedef struct _WS_HTTP_REDIRECT_CALLBACK_CONTEXT WS_HTTP_REDIRECT_CALLBACK_CONTEXT;
-typedef struct _WS_XML_NODE_POSITION WS_XML_NODE_POSITION;
struct _WS_STRUCT_DESCRIPTION;
struct _WS_XML_STRING;
--
2.8.0

View File

@@ -0,0 +1,90 @@
From 553c390a55bb9184aa4d35cc2e6689f6633e4a9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 22 Jul 2016 21:00:40 +0200
Subject: kernel32: Convert scsi device type in SCSI_getprocentry.
---
dlls/kernel32/oldconfig.c | 27 ++++++++++++++++-----------
1 file changed, 16 insertions(+), 11 deletions(-)
diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c
index 6c80dc6..8446f2d 100644
--- a/dlls/kernel32/oldconfig.c
+++ b/dlls/kernel32/oldconfig.c
@@ -204,7 +204,7 @@ struct LinuxProcScsiDevice
char vendor[9];
char model[17];
char rev[5];
- char type[33];
+ int type;
int ansirev;
};
@@ -217,6 +217,7 @@ struct LinuxProcScsiDevice
static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev )
{
int result;
+ char type[33];
result = fscanf( procfile,
"Host:%*1[ ]scsi%d%*1[ ]Channel:%*1[ ]%d%*1[ ]Id:%*1[ ]%d%*1[ ]Lun:%*1[ ]%d\n",
@@ -247,7 +248,7 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev
result = fscanf( procfile,
" Type:%*3[ ]%32c%*1[ ]ANSI SCSI%*1[ ]revision:%*1[ ]%x\n",
- dev->type,
+ type,
&dev->ansirev );
if( result != 2 )
{
@@ -258,7 +259,15 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev
dev->vendor[8] = 0;
dev->model[16] = 0;
dev->rev[4] = 0;
- dev->type[32] = 0;
+ type[32] = 0;
+
+ if (strncmp(type, "Direct-Access", 13) == 0) dev->type = DRIVE_FIXED;
+ else if (strncmp(type, "Sequential-Access", 17) == 0) dev->type = DRIVE_REMOVABLE;
+ else if (strncmp(type, "CD-ROM", 6) == 0) dev->type = DRIVE_CDROM;
+ else if (strncmp(type, "Processor", 9) == 0) dev->type = DRIVE_NO_ROOT_DIR;
+ else if (strncmp(type, "Scanner", 7) == 0) dev->type = DRIVE_NO_ROOT_DIR;
+ else if (strncmp(type, "Printer", 7) == 0) dev->type = DRIVE_NO_ROOT_DIR;
+ else dev->type = DRIVE_UNKNOWN;
return 1;
}
@@ -362,26 +371,22 @@ static void create_hardware_branch(void)
/* Read info for one device */
while ((result = SCSI_getprocentry(procfile, &dev)) > 0)
{
+ if (dev.type == DRIVE_UNKNOWN)
+ continue;
+
scsi_addr.PortNumber = dev.host;
scsi_addr.PathId = dev.channel;
scsi_addr.TargetId = dev.target;
scsi_addr.Lun = dev.lun;
scsi_addr.PortNumber += uFirstSCSIPort;
- if (strncmp(dev.type, "Direct-Access", 13) == 0) nType = DRIVE_FIXED;
- else if (strncmp(dev.type, "Sequential-Access", 17) == 0) nType = DRIVE_REMOVABLE;
- else if (strncmp(dev.type, "CD-ROM", 6) == 0) nType = DRIVE_CDROM;
- else if (strncmp(dev.type, "Processor", 9) == 0) nType = DRIVE_NO_ROOT_DIR;
- else if (strncmp(dev.type, "Scanner", 7) == 0) nType = DRIVE_NO_ROOT_DIR;
- else if (strncmp(dev.type, "Printer", 7) == 0) nType = DRIVE_NO_ROOT_DIR;
- else continue;
strcpy(cDevModel, dev.vendor);
strcat(cDevModel, dev.model);
strcat(cDevModel, dev.rev);
sprintf(cUnixDeviceName, "/dev/sg%d", nSgNumber++);
/* FIXME: get real driver name */
- create_scsi_entry(&scsi_addr, "WINE SCSI", nType, cDevModel, cUnixDeviceName);
+ create_scsi_entry(&scsi_addr, "WINE SCSI", dev.type, cDevModel, cUnixDeviceName);
}
if( result != EOF )
WARN("Incorrect %s format\n", procname_scsi);
--
2.8.0

View File

@@ -0,0 +1,151 @@
From 49435131943ae82e369d2a666de25e6242d242ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 22 Jul 2016 21:01:33 +0200
Subject: kernel32: Add support for reading scsi devices from sysfs.
---
dlls/kernel32/oldconfig.c | 114 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 113 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c
index 8446f2d..9001a04 100644
--- a/dlls/kernel32/oldconfig.c
+++ b/dlls/kernel32/oldconfig.c
@@ -272,6 +272,89 @@ static int SCSI_getprocentry( FILE * procfile, struct LinuxProcScsiDevice * dev
return 1;
}
+static BOOL read_file_content(char *path, char *buffer, int length)
+{
+ size_t read;
+
+ FILE *f = fopen(path, "r");
+ if (!f) return FALSE;
+
+ read = fread(buffer, 1, length-1, f);
+ fclose(f);
+ if (!read) return FALSE;
+
+ /* ensure NULL termination */
+ buffer[read] = 0;
+ return TRUE;
+}
+
+static BOOL read_file_content_int(char *path, int *result)
+{
+ char buffer[20];
+
+ if (!read_file_content(path, buffer, sizeof(buffer)))
+ return FALSE;
+
+ *result = atoi(buffer);
+ return TRUE;
+}
+
+static BOOL SCSI_getsysentry(char *device_key, struct LinuxProcScsiDevice *dev, char *unix_path)
+{
+ struct dirent *dent = NULL;
+ char path_buffer[100];
+ DIR *generic_dir;
+ int result, type;
+
+ result = sscanf(device_key, "%d:%d:%d:%d", &dev->host, &dev->channel, &dev->target, &dev->lun);
+ if (result != 4)
+ {
+ ERR("Failed to extract device information from %s\n", device_key);
+ return FALSE;
+ }
+
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/vendor", device_key);
+ if (!read_file_content(path_buffer, dev->vendor, sizeof(dev->vendor))) return FALSE;
+
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/model", device_key);
+ if (!read_file_content(path_buffer, dev->model, sizeof(dev->model))) return FALSE;
+
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/rev", device_key);
+ if (!read_file_content(path_buffer, dev->rev, sizeof(dev->rev))) return FALSE;
+
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/type", device_key);
+ if (!read_file_content_int(path_buffer, &type)) return FALSE;
+
+ /* see SCSI specification standard for values */
+ if (type == 0x0) dev->type = DRIVE_FIXED;
+ else if (type == 0x1) dev->type = DRIVE_REMOVABLE;
+ else if (type == 0x5) dev->type = DRIVE_CDROM;
+ else dev->type = DRIVE_NO_ROOT_DIR;
+
+ /* FIXME: verify */
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/scsi_level", device_key);
+ if (!read_file_content_int(path_buffer, &dev->ansirev)) return FALSE;
+
+ result = FALSE;
+
+ snprintf(path_buffer, sizeof(path_buffer), "/sys/class/scsi_device/%s/device/scsi_generic", device_key);
+ generic_dir = opendir(path_buffer);
+ if (generic_dir)
+ {
+ while ((dent = readdir(generic_dir)))
+ {
+ if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, ".."))
+ continue;
+
+ sprintf(unix_path, "/dev/%s", dent->d_name);
+ result = TRUE;
+ break;
+ }
+ closedir(generic_dir);
+ }
+
+ return result;
+}
/* create the hardware registry branch */
static void create_hardware_branch(void)
@@ -281,7 +364,7 @@ static void create_hardware_branch(void)
static const char procname_ide_media[] = "/proc/ide/%s/media";
static const char procname_ide_model[] = "/proc/ide/%s/model";
static const char procname_scsi[] = "/proc/scsi/scsi";
- DIR *idedir;
+ DIR *idedir, *scsidir;
struct dirent *dent = NULL;
FILE *procfile = NULL;
char cStr[40], cDevModel[40], cUnixDeviceName[40], read1[10] = "\0", read2[10] = "\0";
@@ -346,6 +429,35 @@ static void create_hardware_branch(void)
}
/* Now goes SCSI */
+ scsidir = opendir("/sys/class/scsi_device");
+ if (scsidir)
+ {
+ while ((dent = readdir(scsidir)))
+ {
+ if (!strcmp(dent->d_name, ".") || !strcmp(dent->d_name, ".."))
+ continue;
+
+ if (!SCSI_getsysentry(dent->d_name, &dev, cUnixDeviceName))
+ continue;
+
+ scsi_addr.PortNumber = dev.host;
+ scsi_addr.PathId = dev.channel;
+ scsi_addr.TargetId = dev.target;
+ scsi_addr.Lun = dev.lun;
+
+ scsi_addr.PortNumber += uFirstSCSIPort;
+
+ strcpy(cDevModel, dev.vendor);
+ strcat(cDevModel, dev.model);
+ strcat(cDevModel, dev.rev);
+
+ /* FIXME: get real driver name */
+ create_scsi_entry(&scsi_addr, "WINE SCSI", dev.type, cDevModel, cUnixDeviceName);
+ }
+ closedir(scsidir);
+ return;
+ }
+
procfile = fopen(procname_scsi, "r");
if (!procfile)
{
--
2.8.0

View File

@@ -0,0 +1 @@
Fixes: [31592] Use sysfs to populate SCSI registry keys

View File

@@ -0,0 +1,41 @@
From de0a7b30ea846237b6ea60ec75cf30540ef25743 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 20 Jul 2016 02:21:41 +0200
Subject: ntdll: Ensure process dlls are not attached too early.
---
dlls/ntdll/loader.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index d9176d7..f90b347 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -63,6 +63,7 @@ WINE_DECLARE_DEBUG_CHANNEL(pid);
typedef DWORD (CALLBACK *DLLENTRYPROC)(HMODULE,DWORD,LPVOID);
+static BOOL process_attaching = TRUE; /* set on process attach to avoid calling callbacks too early */
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
@@ -443,7 +444,7 @@ static FARPROC find_forwarded_export( HMODULE module, const char *forward, LPCWS
{
TRACE( "delay loading %s for '%s'\n", debugstr_w(mod_name), forward );
if (load_dll( load_path, mod_name, 0, &wm ) == STATUS_SUCCESS &&
- !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
+ !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS) && !process_attaching)
{
if (process_attach( wm, NULL ) != STATUS_SUCCESS)
{
@@ -2961,6 +2962,7 @@ static NTSTATUS attach_process_dlls( void *wm )
{
NTSTATUS status;
+ process_attaching = FALSE;
pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
RtlEnterCriticalSection( &loader_section );
--
2.8.0

View File

@@ -0,0 +1 @@
Fixes: [40714] Ensure process_attach callbacks are not executed too early

View File

@@ -1,4 +1,4 @@
From cea071b746980986f7a1a5c502445588c95e6f37 Mon Sep 17 00:00:00 2001
From 030cc76851a388c7e4f2eb5b1623c78b9611e0e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 13 Dec 2014 05:34:48 +0100
Subject: ntdll: Implement loader redirection scheme.
@@ -8,10 +8,10 @@ Subject: ntdll: Implement loader redirection scheme.
1 file changed, 44 insertions(+), 22 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 1e2e28e..94ca2f0 100644
index 8db8087..c78f79a 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -92,6 +92,7 @@ struct builtin_load_info
@@ -93,6 +93,7 @@ struct builtin_load_info
{
const WCHAR *load_path;
const WCHAR *filename;
@@ -19,7 +19,7 @@ index 1e2e28e..94ca2f0 100644
NTSTATUS status;
WINE_MODREF *wm;
};
@@ -117,7 +118,8 @@ static WINE_MODREF *cached_modref;
@@ -118,7 +119,8 @@ static WINE_MODREF *cached_modref;
static WINE_MODREF *current_modref;
static WINE_MODREF *last_failed_modref;
@@ -35,7 +35,7 @@ index 1e2e28e..94ca2f0 100644
TRACE( "delay loading %s for '%s'\n", debugstr_w(mod_name), forward );
- if (load_dll( load_path, mod_name, 0, &wm ) == STATUS_SUCCESS &&
+ if (load_dll( load_path, mod_name, NULL, 0, &wm ) == STATUS_SUCCESS &&
!(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
!(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS) && !process_attaching)
{
if (process_attach( wm, NULL ) != STATUS_SUCCESS)
@@ -599,7 +601,7 @@ static BOOL import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *descr, LP
@@ -65,7 +65,7 @@ index 1e2e28e..94ca2f0 100644
{
WINE_MODREF *wm;
const WCHAR *p;
@@ -950,7 +952,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
@@ -949,7 +951,7 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
wm->ldr.TimeDateStamp = 0;
wm->ldr.ActivationContext = 0;
@@ -74,7 +74,7 @@ index 1e2e28e..94ca2f0 100644
if ((p = strrchrW( wm->ldr.FullDllName.Buffer, '\\' ))) p++;
else p = wm->ldr.FullDllName.Buffer;
RtlInitUnicodeString( &wm->ldr.BaseDllName, p );
@@ -1589,7 +1591,7 @@ static void load_builtin_callback( void *module, const char *filename )
@@ -1577,7 +1579,7 @@ static void load_builtin_callback( void *module, const char *filename )
return;
}
@@ -83,7 +83,7 @@ index 1e2e28e..94ca2f0 100644
RtlFreeHeap( GetProcessHeap(), 0, fullname );
if (!wm)
{
@@ -1771,8 +1773,8 @@ static NTSTATUS perform_relocations( void *module, SIZE_T len )
@@ -1759,8 +1761,8 @@ static NTSTATUS perform_relocations( void *module, SIZE_T len )
/******************************************************************************
* load_native_dll (internal)
*/
@@ -94,7 +94,7 @@ index 1e2e28e..94ca2f0 100644
{
void *module;
HANDLE mapping;
@@ -1806,7 +1808,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
@@ -1794,7 +1796,7 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file,
/* create the MODREF */
@@ -103,7 +103,7 @@ index 1e2e28e..94ca2f0 100644
{
status = STATUS_NO_MEMORY;
goto done;
@@ -1870,8 +1872,8 @@ done:
@@ -1858,8 +1860,8 @@ done:
/***********************************************************************
* load_builtin_dll
*/
@@ -114,7 +114,7 @@ index 1e2e28e..94ca2f0 100644
{
char error[256], dllname[MAX_PATH];
const WCHAR *name, *p;
@@ -1891,6 +1893,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, LPCWSTR path, HANDLE file,
@@ -1879,6 +1881,7 @@ static NTSTATUS load_builtin_dll( LPCWSTR load_path, LPCWSTR path, HANDLE file,
*/
info.load_path = load_path;
info.filename = NULL;
@@ -122,7 +122,7 @@ index 1e2e28e..94ca2f0 100644
info.status = STATUS_SUCCESS;
info.wm = NULL;
@@ -2331,14 +2334,14 @@ overflow:
@@ -2319,14 +2322,14 @@ overflow:
return STATUS_BUFFER_TOO_SMALL;
}
@@ -139,7 +139,7 @@ index 1e2e28e..94ca2f0 100644
{
BOOL data = flags & (LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE);
enum loadorder loadorder;
@@ -2376,6 +2379,25 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2364,6 +2367,25 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
}
main_exe = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
@@ -165,7 +165,7 @@ index 1e2e28e..94ca2f0 100644
loadorder = get_load_order( main_exe ? main_exe->ldr.BaseDllName.Buffer : NULL, filename );
if (handle && is_fake_dll( handle ))
@@ -2398,22 +2420,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2386,22 +2408,22 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
if (!handle) nts = STATUS_DLL_NOT_FOUND;
else
{
@@ -193,7 +193,7 @@ index 1e2e28e..94ca2f0 100644
if (nts == STATUS_SUCCESS && loadorder == LO_DEFAULT &&
(MODULE_InitDLL( *pwm, DLL_WINE_PREATTACH, NULL ) != STATUS_SUCCESS))
{
@@ -2423,7 +2445,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
@@ -2411,7 +2433,7 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_
nts = STATUS_DLL_NOT_FOUND;
}
if (nts == STATUS_DLL_NOT_FOUND && loadorder != LO_BUILTIN)
@@ -202,7 +202,7 @@ index 1e2e28e..94ca2f0 100644
break;
}
@@ -2456,7 +2478,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR path_name, DWORD flags,
@@ -2444,7 +2466,7 @@ NTSTATUS WINAPI DECLSPEC_HOTPATCH LdrLoadDll(LPCWSTR path_name, DWORD flags,
RtlEnterCriticalSection( &loader_section );
if (!path_name) path_name = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
@@ -211,7 +211,7 @@ index 1e2e28e..94ca2f0 100644
if (nts == STATUS_SUCCESS && !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS))
{
@@ -3419,7 +3441,7 @@ void __wine_process_init(void)
@@ -3410,7 +3432,7 @@ void __wine_process_init(void)
/* setup the load callback and create ntdll modref */
wine_dll_set_callback( load_builtin_callback );
@@ -221,5 +221,5 @@ index 1e2e28e..94ca2f0 100644
MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
exit(1);
--
2.7.1
2.8.0

View File

@@ -1,4 +1,5 @@
Fixes: Support for loader dll redirections
Depends: ntdll-Loader_Machine_Type
Depends: ntdll-DllOverrides_WOW64
Depends: ntdll-Attach_Process_DLLs
Category: stable

View File

@@ -1,4 +1,4 @@
From cbdf0dd0760cda9667c1b7a3ae458a7a6724dc58 Mon Sep 17 00:00:00 2001
From d804ddb4f49172915b88eb048cfe532a96eb41df Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 30 May 2015 02:23:15 +0200
Subject: ntdll: Add support for hiding wine version information from
@@ -10,22 +10,23 @@ Subject: ntdll: Add support for hiding wine version information from
2 files changed, 100 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 921bf57..6390df0 100644
index 130d154..d84e156 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -56,8 +56,11 @@ WINE_DECLARE_DEBUG_CHANNEL(imports);
@@ -63,9 +63,12 @@ WINE_DECLARE_DEBUG_CHANNEL(pid);
typedef DWORD (CALLBACK *DLLENTRYPROC)(HMODULE,DWORD,LPVOID);
+#define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
+
static BOOL process_attaching = TRUE; /* set on process attach to avoid calling callbacks too early */
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
+static BOOL hide_wine_exports = FALSE; /* try to hide ntdll wine exports from applications */
static const char * const reason_names[] =
{
@@ -1395,6 +1398,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
@@ -1543,6 +1546,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
}
@@ -122,7 +123,7 @@ index 921bf57..6390df0 100644
/******************************************************************
* LdrGetProcedureAddress (NTDLL.@)
*/
@@ -1415,7 +1508,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
@@ -1563,7 +1656,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, load_path )
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, load_path );
@@ -131,7 +132,7 @@ index 921bf57..6390df0 100644
{
*address = proc;
ret = STATUS_SUCCESS;
@@ -2897,6 +2990,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
@@ -3198,6 +3291,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
if (!peb->ProcessParameters->WindowTitle.Buffer)
peb->ProcessParameters->WindowTitle = wm->ldr.FullDllName;
version_init( wm->ldr.FullDllName.Buffer );
@@ -140,10 +141,10 @@ index 921bf57..6390df0 100644
LdrQueryImageFileExecutionOptions( &peb->ProcessParameters->ImagePathName, globalflagW,
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index cbd19db..3a55926 100644
index 5e4c39e..723c3d8 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -268,4 +268,9 @@ extern HANDLE keyed_event DECLSPEC_HIDDEN;
@@ -266,4 +266,9 @@ extern HANDLE keyed_event DECLSPEC_HIDDEN;
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
@@ -154,5 +155,5 @@ index cbd19db..3a55926 100644
+
#endif
--
2.4.2
2.8.0

View File

@@ -1 +1,2 @@
Fixes: [38656] Add support for hiding wine version information from applications
Depends: ntdll-Attach_Process_DLLs

View File

@@ -1,70 +0,0 @@
From b8f84b9dea7d81bf4b32853ad7c20cef9d466baa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 26 May 2016 02:27:29 +0200
Subject: ntdll: Do not sort the InMemoryOrderModuleList by memory addresses.
---
dlls/ntdll/loader.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index a0049fe..d9176d7 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -355,7 +355,6 @@ static WINE_MODREF *get_modref( HMODULE hmod )
mod = CONTAINING_RECORD(entry, LDR_MODULE, InMemoryOrderModuleList);
if (mod->BaseAddress == hmod)
return cached_modref = CONTAINING_RECORD(mod, WINE_MODREF, ldr);
- if (mod->BaseAddress > (void*)hmod) break;
}
return NULL;
}
@@ -932,7 +931,6 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
WINE_MODREF *wm;
const WCHAR *p;
const IMAGE_NT_HEADERS *nt = RtlImageNtHeader(hModule);
- PLIST_ENTRY entry, mark;
if (!(wm = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*wm) ))) return NULL;
@@ -965,18 +963,8 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList,
&wm->ldr.InLoadOrderModuleList);
-
- /* insert module in MemoryList, sorted in increasing base addresses */
- mark = &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList;
- for (entry = mark->Flink; entry != mark; entry = entry->Flink)
- {
- if (CONTAINING_RECORD(entry, LDR_MODULE, InMemoryOrderModuleList)->BaseAddress > wm->ldr.BaseAddress)
- break;
- }
- entry->Blink->Flink = &wm->ldr.InMemoryOrderModuleList;
- wm->ldr.InMemoryOrderModuleList.Blink = entry->Blink;
- wm->ldr.InMemoryOrderModuleList.Flink = entry;
- entry->Blink = &wm->ldr.InMemoryOrderModuleList;
+ InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
+ &wm->ldr.InMemoryOrderModuleList);
/* wait until init is called for inserting into this list */
wm->ldr.InInitializationOrderModuleList.Flink = NULL;
@@ -1386,7 +1374,6 @@ NTSTATUS WINAPI LdrFindEntryForAddress(const void* addr, PLDR_MODULE* pmod)
*pmod = mod;
return STATUS_SUCCESS;
}
- if (mod->BaseAddress > addr) break;
}
return STATUS_NO_MORE_ENTRIES;
}
@@ -3088,6 +3075,8 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
/* the main exe needs to be the first in the load order list */
RemoveEntryList( &wm->ldr.InLoadOrderModuleList );
InsertHeadList( &peb->LdrData->InLoadOrderModuleList, &wm->ldr.InLoadOrderModuleList );
+ RemoveEntryList( &wm->ldr.InMemoryOrderModuleList );
+ InsertHeadList( &peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderModuleList );
if ((status = virtual_alloc_thread_stack( NtCurrentTeb(), 0, 0 )) != STATUS_SUCCESS) goto error;
if ((status = server_init_process_done()) != STATUS_SUCCESS) goto error;
--
2.8.0

View File

@@ -1 +0,0 @@
Fixes: [40623] Do not sort the InMemoryOrderModuleList by memory addresses

View File

@@ -1,96 +0,0 @@
From 9aaa34a9cd1e72b82212933dffcbf07692d3fa64 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Sat, 7 May 2016 11:56:17 +0800
Subject: ntdll: Add support for fs to
NtQueryInformationThread(ThreadDescriptorTableEntry).
This patch fixes one of the problems reported in the bug 40583.
---
dlls/kernel32/tests/thread.c | 41 +++++++++++++++++++++++++++++++++++++++++
dlls/ntdll/thread.c | 11 +++++++++++
2 files changed, 52 insertions(+)
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index e0de3f9..67c5a37 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -1100,6 +1100,46 @@ static void test_SetThreadContext(void)
CloseHandle( thread );
}
+static void test_GetThreadSelectorEntry(void)
+{
+ TEB *teb = NtCurrentTeb();
+ LDT_ENTRY entry;
+ CONTEXT ctx;
+ TEB *teb_fs;
+ DWORD ret;
+
+ memset(&ctx, 0x11, sizeof(ctx));
+ ctx.ContextFlags = CONTEXT_SEGMENTS | CONTEXT_CONTROL;
+ ret = GetThreadContext(GetCurrentThread(), &ctx);
+ ok(ret, "GetThreadContext error %u\n", GetLastError());
+ ok(!HIWORD(ctx.SegCs) && !HIWORD(ctx.SegDs) && !HIWORD(ctx.SegEs) && !HIWORD(ctx.SegFs) && !HIWORD(ctx.SegGs),
+ "cs %08x, ds %08x, es %08x, fs %08x, gs %08x\n", ctx.SegCs, ctx.SegDs, ctx.SegEs, ctx.SegFs, ctx.SegGs);
+
+ ret = GetThreadSelectorEntry(GetCurrentThread(), ctx.SegCs, &entry);
+ ok(ret, "GetThreadSelectorEntry(SegCs) error %u\n", GetLastError());
+
+ ret = GetThreadSelectorEntry(GetCurrentThread(), ctx.SegDs, &entry);
+ ok(ret, "GetThreadSelectorEntry(SegDs) error %u\n", GetLastError());
+
+ memset(&entry, 0x11, sizeof(entry));
+ ret = GetThreadSelectorEntry(GetCurrentThread(), ctx.SegFs, &entry);
+ ok(ret, "GetThreadSelectorEntry(SegFs) error %u\n", GetLastError());
+
+ teb_fs = (TEB *)((entry.HighWord.Bits.BaseHi << 24) | (entry.HighWord.Bits.BaseMid << 16) | entry.BaseLow);
+ ok(teb_fs == teb, "teb_fs %p != teb %p\n", teb_fs, teb);
+
+ ret = (entry.HighWord.Bits.LimitHi << 16) | entry.LimitLow;
+ ok(ret == 0x0fff || ret == 0x4000 /* testbot win7u */, "got %#x\n", ret);
+
+ ok(entry.HighWord.Bits.Dpl == 3, "got %#x\n", entry.HighWord.Bits.Dpl);
+ ok(entry.HighWord.Bits.Sys == 0, "got %#x\n", entry.HighWord.Bits.Sys);
+ ok(entry.HighWord.Bits.Pres == 1, "got %#x\n", entry.HighWord.Bits.Pres);
+ ok(entry.HighWord.Bits.Granularity == 0, "got %#x\n", entry.HighWord.Bits.Granularity);
+ ok(entry.HighWord.Bits.Default_Big == 1, "got %#x\n", entry.HighWord.Bits.Default_Big);
+ ok(entry.HighWord.Bits.Type == 0x13, "got %#x\n", entry.HighWord.Bits.Type);
+ ok(entry.HighWord.Bits.Reserved_0 == 0, "got %#x\n", entry.HighWord.Bits.Reserved_0);
+}
+
#endif /* __i386__ */
static HANDLE finish_event;
@@ -1965,6 +2005,7 @@ START_TEST(thread)
test_GetThreadExitCode();
#ifdef __i386__
test_SetThreadContext();
+ test_GetThreadSelectorEntry();
#endif
test_QueueUserWorkItem();
test_RegisterWaitForSingleObject();
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index f6a5fbe..8465a26 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -1051,6 +1051,17 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
{
if (sel == (wine_get_cs() & ~3))
tdi->Entry.HighWord.Bits.Type |= 8; /* code segment */
+ else if (sel == (ntdll_get_thread_data()->fs & ~3))
+ {
+ ULONG_PTR fs_base = (ULONG_PTR)NtCurrentTeb();
+ tdi->Entry.BaseLow = fs_base & 0xffff;
+ tdi->Entry.HighWord.Bits.BaseMid = (fs_base >> 16) & 0xff;
+ tdi->Entry.HighWord.Bits.BaseHi = (fs_base >> 24) & 0xff;
+ tdi->Entry.LimitLow = 0x0fff;
+ tdi->Entry.HighWord.Bits.LimitHi = 0;
+ tdi->Entry.HighWord.Bits.Granularity = 0;
+ tdi->Entry.HighWord.Bits.Type = 0x13;
+ }
else status = STATUS_ACCESS_DENIED;
}
}
--
2.8.0

Some files were not shown because too many files have changed in this diff Show More