projects
/
platform
/
upstream
/
VK-GL-CTS.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Vulkan: Add wide-color tests
[platform/upstream/VK-GL-CTS.git]
/
framework
/
opengl
/
gluShaderLibrary.cpp
diff --git
a/framework/opengl/gluShaderLibrary.cpp
b/framework/opengl/gluShaderLibrary.cpp
index
f4eb4dc
..
892c88b
100644
(file)
--- a/
framework/opengl/gluShaderLibrary.cpp
+++ b/
framework/opengl/gluShaderLibrary.cpp
@@
-335,6
+335,8
@@
private:
TOKEN_GROUP,
TOKEN_CASE,
TOKEN_END,
TOKEN_GROUP,
TOKEN_CASE,
TOKEN_END,
+ TOKEN_OUTPUT_COLOR,
+ TOKEN_FORMAT,
TOKEN_VALUES,
TOKEN_BOTH,
TOKEN_VERTEX,
TOKEN_VALUES,
TOKEN_BOTH,
TOKEN_VERTEX,
@@
-414,6
+416,7
@@
private:
deUint32 parseShaderStageList (void);
void parseRequirement (CaseRequirement& valueBlock);
void parseExpectResult (ExpectResult& expectResult);
deUint32 parseShaderStageList (void);
void parseRequirement (CaseRequirement& valueBlock);
void parseExpectResult (ExpectResult& expectResult);
+ void parseFormat (DataType& format);
void parseGLSLVersion (glu::GLSLVersion& version);
void parsePipelineProgram (ProgramSpecification& program);
void parseShaderCase (vector<tcu::TestNode*>& shaderNodeList);
void parseGLSLVersion (glu::GLSLVersion& version);
void parsePipelineProgram (ProgramSpecification& program);
void parseShaderCase (vector<tcu::TestNode*>& shaderNodeList);
@@
-612,6
+615,8
@@
void ShaderParser::advanceToken (void)
{ "group", TOKEN_GROUP },
{ "case", TOKEN_CASE },
{ "end", TOKEN_END },
{ "group", TOKEN_GROUP },
{ "case", TOKEN_CASE },
{ "end", TOKEN_END },
+ { "output_color", TOKEN_OUTPUT_COLOR },
+ { "format", TOKEN_FORMAT },
{ "values", TOKEN_VALUES },
{ "both", TOKEN_BOTH },
{ "vertex", TOKEN_VERTEX },
{ "values", TOKEN_VALUES },
{ "both", TOKEN_BOTH },
{ "vertex", TOKEN_VERTEX },
@@
-1245,6
+1250,12
@@
void ShaderParser::parseExpectResult (ExpectResult& expectResult)
advanceToken();
}
advanceToken();
}
+void ShaderParser::parseFormat (DataType& format)
+{
+ format = mapDataTypeToken(m_curToken);
+ advanceToken();
+}
+
void ShaderParser::parseGLSLVersion (glu::GLSLVersion& version)
{
int versionNum = 0;
void ShaderParser::parseGLSLVersion (glu::GLSLVersion& version)
{
int versionNum = 0;
@@
-1260,7
+1271,7
@@
void ShaderParser::parseGLSLVersion (glu::GLSLVersion& version)
advanceToken();
}
advanceToken();
}
- DE_STATIC_ASSERT(glu::GLSL_VERSION_LAST == 1
4
);
+ DE_STATIC_ASSERT(glu::GLSL_VERSION_LAST == 1
5
);
if (versionNum == 100 && postfix == "es") version = glu::GLSL_VERSION_100_ES;
else if (versionNum == 300 && postfix == "es") version = glu::GLSL_VERSION_300_ES;
if (versionNum == 100 && postfix == "es") version = glu::GLSL_VERSION_100_ES;
else if (versionNum == 300 && postfix == "es") version = glu::GLSL_VERSION_300_ES;
@@
-1276,6
+1287,7
@@
void ShaderParser::parseGLSLVersion (glu::GLSLVersion& version)
else if (versionNum == 430) version = glu::GLSL_VERSION_430;
else if (versionNum == 440) version = glu::GLSL_VERSION_440;
else if (versionNum == 450) version = glu::GLSL_VERSION_450;
else if (versionNum == 430) version = glu::GLSL_VERSION_430;
else if (versionNum == 440) version = glu::GLSL_VERSION_440;
else if (versionNum == 450) version = glu::GLSL_VERSION_450;
+ else if (versionNum == 460) version = glu::GLSL_VERSION_460;
else
parseError("Unknown GLSL version");
}
else
parseError("Unknown GLSL version");
}
@@
-1352,6
+1364,8
@@
void ShaderParser::parseShaderCase (vector<tcu::TestNode*>& shaderNodeList)
// Setup case.
GLSLVersion version = DEFAULT_GLSL_VERSION;
ExpectResult expectResult = EXPECT_PASS;
// Setup case.
GLSLVersion version = DEFAULT_GLSL_VERSION;
ExpectResult expectResult = EXPECT_PASS;
+ OutputType outputType = OUTPUT_RESULT;
+ DataType format = TYPE_LAST;
string description;
string bothSource;
vector<string> vertexSources;
string description;
string bothSource;
vector<string> vertexSources;
@@
-1380,6
+1394,12
@@
void ShaderParser::parseShaderCase (vector<tcu::TestNode*>& shaderNodeList)
advanceToken();
parseExpectResult(expectResult);
}
advanceToken();
parseExpectResult(expectResult);
}
+ else if (m_curToken == TOKEN_OUTPUT_COLOR)
+ {
+ outputType = OUTPUT_COLOR;
+ advanceToken();
+ parseFormat(format);
+ }
else if (m_curToken == TOKEN_VALUES)
{
if (valueBlockSeen)
else if (m_curToken == TOKEN_VALUES)
{
if (valueBlockSeen)
@@
-1515,6
+1535,8
@@
void ShaderParser::parseShaderCase (vector<tcu::TestNode*>& shaderNodeList)
ShaderCaseSpecification spec;
spec.caseType = CASETYPE_COMPLETE;
spec.expectResult = expectResult;
ShaderCaseSpecification spec;
spec.caseType = CASETYPE_COMPLETE;
spec.expectResult = expectResult;
+ spec.outputType = outputType;
+ spec.outputFormat = format;
spec.targetVersion = version;
spec.fullGLSLES100Required = fullGLSLES100Required;
spec.requiredCaps = requiredCaps;
spec.targetVersion = version;
spec.fullGLSLES100Required = fullGLSLES100Required;
spec.requiredCaps = requiredCaps;