Commit fe30f677 by Alexis Hetu Committed by Alexis Hétu

Added gl_FragDepth

Change-Id: I9e70cd5e230a86ef3e4bed1884ede14a128c2d67 Reviewed-on: https://swiftshader-review.googlesource.com/3992Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent 9f7cb67f
...@@ -370,6 +370,7 @@ enum TQualifier : unsigned char ...@@ -370,6 +370,7 @@ enum TQualifier : unsigned char
// built-ins written by fragment shader // built-ins written by fragment shader
EvqFragColor, EvqFragColor,
EvqFragData, EvqFragData,
EvqFragDepth,
// GLSL ES 3.0 vertex output and fragment input // GLSL ES 3.0 vertex output and fragment input
EvqSmooth, // Incomplete qualifier, smooth is the default EvqSmooth, // Incomplete qualifier, smooth is the default
...@@ -441,6 +442,7 @@ inline const char *getQualifierString(TQualifier qualifier) ...@@ -441,6 +442,7 @@ inline const char *getQualifierString(TQualifier qualifier)
case EvqFrontFacing: return "FrontFacing"; break; case EvqFrontFacing: return "FrontFacing"; break;
case EvqFragColor: return "FragColor"; break; case EvqFragColor: return "FragColor"; break;
case EvqFragData: return "FragData"; break; case EvqFragData: return "FragData"; break;
case EvqFragDepth: return "FragDepth"; break;
case EvqSmooth: return "Smooth"; break; case EvqSmooth: return "Smooth"; break;
case EvqFlat: return "Flat"; break; case EvqFlat: return "Flat"; break;
case EvqCentroidOut: return "CentroidOut"; break; case EvqCentroidOut: return "CentroidOut"; break;
......
...@@ -447,6 +447,7 @@ void IdentifyBuiltIns(GLenum shaderType, ...@@ -447,6 +447,7 @@ void IdentifyBuiltIns(GLenum shaderType,
symbolTable.insert(COMMON_BUILTINS, *new TVariable(NewPoolTString("gl_PointCoord"), TType(EbtFloat, EbpMedium, EvqPointCoord, 2))); symbolTable.insert(COMMON_BUILTINS, *new TVariable(NewPoolTString("gl_PointCoord"), TType(EbtFloat, EbpMedium, EvqPointCoord, 2)));
symbolTable.insert(ESSL1_BUILTINS, *new TVariable(NewPoolTString("gl_FragColor"), TType(EbtFloat, EbpMedium, EvqFragColor, 4))); symbolTable.insert(ESSL1_BUILTINS, *new TVariable(NewPoolTString("gl_FragColor"), TType(EbtFloat, EbpMedium, EvqFragColor, 4)));
symbolTable.insert(ESSL1_BUILTINS, *new TVariable(NewPoolTString("gl_FragData[gl_MaxDrawBuffers]"), TType(EbtFloat, EbpMedium, EvqFragData, 4))); symbolTable.insert(ESSL1_BUILTINS, *new TVariable(NewPoolTString("gl_FragData[gl_MaxDrawBuffers]"), TType(EbtFloat, EbpMedium, EvqFragData, 4)));
symbolTable.insert(ESSL3_BUILTINS, *new TVariable(NewPoolTString("gl_FragDepth"), TType(EbtFloat, EbpHigh, EvqFragDepth, 1)));
break; break;
case GL_VERTEX_SHADER: case GL_VERTEX_SHADER:
symbolTable.insert(COMMON_BUILTINS, *new TVariable(NewPoolTString("gl_Position"), TType(EbtFloat, EbpHigh, EvqPosition, 4))); symbolTable.insert(COMMON_BUILTINS, *new TVariable(NewPoolTString("gl_Position"), TType(EbtFloat, EbpHigh, EvqPosition, 4)));
......
...@@ -2055,6 +2055,7 @@ namespace glsl ...@@ -2055,6 +2055,7 @@ namespace glsl
case EvqPointCoord: return sw::Shader::PARAMETER_INPUT; case EvqPointCoord: return sw::Shader::PARAMETER_INPUT;
case EvqFragColor: return sw::Shader::PARAMETER_COLOROUT; case EvqFragColor: return sw::Shader::PARAMETER_COLOROUT;
case EvqFragData: return sw::Shader::PARAMETER_COLOROUT; case EvqFragData: return sw::Shader::PARAMETER_COLOROUT;
case EvqFragDepth: return sw::Shader::PARAMETER_DEPTHOUT;
default: UNREACHABLE(qualifier); default: UNREACHABLE(qualifier);
} }
...@@ -2101,6 +2102,7 @@ namespace glsl ...@@ -2101,6 +2102,7 @@ namespace glsl
case EvqPointCoord: return varyingRegister(operand); case EvqPointCoord: return varyingRegister(operand);
case EvqFragColor: return 0; case EvqFragColor: return 0;
case EvqFragData: return 0; case EvqFragData: return 0;
case EvqFragDepth: return 0;
default: UNREACHABLE(operand->getQualifier()); default: UNREACHABLE(operand->getQualifier());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment