From 028d6903f674fa77617f333b25356710d1682b05 Mon Sep 17 00:00:00 2001 From: Alexander Gottwald Date: Wed, 22 Feb 2006 16:29:07 +0000 Subject: [PATCH] Bug #5978: Added missing swap of input variables. Added missing cases for GL_SECONDARY_COLOR_ARRAY and GL_FOG_COORD_ARRAY (Colin McDonald) --- ChangeLog | 6 ++++++ GL/glx/render2swap.c | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/ChangeLog b/ChangeLog index d42fdd9cf..cdd798fd6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-22 Alexander Gottwald + + * GL/glx/render2swap.c: + Bug #5978: Added missing swap of input variables. Added missing cases + for GL_SECONDARY_COLOR_ARRAY and GL_FOG_COORD_ARRAY (Colin McDonald) + 2006-02-22 Alexander Gottwald * hw/dmx/Makefile.am: diff --git a/GL/glx/render2swap.c b/GL/glx/render2swap.c index f8b57cb4c..81de81ff9 100644 --- a/GL/glx/render2swap.c +++ b/GL/glx/render2swap.c @@ -311,6 +311,10 @@ void __glXDispSwap_DrawArrays(GLbyte *pc) GLint numVals = compHeader[i].numVals; GLenum component = compHeader[i].component; + __GLX_SWAP_INT(&datatype); + __GLX_SWAP_INT(&numVals); + __GLX_SWAP_INT(&component); + swapArray(numVals, datatype, stride, numVertexes, pc); switch (component) { @@ -338,6 +342,14 @@ void __glXDispSwap_DrawArrays(GLbyte *pc) CALL_EnableClientState( GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY) ); CALL_EdgeFlagPointer( GET_DISPATCH(), (stride, (const GLboolean *)pc) ); break; + case GL_SECONDARY_COLOR_ARRAY: + CALL_EnableClientState( GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY) ); + CALL_SecondaryColorPointerEXT( GET_DISPATCH(), (numVals, datatype, stride, pc) ); + break; + case GL_FOG_COORD_ARRAY: + CALL_EnableClientState( GET_DISPATCH(), (GL_FOG_COORD_ARRAY) ); + CALL_FogCoordPointerEXT( GET_DISPATCH(), (datatype, stride, pc) ); + break; default: break; } @@ -354,6 +366,8 @@ void __glXDispSwap_DrawArrays(GLbyte *pc) CALL_DisableClientState( GET_DISPATCH(), (GL_INDEX_ARRAY) ); CALL_DisableClientState( GET_DISPATCH(), (GL_TEXTURE_COORD_ARRAY) ); CALL_DisableClientState( GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY) ); + CALL_DisableClientState( GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY) ); + CALL_DisableClientState( GET_DISPATCH(), (GL_FOG_COORD_ARRAY) ); } void __glXDispSwap_DrawArraysEXT(GLbyte *pc)