libs/vkd3d-shader: Use switch statement in shader_parse_root_parameters().

This commit is contained in:
Józef Kucia
2017-10-10 16:57:36 +02:00
parent 4522a80de8
commit 94a33020d3

View File

@@ -2177,29 +2177,26 @@ static HRESULT shader_parse_root_parameters(const char *data, DWORD data_size,
TRACE("Type %#x, shader visibility %#x.\n", TRACE("Type %#x, shader visibility %#x.\n",
parameters[i].ParameterType, parameters[i].ShaderVisibility); parameters[i].ParameterType, parameters[i].ShaderVisibility);
if (parameters[i].ParameterType == D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE) switch (parameters[i].ParameterType)
{ {
if (FAILED(hr = shader_parse_descriptor_table(data, data_size, case D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE:
offset, &parameters[i].u.DescriptorTable))) hr = shader_parse_descriptor_table(data, data_size, offset, &parameters[i].u.DescriptorTable);
return hr; break;
} case D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS:
else if (parameters[i].ParameterType == D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS) hr = shader_parse_root_constants(data, data_size, offset, &parameters[i].u.Constants);
{ break;
if (FAILED(hr = shader_parse_root_constants(data, data_size, case D3D12_ROOT_PARAMETER_TYPE_CBV:
offset, &parameters[i].u.Constants))) case D3D12_ROOT_PARAMETER_TYPE_SRV:
return hr; case D3D12_ROOT_PARAMETER_TYPE_UAV:
} hr = shader_parse_root_descriptor(data, data_size, offset, &parameters[i].u.Descriptor);
else if (parameters[i].ParameterType <= D3D12_ROOT_PARAMETER_TYPE_UAV) break;
{ default:
if (FAILED(hr = shader_parse_root_descriptor(data, data_size, FIXME("Unrecognized type %#x.\n", parameters[i].ParameterType);
offset, &parameters[i].u.Descriptor))) return E_INVALIDARG;
return hr;
}
else
{
FIXME("Unrecognized type %#x.\n", parameters[i].ParameterType);
return E_INVALIDARG;
} }
if (FAILED(hr))
return hr;
} }
return S_OK; return S_OK;