mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
libs/vkd3d-shader: Add version argument to vkd3d_shader_serialize_root_signature().
This commit is contained in:
parent
f4cfebcd7e
commit
18b285328e
@ -116,8 +116,13 @@ HRESULT vkd3d_shader_parse_root_signature(const struct vkd3d_shader_code *dxbc,
|
|||||||
D3D12_ROOT_SIGNATURE_DESC *root_signature);
|
D3D12_ROOT_SIGNATURE_DESC *root_signature);
|
||||||
void vkd3d_shader_free_root_signature(D3D12_ROOT_SIGNATURE_DESC *root_signature);
|
void vkd3d_shader_free_root_signature(D3D12_ROOT_SIGNATURE_DESC *root_signature);
|
||||||
|
|
||||||
|
enum vkd3d_root_signature_version
|
||||||
|
{
|
||||||
|
VKD3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
|
||||||
|
};
|
||||||
|
|
||||||
HRESULT vkd3d_shader_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_signature,
|
HRESULT vkd3d_shader_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_signature,
|
||||||
struct vkd3d_shader_code *dxbc);
|
enum vkd3d_root_signature_version version, struct vkd3d_shader_code *dxbc);
|
||||||
|
|
||||||
#define VKD3D_SHADER_MAX_UNORDERED_ACCESS_VIEWS 8
|
#define VKD3D_SHADER_MAX_UNORDERED_ACCESS_VIEWS 8
|
||||||
|
|
||||||
|
@ -2568,13 +2568,19 @@ static HRESULT shader_write_root_signature(struct root_signature_writer_context
|
|||||||
}
|
}
|
||||||
|
|
||||||
HRESULT vkd3d_shader_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_signature,
|
HRESULT vkd3d_shader_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_signature,
|
||||||
struct vkd3d_shader_code *dxbc)
|
enum vkd3d_root_signature_version version, struct vkd3d_shader_code *dxbc)
|
||||||
{
|
{
|
||||||
struct root_signature_writer_context context;
|
struct root_signature_writer_context context;
|
||||||
size_t total_size, chunk_size;
|
size_t total_size, chunk_size;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
TRACE("root_signature %p, dxbc %p.\n", root_signature, dxbc);
|
TRACE("root_signature %p, version %#x, dxbc %p.\n", root_signature, version, dxbc);
|
||||||
|
|
||||||
|
if (version != VKD3D_ROOT_SIGNATURE_VERSION_1_0)
|
||||||
|
{
|
||||||
|
FIXME("Root signature version %#x not supported.\n", version);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
memset(dxbc, 0, sizeof(*dxbc));
|
memset(dxbc, 0, sizeof(*dxbc));
|
||||||
memset(&context, 0, sizeof(context));
|
memset(&context, 0, sizeof(context));
|
||||||
|
@ -299,19 +299,14 @@ HRESULT WINAPI D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *root
|
|||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version != D3D_ROOT_SIGNATURE_VERSION_1_0)
|
|
||||||
{
|
|
||||||
FIXME("Root signature version %#x is not supported.\n", version);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (error_blob)
|
if (error_blob)
|
||||||
{
|
{
|
||||||
FIXME("Ignoring error blob %p.\n", error_blob);
|
FIXME("Ignoring error blob %p.\n", error_blob);
|
||||||
*error_blob = NULL;
|
*error_blob = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FAILED(hr = vkd3d_shader_serialize_root_signature(root_signature_desc, &dxbc)))
|
if (FAILED(hr = vkd3d_shader_serialize_root_signature(root_signature_desc,
|
||||||
|
(enum vkd3d_root_signature_version)version, &dxbc)))
|
||||||
{
|
{
|
||||||
WARN("Failed to serialize root signature, hr %#x.\n", hr);
|
WARN("Failed to serialize root signature, hr %#x.\n", hr);
|
||||||
return hr;
|
return hr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user