mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
Add glSamplerParameter variants
This commit is contained in:
@@ -164,6 +164,11 @@ enum GLChunkType
|
||||
|
||||
GEN_SAMPLERS,
|
||||
SAMPLER_PARAMETERI,
|
||||
SAMPLER_PARAMETERF,
|
||||
SAMPLER_PARAMETERIV,
|
||||
SAMPLER_PARAMETERFV,
|
||||
SAMPLER_PARAMETERIIV,
|
||||
SAMPLER_PARAMETERIUIV,
|
||||
BIND_SAMPLER,
|
||||
|
||||
GEN_BUFFER,
|
||||
|
||||
@@ -390,7 +390,7 @@ bool WrappedOpenGL::Serialise_glSamplerParameteri(GLuint sampler, GLenum pname,
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameteri(res.name, pname, param);
|
||||
glSamplerParameteri(res.name, PName, Param);
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -412,6 +412,171 @@ void WrappedOpenGL::glSamplerParameteri(GLuint sampler, GLenum pname, GLint para
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(SamplerRes(sampler)));
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
SERIALISE_ELEMENT(float, Param, param);
|
||||
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameterf(res.name, PName, Param);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
|
||||
{
|
||||
m_Real.glSamplerParameterf(sampler, pname, param);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(SAMPLER_PARAMETERF);
|
||||
Serialise_glSamplerParameterf(sampler, pname, param);
|
||||
|
||||
if(m_State == WRITING_IDLE)
|
||||
GetResourceManager()->GetResourceRecord(SamplerRes(sampler))->AddChunk(scope.Get());
|
||||
else
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(SamplerRes(sampler)));
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
const size_t nParams = (PName == eGL_TEXTURE_BORDER_COLOR ? 4U : 1U);
|
||||
SERIALISE_ELEMENT_ARR(int32_t, Params, params, nParams);
|
||||
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameteriv(res.name, PName, Params);
|
||||
}
|
||||
|
||||
delete[] Params;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params)
|
||||
{
|
||||
m_Real.glSamplerParameteriv(sampler, pname, params);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(SAMPLER_PARAMETERIV);
|
||||
Serialise_glSamplerParameteriv(sampler, pname, params);
|
||||
|
||||
if(m_State == WRITING_IDLE)
|
||||
GetResourceManager()->GetResourceRecord(SamplerRes(sampler))->AddChunk(scope.Get());
|
||||
else
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(SamplerRes(sampler)));
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
const size_t nParams = (PName == eGL_TEXTURE_BORDER_COLOR ? 4U : 1U);
|
||||
SERIALISE_ELEMENT_ARR(float, Params, params, nParams);
|
||||
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameterfv(res.name, PName, Params);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params)
|
||||
{
|
||||
m_Real.glSamplerParameterfv(sampler, pname, params);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(SAMPLER_PARAMETERFV);
|
||||
Serialise_glSamplerParameterfv(sampler, pname, params);
|
||||
|
||||
if(m_State == WRITING_IDLE)
|
||||
GetResourceManager()->GetResourceRecord(SamplerRes(sampler))->AddChunk(scope.Get());
|
||||
else
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(SamplerRes(sampler)));
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
const size_t nParams = (PName == eGL_TEXTURE_BORDER_COLOR ? 4U : 1U);
|
||||
SERIALISE_ELEMENT_ARR(int32_t, Params, params, nParams);
|
||||
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameterIiv(res.name, PName, Params);
|
||||
}
|
||||
|
||||
delete[] Params;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params)
|
||||
{
|
||||
m_Real.glSamplerParameterIiv(sampler, pname, params);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(SAMPLER_PARAMETERIIV);
|
||||
Serialise_glSamplerParameterIiv(sampler, pname, params);
|
||||
|
||||
if(m_State == WRITING_IDLE)
|
||||
GetResourceManager()->GetResourceRecord(SamplerRes(sampler))->AddChunk(scope.Get());
|
||||
else
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params)
|
||||
{
|
||||
SERIALISE_ELEMENT(ResourceId, id, GetResourceManager()->GetID(SamplerRes(sampler)));
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
const size_t nParams = (PName == eGL_TEXTURE_BORDER_COLOR ? 4U : 1U);
|
||||
SERIALISE_ELEMENT_ARR(uint32_t, Params, params, nParams);
|
||||
|
||||
if(m_State < WRITING)
|
||||
{
|
||||
GLResource res = GetResourceManager()->GetLiveResource(id);
|
||||
glSamplerParameterIuiv(res.name, PName, Params);
|
||||
}
|
||||
|
||||
delete[] Params;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params)
|
||||
{
|
||||
m_Real.glSamplerParameterIuiv(sampler, pname, params);
|
||||
|
||||
if(m_State >= WRITING)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(SAMPLER_PARAMETERIUIV);
|
||||
Serialise_glSamplerParameterIuiv(sampler, pname, params);
|
||||
|
||||
if(m_State == WRITING_IDLE)
|
||||
GetResourceManager()->GetResourceRecord(SamplerRes(sampler))->AddChunk(scope.Get());
|
||||
else
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glPixelStorei(GLenum pname, GLint param)
|
||||
{
|
||||
SERIALISE_ELEMENT(GLenum, PName, pname);
|
||||
|
||||
@@ -121,6 +121,11 @@ const char *GLChunkNames[] =
|
||||
|
||||
"glGenSamplers",
|
||||
"glSamplerParameteri",
|
||||
"glSamplerParameterf",
|
||||
"glSamplerParameteriv",
|
||||
"glSamplerParameterfv",
|
||||
"glSamplerParameterIiv",
|
||||
"glSamplerParameterIuiv",
|
||||
"glBindSampler",
|
||||
|
||||
"glGenBuffers",
|
||||
@@ -1007,6 +1012,21 @@ void WrappedOpenGL::ProcessChunk(uint64_t offset, GLChunkType context)
|
||||
case SAMPLER_PARAMETERI:
|
||||
Serialise_glSamplerParameteri(0, eGL_UNKNOWN_ENUM, 0);
|
||||
break;
|
||||
case SAMPLER_PARAMETERF:
|
||||
Serialise_glSamplerParameterf(0, eGL_UNKNOWN_ENUM, 0);
|
||||
break;
|
||||
case SAMPLER_PARAMETERIV:
|
||||
Serialise_glSamplerParameteriv(0, eGL_UNKNOWN_ENUM, NULL);
|
||||
break;
|
||||
case SAMPLER_PARAMETERFV:
|
||||
Serialise_glSamplerParameterfv(0, eGL_UNKNOWN_ENUM, NULL);
|
||||
break;
|
||||
case SAMPLER_PARAMETERIIV:
|
||||
Serialise_glSamplerParameterIiv(0, eGL_UNKNOWN_ENUM, NULL);
|
||||
break;
|
||||
case SAMPLER_PARAMETERIUIV:
|
||||
Serialise_glSamplerParameterIuiv(0, eGL_UNKNOWN_ENUM, NULL);
|
||||
break;
|
||||
|
||||
case CLEAR_COLOR:
|
||||
Serialise_glClearColor(0, 0, 0, 0);
|
||||
|
||||
@@ -314,6 +314,11 @@ class WrappedOpenGL
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glGenSamplers(GLsizei count, GLuint *samplers));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glBindSampler(GLuint unit, GLuint sampler));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameteri(GLuint sampler, GLenum pname, GLint param));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glViewport(GLint x, GLint y, GLsizei width, GLsizei height));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glViewportIndexedfv(GLuint index, const GLfloat *v));
|
||||
|
||||
@@ -159,6 +159,11 @@ struct GLHookSet
|
||||
PFNGLGENSAMPLERSPROC glGenSamplers;
|
||||
PFNGLBINDSAMPLERPROC glBindSampler;
|
||||
PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
||||
PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
||||
PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
|
||||
PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
||||
PFNGLSAMPLERPARAMETERIIVPROC glSamplerParameterIiv;
|
||||
PFNGLSAMPLERPARAMETERIUIVPROC glSamplerParameterIuiv;
|
||||
PFNGLCLEARBUFFERFVPROC glClearBufferfv;
|
||||
PFNGLCLEARBUFFERIVPROC glClearBufferiv;
|
||||
PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
|
||||
|
||||
@@ -171,6 +171,11 @@
|
||||
HookExtension(PFNGLGENSAMPLERSPROC, glGenSamplers); \
|
||||
HookExtension(PFNGLBINDSAMPLERPROC, glBindSampler); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERIPROC, glSamplerParameteri); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERFPROC, glSamplerParameterf); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERIVPROC, glSamplerParameteriv); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERFVPROC, glSamplerParameterfv); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERIIVPROC, glSamplerParameterIiv); \
|
||||
HookExtension(PFNGLSAMPLERPARAMETERIUIVPROC, glSamplerParameterIuiv); \
|
||||
HookExtension(PFNGLCLEARBUFFERFVPROC, glClearBufferfv); \
|
||||
HookExtension(PFNGLCLEARBUFFERIVPROC, glClearBufferiv); \
|
||||
HookExtension(PFNGLCLEARBUFFERUIVPROC, glClearBufferuiv); \
|
||||
@@ -396,6 +401,11 @@
|
||||
HookWrapper2(void, glGenSamplers, GLsizei, count, GLuint *, samplers); \
|
||||
HookWrapper2(void, glBindSampler, GLuint, unit, GLuint, sampler); \
|
||||
HookWrapper3(void, glSamplerParameteri, GLuint, sampler, GLenum, pname, GLint, param); \
|
||||
HookWrapper3(void, glSamplerParameterf, GLuint, sampler, GLenum, pname, GLfloat, param); \
|
||||
HookWrapper3(void, glSamplerParameteriv, GLuint, sampler, GLenum, pname, const GLint *, param); \
|
||||
HookWrapper3(void, glSamplerParameterfv, GLuint, sampler, GLenum, pname, const GLfloat *, param); \
|
||||
HookWrapper3(void, glSamplerParameterIiv, GLuint, sampler, GLenum, pname, const GLint *, param); \
|
||||
HookWrapper3(void, glSamplerParameterIuiv, GLuint, sampler, GLenum, pname, const GLuint *, param); \
|
||||
HookWrapper3(void, glClearBufferfv, GLenum, buffer, GLint, drawbuffer, const GLfloat *, value); \
|
||||
HookWrapper3(void, glClearBufferiv, GLenum, buffer, GLint, drawbuffer, const GLint *, value); \
|
||||
HookWrapper3(void, glClearBufferuiv, GLenum, buffer, GLint, drawbuffer, const GLuint *, value); \
|
||||
|
||||
Reference in New Issue
Block a user