X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fsdr.c;h=8e79cb5c87bea6287d1261d4a09094a7f822847c;hb=8c70193a723f9dfbea3655f336d10eff644d0f6f;hp=0152a6ea75bf756238603bb18fe7eb7b12d1416b;hpb=6c206da1b97ad86e095d383f4ebd3d8f332ad416;p=andemo diff --git a/src/sdr.c b/src/sdr.c index 0152a6e..8e79cb5 100644 --- a/src/sdr.c +++ b/src/sdr.c @@ -13,6 +13,16 @@ #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; }