Exposes gl_SecondaryFragColor, glSecondaryFragData[] and gl_MaxDualSourceDrawBuffers to GLES SL 1.0. Relaxes rules for undefined output locations for GLES SL 3.0 and exposes gl_MaxDualSourceDrawBuffers. If the output GL context is GL ES 2.0 or 3.0: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports it. If the output GL context is GL: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports ARB_blend_func_extended or if GL context is 3.2 or later. If the source shader spec is GLES SL 2.0: The emulation layer is expected to inspect the shader compilation output variables upon linking. If output target is GL SL, the emulation layer should bind color location 0, index 1 to "angle_SecondaryFragColor" if variable "gl_SecondaryFragColorEXT" is used. Alternatively, emulation layer should bind "angle_SecondaryFragData" to locations 0,1,2,3,..., all color index 1, if "gl_SecondaryFragData" array is used. (The caller can not bind the locations or specify output variables.) If the source shader spec is GLES SL 3.0: The emulation layer is expected to do location auto-resolve of the the output variables that have undefined output locations that have not been bound by the caller. (The caller can not use gl_ built-ins, so nothing to do with those.) BUG=angleproject:1085 TEST=angle_unittest Change-Id: I5cafe205b0c29478b0dcd24aa89a7b0000f5d046 Reviewed-on: https://chromium-review.googlesource.com/287580Reviewed-by:Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Kimmo Kinnunen <kkinnunen@nvidia.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| depgraph | Loading commit data... | |
| timing | Loading commit data... | |
| 64bit-lexer-safety.patch | Loading commit data... | |
| ASTMetadataHLSL.cpp | Loading commit data... | |
| ASTMetadataHLSL.h | Loading commit data... | |
| ArrayReturnValueToOutParameter.cpp | Loading commit data... | |
| ArrayReturnValueToOutParameter.h | Loading commit data... | |
| BaseTypes.h | Loading commit data... | |
| BuiltInFunctionEmulator.cpp | Loading commit data... | |
| BuiltInFunctionEmulator.h | Loading commit data... | |
| BuiltInFunctionEmulatorGLSL.cpp | Loading commit data... | |
| BuiltInFunctionEmulatorGLSL.h | Loading commit data... | |
| BuiltInFunctionEmulatorHLSL.cpp | Loading commit data... | |
| BuiltInFunctionEmulatorHLSL.h | Loading commit data... | |
| Cache.cpp | Loading commit data... | |
| Cache.h | Loading commit data... | |
| CallDAG.cpp | Loading commit data... | |
| CallDAG.h | Loading commit data... | |
| CodeGen.cpp | Loading commit data... | |
| Common.h | Loading commit data... | |
| Compiler.cpp | Loading commit data... | |
| Compiler.h | Loading commit data... | |
| ConstantUnion.h | Loading commit data... | |
| Diagnostics.cpp | Loading commit data... | |
| Diagnostics.h | Loading commit data... | |
| DirectiveHandler.cpp | Loading commit data... | |
| DirectiveHandler.h | Loading commit data... | |
| EmulatePrecision.cpp | Loading commit data... | |
| EmulatePrecision.h | Loading commit data... | |
| ExtensionBehavior.h | Loading commit data... | |
| FlagStd140Structs.cpp | Loading commit data... | |
| FlagStd140Structs.h | Loading commit data... | |
| ForLoopUnroll.cpp | Loading commit data... | |
| ForLoopUnroll.h | Loading commit data... | |
| HashNames.h | Loading commit data... | |
| InfoSink.cpp | Loading commit data... | |
| InfoSink.h | Loading commit data... | |
| Initialize.cpp | Loading commit data... | |
| Initialize.h | Loading commit data... | |
| InitializeDll.cpp | Loading commit data... | |
| InitializeDll.h | Loading commit data... | |
| InitializeGlobals.h | Loading commit data... | |
| InitializeParseContext.cpp | Loading commit data... | |
| InitializeParseContext.h | Loading commit data... | |
| InitializeVariables.cpp | Loading commit data... | |
| InitializeVariables.h | Loading commit data... | |
| IntermNode.cpp | Loading commit data... | |
| IntermNode.h | Loading commit data... | |
| IntermTraverse.cpp | Loading commit data... | |
| Intermediate.cpp | Loading commit data... | |
| Intermediate.h | Loading commit data... | |
| LoopInfo.cpp | Loading commit data... | |
| LoopInfo.h | Loading commit data... | |
| MMap.h | Loading commit data... | |
| NodeSearch.h | Loading commit data... | |
| Operator.cpp | Loading commit data... | |
| Operator.h | Loading commit data... | |
| OutputESSL.cpp | Loading commit data... | |
| OutputESSL.h | Loading commit data... | |
| OutputGLSL.cpp | Loading commit data... | |
| OutputGLSL.h | Loading commit data... | |
| OutputGLSLBase.cpp | Loading commit data... | |
| OutputGLSLBase.h | Loading commit data... | |
| OutputHLSL.cpp | Loading commit data... | |
| OutputHLSL.h | Loading commit data... | |
| ParseContext.cpp | Loading commit data... | |
| ParseContext.h | Loading commit data... | |
| PoolAlloc.cpp | Loading commit data... | |
| PoolAlloc.h | Loading commit data... | |
| Pragma.h | Loading commit data... | |
| PruneEmptyDeclarations.cpp | Loading commit data... | |
| PruneEmptyDeclarations.h | Loading commit data... | |
| RecordConstantPrecision.cpp | Loading commit data... | |
| RecordConstantPrecision.h | Loading commit data... | |
| RegenerateStructNames.cpp | Loading commit data... | |
| RegenerateStructNames.h | Loading commit data... | |
| RemovePow.cpp | Loading commit data... | |
| RemovePow.h | Loading commit data... | |
| RemoveSwitchFallThrough.cpp | Loading commit data... | |
| RemoveSwitchFallThrough.h | Loading commit data... | |
| RenameFunction.h | Loading commit data... | |
| RewriteElseBlocks.cpp | Loading commit data... | |
| RewriteElseBlocks.h | Loading commit data... | |
| ScalarizeVecAndMatConstructorArgs.cpp | Loading commit data... | |
| ScalarizeVecAndMatConstructorArgs.h | Loading commit data... | |
| SearchSymbol.cpp | Loading commit data... | |
| SearchSymbol.h | Loading commit data... | |
| SeparateArrayInitialization.cpp | Loading commit data... | |
| SeparateArrayInitialization.h | Loading commit data... | |
| SeparateDeclarations.cpp | Loading commit data... | |
| SeparateDeclarations.h | Loading commit data... | |
| SeparateExpressionsReturningArrays.cpp | Loading commit data... | |
| SeparateExpressionsReturningArrays.h | Loading commit data... | |
| ShaderLang.cpp | Loading commit data... | |
| ShaderVars.cpp | Loading commit data... | |
| StructureHLSL.cpp | Loading commit data... | |
| StructureHLSL.h | Loading commit data... | |
| SymbolTable.cpp | Loading commit data... | |
| SymbolTable.h | Loading commit data... | |
| TranslatorESSL.cpp | Loading commit data... | |
| TranslatorESSL.h | Loading commit data... | |
| TranslatorGLSL.cpp | Loading commit data... | |
| TranslatorGLSL.h | Loading commit data... | |
| TranslatorHLSL.cpp | Loading commit data... | |
| TranslatorHLSL.h | Loading commit data... | |
| Types.cpp | Loading commit data... | |
| Types.h | Loading commit data... | |
| UnfoldShortCircuitAST.cpp | Loading commit data... | |
| UnfoldShortCircuitAST.h | Loading commit data... | |
| UnfoldShortCircuitToIf.cpp | Loading commit data... | |
| UnfoldShortCircuitToIf.h | Loading commit data... | |
| UniformHLSL.cpp | Loading commit data... | |
| UniformHLSL.h | Loading commit data... | |
| UtilsHLSL.cpp | Loading commit data... | |
| UtilsHLSL.h | Loading commit data... | |
| ValidateGlobalInitializer.cpp | Loading commit data... | |
| ValidateGlobalInitializer.h | Loading commit data... | |
| ValidateLimitations.cpp | Loading commit data... | |
| ValidateLimitations.h | Loading commit data... | |
| ValidateOutputs.cpp | Loading commit data... | |
| ValidateOutputs.h | Loading commit data... | |
| ValidateSwitch.cpp | Loading commit data... | |
| ValidateSwitch.h | Loading commit data... | |
| VariableInfo.cpp | Loading commit data... | |
| VariableInfo.h | Loading commit data... | |
| VariablePacker.cpp | Loading commit data... | |
| VariablePacker.h | Loading commit data... | |
| VersionGLSL.cpp | Loading commit data... | |
| VersionGLSL.h | Loading commit data... | |
| blocklayout.cpp | Loading commit data... | |
| blocklayout.h | Loading commit data... | |
| blocklayoutHLSL.cpp | Loading commit data... | |
| blocklayoutHLSL.h | Loading commit data... | |
| generate_parser.sh | Loading commit data... | |
| glslang.h | Loading commit data... | |
| glslang.l | Loading commit data... | |
| glslang.y | Loading commit data... | |
| glslang_lex.cpp | Loading commit data... | |
| glslang_tab.cpp | Loading commit data... | |
| glslang_tab.h | Loading commit data... | |
| intermOut.cpp | Loading commit data... | |
| length_limits.h | Loading commit data... | |
| parseConst.cpp | Loading commit data... | |
| util.cpp | Loading commit data... | |
| util.h | Loading commit data... |