Added patches for D3DXComputeNormals and D3DXComputeNormalMap.

This commit is contained in:
Sebastian Lackner 2015-01-02 03:32:58 +01:00
parent e09be4fd77
commit 40e8ab0c08
10 changed files with 122 additions and 26 deletions

View File

@ -37,8 +37,9 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [16]:**
**Bugfixes and features included in the next upcoming release [18]:**
* Add stub for D3DXComputeNormalMap
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
* Add stub for D3DXIntersect
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
@ -50,6 +51,7 @@ Included bug fixes and improvements
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
* Implement IDXGIOutput::GetDesc
* Support for D3DXComputeNormals ([Wine Bug #26379](https://bugs.winehq.org/show_bug.cgi?id=26379))
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
* Support for SLGetWindowsInformationDWORD ([Wine Bug #36709](https://bugs.winehq.org/show_bug.cgi?id=36709))
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))

1
debian/changelog vendored
View File

@ -25,6 +25,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low
* Added patch for ID3DXFont::DrawTextA/W support.
* Added patch to fix parameters for ConvertToIndexedBlendedMesh stub.
* Added patch for nvcuda.
* Added patches for D3DXComputeNormals and D3DXComputeNormalMap.
* Removed patch to implement combase HSTRING objects (accepted upstream).
* Removed patch to add fake ProductId to registry (accepted upstream).
* Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream).

View File

@ -28,8 +28,7 @@ PATCHLIST := \
configure-Absolute_RPATH.ok \
d3d9-Surface_Refcount.ok \
d3dx9_36-ConvertToIndexedBlended.ok \
d3dx9_36-D3DXComputeTangentFrameEx.ok \
d3dx9_36-D3DXIntersect.ok \
d3dx9_36-D3DXStubs.ok \
d3dx9_36-DXTn.ok \
d3dx9_36-DrawText.ok \
d3dx9_36-Filter_Warnings.ok \
@ -352,10 +351,11 @@ d3dx9_36-ConvertToIndexedBlended.ok:
echo '+ { "Christian Costa", "d3dx9_36: Fix d3dx9_skin_info_ConvertToIndexedBlendedMesh stub.", 1 },'; \
) > d3dx9_36-ConvertToIndexedBlended.ok
# Patchset d3dx9_36-D3DXComputeTangentFrameEx
# Patchset d3dx9_36-D3DXStubs
# |
# | This patchset fixes the following Wine bugs:
# | * [#31984] Add stub for D3DXComputeTangentFrameEx
# | * [#26379] Support for D3DXComputeNormals
# |
# | Modified files:
# | * dlls/d3dx9_24/d3dx9_24.spec, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_26/d3dx9_26.spec, dlls/d3dx9_27/d3dx9_27.spec,
@ -365,24 +365,18 @@ d3dx9_36-ConvertToIndexedBlended.ok:
# | dlls/d3dx9_39/d3dx9_39.spec, dlls/d3dx9_40/d3dx9_40.spec, dlls/d3dx9_41/d3dx9_41.spec, dlls/d3dx9_42/d3dx9_42.spec,
# | dlls/d3dx9_43/d3dx9_43.spec
# |
.INTERMEDIATE: d3dx9_36-D3DXComputeTangentFrameEx.ok
d3dx9_36-D3DXComputeTangentFrameEx.ok:
$(call APPLY_FILE,d3dx9_36-D3DXComputeTangentFrameEx/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch)
.INTERMEDIATE: d3dx9_36-D3DXStubs.ok
d3dx9_36-D3DXStubs.ok:
$(call APPLY_FILE,d3dx9_36-D3DXStubs/0001-d3dx9_36-Add-stub-for-D3DXComputeTangentFrameEx.patch)
$(call APPLY_FILE,d3dx9_36-D3DXStubs/0002-d3dx9_36-Add-stub-for-D3DXIntersect.patch)
$(call APPLY_FILE,d3dx9_36-D3DXStubs/0003-d3dx9_36-Implement-D3DXComputeNormals.patch)
$(call APPLY_FILE,d3dx9_36-D3DXStubs/0004-d3dx9_36-Add-stub-for-D3DXComputeNormalMap.patch)
@( \
echo '+ { "Christian Costa", "d3dx9_36: Add stub for D3DXComputeTangentFrameEx.", 1 },'; \
) > d3dx9_36-D3DXComputeTangentFrameEx.ok
# Patchset d3dx9_36-D3DXIntersect
# |
# | Modified files:
# | * dlls/d3dx9_36/d3dx9_36.spec, dlls/d3dx9_36/mesh.c
# |
.INTERMEDIATE: d3dx9_36-D3DXIntersect.ok
d3dx9_36-D3DXIntersect.ok: d3dx9_36-D3DXComputeTangentFrameEx.ok
$(call APPLY_FILE,d3dx9_36-D3DXIntersect/0001-d3dx9_36-Add-stub-for-D3DXIntersect.patch)
@( \
echo '+ { "Christian Costa", "d3dx9_36: Add stub for D3DXIntersect.", 1 },'; \
) > d3dx9_36-D3DXIntersect.ok
echo '+ { "Christian Costa", "d3dx9_36: Implement D3DXComputeNormals.", 1 },'; \
echo '+ { "Christian Costa", "d3dx9_36: Add stub for D3DXComputeNormalMap.", 1 },'; \
) > d3dx9_36-D3DXStubs.ok
# Patchset d3dx9_36-DXTn
# |

