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
// built-ins written by fragment shader
EvqFragColor,
EvqFragData,
EvqFragDepth,
// GLSL ES 3.0 vertex output and fragment input
EvqSmooth, // Incomplete qualifier, smooth is the default
......@@ -441,6 +442,7 @@ inline const char *getQualifierString(TQualifier qualifier)
case EvqFrontFacing: return "FrontFacing"; break;
case EvqFragColor: return "FragColor"; break;
case EvqFragData: return "FragData"; break;
case EvqFragDepth: return "FragDepth"; break;
case EvqSmooth: return "Smooth"; break;
case EvqFlat: return "Flat"; break;
case EvqCentroidOut: return "CentroidOut"; break;
......
......@@ -447,6 +447,7 @@ void IdentifyBuiltIns(GLenum shaderType,
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_FragData[gl_MaxDrawBuffers]"), TType(EbtFloat, EbpMedium, EvqFragData, 4)));
symbolTable.insert(ESSL3_BUILTINS, *new TVariable(NewPoolTString("gl_FragDepth"), TType(EbtFloat, EbpHigh, EvqFragDepth, 1)));
break;
case GL_VERTEX_SHADER:
symbolTable.insert(COMMON_BUILTINS, *new TVariable(NewPoolTString("gl_Position"), TType(EbtFloat, EbpHigh, EvqPosition, 4)));
......
......@@ -2055,6 +2055,7 @@ namespace glsl
case EvqPointCoord: return sw::Shader::PARAMETER_INPUT;
case EvqFragColor: return sw::Shader::PARAMETER_COLOROUT;
case EvqFragData: return sw::Shader::PARAMETER_COLOROUT;
case EvqFragDepth: return sw::Shader::PARAMETER_DEPTHOUT;
default: UNREACHABLE(qualifier);
}
......@@ -2101,6 +2102,7 @@ namespace glsl
case EvqPointCoord: return varyingRegister(operand);
case EvqFragColor: return 0;
case EvqFragData: return 0;
case EvqFragDepth: return 0;
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