mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
Add more glUniform* variants
This commit is contained in:
@@ -1264,6 +1264,10 @@ bool WrappedOpenGL::Serialise_glUniformVector(GLint location, GLsizei count, con
|
||||
|
||||
switch(Type)
|
||||
{
|
||||
case VEC1IV:
|
||||
case VEC1UIV:
|
||||
case VEC1FV: elemsPerVec = 1; break;
|
||||
case VEC2FV: elemsPerVec = 2; break;
|
||||
case VEC3FV: elemsPerVec = 3; break;
|
||||
case VEC4FV: elemsPerVec = 4; break;
|
||||
default:
|
||||
@@ -1280,6 +1284,10 @@ bool WrappedOpenGL::Serialise_glUniformVector(GLint location, GLsizei count, con
|
||||
|
||||
switch(Type)
|
||||
{
|
||||
case VEC1FV: m_Real.glUniform1fv(Loc, Count, (const GLfloat *)value); break;
|
||||
case VEC1IV: m_Real.glUniform1iv(Loc, Count, (const GLint *)value); break;
|
||||
case VEC1UIV: m_Real.glUniform1uiv(Loc, Count, (const GLuint *)value); break;
|
||||
case VEC2FV: m_Real.glUniform2fv(Loc, Count, (const GLfloat *)value); break;
|
||||
case VEC3FV: m_Real.glUniform3fv(Loc, Count, (const GLfloat *)value); break;
|
||||
case VEC4FV: m_Real.glUniform4fv(Loc, Count, (const GLfloat *)value); break;
|
||||
default:
|
||||
@@ -1311,6 +1319,97 @@ bool WrappedOpenGL::Serialise_glUniformVector(GLint location, GLsizei count, con
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1f(GLint location, GLfloat value)
|
||||
{
|
||||
m_Real.glUniform1f(location, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, 1, &value, VEC1FV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1i(GLint location, GLint value)
|
||||
{
|
||||
m_Real.glUniform1i(location, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, 1, &value, VEC1IV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1ui(GLint location, GLuint value)
|
||||
{
|
||||
m_Real.glUniform1ui(location, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, 1, &value, VEC1UIV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
|
||||
{
|
||||
m_Real.glUniform1fv(location, count, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, count, value, VEC1FV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1iv(GLint location, GLsizei count, const GLint *value)
|
||||
{
|
||||
m_Real.glUniform1iv(location, count, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, count, value, VEC1IV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
|
||||
{
|
||||
m_Real.glUniform1uiv(location, count, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, count, value, VEC1UIV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
|
||||
{
|
||||
m_Real.glUniform2fv(location, count, value);
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(UNIFORM_VECTOR);
|
||||
Serialise_glUniformVector(location, count, value, VEC2FV);
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
|
||||
{
|
||||
m_Real.glUniform3fv(location, count, value);
|
||||
|
||||
@@ -409,6 +409,10 @@ class WrappedOpenGL
|
||||
{
|
||||
UNIFORM_UNKNOWN,
|
||||
|
||||
VEC1FV,
|
||||
VEC1IV,
|
||||
VEC1UIV,
|
||||
VEC2FV,
|
||||
VEC3FV,
|
||||
VEC4FV,
|
||||
|
||||
@@ -419,6 +423,13 @@ class WrappedOpenGL
|
||||
bool Serialise_glUniformVector(GLint location, GLsizei count, const void *value, UniformType type);
|
||||
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1f(GLint location, GLfloat value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1i(GLint location, GLint value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1ui(GLint location, GLuint value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1iv(GLint location, GLsizei count, const GLint *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1uiv(GLint location, GLsizei count, const GLuint *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform1fv(GLint location, GLsizei count, const GLfloat *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform2fv(GLint location, GLsizei count, const GLfloat *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform3fv(GLint location, GLsizei count, const GLfloat *value));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glUniform4fv(GLint location, GLsizei count, const GLfloat *value));
|
||||
|
||||
|
||||
@@ -184,6 +184,13 @@ struct GLHookSet
|
||||
PFNGLGETUNIFORMFVPROC glGetUniformfv;
|
||||
PFNGLGETUNIFORMIVPROC glGetUniformiv;
|
||||
PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
|
||||
PFNGLUNIFORM1FPROC glUniform1f;
|
||||
PFNGLUNIFORM1IPROC glUniform1i;
|
||||
PFNGLUNIFORM1UIPROC glUniform1ui;
|
||||
PFNGLUNIFORM1FVPROC glUniform1fv;
|
||||
PFNGLUNIFORM1IVPROC glUniform1iv;
|
||||
PFNGLUNIFORM1UIVPROC glUniform1uiv;
|
||||
PFNGLUNIFORM2FVPROC glUniform2fv;
|
||||
PFNGLUNIFORM3FVPROC glUniform3fv;
|
||||
PFNGLUNIFORM4FVPROC glUniform4fv;
|
||||
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glDrawArraysInstancedBaseInstance;
|
||||
|
||||
@@ -196,6 +196,13 @@
|
||||
HookExtension(PFNGLGETUNIFORMFVPROC, glGetUniformfv); \
|
||||
HookExtension(PFNGLGETUNIFORMIVPROC, glGetUniformiv); \
|
||||
HookExtension(PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv); \
|
||||
HookExtension(PFNGLUNIFORM1FPROC, glUniform1f); \
|
||||
HookExtension(PFNGLUNIFORM1IPROC, glUniform1i); \
|
||||
HookExtension(PFNGLUNIFORM1UIPROC, glUniform1ui); \
|
||||
HookExtension(PFNGLUNIFORM1FVPROC, glUniform1fv); \
|
||||
HookExtension(PFNGLUNIFORM1IVPROC, glUniform1iv); \
|
||||
HookExtension(PFNGLUNIFORM1UIVPROC, glUniform1uiv); \
|
||||
HookExtension(PFNGLUNIFORM2FVPROC, glUniform2fv); \
|
||||
HookExtension(PFNGLUNIFORM3FVPROC, glUniform3fv); \
|
||||
HookExtension(PFNGLUNIFORM4FVPROC, glUniform4fv); \
|
||||
HookExtension(PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC, glDrawArraysInstancedBaseInstance); \
|
||||
@@ -426,6 +433,13 @@
|
||||
HookWrapper3(void, glGetUniformfv, GLuint, program, GLint, location, GLfloat *, params); \
|
||||
HookWrapper3(void, glGetUniformiv, GLuint, program, GLint, location, GLint *, params); \
|
||||
HookWrapper4(void, glUniformMatrix4fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \
|
||||
HookWrapper2(void, glUniform1f, GLint, location, GLfloat, value); \
|
||||
HookWrapper2(void, glUniform1i, GLint, location, GLint, value); \
|
||||
HookWrapper2(void, glUniform1ui, GLint, location, GLuint, value); \
|
||||
HookWrapper3(void, glUniform1fv, GLint, location, GLsizei, count, const GLfloat *, value); \
|
||||
HookWrapper3(void, glUniform1iv, GLint, location, GLsizei, count, const GLint *, value); \
|
||||
HookWrapper3(void, glUniform1uiv, GLint, location, GLsizei, count, const GLuint *, value); \
|
||||
HookWrapper3(void, glUniform2fv, GLint, location, GLsizei, count, const GLfloat *, value); \
|
||||
HookWrapper3(void, glUniform3fv, GLint, location, GLsizei, count, const GLfloat *, value); \
|
||||
HookWrapper3(void, glUniform4fv, GLint, location, GLsizei, count, const GLfloat *, value); \
|
||||
HookWrapper5(void, glDrawArraysInstancedBaseInstance, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount, GLuint, baseinstance); \
|
||||
|
||||
Reference in New Issue
Block a user