glx: Convert non-generated function pointer thunking

Same concept as the generated code conversion.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
Adam Jackson 2013-12-03 13:11:09 -05:00 committed by Keith Packard
parent c4567a3760
commit 6b93e1f5ff
3 changed files with 44 additions and 14 deletions

View File

@ -104,29 +104,43 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
int
__glXDisp_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
return DoGetProgramString(cl, pc, glGetProgramivARB,
glGetProgramStringARB, False);
PFNGLGETPROGRAMIVARBPROC get_program =
__glGetProcAddress("glGetProgramivARB");
PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
__glGetProcAddress("glGetProgramStringARB");
return DoGetProgramString(cl, pc, get_program, get_program_string, False);
}
int
__glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
return DoGetProgramString(cl, pc, glGetProgramivARB,
glGetProgramStringARB, True);
PFNGLGETPROGRAMIVARBPROC get_program =
__glGetProcAddress("glGetProgramivARB");
PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
__glGetProcAddress("glGetProgramStringARB");
return DoGetProgramString(cl, pc, get_program, get_program_string, True);
}
int
__glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
(PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
False);
PFNGLGETPROGRAMIVARBPROC get_program =
__glGetProcAddress("glGetProgramivARB");
PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
__glGetProcAddress("glGetProgramStringARB");
return DoGetProgramString(cl, pc, get_program, get_program_string, False);
}
int
__glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
(PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
True);
PFNGLGETPROGRAMIVARBPROC get_program =
__glGetProcAddress("glGetProgramivARB");
PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
__glGetProcAddress("glGetProgramStringARB");
return DoGetProgramString(cl, pc, get_program, get_program_string, True);
}

View File

@ -231,13 +231,21 @@ __glXDisp_DrawArrays(GLbyte * pc)
glEdgeFlagPointer(stride, (const GLboolean *) pc);
break;
case GL_SECONDARY_COLOR_ARRAY:
{
PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT =
__glGetProcAddress("glSecondaryColorPointerEXT");
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
glSecondaryColorPointerEXT(numVals, datatype, stride, pc);
SecondaryColorPointerEXT(numVals, datatype, stride, pc);
break;
}
case GL_FOG_COORD_ARRAY:
{
PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT =
__glGetProcAddress("glFogCoordPointerEXT");
glEnableClientState(GL_FOG_COORD_ARRAY);
glFogCoordPointerEXT(datatype, stride, pc);
FogCoordPointerEXT(datatype, stride, pc);
break;
}
default:
break;
}

View File

@ -353,13 +353,21 @@ __glXDispSwap_DrawArrays(GLbyte * pc)
glEdgeFlagPointer(stride, (const GLboolean *) pc);
break;
case GL_SECONDARY_COLOR_ARRAY:
{
PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT =
__glGetProcAddress("glSecondaryColorPointerEXT");
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
glSecondaryColorPointerEXT(numVals, datatype, stride, pc);
SecondaryColorPointerEXT(numVals, datatype, stride, pc);
break;
}
case GL_FOG_COORD_ARRAY:
{
PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT =
__glGetProcAddress("glFogCoordPointerEXT");
glEnableClientState(GL_FOG_COORD_ARRAY);
glFogCoordPointerEXT(datatype, stride, pc);
FogCoordPointerEXT(datatype, stride, pc);
break;
}
default:
break;
}