diff options
author | Kevin Rushforth <[email protected]> | 2004-07-02 20:23:33 +0000 |
---|---|---|
committer | Kevin Rushforth <[email protected]> | 2004-07-02 20:23:33 +0000 |
commit | f76cc9e181e325dabd803af7bd26c1ef3a06abc6 (patch) | |
tree | c8dbd9301723108633ff470d9bb94576482b0979 /src/native | |
parent | c239135499f5f84ca501f3169ee86744889d78bc (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.c | 30 |
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); |