Module: vkd3d Branch: master Commit: fffdb76b3311353adfcece9d06aceace46117af3 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/fffdb76b3311353adfcece9d06acea...
Author: Martin Storsjö martin@martin.st Date: Tue Sep 5 23:42:37 2023 +0300
include: Add the ID3D12PipelineLibrary{,1} interfaces.
Signed-off-by: Martin Storsjö martin@martin.st
---
include/vkd3d_d3d12.idl | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 846cd245..66d7ace1 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -3080,6 +3080,42 @@ interface ID3D12Device : ID3D12Object LUID GetAdapterLuid(); }
+[ + uuid(c64226a8-9201-46af-b4cc-53fb9ff7414f), + object, + local, + pointer_default(unique) +] +interface ID3D12PipelineLibrary : ID3D12DeviceChild +{ + HRESULT StorePipeline(const WCHAR *name, ID3D12PipelineState *pipeline); + + HRESULT LoadGraphicsPipeline(const WCHAR *name, + const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, REFIID riid, + void **pipeline_state); + + HRESULT LoadComputePipeline(const WCHAR *name, + const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, REFIID riid, + void **pipeline_state); + + SIZE_T GetSerializedSize(); + + HRESULT Serialize(void *data, SIZE_T data_size_in_bytes); +} + +[ + uuid(80eabf42-2568-4e5e-bd82-c37f86961dc3), + object, + local, + pointer_default(unique) +] +interface ID3D12PipelineLibrary1 : ID3D12PipelineLibrary +{ + HRESULT LoadPipeline(const WCHAR *name, + const D3D12_PIPELINE_STATE_STREAM_DESC *desc, REFIID riid, + void **pipeline_state); +} + [ uuid(77acce80-638e-4e65-8895-c1f23386863e), object,