diff options
Diffstat (limited to 'tests/glean/ttexswizzle.cpp')
-rw-r--r-- | tests/glean/ttexswizzle.cpp | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/tests/glean/ttexswizzle.cpp b/tests/glean/ttexswizzle.cpp index 6bd1304a9..ca56d9334 100644 --- a/tests/glean/ttexswizzle.cpp +++ b/tests/glean/ttexswizzle.cpp @@ -45,20 +45,11 @@ #include "image.h" -// In case glext.h isn't new enough: -#ifndef GL_EXT_texture_swizzle - -#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 -#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 -#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 -#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 -#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 - -#endif - - namespace GLEAN { +static PFNGLPROGRAMSTRINGARBPROC glProgramStringARB_func = NULL; +static PFNGLBINDPROGRAMARBPROC glBindProgramARB_func = NULL; +static PFNGLGENPROGRAMSARBPROC glGenProgramsARB_func = NULL; static const int TexSize = 16; @@ -335,9 +326,9 @@ TexSwizzleTest::TestSwizzlesWithProgram(void) "END\n"; GLuint prog; - glGenProgramsARB(1, &prog); - glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prog); - glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, + glGenProgramsARB_func(1, &prog); + glBindProgramARB_func(GL_FRAGMENT_PROGRAM_ARB, prog); + glProgramStringARB_func(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(text), (const GLubyte *) text); assert(glGetError() == GL_NO_ERROR); @@ -355,6 +346,13 @@ TexSwizzleTest::TestSwizzlesWithProgram(void) void TexSwizzleTest::Setup(void) { + glProgramStringARB_func = (PFNGLPROGRAMSTRINGARBPROC) GLUtils::getProcAddress("glProgramStringARB"); + assert(glProgramStringARB_func); + glBindProgramARB_func = (PFNGLBINDPROGRAMARBPROC) GLUtils::getProcAddress("glBindProgramARB"); + assert(glBindProgramARB_func); + glGenProgramsARB_func = (PFNGLGENPROGRAMSARBPROC) GLUtils::getProcAddress("glGenProgramsARB"); + assert(glGenProgramsARB_func); + // setup transformation glViewport(0, 0, windowSize, windowSize); glMatrixMode(GL_MODELVIEW); |