D3DCommon/Shader: Use std::optional with CompileShader()

Allows removing the use of an out parameter, making it nicer to use.
This commit is contained in:
Lioncash
2019-07-26 19:34:27 -04:00
parent 0ce6264f90
commit aca02f9734
4 changed files with 13 additions and 14 deletions

View File

@ -115,11 +115,11 @@ std::unique_ptr<AbstractFramebuffer> Renderer::CreateFramebuffer(AbstractTexture
std::unique_ptr<AbstractShader> Renderer::CreateShaderFromSource(ShaderStage stage,
std::string_view source)
{
DXShader::BinaryData bytecode;
if (!DXShader::CompileShader(D3D::feature_level, &bytecode, stage, source))
auto bytecode = DXShader::CompileShader(D3D::feature_level, stage, source);
if (!bytecode)
return nullptr;
return DXShader::CreateFromBytecode(stage, std::move(bytecode));
return DXShader::CreateFromBytecode(stage, std::move(*bytecode));
}
std::unique_ptr<AbstractShader> Renderer::CreateShaderFromBinary(ShaderStage stage,