Henri Verbeet : d3dx9: Avoid LPD3DXBUFFER.

Alexandre Julliard julliard at winehq.org
Mon Dec 3 13:33:56 CST 2012


Module: wine
Branch: master
Commit: 36ac98df73a2a514008cea64325cce684977ae73
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=36ac98df73a2a514008cea64325cce684977ae73

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Sun Dec  2 18:53:17 2012 +0100

d3dx9: Avoid LPD3DXBUFFER.

---

 dlls/d3dx9_36/core.c      |    2 +-
 dlls/d3dx9_36/effect.c    |    2 +-
 dlls/d3dx9_36/mesh.c      |    4 ++--
 dlls/d3dx9_36/tests/asm.c |    4 ++--
 include/d3dx9anim.h       |   10 ++++++----
 include/d3dx9effect.h     |    2 +-
 include/d3dx9mesh.h       |   15 ++++++++++-----
 7 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/dlls/d3dx9_36/core.c b/dlls/d3dx9_36/core.c
index 8947970..d322091 100644
--- a/dlls/d3dx9_36/core.c
+++ b/dlls/d3dx9_36/core.c
@@ -132,7 +132,7 @@ static HRESULT d3dx9_buffer_init(struct ID3DXBufferImpl *buffer, DWORD size)
     return D3D_OK;
 }
 
