diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index 8252ab0e7b..0ac82dbfbb 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -556,7 +556,7 @@ void GLGSRender::on_init_thread() m_attrib_ring_buffer->create(gl::buffer::target::texture, 256 * 0x100000); m_uniform_ring_buffer->create(gl::buffer::target::uniform, 64 * 0x100000); - m_index_ring_buffer->create(gl::buffer::target::element_array, 16 * 0x100000); + m_index_ring_buffer->create(gl::buffer::target::element_array, 64 * 0x100000); m_vao.element_array_buffer = *m_index_ring_buffer; m_gl_texture_cache.initialize_rtt_cache(); diff --git a/rpcs3/Emu/RSX/GL/GLHelpers.h b/rpcs3/Emu/RSX/GL/GLHelpers.h index c50b22a7e8..795ec81896 100644 --- a/rpcs3/Emu/RSX/GL/GLHelpers.h +++ b/rpcs3/Emu/RSX/GL/GLHelpers.h @@ -601,10 +601,13 @@ namespace gl verify(HERE), m_fence != nullptr; bool done = false; + GLenum flag = GL_SYNC_FLUSH_COMMANDS_BIT; while (!done) { //Check if we are finished, wait time = 1us - GLenum err = glClientWaitSync(m_fence, GL_SYNC_FLUSH_COMMANDS_BIT, 1000); + GLenum err = glClientWaitSync(m_fence, flag, 1000); + flag = 0; + switch (err) { default: