Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46010
-- v2: d3dcompiler: Add D3DDecompressShaders stub.
From: Vijay Kiran Kamuju infyquest@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46010 --- dlls/d3dcompiler_43/blob.c | 8 ++++++++ dlls/d3dcompiler_43/d3dcompiler_43.spec | 2 +- dlls/d3dcompiler_46/d3dcompiler_46.spec | 2 +- dlls/d3dcompiler_47/d3dcompiler_47.spec | 2 +- include/d3dcompiler.h | 2 ++ 5 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dcompiler_43/blob.c b/dlls/d3dcompiler_43/blob.c index f5bcb5f8fa3..72b409c796c 100644 --- a/dlls/d3dcompiler_43/blob.c +++ b/dlls/d3dcompiler_43/blob.c @@ -453,6 +453,14 @@ HRESULT WINAPI D3DStripShader(const void *data, SIZE_T data_size, UINT flags, ID return d3dcompiler_strip_shader(data, data_size, flags, blob); }
+HRESULT WINAPI D3DDecompressShaders(const void *data, SIZE_T data_size, UINT numshaders, UINT index, + UINT *indexes, UINT flags, ID3D10Blob **blob, UINT *totalshaders) +{ + FIXME("data %p, data_size %Iu, numshaders %d, index %d, indexes %p, flags %#x, blob %p, totalshaders %p stub!\n", + data, data_size, numshaders, index, indexes, flags, blob, totalshaders); + return E_NOTIMPL; +} + HRESULT WINAPI D3DReadFileToBlob(const WCHAR *filename, ID3DBlob **contents) { struct d3dcompiler_blob *object; diff --git a/dlls/d3dcompiler_43/d3dcompiler_43.spec b/dlls/d3dcompiler_43/d3dcompiler_43.spec index 7e2d0411b4e..9cd837f4e09 100644 --- a/dlls/d3dcompiler_43/d3dcompiler_43.spec +++ b/dlls/d3dcompiler_43/d3dcompiler_43.spec @@ -3,7 +3,7 @@ @ stdcall D3DCompile(ptr long str ptr ptr str str long long ptr ptr) @ stub D3DCompressShaders @ stdcall D3DCreateBlob(long ptr) -@ stub D3DDecompressShaders +@ stdcall D3DDecompressShaders(ptr long long long ptr long ptr ptr) @ stub D3DDisassemble10Effect(ptr long ptr) @ stdcall D3DDisassemble(ptr long long ptr ptr) @ stdcall D3DGetBlobPart(ptr long long long ptr) diff --git a/dlls/d3dcompiler_46/d3dcompiler_46.spec b/dlls/d3dcompiler_46/d3dcompiler_46.spec index d6742566502..753212fcbab 100644 --- a/dlls/d3dcompiler_46/d3dcompiler_46.spec +++ b/dlls/d3dcompiler_46/d3dcompiler_46.spec @@ -4,7 +4,7 @@ @ stdcall D3DCompileFromFile(wstr ptr ptr str str long long ptr ptr) @ stub D3DCompressShaders @ stdcall D3DCreateBlob(long ptr) -@ stub D3DDecompressShaders +@ stdcall D3DDecompressShaders(ptr long long long ptr long ptr ptr) @ stdcall D3DDisassemble(ptr long long ptr ptr) @ stub D3DDisassemble10Effect(ptr long ptr) @ stub D3DDisassemble11Trace diff --git a/dlls/d3dcompiler_47/d3dcompiler_47.spec b/dlls/d3dcompiler_47/d3dcompiler_47.spec index 3ed049e6ab8..2cda4b3d1e4 100644 --- a/dlls/d3dcompiler_47/d3dcompiler_47.spec +++ b/dlls/d3dcompiler_47/d3dcompiler_47.spec @@ -6,7 +6,7 @@ @ stdcall D3DCreateBlob(long ptr) @ stub D3DCreateFunctionLinkingGraph @ stdcall D3DCreateLinker(ptr) -@ stub D3DDecompressShaders +@ stdcall D3DDecompressShaders(ptr long long long ptr long ptr ptr) @ stdcall D3DDisassemble(ptr long long ptr ptr) @ stub D3DDisassemble10Effect(ptr long ptr) @ stub D3DDisassemble11Trace diff --git a/include/d3dcompiler.h b/include/d3dcompiler.h index 87821a9031a..0b94aa84d5a 100644 --- a/include/d3dcompiler.h +++ b/include/d3dcompiler.h @@ -107,6 +107,8 @@ typedef enum D3DCOMPILER_STRIP_FLAGS } D3DCOMPILER_STRIP_FLAGS;
HRESULT WINAPI D3DStripShader(const void *data, SIZE_T data_size, UINT flags, ID3DBlob **blob); +HRESULT WINAPI D3DDecompressShaders(const void *data, SIZE_T data_size, UINT numshaders, UINT index, + UINT *indexes, UINT flags, ID3DBlob **blob, UINT *totalshaders);
typedef enum D3D_BLOB_PART {
I don't think we want that stub, until it's at least confirmed that issue is still reproducible. And if it is, we'll need to implement it, it's not hard to do.
I have requested the submitter to test it again with the patch. So I thought we can have a place holder with a stub here, till it gets confirmed.
It would be nice to know more before getting the stub in.