aboutsummaryrefslogtreecommitdiffstats
path: root/src/native
diff options
context:
space:
mode:
authorKevin Rushforth <[email protected]>2004-07-02 20:23:33 +0000
committerKevin Rushforth <[email protected]>2004-07-02 20:23:33 +0000
commitf76cc9e181e325dabd803af7bd26c1ef3a06abc6 (patch)
treec8dbd9301723108633ff470d9bb94576482b0979 /src/native
parentc239135499f5f84ca501f3169ee86744889d78bc (diff)
Issue number: 3
Submitted by: kcr Fixed Issue 3: lg3d: gets unsatisified link error on various ATI cards git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@23 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'src/native')
-rw-r--r--src/native/ogl/Canvas3D.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/native/ogl/Canvas3D.c b/src/native/ogl/Canvas3D.c
index 86d037d..d16fa37 100644
--- a/src/native/ogl/Canvas3D.c
+++ b/src/native/ogl/Canvas3D.c
@@ -892,14 +892,26 @@ BOOL getPropertiesFromCurrentContext(
if(ctxInfo->multi_draw_arrays_ext) {
ctxInfo->glMultiDrawArraysEXT = glMultiDrawArraysEXT;
ctxInfo->glMultiDrawElementsEXT = glMultiDrawElementsEXT;
+ if ((ctxInfo->glMultiDrawArraysEXT == NULL) ||
+ (ctxInfo->glMultiDrawElementsEXT == NULL)) {
+ ctxInfo->multi_draw_arrays_ext = JNI_FALSE;
+ }
}
else if (ctxInfo->multi_draw_arrays_sun) {
ctxInfo->glMultiDrawArraysEXT = glMultiDrawArraysSUN;
ctxInfo->glMultiDrawElementsEXT = glMultiDrawElementsSUN;
+ if ((ctxInfo->glMultiDrawArraysEXT == NULL) ||
+ (ctxInfo->glMultiDrawElementsEXT == NULL)) {
+ ctxInfo->multi_draw_arrays_ext = JNI_FALSE;
+ }
}
if(ctxInfo->compiled_vertex_array_ext) {
ctxInfo->glLockArraysEXT = glLockArraysEXT;
ctxInfo->glUnlockArraysEXT = glUnlockArraysEXT;
+ if ((ctxInfo->glLockArraysEXT == NULL) ||
+ (ctxInfo->glUnlockArraysEXT == NULL)) {
+ ctxInfo->compiled_vertex_array_ext = JNI_FALSE;
+ }
}
if(ctxInfo->arb_multitexture){
@@ -908,14 +920,28 @@ BOOL getPropertiesFromCurrentContext(
ctxInfo->glMultiTexCoord3fvARB = glMultiTexCoord3fvARB;
ctxInfo->glMultiTexCoord4fvARB = glMultiTexCoord4fvARB;
ctxInfo->glActiveTextureARB = glActiveTextureARB;
+ if ((ctxInfo->glClientActiveTextureARB == NULL) ||
+ (ctxInfo->glMultiTexCoord2fvARB == NULL) ||
+ (ctxInfo->glMultiTexCoord3fvARB == NULL) ||
+ (ctxInfo->glMultiTexCoord4fvARB == NULL) ||
+ (ctxInfo->glActiveTextureARB == NULL)) {
+ ctxInfo->arb_multitexture = JNI_FALSE;
+ }
}
if(ctxInfo->arb_transpose_matrix) {
ctxInfo->glLoadTransposeMatrixdARB = glLoadTransposeMatrixdARB;
ctxInfo->glMultTransposeMatrixdARB = glMultTransposeMatrixdARB;
+ if ((ctxInfo->glLoadTransposeMatrixdARB == NULL) ||
+ (ctxInfo->glMultTransposeMatrixdARB == NULL)) {
+ ctxInfo->arb_transpose_matrix = JNI_FALSE;
+ }
}
- if(ctxInfo->global_alpha_sun)
+ if(ctxInfo->global_alpha_sun) {
ctxInfo->glGlobalAlphaFactorfSUN = glGlobalAlphaFactorfSUN;
-
+ if (ctxInfo->glGlobalAlphaFactorfSUN == NULL) {
+ ctxInfo->global_alpha_sun = JNI_FALSE;
+ }
+ }
glXGetConfig((Display *) display, (XVisualInfo *) vinfo, GLX_STENCIL_SIZE, &stencilSize);