D3D11: Only use integer RTV when logic op is supported+enabled
This commit is contained in:
parent
b01cacb27e
commit
d78a9356d2
|
@ -55,10 +55,14 @@ std::unique_ptr<DXPipeline> DXPipeline::Create(const AbstractPipelineConfig& con
|
||||||
vertex_shader->GetByteCode().size()) :
|
vertex_shader->GetByteCode().size()) :
|
||||||
nullptr;
|
nullptr;
|
||||||
|
|
||||||
return std::make_unique<DXPipeline>(
|
// Only use the integer RTV if logic op is supported, and enabled.
|
||||||
input_layout, vertex_shader->GetD3DVertexShader(),
|
const bool use_logic_op =
|
||||||
geometry_shader ? geometry_shader->GetD3DGeometryShader() : nullptr,
|
config.blending_state.logicopenable && g_ActiveConfig.backend_info.bSupportsLogicOp;
|
||||||
pixel_shader->GetD3DPixelShader(), rasterizer_state, depth_state, blend_state,
|
|
||||||
primitive_topology, config.blending_state.logicopenable);
|
return std::make_unique<DXPipeline>(input_layout, vertex_shader->GetD3DVertexShader(),
|
||||||
|
geometry_shader ? geometry_shader->GetD3DGeometryShader() :
|
||||||
|
nullptr,
|
||||||
|
pixel_shader->GetD3DPixelShader(), rasterizer_state,
|
||||||
|
depth_state, blend_state, primitive_topology, use_logic_op);
|
||||||
}
|
}
|
||||||
} // namespace DX11
|
} // namespace DX11
|
||||||
|
|
Loading…
Reference in New Issue