mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-22 06:26:30 +00:00
Add support for glBlendBarrier GLES core function
This commit is contained in:
committed by
Baldur Karlsson
parent
5123da2acd
commit
74b343afe3
@@ -617,6 +617,7 @@ public:
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glBlendEquationSeparatei(GLuint buf, GLenum modeRGB,
|
||||
GLenum modeAlpha));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glBlendBarrierKHR());
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glBlendBarrier());
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glLogicOp(GLenum opcode));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glStencilFunc(GLenum func, GLint ref, GLuint mask));
|
||||
IMPLEMENT_FUNCTION_SERIALISED(void, glStencilMask(GLuint mask));
|
||||
|
||||
@@ -604,7 +604,8 @@ struct GLHookSet
|
||||
PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer; // aliases glBlitFramebufferEXT
|
||||
|
||||
// GLES core
|
||||
PFNGLPRIMITIVEBOUNDINGBOXEXTPROC glPrimitiveBoundingBox; // aliases glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBoxOES
|
||||
PFNGLPRIMITIVEBOUNDINGBOXPROC glPrimitiveBoundingBox; // aliases glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBoxOES
|
||||
PFNGLBLENDBARRIERPROC glBlendBarrier;
|
||||
|
||||
// GLES: EXT_multisampled_render_to_texture
|
||||
PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC glFramebufferTexture2DMultisampleEXT;
|
||||
|
||||
@@ -1156,9 +1156,10 @@
|
||||
HookExtension(PFNGLRASTERSAMPLESEXTPROC, glRasterSamplesEXT); \
|
||||
HookExtension(PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREMEDY); \
|
||||
HookExtension(PFNGLSTRINGMARKERGREMEDYPROC, glStringMarkerGREMEDY); \
|
||||
HookExtension(PFNGLPRIMITIVEBOUNDINGBOXOESPROC, glPrimitiveBoundingBox); \
|
||||
HookExtensionAlias(PFNGLPRIMITIVEBOUNDINGBOXOESPROC, glPrimitiveBoundingBox, glPrimitiveBoundingBoxEXT); \
|
||||
HookExtensionAlias(PFNGLPRIMITIVEBOUNDINGBOXOESPROC, glPrimitiveBoundingBox, glPrimitiveBoundingBoxOES); \
|
||||
HookExtension(PFNGLBLENDBARRIERPROC, glBlendBarrier); \
|
||||
HookExtension(PFNGLPRIMITIVEBOUNDINGBOXPROC, glPrimitiveBoundingBox); \
|
||||
HookExtensionAlias(PFNGLPRIMITIVEBOUNDINGBOXPROC, glPrimitiveBoundingBox, glPrimitiveBoundingBoxEXT); \
|
||||
HookExtensionAlias(PFNGLPRIMITIVEBOUNDINGBOXPROC, glPrimitiveBoundingBox, glPrimitiveBoundingBoxOES); \
|
||||
HookExtension(PFNGLDISCARDFRAMEBUFFEREXTPROC, glDiscardFramebufferEXT); \
|
||||
HookExtension(PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC, glFramebufferTexture2DMultisampleEXT); \
|
||||
HookExtension(PFNWGLDXSETRESOURCESHAREHANDLENVPROC, wglDXSetResourceShareHandleNV); \
|
||||
@@ -2013,6 +2014,7 @@
|
||||
HookWrapper2(void, glRasterSamplesEXT, GLuint, samples, GLboolean, fixedsamplelocations); \
|
||||
HookWrapper0(void, glFrameTerminatorGREMEDY); \
|
||||
HookWrapper2(void, glStringMarkerGREMEDY, GLsizei, len, const void *, string); \
|
||||
HookWrapper0(void, glBlendBarrier); \
|
||||
HookWrapper8(void, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \
|
||||
HookWrapper3(void, glDiscardFramebufferEXT, GLenum, target, GLsizei, numAttachments, const GLenum *, attachments); \
|
||||
HookWrapper6(void, glFramebufferTexture2DMultisampleEXT, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLsizei, samples); \
|
||||
|
||||
@@ -276,7 +276,12 @@ void WrappedOpenGL::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum
|
||||
bool WrappedOpenGL::Serialise_glBlendBarrierKHR()
|
||||
{
|
||||
if(m_State <= EXECUTING)
|
||||
m_Real.glBlendBarrierKHR();
|
||||
{
|
||||
if(IsGLES && m_Real.glBlendBarrier)
|
||||
m_Real.glBlendBarrier();
|
||||
else
|
||||
m_Real.glBlendBarrierKHR();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -296,6 +301,21 @@ void WrappedOpenGL::glBlendBarrierKHR()
|
||||
}
|
||||
}
|
||||
|
||||
void WrappedOpenGL::glBlendBarrier()
|
||||
{
|
||||
CoherentMapImplicitBarrier();
|
||||
|
||||
m_Real.glBlendBarrier();
|
||||
|
||||
if(m_State == WRITING_CAPFRAME)
|
||||
{
|
||||
SCOPED_SERIALISE_CONTEXT(BLEND_BARRIER);
|
||||
Serialise_glBlendBarrierKHR();
|
||||
|
||||
m_ContextRecord->AddChunk(scope.Get());
|
||||
}
|
||||
}
|
||||
|
||||
bool WrappedOpenGL::Serialise_glLogicOp(GLenum opcode)
|
||||
{
|
||||
SERIALISE_ELEMENT(GLenum, Op, opcode);
|
||||
|
||||
Reference in New Issue
Block a user