gsdx: hidden option disable_hw_gl_draw

OMG, Zone of Ender got a speed boost from 11 fps to 45 fps

Seriously, the goal is to allow benchmarking GSdx without too much overhead of the main renderer draw call

Note: unlike the null renderer, texture/vertex uploading, 2D draw, texture conversions are still done.
This commit is contained in:
Gregory Hainaut 2017-01-11 18:43:45 +01:00
parent 6dabc68c16
commit ced2dd9200
3 changed files with 9 additions and 2 deletions

View File

@ -88,6 +88,8 @@ GSDeviceOGL::GSDeviceOGL()
#endif
m_debug_gl_call = theApp.GetConfigB("debug_opengl");
m_disable_hw_gl_draw = theApp.GetConfigB("disable_hw_gl_draw");
}
GSDeviceOGL::~GSDeviceOGL()
@ -653,7 +655,8 @@ void GSDeviceOGL::DrawPrimitive(int offset, int count)
void GSDeviceOGL::DrawIndexedPrimitive()
{
BeforeDraw();
m_va->DrawIndexedPrimitive();
if (!m_disable_hw_gl_draw)
m_va->DrawIndexedPrimitive();
AfterDraw();
}
@ -662,7 +665,8 @@ void GSDeviceOGL::DrawIndexedPrimitive(int offset, int count)
//ASSERT(offset + count <= (int)m_index.count);
BeforeDraw();
m_va->DrawIndexedPrimitive(offset, count);
if (!m_disable_hw_gl_draw)
m_va->DrawIndexedPrimitive(offset, count);
AfterDraw();
}

View File

@ -416,6 +416,8 @@ public:
static bool m_debug_gl_call;
static FILE* m_debug_gl_file;
bool m_disable_hw_gl_draw;
GSWnd* m_window;
GLuint m_fbo; // frame buffer container

View File

@ -296,6 +296,7 @@ void GSdxApp::Init()
m_default_configuration["CrcHacksExclusions"] = "";
m_default_configuration["debug_glsl_shader"] = "0";
m_default_configuration["debug_opengl"] = "0";
m_default_configuration["disable_hw_gl_draw"] = "0";
m_default_configuration["dump"] = "0";
m_default_configuration["extrathreads"] = "2";
m_default_configuration["extrathreads_height"] = "4";