Added patch to avoid failing in d3dx9_mesh_OptimizeInplace because of unimplemented vertex reordering.

This commit is contained in:
Sebastian Lackner
2014-11-15 12:30:18 +01:00
parent c9bed78b65
commit 2ec0d480e3
3 changed files with 47 additions and 0 deletions

View File

@@ -31,6 +31,7 @@ PATCHLIST := \
d3dx9_36-DXTn.ok \
d3dx9_36-Filter_Warnings.ok \
d3dx9_36-GetShaderSemantics.ok \
d3dx9_36-Optimize_Inplace.ok \
d3dx9_36-Texture_Align.ok \
d3dx9_36-UpdateSkinnedMesh.ok \
dbghelp-KdHelp.ok \
@@ -358,6 +359,18 @@ d3dx9_36-GetShaderSemantics.ok:
echo '+ { "Christian Costa", "d3dx9_36: Implement D3DXGetShaderInputSemantics + tests.", 1 },'; \
) > d3dx9_36-GetShaderSemantics.ok
# Patchset d3dx9_36-Optimize_Inplace
# |
# | Modified files:
# | * dlls/d3dx9_36/mesh.c
# |
.INTERMEDIATE: d3dx9_36-Optimize_Inplace.ok
d3dx9_36-Optimize_Inplace.ok:
$(call APPLY_FILE,d3dx9_36-Optimize_Inplace/0001-d3dx9_36-No-need-to-fail-if-we-don-t-support-vertice.patch)
@( \
echo '+ { "Christian Costa", "d3dx9_36: No need to fail if we don'\''t support vertices reordering in D3DXMESHOPT_ATTRSORT.", 1 },'; \
) > d3dx9_36-Optimize_Inplace.ok
# Patchset d3dx9_36-Texture_Align
# |
# | Modified files:

View File

@@ -0,0 +1,33 @@
From d037faddfa629e54b5ba13d57f2e4c185de2a555 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Tue, 4 Nov 2014 22:25:58 +0100
Subject: d3dx9_36: No need to fail if we don't support vertices reordering in
D3DXMESHOPT_ATTRSORT
A non optimized mesh does not prevent rendering as long as we return valid data to the application.
In our case we provided an identity remapping array when no vertices reordering is done.
Avencast demo works perfectly well (using native effects functions).
---
dlls/d3dx9_36/mesh.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index 6f268f2..b15e033 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -1700,11 +1700,7 @@ static HRESULT WINAPI d3dx9_mesh_OptimizeInplace(ID3DXMesh *iface, DWORD flags,
if (FAILED(hr)) goto cleanup;
} else if (flags & D3DXMESHOPT_ATTRSORT) {
if (!(flags & D3DXMESHOPT_IGNOREVERTS))
- {
FIXME("D3DXMESHOPT_ATTRSORT vertex reordering not implemented.\n");
- hr = E_NOTIMPL;
- goto cleanup;
- }
hr = iface->lpVtbl->LockAttributeBuffer(iface, 0, &attrib_buffer);
if (FAILED(hr)) goto cleanup;
--
2.1.3