am a80ddadf: Merge "remove NV_WAR defines"
* commit 'a80ddadf037e491c997b17da58ea08219eb21bd7': remove NV_WAR defines
This commit is contained in:
@@ -935,7 +935,6 @@ GL_APICALL void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint*
|
||||
params[0] = programData->getLinkStatus();
|
||||
}
|
||||
break;
|
||||
#ifdef NV_WAR
|
||||
//validate status should not return GL_TRUE if link failed
|
||||
case GL_VALIDATE_STATUS:
|
||||
{
|
||||
@@ -949,7 +948,6 @@ GL_APICALL void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint*
|
||||
params[0] = GL_FALSE;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
ctx->dispatcher().glGetProgramiv(globalProgramName,pname,params);
|
||||
}
|
||||
@@ -1300,19 +1298,17 @@ GL_APICALL void GL_APIENTRY glReleaseShaderCompiler(void){
|
||||
GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height){
|
||||
GET_CTX();
|
||||
GLenum internal = internalformat;
|
||||
#ifdef NV_WAR
|
||||
switch (internalformat) {
|
||||
case GL_RGB565:
|
||||
internal = GL_RGB;
|
||||
break;
|
||||
case GL_RGB5_A1:
|
||||
internal = GL_RGBA4;
|
||||
internal = GL_RGBA;
|
||||
break;
|
||||
default:
|
||||
internal = internalformat;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
ctx->dispatcher().glRenderbufferStorageEXT(target,internal,width,height);
|
||||
}
|
||||
|
||||
@@ -1405,10 +1401,8 @@ GL_APICALL void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint inte
|
||||
}
|
||||
if (type==GL_HALF_FLOAT_OES)
|
||||
type = GL_HALF_FLOAT_NV;
|
||||
#ifdef NV_WAR
|
||||
if (pixels==NULL && type==GL_UNSIGNED_SHORT_5_5_5_1)
|
||||
type = GL_UNSIGNED_SHORT;
|
||||
#endif
|
||||
ctx->dispatcher().glTexImage2D(target,level,internalformat,width,height,border,format,type,pixels);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,10 +15,11 @@ void ShaderParser::setSrc(const Version& ver,GLsizei count,const GLchar** string
|
||||
}
|
||||
clearParsedSrc();
|
||||
|
||||
if(getenv("NV_WAR"))
|
||||
const char *forceVersion = getenv("GOOGLE_GLES_FORCE_GLSL_VERSION");
|
||||
if (forceVersion)
|
||||
{
|
||||
fprintf(stderr, "Workaround for nVidia's liberal shader compilation - adding #version token to shader\n");
|
||||
parseGLSLversion();
|
||||
parseGLSLversion(forceVersion);
|
||||
}
|
||||
/*
|
||||
version 1.30.10 is the first version of GLSL Language containing precision qualifiers
|
||||
@@ -52,10 +53,10 @@ void ShaderParser::parseOriginalSrc() {
|
||||
m_parsedSrc+=m_src;
|
||||
}
|
||||
|
||||
void ShaderParser::parseGLSLversion() {
|
||||
void ShaderParser::parseGLSLversion(const char *forceVersion) {
|
||||
//if no version definition is found
|
||||
if (m_src.find("#version ", 0) == std::string::npos) {
|
||||
m_parsedSrc += "#version 100\n";
|
||||
m_parsedSrc += std::string("#version ") + std::string(forceVersion) + std::string("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
|
||||
private:
|
||||
void parseOriginalSrc();
|
||||
void parseGLSLversion();
|
||||
void parseGLSLversion(const char *forceVersion);
|
||||
void parseOmitPrecision();
|
||||
void parseExtendDefaultPrecision();
|
||||
void clearParsedSrc();
|
||||
|
||||
Reference in New Issue
Block a user