Only check shader compilation status in debug or with DEBUG_GLSL defined. invalidate range on bindbufferrange since we don't care about what is in the range. Both give a performance boost for me.
This commit is contained in:
parent
3a52b37c3b
commit
4fadb65259
|
@ -133,7 +133,7 @@ bool PixelShaderCache::CompilePixelShader(FRAGMENTSHADER& ps, const char* pstrpr
|
|||
|
||||
glShaderSource(result, 1, &pstrprogram, NULL);
|
||||
glCompileShader(result);
|
||||
|
||||
#if defined(_DEBUG) || defined(DEBUGFAST) || defined(DEBUG_GLSL)
|
||||
GLsizei length = 0;
|
||||
glGetShaderiv(result, GL_INFO_LOG_LENGTH, &length);
|
||||
if (length > 1)
|
||||
|
@ -161,7 +161,7 @@ bool PixelShaderCache::CompilePixelShader(FRAGMENTSHADER& ps, const char* pstrpr
|
|||
glDeleteShader(result);
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
(void)GL_REPORT_ERROR();
|
||||
ps.glprogid = result;
|
||||
return true;
|
||||
|
|
|
@ -200,7 +200,7 @@ void ProgramShaderCache::UploadConstants()
|
|||
glBufferData(GL_UNIFORM_BUFFER, UBO_LENGTH, NULL, GL_STREAM_DRAW);
|
||||
s_ubo_iterator = 0;
|
||||
}
|
||||
void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, s_ubo_iterator, s_ubo_buffer_size, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT);
|
||||
void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, s_ubo_iterator, s_ubo_buffer_size, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT | GL_MAP_INVALIDATE_RANGE_BIT);
|
||||
memcpy(ubo, s_ubo_buffer, s_ubo_buffer_size);
|
||||
glUnmapBuffer(GL_UNIFORM_BUFFER);
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ bool VertexShaderCache::CompileVertexShader(VERTEXSHADER& vs, const char* pstrpr
|
|||
|
||||
glShaderSource(result, 1, &pstrprogram, NULL);
|
||||
glCompileShader(result);
|
||||
|
||||
#if defined(_DEBUG) || defined(DEBUGFAST) || defined(DEBUG_GLSL)
|
||||
GLsizei length = 0;
|
||||
glGetShaderiv(result, GL_INFO_LOG_LENGTH, &length);
|
||||
if (length > 1)
|
||||
|
@ -147,6 +147,7 @@ bool VertexShaderCache::CompileVertexShader(VERTEXSHADER& vs, const char* pstrpr
|
|||
glDeleteShader(result);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
(void)GL_REPORT_ERROR();
|
||||
vs.glprogid = result;
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue