mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-utils: Return correct use masks during reflection.
This commit is contained in:
parent
7408ab145a
commit
976fe27836
Notes:
Henri Verbeet
2024-10-21 18:41:50 +02:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1194
@ -482,7 +482,7 @@ static HRESULT get_signature_parameter(const struct vkd3d_shader_signature *sign
|
|||||||
desc->SystemValueType = (D3D_NAME)e->sysval_semantic;
|
desc->SystemValueType = (D3D_NAME)e->sysval_semantic;
|
||||||
desc->ComponentType = (D3D_REGISTER_COMPONENT_TYPE)e->component_type;
|
desc->ComponentType = (D3D_REGISTER_COMPONENT_TYPE)e->component_type;
|
||||||
desc->Mask = e->mask;
|
desc->Mask = e->mask;
|
||||||
desc->ReadWriteMask = output ? (e->mask & ~e->used_mask) : e->used_mask;
|
desc->ReadWriteMask = output ? (0xf ^ e->used_mask) : e->used_mask;
|
||||||
desc->Stream = e->stream_index;
|
desc->Stream = e->stream_index;
|
||||||
desc->MinPrecision = (D3D_MIN_PRECISION)e->min_precision;
|
desc->MinPrecision = (D3D_MIN_PRECISION)e->min_precision;
|
||||||
|
|
||||||
@ -513,11 +513,11 @@ static HRESULT STDMETHODCALLTYPE d3d12_reflection_GetPatchConstantParameterDesc(
|
|||||||
ID3D12ShaderReflection *iface, UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc)
|
ID3D12ShaderReflection *iface, UINT index, D3D12_SIGNATURE_PARAMETER_DESC *desc)
|
||||||
{
|
{
|
||||||
struct d3d12_reflection *reflection = impl_from_ID3D12ShaderReflection(iface);
|
struct d3d12_reflection *reflection = impl_from_ID3D12ShaderReflection(iface);
|
||||||
|
bool output = ((reflection->desc.Version & 0xffff0000) >> 16) == D3D12_SHVER_HULL_SHADER;
|
||||||
|
|
||||||
TRACE("iface %p, index %u, desc %p.\n", iface, index, desc);
|
TRACE("iface %p, index %u, desc %p.\n", iface, index, desc);
|
||||||
|
|
||||||
return get_signature_parameter(&reflection->signature_info.patch_constant, index, desc,
|
return get_signature_parameter(&reflection->signature_info.patch_constant, index, desc, output);
|
||||||
/* FIXME: check shader type */true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE d3d12_reflection_GetVariableByName(
|
static struct ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE d3d12_reflection_GetVariableByName(
|
||||||
|
Loading…
Reference in New Issue
Block a user