From 36ac98df73a2a514008cea64325cce684977ae73 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Sun, 2 Dec 2012 18:53:17 +0100 Subject: [PATCH] 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 894797066d1..d322091ec5e 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 ec14f98797f..1681ea2535a 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 b3a19664310..ad7bfa74f3c 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 023236d4112..78335a78266 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 f5e5553a8bf..84f80e82590 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 5a040927f66..0fd27ff0989 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 21261abdfa4..8fee738c22e 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,