[gl] Dont flush on every sync wait (Needs improvement to sync after next call)
[gl] Increase index buffer size to 64M since some games draw excessive geometry
This commit is contained in:
@@ -556,7 +556,7 @@ void GLGSRender::on_init_thread()
|
|||||||
|
|
||||||
m_attrib_ring_buffer->create(gl::buffer::target::texture, 256 * 0x100000);
|
m_attrib_ring_buffer->create(gl::buffer::target::texture, 256 * 0x100000);
|
||||||
m_uniform_ring_buffer->create(gl::buffer::target::uniform, 64 * 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_vao.element_array_buffer = *m_index_ring_buffer;
|
||||||
m_gl_texture_cache.initialize_rtt_cache();
|
m_gl_texture_cache.initialize_rtt_cache();
|
||||||
|
|||||||
@@ -601,10 +601,13 @@ namespace gl
|
|||||||
verify(HERE), m_fence != nullptr;
|
verify(HERE), m_fence != nullptr;
|
||||||
|
|
||||||
bool done = false;
|
bool done = false;
|
||||||
|
GLenum flag = GL_SYNC_FLUSH_COMMANDS_BIT;
|
||||||
while (!done)
|
while (!done)
|
||||||
{
|
{
|
||||||
//Check if we are finished, wait time = 1us
|
//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)
|
switch (err)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user