From 071663dd7eddbabbd2041d41defdf6242761013e Mon Sep 17 00:00:00 2001 From: baldurk Date: Sun, 14 Dec 2014 02:16:15 +0000 Subject: [PATCH] Make sure last draw data is set every time, not just when reading * These values are used to show the current pipeline state (as it's convenient to show this data with the rest of the 'state', even if it's not state. That means they need to be set every time when executing, not just once when reading. --- .../driver/gl/wrappers/gl_draw_funcs.cpp | 116 +++++++++--------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp index 9e5c43b72..a5503b96a 100644 --- a/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_draw_funcs.cpp @@ -229,11 +229,11 @@ bool WrappedOpenGL::Serialise_glDrawTransformFeedback(GLenum mode, GLuint id) draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -285,11 +285,11 @@ bool WrappedOpenGL::Serialise_glDrawTransformFeedbackInstanced(GLenum mode, GLui draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -341,11 +341,11 @@ bool WrappedOpenGL::Serialise_glDrawTransformFeedbackStream(GLenum mode, GLuint draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -398,11 +398,11 @@ bool WrappedOpenGL::Serialise_glDrawTransformFeedbackStreamInstanced(GLenum mode draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -455,11 +455,11 @@ bool WrappedOpenGL::Serialise_glDrawArrays(GLenum mode, GLint first, GLsizei cou draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -510,11 +510,11 @@ bool WrappedOpenGL::Serialise_glDrawArraysIndirect(GLenum mode, const void *indi draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -568,11 +568,11 @@ bool WrappedOpenGL::Serialise_glDrawArraysInstanced(GLenum mode, GLint first, GL draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -628,11 +628,11 @@ bool WrappedOpenGL::Serialise_glDrawArraysInstancedBaseInstance(GLenum mode, GLi draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + return true; } @@ -691,13 +691,13 @@ bool WrappedOpenGL::Serialise_glDrawElements(GLenum mode, GLsizei count, GLenum draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -750,13 +750,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsIndirect(GLenum mode, GLenum type, c draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = 0; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = params.firstIndex*IdxSize; + return true; } @@ -817,13 +817,13 @@ bool WrappedOpenGL::Serialise_glDrawRangeElements(GLenum mode, GLuint start, GLu draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -886,13 +886,13 @@ bool WrappedOpenGL::Serialise_glDrawRangeElementsBaseVertex(GLenum mode, GLuint draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -953,13 +953,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsBaseVertex(GLenum mode, GLsizei coun draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -1020,13 +1020,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsInstanced(GLenum mode, GLsizei count draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -1089,13 +1089,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsInstancedBaseInstance(GLenum mode, G draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -1158,13 +1158,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsInstancedBaseVertex(GLenum mode, GLs draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -1229,13 +1229,13 @@ bool WrappedOpenGL::Serialise_glDrawElementsInstancedBaseVertexBaseInstance(GLen draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - m_LastIndexSize = Type; - m_LastIndexOffset = (GLuint)IdxOffset; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + m_LastIndexSize = Type; + m_LastIndexOffset = (GLuint)IdxOffset; + return true; } @@ -1290,11 +1290,11 @@ bool WrappedOpenGL::Serialise_glMultiDrawArrays(GLenum mode, const GLint *first, draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + SAFE_DELETE_ARRAY(firstArray); SAFE_DELETE_ARRAY(countArray); @@ -1374,11 +1374,11 @@ bool WrappedOpenGL::Serialise_glMultiDrawElements(GLenum mode, const GLsizei *co draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + SAFE_DELETE_ARRAY(countArray); SAFE_DELETE_ARRAY(idxOffsArray); @@ -1459,11 +1459,11 @@ bool WrappedOpenGL::Serialise_glMultiDrawElementsBaseVertex(GLenum mode, const G draw.debugMessages = debugMessages; - m_LastDrawMode = Mode; - AddDrawcall(draw, true); } + m_LastDrawMode = Mode; + SAFE_DELETE_ARRAY(countArray); SAFE_DELETE_ARRAY(baseArray); SAFE_DELETE_ARRAY(idxOffsArray);