mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d: Add stubs for versioned root signatures.
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>
This commit is contained in:
parent
799434fc8f
commit
3b83ccc67e
@ -154,9 +154,15 @@ ULONG vkd3d_resource_incref(ID3D12Resource *resource);
|
|||||||
HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
||||||
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob);
|
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob);
|
||||||
|
|
||||||
|
HRESULT vkd3d_serialize_versioned_root_signature(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,
|
||||||
|
ID3DBlob **blob, ID3DBlob **error_blob);
|
||||||
|
|
||||||
HRESULT vkd3d_create_root_signature_deserializer(const void *data, SIZE_T data_size,
|
HRESULT vkd3d_create_root_signature_deserializer(const void *data, SIZE_T data_size,
|
||||||
REFIID iid, void **deserializer);
|
REFIID iid, void **deserializer);
|
||||||
|
|
||||||
|
HRESULT vkd3d_create_versioned_root_signature_deserializer(const void *data, SIZE_T data_size,
|
||||||
|
REFIID iid, void **deserializer);
|
||||||
|
|
||||||
DXGI_FORMAT vkd3d_get_dxgi_format(VkFormat format);
|
DXGI_FORMAT vkd3d_get_dxgi_format(VkFormat format);
|
||||||
VkFormat vkd3d_get_vk_format(DXGI_FORMAT format);
|
VkFormat vkd3d_get_vk_format(DXGI_FORMAT format);
|
||||||
|
|
||||||
@ -190,9 +196,16 @@ typedef ULONG (*PFN_vkd3d_resource_incref)(ID3D12Resource *resource);
|
|||||||
typedef HRESULT (*PFN_vkd3d_serialize_root_signature)(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
typedef HRESULT (*PFN_vkd3d_serialize_root_signature)(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
||||||
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob);
|
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob);
|
||||||
|
|
||||||
|
typedef HRESULT (*PFN_vkd3d_serialize_versioned_root_signature)(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,
|
||||||
|
ID3DBlob **blob, ID3DBlob **error_blob);
|
||||||
|
|
||||||
typedef HRESULT (*PFN_vkd3d_create_root_signature_deserializer)(const void *data, SIZE_T data_size,
|
typedef HRESULT (*PFN_vkd3d_create_root_signature_deserializer)(const void *data, SIZE_T data_size,
|
||||||
REFIID iid, void **deserializer);
|
REFIID iid, void **deserializer);
|
||||||
|
|
||||||
|
typedef HRESULT (*PFN_vkd3d_create_versioned_root_signature_deserializer)(const void *data, SIZE_T data_size,
|
||||||
|
REFIID iid, void **deserializer);
|
||||||
|
|
||||||
|
typedef DXGI_FORMAT (*PFN_vkd3d_get_dxgi_format)(VkFormat format);
|
||||||
typedef VkFormat (*PFN_vkd3d_get_vk_format)(DXGI_FORMAT format);
|
typedef VkFormat (*PFN_vkd3d_get_vk_format)(DXGI_FORMAT format);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -3,8 +3,10 @@ VKD3D_1_0
|
|||||||
global:
|
global:
|
||||||
D3D12CreateDevice;
|
D3D12CreateDevice;
|
||||||
D3D12CreateRootSignatureDeserializer;
|
D3D12CreateRootSignatureDeserializer;
|
||||||
|
D3D12CreateVersionedRootSignatureDeserializer;
|
||||||
D3D12GetDebugInterface;
|
D3D12GetDebugInterface;
|
||||||
D3D12SerializeRootSignature;
|
D3D12SerializeRootSignature;
|
||||||
|
D3D12SerializeVersionedRootSignature;
|
||||||
vkd3d_create_event;
|
vkd3d_create_event;
|
||||||
vkd3d_destroy_event;
|
vkd3d_destroy_event;
|
||||||
vkd3d_signal_event;
|
vkd3d_signal_event;
|
||||||
|
@ -87,13 +87,29 @@ HRESULT WINAPI D3D12CreateRootSignatureDeserializer(const void *data, SIZE_T dat
|
|||||||
return vkd3d_create_root_signature_deserializer(data, data_size, iid, deserializer);
|
return vkd3d_create_root_signature_deserializer(data, data_size, iid, deserializer);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,
|
HRESULT WINAPI D3D12CreateVersionedRootSignatureDeserializer(const void *data, SIZE_T data_size,
|
||||||
|
REFIID iid,void **deserializer)
|
||||||
|
{
|
||||||
|
TRACE("data %p, data_size %lu, iid %s, deserializer %p.\n",
|
||||||
|
data, data_size, debugstr_guid(iid), deserializer);
|
||||||
|
|
||||||
|
return vkd3d_create_versioned_root_signature_deserializer(data, data_size, iid, deserializer);
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
||||||
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob)
|
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob)
|
||||||
{
|
{
|
||||||
TRACE("root_signature_desc %p, version %#x, blob %p, error_blob %p.\n",
|
TRACE("desc %p, version %#x, blob %p, error_blob %p.\n", desc, version, blob, error_blob);
|
||||||
root_signature_desc, version, blob, error_blob);
|
|
||||||
|
|
||||||
return vkd3d_serialize_root_signature(root_signature_desc, version, blob, error_blob);
|
return vkd3d_serialize_root_signature(desc, version, blob, error_blob);
|
||||||
|
}
|
||||||
|
|
||||||
|
HRESULT WINAPI D3D12SerializeVersionedRootSignature(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,
|
||||||
|
ID3DBlob **blob, ID3DBlob **error_blob)
|
||||||
|
{
|
||||||
|
TRACE("desc %p, blob %p, error_blob %p.\n", desc, blob, error_blob);
|
||||||
|
|
||||||
|
return vkd3d_serialize_versioned_root_signature(desc, blob, error_blob);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Events */
|
/* Events */
|
||||||
|
@ -6,6 +6,7 @@ global:
|
|||||||
vkd3d_create_image_resource;
|
vkd3d_create_image_resource;
|
||||||
vkd3d_create_instance;
|
vkd3d_create_instance;
|
||||||
vkd3d_create_root_signature_deserializer;
|
vkd3d_create_root_signature_deserializer;
|
||||||
|
vkd3d_create_versioned_root_signature_deserializer;
|
||||||
vkd3d_get_device_parent;
|
vkd3d_get_device_parent;
|
||||||
vkd3d_get_dxgi_format;
|
vkd3d_get_dxgi_format;
|
||||||
vkd3d_get_vk_device;
|
vkd3d_get_vk_device;
|
||||||
@ -20,6 +21,7 @@ global:
|
|||||||
vkd3d_resource_decref;
|
vkd3d_resource_decref;
|
||||||
vkd3d_resource_incref;
|
vkd3d_resource_incref;
|
||||||
vkd3d_serialize_root_signature;
|
vkd3d_serialize_root_signature;
|
||||||
|
vkd3d_serialize_versioned_root_signature;
|
||||||
|
|
||||||
local: *;
|
local: *;
|
||||||
};
|
};
|
||||||
|
@ -205,6 +205,15 @@ HRESULT vkd3d_create_root_signature_deserializer(const void *data, SIZE_T data_s
|
|||||||
&IID_ID3D12RootSignatureDeserializer, iid, deserializer);
|
&IID_ID3D12RootSignatureDeserializer, iid, deserializer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HRESULT vkd3d_create_versioned_root_signature_deserializer(const void *data, SIZE_T data_size,
|
||||||
|
REFIID iid, void **deserializer)
|
||||||
|
{
|
||||||
|
FIXME("data %p, data_size %lu, iid %s, deserializer %p stub!\n",
|
||||||
|
data, data_size, debugstr_guid(iid), deserializer);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
/* ID3DBlob */
|
/* ID3DBlob */
|
||||||
struct d3d_blob
|
struct d3d_blob
|
||||||
{
|
{
|
||||||
@ -319,7 +328,7 @@ static HRESULT d3d_blob_create(void *buffer, SIZE_T size, struct d3d_blob **blob
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,
|
HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *desc,
|
||||||
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob)
|
D3D_ROOT_SIGNATURE_VERSION version, ID3DBlob **blob, ID3DBlob **error_blob)
|
||||||
{
|
{
|
||||||
struct vkd3d_shader_code dxbc;
|
struct vkd3d_shader_code dxbc;
|
||||||
@ -327,8 +336,7 @@ HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_sig
|
|||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
TRACE("root_signature_desc %p, version %#x, blob %p, error_blob %p.\n",
|
TRACE("desc %p, version %#x, blob %p, error_blob %p.\n", desc, version, blob, error_blob);
|
||||||
root_signature_desc, version, blob, error_blob);
|
|
||||||
|
|
||||||
if (!blob)
|
if (!blob)
|
||||||
{
|
{
|
||||||
@ -340,7 +348,7 @@ HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_sig
|
|||||||
*error_blob = NULL;
|
*error_blob = NULL;
|
||||||
|
|
||||||
if ((ret = vkd3d_shader_serialize_root_signature(
|
if ((ret = vkd3d_shader_serialize_root_signature(
|
||||||
(const struct vkd3d_root_signature_desc *)root_signature_desc,
|
(const struct vkd3d_root_signature_desc *)desc,
|
||||||
(enum vkd3d_root_signature_version)version, &dxbc)) < 0)
|
(enum vkd3d_root_signature_version)version, &dxbc)) < 0)
|
||||||
{
|
{
|
||||||
WARN("Failed to serialize root signature, vkd3d result %d.\n", ret);
|
WARN("Failed to serialize root signature, vkd3d result %d.\n", ret);
|
||||||
@ -360,3 +368,11 @@ HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_sig
|
|||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HRESULT vkd3d_serialize_versioned_root_signature(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,
|
||||||
|
ID3DBlob **blob, ID3DBlob **error_blob)
|
||||||
|
{
|
||||||
|
FIXME("desc %p, blob %p, error_blob %p stub!\n", desc, blob, error_blob);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user