diff options
Diffstat (limited to 'xorg-server/glx/indirect_dispatch_swap.c')
-rw-r--r-- | xorg-server/glx/indirect_dispatch_swap.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/xorg-server/glx/indirect_dispatch_swap.c b/xorg-server/glx/indirect_dispatch_swap.c index 3221c809d..ffce8919b 100644 --- a/xorg-server/glx/indirect_dispatch_swap.c +++ b/xorg-server/glx/indirect_dispatch_swap.c @@ -24,6 +24,13 @@ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ +#ifdef HAVE_DIX_CONFIG_H +#include <dix-config.h> +#else + +#include "glheader.h" + +#endif #include <X11/Xmd.h> #include <GL/gl.h> @@ -76,6 +83,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 +4894,17 @@ void __glXDispSwap_DrawBuffersARB(GLbyte * pc) ) ); } +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(), ( @@ -6046,3 +6072,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 ) + ) ); +} + |