View File

@ -1 +0,0 @@
Fixes: [31984] Add stub for D3DXComputeTangentFrameEx

View File

@ -1,2 +0,0 @@
Depends: d3dx9_36-D3DXComputeTangentFrameEx
Fixes: Add stub for D3DXIntersect

View File

@ -1,4 +1,4 @@
From 22d02997812e5ed4cc71e8b114fe8fad1ef67d81 Mon Sep 17 00:00:00 2001
From 9b5a18d6eb150dfacbee644e7abebc4019232a9c Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 20 Dec 2014 15:40:10 +0100
Subject: d3dx9_36: Add stub for D3DXComputeTangentFrameEx.
@ -316,5 +316,5 @@ index 0cb9e31..40406a4 100644
@ stdcall D3DXConvertMeshSubsetToSingleStrip(ptr long long ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToSingleStrip
@ stdcall D3DXConvertMeshSubsetToStrips(ptr long long ptr ptr ptr ptr) d3dx9_36.D3DXConvertMeshSubsetToStrips
--
2.1.3
2.2.1

View File

@ -1,4 +1,4 @@
From 6be11442b0b1e9591ab10c3d24cade5b2b01b043 Mon Sep 17 00:00:00 2001
From dee29ce2f8e464e88a3235e3691f6891082a2fdb Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sat, 20 Dec 2014 16:28:58 +0100
Subject: d3dx9_36: Add stub for D3DXIntersect.
@ -42,5 +42,5 @@ index 39ee53b..5e6d267 100644
+ return E_NOTIMPL;
+}
--
2.1.3
2.2.1

View File

@ -0,0 +1,49 @@
From ab64c3a7500e2ccccc0549c6ab1ed04746696ffb Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Wed, 31 Dec 2014 18:22:26 +0100
Subject: d3dx9_36: Implement D3DXComputeNormals.
---
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/mesh.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index be5f819..4a473e6 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -23,7 +23,7 @@
@ 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 long)
-@ stub D3DXComputeNormals(ptr ptr)
+@ stdcall D3DXComputeNormals(ptr ptr)
@ stub D3DXComputeTangent(ptr long long long long ptr)
@ stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr float float float ptr ptr)
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index 5e6d267..7c9d0e1 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -7256,6 +7256,18 @@ HRESULT WINAPI D3DXComputeTangentFrameEx(ID3DXMesh *Mesh, DWORD TextureInSemanti
}
/*************************************************************************
+ * D3DXComputeNormals (D3DX9_36.@)
+ */
+HRESULT WINAPI D3DXComputeNormals(ID3DXBaseMesh *mesh, const DWORD *adjacency)
+{
+ TRACE("mesh %p, adjacency %p.\n", mesh, adjacency);
+
+ return D3DXComputeTangentFrameEx((ID3DXMesh *)mesh, D3DX_DEFAULT, 0, D3DX_DEFAULT, 0, D3DX_DEFAULT, 0,
+ D3DDECLUSAGE_NORMAL, 0, D3DXTANGENT_GENERATE_IN_PLACE | D3DXTANGENT_CALCULATE_NORMALS,
+ adjacency, -1.01f, -0.01f, -1.01f, NULL, NULL);
+}
+
+/*************************************************************************
* D3DXIntersect (D3DX9_36.@)
*/
HRESULT WINAPI D3DXIntersect(ID3DXBaseMesh *Mesh, const D3DXVECTOR3 *RayPos, const D3DXVECTOR3 *RayDir, BOOL *Hit,
--
2.2.1

View File

@ -0,0 +1,49 @@
From 704432d4e84d6ed8da895bce0012b9afb8dc3fdc 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.
---
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/mesh.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 4a473e6..8a66668 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 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 long)
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long long)
@ stdcall D3DXComputeNormals(ptr ptr)
@ stub D3DXComputeTangent(ptr long long long long ptr)
@ stub D3DXComputeTangentFrame(ptr long)
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index 7c9d0e1..842abc8 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -7268,6 +7268,18 @@ HRESULT WINAPI D3DXComputeNormals(ID3DXBaseMesh *mesh, const DWORD *adjacency)
}
/*************************************************************************
+ * D3DXComputeNormalMap (D3DX9_36.@)
+ */
+HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *src_texture,
+ const PALETTEENTRY *src_palette, DWORD flags, DWORD channel, FLOAT amplitude)
+{
+ FIXME("texture %p, src_texture %p, src_palette %p, flags %#x, channel %u, amplitude %f stub.\n",
+ texture, src_texture, src_palette, flags, channel, amplitude);
+
+ return D3D_OK;
+}
+
+/*************************************************************************
* D3DXIntersect (D3DX9_36.@)
*/
HRESULT WINAPI D3DXIntersect(ID3DXBaseMesh *Mesh, const D3DXVECTOR3 *RayPos, const D3DXVECTOR3 *RayDir, BOOL *Hit,
--
2.2.1

View File

@ -0,0 +1,4 @@
Fixes: [31984] Add stub for D3DXComputeTangentFrameEx
Fixes: Add stub for D3DXIntersect
Fixes: [26379] Support for D3DXComputeNormals
Fixes: Add stub for D3DXComputeNormalMap