mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
libs/vkd3d-shader: Implement root signature parsing.
This commit is contained in:
@@ -88,3 +88,20 @@ void vkd3d_shader_free_shader_code(struct vkd3d_shader_code *shader_code)
|
||||
|
||||
vkd3d_free((void *)shader_code->code);
|
||||
}
|
||||
|
||||
void vkd3d_shader_free_root_signature(D3D12_ROOT_SIGNATURE_DESC *root_signature)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < root_signature->NumParameters; ++i)
|
||||
{
|
||||
const D3D12_ROOT_PARAMETER *parameter = &root_signature->pParameters[i];
|
||||
|
||||
if (parameter->ParameterType == D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE)
|
||||
vkd3d_free((void *)parameter->u.DescriptorTable.pDescriptorRanges);
|
||||
}
|
||||
vkd3d_free((void *)root_signature->pParameters);
|
||||
vkd3d_free((void *)root_signature->pStaticSamplers);
|
||||
|
||||
memset(root_signature, 0, sizeof(*root_signature));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user