summaryrefslogtreecommitdiffstats
path: root/src/glx
diff options
context:
space:
mode:
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/x11/glxextensions.c2
-rw-r--r--src/glx/x11/indirect.c13
-rw-r--r--src/glx/x11/indirect.h1
-rw-r--r--src/glx/x11/indirect_init.c4
4 files changed, 19 insertions, 1 deletions
diff --git a/src/glx/x11/glxextensions.c b/src/glx/x11/glxextensions.c
index aefd57c2b9d..be0acf0c524 100644
--- a/src/glx/x11/glxextensions.c
+++ b/src/glx/x11/glxextensions.c
@@ -141,7 +141,7 @@ static const struct extension_info known_gl_extensions[] = {
{ GL(EXT_abgr), VER(0,0), Y, N, N, N },
{ GL(EXT_bgra), VER(1,2), Y, N, N, N },
{ GL(EXT_blend_color), VER(1,4), Y, N, N, N },
- { GL(EXT_blend_equation_separate), VER(0,0), N, N, N, N },
+ { GL(EXT_blend_equation_separate), VER(0,0), Y, N, N, N },
{ GL(EXT_blend_func_separate), VER(1,4), Y, N, N, N },
{ GL(EXT_blend_logic_op), VER(1,4), Y, N, N, N },
{ GL(EXT_blend_minmax), VER(1,4), Y, N, N, N },
diff --git a/src/glx/x11/indirect.c b/src/glx/x11/indirect.c
index 01d086cb90c..e9d64221029 100644
--- a/src/glx/x11/indirect.c
+++ b/src/glx/x11/indirect.c
@@ -8257,6 +8257,19 @@ __indirect_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *
}
}
+#define X_GLrop_BlendEquationSeparateEXT 4228
+void
+__indirect_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeA)
+{
+ __GLXcontext * const gc = __glXGetCurrentContext();
+ const GLuint cmdlen = 12;
+ emit_header(gc->pc, X_GLrop_BlendEquationSeparateEXT, cmdlen);
+ (void) memcpy((void *)(gc->pc + 4), (void *)(&modeRGB), 4);
+ (void) memcpy((void *)(gc->pc + 8), (void *)(&modeA), 4);
+ gc->pc += cmdlen;
+ if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
+}
+
#define X_GLrop_BindFramebufferEXT 4319
void
__indirect_glBindFramebufferEXT(GLenum target, GLuint framebuffer)
diff --git a/src/glx/x11/indirect.h b/src/glx/x11/indirect.h
index decfda298a4..2e953ca011c 100644
--- a/src/glx/x11/indirect.h
+++ b/src/glx/x11/indirect.h
@@ -685,6 +685,7 @@ extern HIDDEN void __indirect_glProgramNamedParameter4dNV(GLuint id, GLsizei len
extern HIDDEN void __indirect_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v);
extern HIDDEN void __indirect_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern HIDDEN void __indirect_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v);
+extern HIDDEN void __indirect_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeA);
extern HIDDEN void __indirect_glBindFramebufferEXT(GLenum target, GLuint framebuffer);
extern HIDDEN void __indirect_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);
extern HIDDEN GLenum __indirect_glCheckFramebufferStatusEXT(GLenum target);
diff --git a/src/glx/x11/indirect_init.c b/src/glx/x11/indirect_init.c
index 5c1de7c56bc..43c090adc50 100644
--- a/src/glx/x11/indirect_init.c
+++ b/src/glx/x11/indirect_init.c
@@ -760,6 +760,10 @@ __GLapi * __glXNewIndirectAPI( void )
glAPI->ProgramNamedParameter4fNV = __indirect_glProgramNamedParameter4fNV;
glAPI->ProgramNamedParameter4fvNV = __indirect_glProgramNamedParameter4fvNV;
+ /* 299. GL_EXT_blend_equation_separate */
+
+ glAPI->BlendEquationSeparateEXT = __indirect_glBlendEquationSeparateEXT;
+
/* 310. GL_EXT_framebuffer_object */
glAPI->RenderbufferStorageEXT = __indirect_glRenderbufferStorageEXT;