diff options
Diffstat (limited to 'xorg-server/glx/indirect_dispatch_swap.c')
-rw-r--r-- | xorg-server/glx/indirect_dispatch_swap.c | 66 |
1 files changed, 64 insertions, 2 deletions
diff --git a/xorg-server/glx/indirect_dispatch_swap.c b/xorg-server/glx/indirect_dispatch_swap.c index 3221c809d..096bd7f30 100644 --- a/xorg-server/glx/indirect_dispatch_swap.c +++ b/xorg-server/glx/indirect_dispatch_swap.c @@ -25,6 +25,14 @@ * SOFTWARE. */ +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#else + +#include "glheader.h" + +#endif + #include <X11/Xmd.h> #include <GL/gl.h> #include <GL/glxproto.h> @@ -76,6 +84,14 @@ bswap_ENUM( const void * src ) return x.ret; } +static GLsync +bswap_CARD64( const void * src ) +{ + union { uint64_t dst; GLsync ret; } x; + x.dst = bswap_64( *(uint64_t *) src ); + return x.ret; +} + static GLdouble bswap_FLOAT64( const void * src ) { @@ -4879,6 +4895,25 @@ void __glXDispSwap_DrawBuffersARB(GLbyte * pc) ) ); } +void __glXDispSwap_ClampColorARB(GLbyte * pc) +{ + CALL_ClampColorARB( GET_DISPATCH(), ( + (GLenum )bswap_ENUM ( pc + 0 ), + (GLenum )bswap_ENUM ( pc + 4 ) + ) ); +} + +void __glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc) +{ + CALL_RenderbufferStorageMultisample( GET_DISPATCH(), ( + (GLenum )bswap_ENUM ( pc + 0 ), + (GLsizei )bswap_CARD32 ( pc + 4 ), + (GLenum )bswap_ENUM ( pc + 8 ), + (GLsizei )bswap_CARD32 ( pc + 12 ), + (GLsizei )bswap_CARD32 ( pc + 16 ) + ) ); +} + void __glXDispSwap_SampleMaskSGIS(GLbyte * pc) { CALL_SampleMaskSGIS( GET_DISPATCH(), ( @@ -5324,7 +5359,7 @@ void __glXDispSwap_LoadProgramNV(GLbyte * pc) void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc) { - const GLuint num = (GLuint )bswap_CARD32 ( pc + 8 ); + const GLsizei num = (GLsizei )bswap_CARD32 ( pc + 8 ); #ifdef __GLX_ALIGN64 const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4; @@ -5344,7 +5379,7 @@ void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc) void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc) { - const GLuint num = (GLuint )bswap_CARD32 ( pc + 8 ); + const GLsizei num = (GLsizei )bswap_CARD32 ( pc + 8 ); CALL_ProgramParameters4fvNV( GET_DISPATCH(), ( (GLenum )bswap_ENUM ( pc + 0 ), @@ -6046,3 +6081,30 @@ void __glXDispSwap_RenderbufferStorageEXT(GLbyte * pc) ) ); } +void __glXDispSwap_BlitFramebufferEXT(GLbyte * pc) +{ + CALL_BlitFramebufferEXT( GET_DISPATCH(), ( + (GLint )bswap_CARD32 ( pc + 0 ), + (GLint )bswap_CARD32 ( pc + 4 ), + (GLint )bswap_CARD32 ( pc + 8 ), + (GLint )bswap_CARD32 ( pc + 12 ), + (GLint )bswap_CARD32 ( pc + 16 ), + (GLint )bswap_CARD32 ( pc + 20 ), + (GLint )bswap_CARD32 ( pc + 24 ), + (GLint )bswap_CARD32 ( pc + 28 ), + (GLbitfield)bswap_CARD32 ( pc + 32 ), + (GLenum )bswap_ENUM ( pc + 36 ) + ) ); +} + +void __glXDispSwap_FramebufferTextureLayerEXT(GLbyte * pc) +{ + CALL_FramebufferTextureLayerEXT( GET_DISPATCH(), ( + (GLenum )bswap_ENUM ( pc + 0 ), + (GLenum )bswap_ENUM ( pc + 4 ), + (GLuint )bswap_CARD32 ( pc + 8 ), + (GLint )bswap_CARD32 ( pc + 12 ), + (GLint )bswap_CARD32 ( pc + 16 ) + ) ); +} + |