Hi,
Is it possible to build gst without opengl ? I've tried to build with ./configure --without-opengl option but it has no effect... Cheers, Gwenael _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Gwenael Casaccio wrote:
> Hi, > > Is it possible to build gst without opengl ? I've tried to build with > ./configure --without-opengl option but it has no effect... What's the problem? (and the platform?) Paolo _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Gwenael Casaccio wrote:
> On Wednesday 18 February 2009 15:56:10 you wrote: >> Gwenael Casaccio wrote: >>> Hi, >>> >>> Is it possible to build gst without opengl ? I've tried to build with >>> ./configure --without-opengl option but it has no effect... >> What's the problem? (and the platform?) >> >> Paolo > > gstGl.c: In function 'gst_opengl_glMultTransposeMatrixv': > gstGl.c:220: warning: implicit declaration of function > 'glMultTransposeMatrixf' > gstGl.c: In function 'gst_opengl_glLoadTransposeMatrixv': > gstGl.c:326: warning: implicit declaration of function > 'glLoadTransposeMatrixf' > gstGl.c: In function 'gst_initModule_gl': > gstGl.c:1070: error: 'glActiveTexture' undeclared (first use in this function) > gstGl.c:1070: error: (Each undeclared identifier is reported only once > gstGl.c:1070: error: for each function it appears in.) > gstGl.c:1076: error: 'glBlendEquation' undeclared (first use in this function) > gstGl.c:1087: error: 'glClientActiveTexture' undeclared (first use in this > function) > > I've the gl headers (that's the nvidia headers on kubuntu)... exactly the same errors that I had on Windows a few weeeks ago. Paolo diff --git a/packages/opengl/ChangeLog b/packages/opengl/ChangeLog index 6bfc5da..dc33a4b 100644 --- a/packages/opengl/ChangeLog +++ b/packages/opengl/ChangeLog @@ -1,3 +1,20 @@ +2009-01-25 Paolo Bonzini <[hidden email]> + + * OpenGL.st: Temporarily disable extensions not in Win32. + * gstGl.c: Temporarily disable extensions not in Win32. + * gstGlu.c: Temporarily disable functions not in Win32. + * gstGluNurbs.c: Disable if not available. + +2009-01-25 Paolo Bonzini <[hidden email]> + + * gstGl.c: Fixes for missing GL_ARB_transpose_matrix, + GL_EXT_blend_minmax, GL_EXT_blend_color. + * gstGlu.c: Reimplement gluCheckExtension. + +2009-01-25 Paolo Bonzini <[hidden email]> + + * gstGluTess.c: Fix typo. + 2008-08-27 Olivier Blanc <[hidden email]> * test/trim.st: New. diff --git a/packages/opengl/OpenGL.st b/packages/opengl/OpenGL.st index 46bf616..028478a 100644 --- a/packages/opengl/OpenGL.st +++ b/packages/opengl/OpenGL.st @@ -416,30 +416,6 @@ See OpenGL programming guide for more informations.'> ] - loadTransposeMatrixf: aMatrix [ - <category: 'Matrix manipulation'> - <cCall: 'glLoadTransposeMatrixf' retuning: #void args: #(#cObject)> - - ] - - multTransposeMatrixf: aMatrix [ - <category: 'Matrix manipulation'> - <cCall: 'glMultTransposeMatrixf' retuning: #void args: #(#cObject)> - - ] - - loadTransposeMatrixd: aMatrix [ - <category: 'Matrix manipulation'> - <cCall: 'glLoadTransposeMatrixd' retuning: #void args: #(#cObject)> - - ] - - multTransposeMatrixd: aMatrix [ - <category: 'Matrix manipulation'> - <cCall: 'glMultTransposeMatrixd' retuning: #void args: #(#cObject)> - - ] - loadMatrix: aMatrix [ <category: 'Matrix manipulation'> <cCall: 'glLoadMatrixv' retuning: #void args: #(#smalltalk)> diff --git a/packages/opengl/gstGl.c b/packages/opengl/gstGl.c index 0bcb863..deecfdb 100644 --- a/packages/opengl/gstGl.c +++ b/packages/opengl/gstGl.c @@ -217,7 +217,19 @@ gst_opengl_glMultTransposeMatrixv (OOP matrixOOP) if (!p) return GL_INVALID_VALUE; +#ifdef GL_ARB_transpose_matrix glMultTransposeMatrixf (p); +#else + { + GLfloat mt[16]; + mt[0] = p[0]; mt[1] = p[4]; mt[2] = p[8]; mt[3] = p[12]; + mt[4] = p[1]; mt[5] = p[5]; mt[6] = p[9]; mt[7] = p[13]; + mt[8] = p[2]; mt[9] = p[6]; mt[10] = p[10]; mt[11] = p[14]; + mt[12] = p[3]; mt[13] = p[7]; mt[14] = p[11]; mt[15] = p[15]; + glMultMatrixf (mt); + } +#endif + return 0; } @@ -323,7 +335,18 @@ gst_opengl_glLoadTransposeMatrixv (OOP matrixOOP) if (!p) return GL_INVALID_VALUE; +#ifdef GL_ARB_transpose_matrix glLoadTransposeMatrixf (p); +#else + { + GLfloat mt[16]; + mt[0] = p[0]; mt[1] = p[4]; mt[2] = p[8]; mt[3] = p[12]; + mt[4] = p[1]; mt[5] = p[5]; mt[6] = p[9]; mt[7] = p[13]; + mt[8] = p[2]; mt[9] = p[6]; mt[10] = p[10]; mt[11] = p[14]; + mt[12] = p[3]; mt[13] = p[7]; mt[14] = p[11]; mt[15] = p[15]; + glLoadMatrixf (mt); + } +#endif return 0; } @@ -700,7 +723,9 @@ gst_opengl_glGetv_size (GLenum pname) case GL_AUX_BUFFERS: case GL_BLEND: case GL_BLEND_DST: +#if GL_EXT_blend_minmax case GL_BLEND_EQUATION_EXT: +#endif case GL_BLEND_SRC: case GL_BLUE_BIAS: case GL_BLUE_BITS: @@ -869,7 +894,9 @@ gst_opengl_glGetv_size (GLenum pname) return 3; case GL_ACCUM_CLEAR_VALUE: +#if GL_EXT_blend_color case GL_BLEND_COLOR_EXT: +#endif case GL_COLOR_CLEAR_VALUE: case GL_COLOR_WRITEMASK: case GL_CURRENT_COLOR: @@ -1067,13 +1094,17 @@ gst_opengl_glCallLists( GLsizei first, GLsizei last, OOP listsOOP ) void gst_initModule_gl() { vm_proxy->defineCFunc ("glAccum", glAccum); +#if 0 vm_proxy->defineCFunc ("glActiveTexture", glActiveTexture); +#endif vm_proxy->defineCFunc ("glAlphaFunc", glAlphaFunc); vm_proxy->defineCFunc ("glArrayElement", glArrayElement); vm_proxy->defineCFunc ("glBegin", glBegin); vm_proxy->defineCFunc ("glBindTexture", glBindTexture); vm_proxy->defineCFunc ("glBitmap", gst_opengl_glBitmap); +#if 0 vm_proxy->defineCFunc ("glBlendEquation", glBlendEquation); +#endif vm_proxy->defineCFunc ("glBlendFunc", glBlendFunc); vm_proxy->defineCFunc ("glCallList", glCallList); vm_proxy->defineCFunc ("glCallLists", gst_opengl_glCallLists); @@ -1084,7 +1115,9 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glClearDepth", glClearDepth); vm_proxy->defineCFunc ("glClearIndex", glClearIndex); vm_proxy->defineCFunc ("glClearStencil", glClearStencil); +#if 0 vm_proxy->defineCFunc ("glClientActiveTexture", glClientActiveTexture); +#endif vm_proxy->defineCFunc ("glClipPlane", glClipPlane); vm_proxy->defineCFunc ("glColor3b", glColor3b); vm_proxy->defineCFunc ("glColor3bv", glColor3bv); @@ -1113,12 +1146,14 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glColorv", gst_opengl_glColorv); vm_proxy->defineCFunc ("glColorMask", glColorMask); vm_proxy->defineCFunc ("glColorMaterial", glColorMaterial); +#if 0 vm_proxy->defineCFunc ("glCompressedTexImage1D", glCompressedTexImage1D); vm_proxy->defineCFunc ("glCompressedTexImage2D", glCompressedTexImage2D); vm_proxy->defineCFunc ("glCompressedTexImage3D", glCompressedTexImage3D); vm_proxy->defineCFunc ("glCompressedTexSubImage1D", glCompressedTexSubImage1D); vm_proxy->defineCFunc ("glCompressedTexSubImage2D", glCompressedTexSubImage2D); vm_proxy->defineCFunc ("glCompressedTexSubImage3D", glCompressedTexSubImage3D); +#endif vm_proxy->defineCFunc ("glCullFace", glCullFace); vm_proxy->defineCFunc ("glDeleteLists", glDeleteLists); vm_proxy->defineCFunc ("glDeleteTextures", gst_opengl_glDeleteTextures); @@ -1162,7 +1197,9 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glGenTextures", gst_opengl_glGenTextures); // vm_proxy->defineCFunc ("glGetBooleanv", glGetBooleanv); vm_proxy->defineCFunc ("glGetClipPlane", glGetClipPlane); +#if 0 vm_proxy->defineCFunc ("glGetCompressedTexImage", glGetCompressedTexImage); +#endif vm_proxy->defineCFunc ("glGetDoublev", gst_opengl_glGetDoublev); vm_proxy->defineCFunc ("glGetError", glGetError); vm_proxy->defineCFunc ("glGetFloatv", gst_opengl_glGetFloatv); @@ -1223,8 +1260,10 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glLoadMatrixf", glLoadMatrixf); vm_proxy->defineCFunc ("glLoadMatrixv", gst_opengl_glLoadMatrixv); vm_proxy->defineCFunc ("glLoadName", glLoadName); +#if 0 vm_proxy->defineCFunc ("glLoadTransposeMatrixd", glLoadTransposeMatrixd); vm_proxy->defineCFunc ("glLoadTransposeMatrixf", glLoadTransposeMatrixf); +#endif vm_proxy->defineCFunc ("glLoadTransposeMatrixv", gst_opengl_glLoadTransposeMatrixv); vm_proxy->defineCFunc ("glLogicOp", glLogicOp); vm_proxy->defineCFunc ("glMapGrid1d", glMapGrid1d); @@ -1240,9 +1279,12 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glMultMatrixd", glMultMatrixd); vm_proxy->defineCFunc ("glMultMatrixf", glMultMatrixf); vm_proxy->defineCFunc ("glMultMatrixv", gst_opengl_glMultMatrixv); +#if 0 vm_proxy->defineCFunc ("glMultTransposeMatrixd", glMultTransposeMatrixd); vm_proxy->defineCFunc ("glMultTransposeMatrixf", glMultTransposeMatrixf); +#endif vm_proxy->defineCFunc ("glMultTransposeMatrixv", gst_opengl_glMultTransposeMatrixv); +#if 0 vm_proxy->defineCFunc ("glMultiTexCoord1d", glMultiTexCoord1d); vm_proxy->defineCFunc ("glMultiTexCoord1dv", glMultiTexCoord1dv); vm_proxy->defineCFunc ("glMultiTexCoord1f", glMultiTexCoord1f); @@ -1275,6 +1317,7 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glMultiTexCoord4iv", glMultiTexCoord4iv); vm_proxy->defineCFunc ("glMultiTexCoord4s", glMultiTexCoord4s); vm_proxy->defineCFunc ("glMultiTexCoord4sv", glMultiTexCoord4sv); +#endif vm_proxy->defineCFunc ("glNewList", glNewList); vm_proxy->defineCFunc ("glNormal3b", glNormal3b); vm_proxy->defineCFunc ("glNormal3bv", glNormal3bv); @@ -1341,12 +1384,16 @@ void gst_initModule_gl() vm_proxy->defineCFunc ("glRects", glRects); vm_proxy->defineCFunc ("glRectsv", glRectsv); vm_proxy->defineCFunc ("glRenderMode", glRenderMode); +#if 0 vm_proxy->defineCFunc ("glResetHistogram", glResetHistogram); vm_proxy->defineCFunc ("glResetMinmax", glResetMinmax); +#endif vm_proxy->defineCFunc ("glRotatev", gst_opengl_glRotatev); vm_proxy->defineCFunc ("glRotated", glRotated); vm_proxy->defineCFunc ("glRotatef", glRotatef); +#if 0 vm_proxy->defineCFunc ("glSampleCoverage", glSampleCoverage); +#endif vm_proxy->defineCFunc ("glScalev", gst_opengl_glScalev); vm_proxy->defineCFunc ("glScaled", glScaled); vm_proxy->defineCFunc ("glScalef", glScalef); diff --git a/packages/opengl/gstGlu.c b/packages/opengl/gstGlu.c index 55e5082..52f55a9 100644 --- a/packages/opengl/gstGlu.c +++ b/packages/opengl/gstGlu.c @@ -221,6 +221,24 @@ void gst_opengl_gluPartialDisk (GLenum draw, GLenum normals, GLenum orient, gluDeleteQuadric (q); } +/* Not provided on MinGW, but easy enough to provide. */ +GLboolean +glu_check_extension(const char *extName, const char * extString) +{ + const int len = strlen (extName); + const char *c; + + while (extString && (c = strstr (extString, extName)) != NULL) + { + if ((c == extString || c[-1] == ' ') && (c[len] == ' ' || c[len] == 0)) + return GL_TRUE; + + extString = strchr (c + len, ' '); + } + + return GL_FALSE; +} + /* Init module */ void gst_initModule_glu() { @@ -229,13 +247,17 @@ void gst_initModule_glu() { vm_proxy->defineCFunc ("gluBeginPolygon", gluBeginPolygon) ; vm_proxy->defineCFunc ("gluBeginSurface", gluBeginSurface) ; vm_proxy->defineCFunc ("gluBeginTrim", gluBeginTrim) ; +#if 0 vm_proxy->defineCFunc ("gluBuild1DMipmapLevels", gluBuild1DMipmapLevels) ; - vm_proxy->defineCFunc ("gluBuild1DMipmaps", gluBuild1DMipmaps) ; vm_proxy->defineCFunc ("gluBuild2DMipmapLevels", gluBuild2DMipmapLevels) ; - vm_proxy->defineCFunc ("gluBuild2DMipmaps", gluBuild2DMipmaps) ; vm_proxy->defineCFunc ("gluBuild3DMipmapLevels", gluBuild3DMipmapLevels) ; +#endif + vm_proxy->defineCFunc ("gluBuild1DMipmaps", gluBuild1DMipmaps) ; + vm_proxy->defineCFunc ("gluBuild2DMipmaps", gluBuild2DMipmaps) ; +#if 0 vm_proxy->defineCFunc ("gluBuild3DMipmaps", gluBuild3DMipmaps) ; - vm_proxy->defineCFunc ("gluCheckExtension", gluCheckExtension) ; +#endif + vm_proxy->defineCFunc ("gluCheckExtension", glu_check_extension) ; vm_proxy->defineCFunc ("gluCylinder", gst_opengl_gluCylinder) ; vm_proxy->defineCFunc ("gluDeleteTess", gluDeleteTess) ; vm_proxy->defineCFunc ("gluDisk", gst_opengl_gluDisk) ; diff --git a/packages/opengl/gstGluNurbs.c b/packages/opengl/gstGluNurbs.c index cf521fe..36a38e4 100644 --- a/packages/opengl/gstGluNurbs.c +++ b/packages/opengl/gstGluNurbs.c @@ -55,6 +55,7 @@ #include <stdlib.h> #include <string.h> +#ifdef GLU_NURBS_BEGIN #define nil vm_proxy->nilOOP @@ -290,3 +291,11 @@ void gst_initModule_gluNurbs() { vm_proxy->defineCFunc ("gluNurbsConnectSignal", gst_opengl_gluNurbsConnectSignal); } + +#else + +/* Init module */ +void gst_initModule_gluNurbs() { +} + +#endif diff --git a/packages/opengl/gstGluTess.c b/packages/opengl/gstGluTess.c index 3aecc6e..ab76c0a 100644 --- a/packages/opengl/gstGluTess.c +++ b/packages/opengl/gstGluTess.c @@ -107,7 +107,7 @@ gst_glu_tessCallback_Tess_EdgeFlag_Data ( GLenum edge, void* data ) static void gst_glu_tessCallback_Tess_End_Data (void* data ) { - gst_glu_tessCallback_sendMessageTo((OOP)data, GLU_NURBS_END, NULL, 0); + gst_glu_tessCallback_sendMessageTo((OOP)data, GLU_TESS_END, NULL, 0); } static void @@ -159,7 +159,7 @@ static struct gst_glu_callback gst_glu_tessCallbackFuncs[] = { (GLUfuncptr) gst_glu_tessCallback_Tess_EdgeFlag_Data }, { GLU_TESS_COMBINE, GLU_TESS_COMBINE_DATA, (GLUfuncptr) gst_glu_tessCallback_Tess_Combine_Data }, - { GLU_NURBS_END, GLU_NURBS_END_DATA, + { GLU_TESS_END, GLU_TESS_END_DATA, (GLUfuncptr) gst_glu_tessCallback_Tess_End_Data } }; _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Sorry, I'm a newbie in patch files. Which lines are the patch? How to apply it?
|
Free forum by Nabble | Edit this page |