summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2006-02-22 16:29:07 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2006-02-22 16:29:07 +0000
commit028d6903f674fa77617f333b25356710d1682b05 (patch)
tree6a89892a6c81692879fec7413ea9ea7185f946a9
parent43324132afcbb6b231efcc24ec72ee44678d5771 (diff)
Bug #5978: Added missing swap of input variables. Added missing cases for
GL_SECONDARY_COLOR_ARRAY and GL_FOG_COORD_ARRAY (Colin McDonald)
-rw-r--r--ChangeLog6
-rw-r--r--GL/glx/render2swap.c14
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d42fdd9cf..cdd798fd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2006-02-22 Alexander Gottwald <ago@starnet.com>
+ * 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 <ago@starnet.com>
+
* hw/dmx/Makefile.am:
* hw/dmx/input/Makefile.am:
* hw/dmx/config/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)