fixed wgl context creation in miniglut:
[andemo] / src / sdr.c
index 0152a6e..8e79cb5 100644 (file)
--- a/src/sdr.c
+++ b/src/sdr.c
 
 #include "sdr.h"
 
+#ifndef GL_GEOMETRY_SHADER
+#define GL_GEOMETRY_SHADER                     0x8dd9
+#endif
+#ifndef GL_TESS_EVALUATION_SHADER
+#define GL_TESS_EVALUATION_SHADER      0x8e87
+#endif
+#ifndef GL_TESS_CONTROL_SHADER
+#define GL_TESS_CONTROL_SHADER         0x8e88
+#endif
+
 static const char *sdrtypestr(unsigned int sdrtype);
 static int sdrtypeidx(unsigned int sdrtype);
 
@@ -29,20 +39,12 @@ unsigned int create_pixel_shader(const char *src)
 
 unsigned int create_tessctl_shader(const char *src)
 {
-#ifdef GL_TESS_CONTROL_SHADER
        return create_shader(src, GL_TESS_CONTROL_SHADER);
-#else
-       return 0;
-#endif
 }
 
 unsigned int create_tesseval_shader(const char *src)
 {
-#ifdef GL_TESS_EVALUATION_SHADER
        return create_shader(src, GL_TESS_EVALUATION_SHADER);
-#else
-       return 0;
-#endif
 }
 
 unsigned int create_geometry_shader(const char *src)
@@ -99,6 +101,7 @@ unsigned int create_shader(const char *src, unsigned int sdr_type)
                glDeleteShader(sdr);
                sdr = 0;
        }
+       fflush(stderr);
 
        free(info_str);
        return sdr;
@@ -121,20 +124,12 @@ unsigned int load_pixel_shader(const char *fname)
 
 unsigned int load_tessctl_shader(const char *fname)
 {
-#ifdef GL_TESS_CONTROL_SHADER
        return load_shader(fname, GL_TESS_CONTROL_SHADER);
-#else
-       return 0;
-#endif
 }
 
 unsigned int load_tesseval_shader(const char *fname)
 {
-#ifdef GL_TESS_EVALUATION_SHADER
        return load_shader(fname, GL_TESS_EVALUATION_SHADER);
-#else
-       return 0;
-#endif
 }
 
 unsigned int load_geometry_shader(const char *fname)
@@ -275,6 +270,7 @@ int link_program(unsigned int prog)
                fprintf(stderr, info_str ? "linking failed: %s\n" : "linking failed\n", info_str);
                retval = -1;
        }
+       fflush(stderr);
 
        free(info_str);
        return retval;
@@ -523,19 +519,12 @@ static const char *sdrtypestr(unsigned int sdrtype)
                return "vertex";
        case GL_FRAGMENT_SHADER:
                return "pixel";
-#ifdef GL_TESS_CONTROL_SHADER
        case GL_TESS_CONTROL_SHADER:
                return "tessellation control";
-#endif
-#ifdef GL_TESS_EVALUATION_SHADER
        case GL_TESS_EVALUATION_SHADER:
                return "tessellation evaluation";
-#endif
-#ifdef GL_GEOMETRY_SHADER
        case GL_GEOMETRY_SHADER:
                return "geometry";
-#endif
-
        default:
                break;
        }