-HRESULT WINAPI D3DXCreateBuffer(DWORD size, LPD3DXBUFFER *buffer)
+HRESULT WINAPI D3DXCreateBuffer(DWORD size, ID3DXBuffer **buffer)
 {
     struct ID3DXBufferImpl *object;
     HRESULT hr;
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index ec14f98..1681ea2 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -4395,7 +4395,7 @@ static HRESULT WINAPI ID3DXEffectCompilerImpl_GetLiteral(ID3DXEffectCompiler *if
 }
 
 static HRESULT WINAPI ID3DXEffectCompilerImpl_CompileEffect(ID3DXEffectCompiler *iface, DWORD flags,
-        LPD3DXBUFFER *effect, LPD3DXBUFFER *error_msgs)
+        ID3DXBuffer **effect, ID3DXBuffer **error_msgs)
 {
     struct ID3DXEffectCompilerImpl *This = impl_from_ID3DXEffectCompiler(iface);
 
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index b3a1966..ad7bfa7 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -1628,8 +1628,8 @@ static HRESULT remap_faces_for_attrsort(ID3DXMeshImpl *This, const DWORD *indice
     return D3D_OK;
 }
 
-static HRESULT WINAPI ID3DXMeshImpl_OptimizeInplace(ID3DXMesh *iface, DWORD flags, CONST DWORD *adjacency_in, DWORD *adjacency_out,
-                                                    DWORD *face_remap_out, LPD3DXBUFFER *vertex_remap_out)
+static HRESULT WINAPI ID3DXMeshImpl_OptimizeInplace(ID3DXMesh *iface, DWORD flags, const DWORD *adjacency_in,
+        DWORD *adjacency_out, DWORD *face_remap_out, ID3DXBuffer **vertex_remap_out)
 {
     ID3DXMeshImpl *This = impl_from_ID3DXMesh(iface);
     void *indices = NULL;
diff --git a/dlls/d3dx9_36/tests/asm.c b/dlls/d3dx9_36/tests/asm.c
index 023236d..78335a7 100644
--- a/dlls/d3dx9_36/tests/asm.c
+++ b/dlls/d3dx9_36/tests/asm.c
@@ -123,7 +123,7 @@ static void assembleshader_test(void) {
         "#error \"wrong include\"\n"
     };
     HRESULT hr;
-    LPD3DXBUFFER shader, messages;
+    ID3DXBuffer *shader, *messages;
     D3DXMACRO defines[] = {
         {
             "DEF1", "10 + 15"
@@ -347,7 +347,7 @@ static void d3dxpreprocess_test(void) {
         "#error \"wrong include\"\n"
     };
     HRESULT hr;
-    LPD3DXBUFFER shader, messages;
+    ID3DXBuffer *shader, *messages;
     HRESULT shader_vsh_res;
     struct D3DXIncludeImpl include = {{&D3DXInclude_Vtbl}};
 
diff --git a/include/d3dx9anim.h b/include/d3dx9anim.h
index f5e5553..84f80e8 100644
--- a/include/d3dx9anim.h
+++ b/include/d3dx9anim.h
@@ -268,8 +268,8 @@ DECLARE_INTERFACE_(ID3DXKeyframedAnimationSet, ID3DXAnimationSet)
             UINT num_rotation_keys, UINT num_translation_keys, CONST D3DXKEY_VECTOR3 *scale_keys,
             CONST D3DXKEY_QUATERNION *rotation_keys, CONST D3DXKEY_VECTOR3 *translation_keys,
             DWORD *animation_index) PURE;
-    STDMETHOD(Compress)(THIS_ DWORD flags, FLOAT lossiness, LPD3DXFRAME hierarchy,
-            LPD3DXBUFFER *compressed_data) PURE;
+    STDMETHOD(Compress)(THIS_ DWORD flags, float lossiness, D3DXFRAME *hierarchy,
+            ID3DXBuffer **compressed_data) PURE;
     STDMETHOD(UnregisterAnimation)(THIS_ UINT index) PURE;
 };
 #undef INTERFACE
@@ -295,7 +295,7 @@ DECLARE_INTERFACE_(ID3DXCompressedAnimationSet, ID3DXAnimationSet)
     /*** ID3DXCompressedAnimationSet methods ***/
     STDMETHOD_(D3DXPLAYBACK_TYPE, GetPlaybackType)(THIS) PURE;
     STDMETHOD_(DOUBLE, GetSourceTicksPerSecond)(THIS) PURE;
-    STDMETHOD(GetCompressedData)(THIS_ LPD3DXBUFFER *compressed_data) PURE;
+    STDMETHOD(GetCompressedData)(THIS_ ID3DXBuffer **compressed_data) PURE;
     STDMETHOD_(UINT, GetNumCallbackKeys)(THIS) PURE;
     STDMETHOD(GetCallbackKeys)(THIS_ LPD3DXKEY_CALLBACK callback_keys) PURE;
 };
@@ -388,7 +388,9 @@ HRESULT WINAPI D3DXFrameRegisterNamedMatrices(LPD3DXFRAME, LPD3DXANIMATIONCONTRO
 UINT WINAPI D3DXFrameNumNamedMatrices(CONST D3DXFRAME *frame_root);
 HRESULT WINAPI D3DXFrameCalculateBoundingSphere(CONST D3DXFRAME*, LPD3DXVECTOR3, FLOAT*);
 HRESULT WINAPI D3DXCreateKeyframedAnimationSet(LPCSTR, DOUBLE, D3DXPLAYBACK_TYPE, UINT, UINT, CONST D3DXKEY_CALLBACK*, LPD3DXKEYFRAMEDANIMATIONSET*);
-HRESULT WINAPI D3DXCreateCompressedAnimationSet(LPCSTR, DOUBLE, D3DXPLAYBACK_TYPE, LPD3DXBUFFER, UINT, CONST D3DXKEY_CALLBACK*, LPD3DXCOMPRESSEDANIMATIONSET*);
+HRESULT WINAPI D3DXCreateCompressedAnimationSet(const char *name, double ticks_per_second,
+        D3DXPLAYBACK_TYPE playback_type, ID3DXBuffer *compressed_data, UINT callback_key_count,
+        const D3DXKEY_CALLBACK *callback_keys, ID3DXCompressedAnimationSet **animation_set);
 HRESULT WINAPI D3DXCreateAnimationController(UINT, UINT, UINT, UINT, LPD3DXANIMATIONCONTROLLER*);
 
 #ifdef __cplusplus
diff --git a/include/d3dx9effect.h b/include/d3dx9effect.h
index 5a04092..0fd27ff 100644
--- a/include/d3dx9effect.h
+++ b/include/d3dx9effect.h
@@ -353,7 +353,7 @@ DECLARE_INTERFACE_(ID3DXEffectCompiler, ID3DXBaseEffect)
     /*** ID3DXEffectCompiler methods ***/
     STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
     STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
-    STDMETHOD(CompileEffect)(THIS_ DWORD flags, LPD3DXBUFFER* effect, LPD3DXBUFFER* error_msgs) PURE;
+    STDMETHOD(CompileEffect)(THIS_ DWORD flags, ID3DXBuffer **effect, ID3DXBuffer **error_msgs) PURE;
     STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, const char *target, DWORD flags,
             ID3DXBuffer **shader, ID3DXBuffer **error_msgs, ID3DXConstantTable **constant_table) PURE;
 };
diff --git a/include/d3dx9mesh.h b/include/d3dx9mesh.h
index 21261ab..8fee738 100644
--- a/include/d3dx9mesh.h
+++ b/include/d3dx9mesh.h
@@ -373,8 +373,8 @@ DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
     STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
     STDMETHOD(Optimize)(THIS_ DWORD flags, const DWORD *adjacency_in, DWORD *adjacency_out,
             DWORD *face_remap, ID3DXBuffer **vertex_remap, ID3DXMesh **opt_mesh) PURE;
-    STDMETHOD(OptimizeInplace)(THIS_ DWORD flags, CONST DWORD* adjacency_in, DWORD* adjacency_out,
-                     DWORD* face_remap, LPD3DXBUFFER* vertex_remap) PURE;
+    STDMETHOD(OptimizeInplace)(THIS_ DWORD flags, const DWORD *adjacency_in, DWORD *adjacency_out,
+                     DWORD *face_remap, ID3DXBuffer **vertex_remap) PURE;
     STDMETHOD(SetAttributeTable)(THIS_ CONST D3DXATTRIBUTERANGE* attrib_table, DWORD attrib_table_size) PURE;
 };
 #undef INTERFACE
