Commit Graph

28 Commits

Author SHA1 Message Date
Henri Verbeet
8c6f5b847b vkd3d-utils: Implement D3DDisassemble().
Very loosely based on Wine's d3dcompiler_43.
2024-01-29 22:33:44 +01:00
Zebediah Figura
53bd1f5419 vkd3d-utils: Add D3DReflect(). 2024-01-24 22:37:53 +01:00
Giovanni Mascellani
bae6079047 include: Move D3D_BLOB_PART to a new header file.
According to a clang diagnostic, redefining a typedef is C11, and
we want to stick with C99.
2023-11-06 23:08:42 +01:00
Henri Verbeet
f75bdd6e21 vkd3d-utils: Implement D3DStripShader(). 2023-10-19 23:07:50 +02:00
Henri Verbeet
9ce98f9be5 vkd3d-utils: Implement D3DGetOutputSignatureBlob(). 2023-10-18 20:58:24 +02:00
Henri Verbeet
9d9f762ede vkd3d-utils: Implement D3DGetInputSignatureBlob(). 2023-10-18 20:58:24 +02:00
Henri Verbeet
be8efb9c9c vkd3d-utils: Implement D3DGetInputAndOutputSignatureBlob(). 2023-10-18 20:58:24 +02:00
Henri Verbeet
247eaa6b7d vkd3d-utils: Implement D3DGetDebugInfo(). 2023-10-18 20:58:24 +02:00
Henri Verbeet
b63c853688 vkd3d-utils: Implement D3DGetBlobPart().
This was largely adapted from Wine's d3dcompiler_43, with some style
adjustments.
2023-10-18 20:58:22 +02:00
Giovanni Mascellani
5f904e5022 vkd3d-utils: Generate Doxygen documentation for vkd3d_utils.h. 2023-02-22 21:38:46 +01:00
Zebediah Figura
64b784dbb9 vkd3d-utils: Allow writing log output via a custom callback.
When using PE vkd3d through Wine, debug output may be swallowed by writing to
Win32 stderr. Avoid this by providing a way to hook up vkd3d log output to Wine
output.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-07 19:39:01 +02:00
Henri Verbeet
c07e6536a9 vkd3d-utils: Return an ID3DBlob pointer from D3DCreateBlob().
ID3DBlob is a typedef for ID3D10Blob, so this isn't all that consequential,
but we're using ID3DBlob for the other vkd3d-utils exports.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 20:41:37 +01:00
Zebediah Figura
cdb9c5808e build: Use dllimport/dllexport on Win32 targets.
Tested with x86_64-w64-mingw32-gcc.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 21:43:25 +02:00
Zebediah Figura
d27fee64ab build: Make the default symbol visibility "hidden".
We tag far fewer symbols this way.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 21:43:22 +02:00
Zebediah Figura
0cd7f47263 vkd3d-utils: Introduce D3DPreprocess().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 17:10:33 +02:00
Zebediah Figura
0df589369e vkd3d-utils: Introduce D3DCompile() and D3DCompile2().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 17:10:31 +02:00
Zebediah Figura
b72a2893c2 vkd3d-utils: Introduce D3DCreateBlob().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 19:11:41 +02:00
Henri Verbeet
3777eb4e5c vkd3d: Introduce API versions.
For backwards compatibility. Newer vkd3d versions may report more
capabilities, but some of those may also require newer vkd3d APIs in order to
use them. That's an issue for a vkd3d user like Wine, where reporting more
capabilities may cause the application to try to use APIs that are not
implemented in that version of Wine.

Note that using ELF symbol versioning would have solved the issue for existing
binaries compiled against older versions of vkd3d, but not for older source
compiled against newer versions of vkd3d.

Users of vkd3d-utils should define VKD3D_UTILS_API_VERSION to the vkd3d
API version they wish to target.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:05:17 +02:00
Józef Kucia
7240534abc include/vkd3d_utils: Declare all exported functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 16:40:48 +02:00
Józef Kucia
096dfde280 include: Document API versions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 16:40:45 +02:00
Józef Kucia
0ae0e431b1 libs/vkd3d-utils: Prefix defines with VKD3D_.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-25 15:50:04 +02:00
Józef Kucia
c197b9c9a1 include: Remove stdbool.h include from vkd3d_utils.h.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-25 15:49:59 +02:00
Józef Kucia
0e86a6b353 libs/vkd3d: Use HRESULT as preferred error code.
For consistency.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 18:56:25 +02:00
Józef Kucia
84889646f6 Update license to LGPL v2.1. 2017-06-16 22:11:21 +02:00
Henri Verbeet
8d668205a4 libs/vkd3d-utils: Return a bool from vkd3d_signal_event(). 2016-10-19 09:49:52 +02:00
Henri Verbeet
9d5e4daf84 libs/vkd3d-utils: Get rid of unnecessary WINAPI. 2016-10-19 09:48:26 +02:00
Henri Verbeet
53e0839698 libs/vkd3d-utils: Naming conventions. 2016-10-19 09:47:35 +02:00
Józef Kucia
858e0c79f1 include: Add public header for libvkd3d-utils. 2016-10-07 13:26:39 +02:00