Make it running under Linux.
This commit is contained in:
parent
44d5c8668a
commit
23b7c7dc14
|
@ -0,0 +1,67 @@
|
||||||
|
# progs/slang/Makefile
|
||||||
|
|
||||||
|
TOP = ../..
|
||||||
|
|
||||||
|
include $(TOP)/configs/current
|
||||||
|
|
||||||
|
INCDIR = $(TOP)/include
|
||||||
|
|
||||||
|
LIB_DEP = $(LIB_DIR)/$(GL_LIB_NAME)
|
||||||
|
|
||||||
|
#
|
||||||
|
# targets
|
||||||
|
#
|
||||||
|
|
||||||
|
.PHONY: default tests clean
|
||||||
|
|
||||||
|
default: cltest sotest vstest
|
||||||
|
|
||||||
|
tests: default
|
||||||
|
! ./sotest 2> /dev/null | (grep -e ^[*][*][*])
|
||||||
|
! ./vstest 2> /dev/null | (grep -e ^[*][*][*])
|
||||||
|
! ./cltest 2> /dev/null | (grep -e ^[*][*][*])
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f cltest.o sotest.o vstest.o framework.o cltest sotest vstest
|
||||||
|
|
||||||
|
#
|
||||||
|
# executables
|
||||||
|
#
|
||||||
|
|
||||||
|
cltest: cltest.o framework.o $(LIB_DEP)
|
||||||
|
$(CC) cltest.o framework.o $(APP_LIB_DEPS) -o cltest
|
||||||
|
|
||||||
|
sotest: sotest.o framework.o $(LIB_DEP)
|
||||||
|
$(CC) sotest.o framework.o $(APP_LIB_DEPS) -o sotest
|
||||||
|
|
||||||
|
vstest: vstest.o framework.o $(LIB_DEP)
|
||||||
|
$(CC) vstest.o framework.o $(APP_LIB_DEPS) -o vstest
|
||||||
|
|
||||||
|
#
|
||||||
|
# objects
|
||||||
|
#
|
||||||
|
|
||||||
|
framework.o: framework.c
|
||||||
|
$(CC) -c -I$(INCDIR) framework.c -o framework.o
|
||||||
|
|
||||||
|
cltest.o: cltest.c
|
||||||
|
$(CC) -c -I$(INCDIR) cltest.c -o cltest.o
|
||||||
|
|
||||||
|
sotest.o: sotest.c
|
||||||
|
$(CC) -c -I$(INCDIR) sotest.c -o sotest.o
|
||||||
|
|
||||||
|
vstest.o: vstest.c
|
||||||
|
$(CC) -c -I$(INCDIR) vstest.c -o vstest.o
|
||||||
|
|
||||||
|
#
|
||||||
|
# sources
|
||||||
|
#
|
||||||
|
|
||||||
|
framework.c: framework.h
|
||||||
|
|
||||||
|
cltest.c: framework.h
|
||||||
|
|
||||||
|
sotest.c: framework.h
|
||||||
|
|
||||||
|
vstest.c: framework.h
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
GLSL regression tests.
|
||||||
|
|
||||||
|
Type "make" to build all test apps.
|
||||||
|
|
||||||
|
Type "make tests" to build and run all test apps. If any
|
||||||
|
error is detected, a line starting with *** is output.
|
||||||
|
|
|
@ -76,8 +76,8 @@ static void load_test_file (const char *filename, struct PROGRAM **program)
|
||||||
struct PROGRAM **currprog = program;
|
struct PROGRAM **currprog = program;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char line[256];
|
char line[256];
|
||||||
enum PROGRAM_LOAD_STATE pls;
|
enum PROGRAM_LOAD_STATE pls = PLS_NONE;
|
||||||
enum SHADER_LOAD_STATE sls;
|
enum SHADER_LOAD_STATE sls = SLS_NONE;
|
||||||
|
|
||||||
f = fopen (filename, "r");
|
f = fopen (filename, "r");
|
||||||
if (f == NULL)
|
if (f == NULL)
|
||||||
|
@ -174,7 +174,7 @@ void RenderScene (void)
|
||||||
exit (0);
|
exit (0);
|
||||||
|
|
||||||
code = program->vertex.code;
|
code = program->vertex.code;
|
||||||
glShaderSourceARB (vert, 1, &code, NULL);
|
glShaderSourceARB (vert, 1, (const GLcharARB **) (&code), NULL);
|
||||||
glCompileShaderARB (vert);
|
glCompileShaderARB (vert);
|
||||||
CheckObjectStatus (vert);
|
CheckObjectStatus (vert);
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,8 +3,10 @@
|
||||||
/*
|
/*
|
||||||
* GL_ARB_multitexture
|
* GL_ARB_multitexture
|
||||||
*/
|
*/
|
||||||
|
#ifndef GL_ARB_multitexture
|
||||||
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
||||||
PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
|
PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GL_ARB_shader_objects
|
* GL_ARB_shader_objects
|
||||||
|
@ -65,8 +67,10 @@ void InitFramework (int *argc, char *argv[])
|
||||||
glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
|
glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
|
||||||
glutCreateWindow (argv[0]);
|
glutCreateWindow (argv[0]);
|
||||||
|
|
||||||
|
#ifndef GL_ARB_multitexture
|
||||||
GETPROCADDR(glClientActiveTextureARB, PFNGLCLIENTACTIVETEXTUREARBPROC);
|
GETPROCADDR(glClientActiveTextureARB, PFNGLCLIENTACTIVETEXTUREARBPROC);
|
||||||
GETPROCADDR(glMultiTexCoord4fvARB, PFNGLMULTITEXCOORD4FVARBPROC);
|
GETPROCADDR(glMultiTexCoord4fvARB, PFNGLMULTITEXCOORD4FVARBPROC);
|
||||||
|
#endif
|
||||||
|
|
||||||
GETPROCADDR(glDeleteObjectARB, PFNGLDELETEOBJECTARBPROC);
|
GETPROCADDR(glDeleteObjectARB, PFNGLDELETEOBJECTARBPROC);
|
||||||
GETPROCADDR(glGetHandleARB, PFNGLGETHANDLEARBPROC);
|
GETPROCADDR(glGetHandleARB, PFNGLGETHANDLEARBPROC);
|
||||||
|
@ -100,9 +104,6 @@ void InitFramework (int *argc, char *argv[])
|
||||||
|
|
||||||
InitScene ();
|
InitScene ();
|
||||||
|
|
||||||
/*glutReshapeFunc (Reshape);
|
|
||||||
glutKeyboardFunc (Key);
|
|
||||||
glutSpecialFunc (SpecialKey);*/
|
|
||||||
glutDisplayFunc (Display);
|
glutDisplayFunc (Display);
|
||||||
glutIdleFunc (Idle);
|
glutIdleFunc (Idle);
|
||||||
glutMainLoop ();
|
glutMainLoop ();
|
||||||
|
|
|
@ -6,9 +6,10 @@
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <assert.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
@ -25,8 +26,10 @@
|
||||||
/*
|
/*
|
||||||
* GL_ARB_multitexture
|
* GL_ARB_multitexture
|
||||||
*/
|
*/
|
||||||
|
#ifndef GL_ARB_multitexture
|
||||||
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
||||||
extern PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
|
extern PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GL_ARB_shader_objects
|
* GL_ARB_shader_objects
|
||||||
|
@ -68,12 +71,12 @@ extern PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointerEXT;
|
||||||
extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
|
extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
|
||||||
extern PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
|
extern PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
|
||||||
|
|
||||||
void InitFramework (int *argc, char *argv[]);
|
extern void InitFramework (int *argc, char *argv[]);
|
||||||
|
|
||||||
extern void InitScene (void);
|
extern void InitScene (void);
|
||||||
extern void RenderScene (void);
|
extern void RenderScene (void);
|
||||||
|
|
||||||
GLboolean CheckObjectStatus (GLhandleARB);
|
extern GLboolean CheckObjectStatus (GLhandleARB);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -210,7 +210,7 @@ static void dl_end ()
|
||||||
static void load_test_file (const char *filename)
|
static void load_test_file (const char *filename)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
long size;
|
GLint size;
|
||||||
char *code;
|
char *code;
|
||||||
GLint i;
|
GLint i;
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static void load_test_file (const char *filename)
|
||||||
size = fread (code, 1, size, f);
|
size = fread (code, 1, size, f);
|
||||||
fclose (f);
|
fclose (f);
|
||||||
|
|
||||||
glShaderSourceARB (vert, 1, &code, &size);
|
glShaderSourceARB (vert, 1, (const GLcharARB **) (&code), &size);
|
||||||
glCompileShaderARB (vert);
|
glCompileShaderARB (vert);
|
||||||
if (!CheckObjectStatus (vert))
|
if (!CheckObjectStatus (vert))
|
||||||
exit (0);
|
exit (0);
|
||||||
|
|
|
@ -1,68 +1,68 @@
|
||||||
/*
|
/*
|
||||||
* Vertex shader test.
|
* Vertex shader test.
|
||||||
* Uses all conventional attributes and 15 generic attributes to print
|
* Uses all conventional attributes and 15 generic attributes to print
|
||||||
* their values, using printMESA() extension function, to the debugger
|
* their values, using printMESA() extension function, to the debugger
|
||||||
* to compare them with the actual passed-in values.
|
* to compare them with the actual passed-in values.
|
||||||
* Use different types for generic attributes to check matrix handling.
|
* Use different types for generic attributes to check matrix handling.
|
||||||
*
|
*
|
||||||
* Author: Michal Krol
|
* Author: Michal Krol
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#version 110
|
#version 110
|
||||||
|
|
||||||
//#extension MESA_shader_debug: require
|
//#extension MESA_shader_debug: require
|
||||||
|
|
||||||
attribute vec4 Attribute1;
|
attribute vec4 Attribute1;
|
||||||
attribute vec4 Attribute2;
|
attribute vec4 Attribute2;
|
||||||
attribute vec4 Attribute3;
|
attribute vec4 Attribute3;
|
||||||
attribute float Attribute4;
|
attribute float Attribute4;
|
||||||
attribute vec2 Attribute5;
|
attribute vec2 Attribute5;
|
||||||
attribute vec3 Attribute6;
|
attribute vec3 Attribute6;
|
||||||
attribute mat2 Attribute7;
|
attribute mat2 Attribute7;
|
||||||
attribute mat3 Attribute9;
|
attribute mat3 Attribute9;
|
||||||
attribute mat4 Attribute12;
|
attribute mat4 Attribute12;
|
||||||
|
|
||||||
void main ()
|
void main ()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// Do some legal stuff.
|
// Do some legal stuff.
|
||||||
//
|
//
|
||||||
gl_Position = gl_ModelViewMatrix * gl_Vertex;
|
gl_Position = gl_ModelViewMatrix * gl_Vertex;
|
||||||
gl_FrontColor = vec4 (1.0);
|
gl_FrontColor = vec4 (1.0);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Conventional attributes - except for gl_Vertex.
|
// Conventional attributes - except for gl_Vertex.
|
||||||
//
|
//
|
||||||
printMESA (gl_Color);
|
printMESA (gl_Color);
|
||||||
printMESA (gl_SecondaryColor);
|
printMESA (gl_SecondaryColor);
|
||||||
printMESA (gl_Normal);
|
printMESA (gl_Normal);
|
||||||
printMESA (gl_MultiTexCoord0);
|
printMESA (gl_MultiTexCoord0);
|
||||||
printMESA (gl_MultiTexCoord1);
|
printMESA (gl_MultiTexCoord1);
|
||||||
printMESA (gl_MultiTexCoord2);
|
printMESA (gl_MultiTexCoord2);
|
||||||
printMESA (gl_MultiTexCoord3);
|
printMESA (gl_MultiTexCoord3);
|
||||||
printMESA (gl_MultiTexCoord4);
|
printMESA (gl_MultiTexCoord4);
|
||||||
printMESA (gl_MultiTexCoord5);
|
printMESA (gl_MultiTexCoord5);
|
||||||
printMESA (gl_MultiTexCoord6);
|
printMESA (gl_MultiTexCoord6);
|
||||||
printMESA (gl_MultiTexCoord7);
|
printMESA (gl_MultiTexCoord7);
|
||||||
printMESA (gl_FogCoord);
|
printMESA (gl_FogCoord);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Generic attributes - attrib with index 0 is not used because it would
|
// Generic attributes - attrib with index 0 is not used because it would
|
||||||
// alias with gl_Vertex, which is not allowed.
|
// alias with gl_Vertex, which is not allowed.
|
||||||
//
|
//
|
||||||
printMESA (Attribute1);
|
printMESA (Attribute1);
|
||||||
printMESA (Attribute2);
|
printMESA (Attribute2);
|
||||||
printMESA (Attribute3);
|
printMESA (Attribute3);
|
||||||
printMESA (Attribute4);
|
printMESA (Attribute4);
|
||||||
printMESA (Attribute5);
|
printMESA (Attribute5);
|
||||||
printMESA (Attribute6);
|
printMESA (Attribute6);
|
||||||
printMESA (Attribute7);
|
printMESA (Attribute7);
|
||||||
printMESA (Attribute9);
|
printMESA (Attribute9);
|
||||||
printMESA (Attribute12);
|
printMESA (Attribute12);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Vertex position goes last.
|
// Vertex position goes last.
|
||||||
//
|
//
|
||||||
printMESA (gl_Vertex);
|
printMESA (gl_Vertex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue