Skip to content
Permalink
Browse files

D3D11: Only use integer RTV when logic op is supported+enabled

  • Loading branch information...
stenzek committed Aug 2, 2019
1 parent b01cacb commit d78a9356d22b23c3d8f9438777b79af6dfb42f28
Showing with 9 additions and 5 deletions.
  1. +9 −5 Source/Core/VideoBackends/D3D/DXPipeline.cpp
@@ -55,10 +55,14 @@ std::unique_ptr<DXPipeline> DXPipeline::Create(const AbstractPipelineConfig& con
vertex_shader->GetByteCode().size()) :
nullptr;

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, config.blending_state.logicopenable);
// Only use the integer RTV if logic op is supported, and enabled.
const bool use_logic_op =
config.blending_state.logicopenable && g_ActiveConfig.backend_info.bSupportsLogicOp;

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

0 comments on commit d78a935

Please sign in to comment.
You can’t perform that action at this time.