Renderer: Draw ImGui interface to both eyes

This commit is contained in:
Stenzek
2019-10-02 12:19:47 +10:00
parent b44a0980eb
commit c98a5f7dfd
3 changed files with 104 additions and 59 deletions

View File

@ -719,15 +719,10 @@ bool PostProcessing::CompilePixelShader()
bool PostProcessing::CompilePipeline()
{
// OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered stereo, instead
// drawing twice and the eye selected by glDrawBuffer() (see OGL::Renderer::RenderXFBToScreen).
const bool use_quad_buffer_gs = g_ActiveConfig.stereo_mode == StereoMode::QuadBuffer &&
g_ActiveConfig.backend_info.api_type != APIType::OpenGL;
AbstractPipelineConfig config = {};
config.vertex_shader = m_vertex_shader.get();
config.geometry_shader =
use_quad_buffer_gs ? g_shader_cache->GetTexcoordGeometryShader() : nullptr;
g_renderer->UseGeometryShaderForUI() ? g_shader_cache->GetTexcoordGeometryShader() : nullptr;
config.pixel_shader = m_pixel_shader.get();
config.rasterization_state = RenderState::GetNoCullRasterizationState(PrimitiveType::Triangles);
config.depth_state = RenderState::GetNoDepthTestingDepthState();