diff options
Diffstat (limited to 'src/glx')
-rw-r--r-- | src/glx/x11/glxextensions.c | 2 | ||||
-rw-r--r-- | src/glx/x11/indirect.c | 13 | ||||
-rw-r--r-- | src/glx/x11/indirect.h | 1 | ||||
-rw-r--r-- | src/glx/x11/indirect_init.c | 4 |
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; |