@@ -696,7 +696,7 @@ HRESULT WINAPI D3DXCreateMesh(DWORD face_count, DWORD vertex_count, DWORD flags,
         const D3DVERTEXELEMENT9 *declaration, struct IDirect3DDevice9 *device, struct ID3DXMesh **mesh);
 HRESULT WINAPI D3DXCreateMeshFVF(DWORD face_count, DWORD vertex_count, DWORD flags,
         DWORD fvf, struct IDirect3DDevice9 *device, struct ID3DXMesh **mesh);
-HRESULT WINAPI D3DXCreateBuffer(DWORD, LPD3DXBUFFER*);
+HRESULT WINAPI D3DXCreateBuffer(DWORD size, ID3DXBuffer **buffer);
 HRESULT WINAPI D3DXCreateSPMesh(ID3DXMesh *mesh, const DWORD *adjacency,
         const D3DXATTRIBUTEWEIGHTS *attribute_weights, const float *vertex_weights, ID3DXSPMesh **spmesh);
 HRESULT WINAPI D3DXCreatePMeshFromStream(struct IStream *stream, DWORD flags, struct IDirect3DDevice9 *device,
@@ -812,7 +812,10 @@ HRESULT WINAPI D3DXOptimizeVertices(LPCVOID, UINT, UINT, BOOL, DWORD *);
 HRESULT WINAPI D3DXRectPatchSize(CONST FLOAT *, DWORD *, DWORD *);
 HRESULT WINAPI D3DXSHPRTCompSuperCluster(UINT *cluster_ids, ID3DXMesh *scene, UINT max_cluster_count,
         UINT cluster_count, UINT *scluster_ids, UINT *scluster_count);
-HRESULT WINAPI D3DXSHPRTCompSplitMeshSC(UINT *, UINT, UINT, UINT *, UINT, LPVOID, BOOL, UINT, LPD3DXBUFFER *, UINT *, BOOL, LPD3DXBUFFER *, LPD3DXBUFFER *, UINT *, UINT *, D3DXSHPRTSPLITMESHCLUSTERDATA *);
+HRESULT WINAPI D3DXSHPRTCompSplitMeshSC(UINT *cluster_idx, UINT vertex_count, UINT cluster_count, UINT *scluster_ids,
+        UINT scluster_count, void *index_buffer_in, BOOL ib_in_32bit, UINT face_count, ID3DXBuffer **index_buffer_out,
+        UINT *index_buffer_size, BOOL ib_out_32bit, ID3DXBuffer **face_remap, ID3DXBuffer **vertex_data,
+        UINT *vertex_data_length, UINT *sc_cluster_list, D3DXSHPRTSPLITMESHCLUSTERDATA *sc_data);
 HRESULT WINAPI D3DXSimplifyMesh(ID3DXMesh *mesh_in, const DWORD *adjacency,
         const D3DXATTRIBUTEWEIGHTS *attribute_weights, const float *vertex_weights, DWORD min_value,
         DWORD flags, ID3DXMesh **mesh_out);
@@ -830,7 +833,9 @@ HRESULT WINAPI D3DXUVAtlasCreate(ID3DXMesh *mesh_in, UINT max_chart_count, float
         UINT width, UINT height, float gutter, DWORD texture_idx, const DWORD *adjacency, const DWORD *false_edges,
         const float *imt_array, LPD3DXUVATLASCB cb, float cb_freq, void *ctx, DWORD flags, ID3DXMesh **mesh_out,
         ID3DXBuffer **face_partitioning_out, ID3DXBuffer **vertex_remap_out, float *max_stretch_out, UINT *chart_count);
-HRESULT WINAPI D3DXUVAtlasPack(ID3DXMesh *, UINT, UINT, FLOAT, DWORD, CONST DWORD *, LPD3DXUVATLASCB, FLOAT, LPVOID, DWORD, LPD3DXBUFFER);
+HRESULT WINAPI D3DXUVAtlasPack(ID3DXMesh *mesh, UINT width, UINT height, float gutter, DWORD texture_idx,
+        const DWORD *partition_result_adjacency, LPD3DXUVATLASCB cb, float cb_freq, void *ctx, DWORD flags,
+        ID3DXBuffer *face_partitioning);
 HRESULT WINAPI D3DXUVAtlasPartition(ID3DXMesh *mesh_in, UINT max_chart_count, float max_stretch_in,
         DWORD texture_idx, const DWORD *adjacency, const DWORD *false_edges, const float *imt_array,
         LPD3DXUVATLASCB cb, float cb_freq, void *ctx, DWORD flags, ID3DXMesh **mesh_out,




More information about the wine-cvs mailing list