Hash :
7fefd230
Author :
Date :
2022-10-20T00:00:00
GL: Adjust APPLE_clip_distance exposure Partial revert of I458cad29c10b9d9193c5233e24bac53361ba104e APPLE_clip_distance cannot be implemented on top of EXT_clip_cull_distance because the former is defined both for ES 2.0 and ES 3.0 while the latter is defined only for ES 3.0. Although some ES 3.0+ drivers allow gl_ClipDistance built-in in ESSL 1.00 shaders, this behavior is not specified so ANGLE should not allow it. Added independent ESSL 3.00 gl_ClipDistance and gl_MaxClipDistances definitions. Adjusted translator unit tests. Bug: angleproject:4452 Change-Id: Ib582ce0ac7ccb65f0200ef1d17eaab0c83b228cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963745 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_builtin_symbols.py using data from builtin_variables.json and
// builtin_function_declarations.txt.
//
// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// SymbolTable_autogen.h:
// Autogenerated member variables of TSymbolTable.
#ifndef COMPILER_TRANSLATOR_SYMBOLTABLE_AUTOGEN_H_
#define COMPILER_TRANSLATOR_SYMBOLTABLE_AUTOGEN_H_
namespace sh
{
class TSymbolTableBase
{
public:
TSymbolTableBase() = default;
TSymbol *m_gl_DepthRangeParameters = nullptr;
TSymbol *m_gl_DepthRange = nullptr;
TSymbol *m_gl_MaxVertexAttribs = nullptr;
TSymbol *m_gl_MaxVertexUniformVectors = nullptr;
TSymbol *m_gl_MaxVertexTextureImageUnits = nullptr;
TSymbol *m_gl_MaxCombinedTextureImageUnits = nullptr;
TSymbol *m_gl_MaxTextureImageUnits = nullptr;
TSymbol *m_gl_MaxFragmentUniformVectors = nullptr;
TSymbol *m_gl_MaxVaryingVectors = nullptr;
TSymbol *m_gl_MaxDrawBuffers = nullptr;
TSymbol *m_gl_MaxDualSourceDrawBuffersEXT = nullptr;
TSymbol *m_gl_MaxVertexOutputVectors = nullptr;
TSymbol *m_gl_MaxFragmentInputVectors = nullptr;
TSymbol *m_gl_MinProgramTexelOffset = nullptr;
TSymbol *m_gl_MaxProgramTexelOffset = nullptr;
TSymbol *m_gl_MaxImageUnits = nullptr;
TSymbol *m_gl_MaxVertexImageUniforms = nullptr;
TSymbol *m_gl_MaxFragmentImageUniforms = nullptr;
TSymbol *m_gl_MaxComputeImageUniforms = nullptr;
TSymbol *m_gl_MaxCombinedImageUniforms = nullptr;
TSymbol *m_gl_MaxCombinedShaderOutputResources = nullptr;
TSymbol *m_gl_MaxComputeWorkGroupCount = nullptr;
TSymbol *m_gl_MaxComputeWorkGroupSize = nullptr;
TSymbol *m_gl_MaxComputeUniformComponents = nullptr;
TSymbol *m_gl_MaxComputeTextureImageUnits = nullptr;
TSymbol *m_gl_MaxComputeAtomicCounters = nullptr;
TSymbol *m_gl_MaxComputeAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxVertexAtomicCounters = nullptr;
TSymbol *m_gl_MaxFragmentAtomicCounters = nullptr;
TSymbol *m_gl_MaxCombinedAtomicCounters = nullptr;
TSymbol *m_gl_MaxAtomicCounterBindings = nullptr;
TSymbol *m_gl_MaxVertexAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxFragmentAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxCombinedAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxAtomicCounterBufferSize = nullptr;
TSymbol *m_gl_MaxGeometryInputComponents = nullptr;
TSymbol *m_gl_MaxGeometryInputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryOutputComponents = nullptr;
TSymbol *m_gl_MaxGeometryOutputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryImageUniforms = nullptr;
TSymbol *m_gl_MaxGeometryImageUniformsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryTextureImageUnits = nullptr;
TSymbol *m_gl_MaxGeometryTextureImageUnitsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryOutputVertices = nullptr;
TSymbol *m_gl_MaxGeometryOutputVerticesES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryTotalOutputComponents = nullptr;
TSymbol *m_gl_MaxGeometryTotalOutputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryUniformComponents = nullptr;
TSymbol *m_gl_MaxGeometryUniformComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryAtomicCounters = nullptr;
TSymbol *m_gl_MaxGeometryAtomicCountersES3_2 = nullptr;
TSymbol *m_gl_MaxGeometryAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxGeometryAtomicCounterBuffersES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlInputComponents = nullptr;
TSymbol *m_gl_MaxTessControlInputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlOutputComponents = nullptr;
TSymbol *m_gl_MaxTessControlOutputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlTextureImageUnits = nullptr;
TSymbol *m_gl_MaxTessControlTextureImageUnitsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlUniformComponents = nullptr;
TSymbol *m_gl_MaxTessControlUniformComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlTotalOutputComponents = nullptr;
TSymbol *m_gl_MaxTessControlTotalOutputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlImageUniforms = nullptr;
TSymbol *m_gl_MaxTessControlImageUniformsES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlAtomicCounters = nullptr;
TSymbol *m_gl_MaxTessControlAtomicCountersES3_2 = nullptr;
TSymbol *m_gl_MaxTessControlAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxTessControlAtomicCounterBuffersES3_2 = nullptr;
TSymbol *m_gl_MaxTessPatchComponents = nullptr;
TSymbol *m_gl_MaxTessPatchComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxPatchVertices = nullptr;
TSymbol *m_gl_MaxPatchVerticesES3_2 = nullptr;
TSymbol *m_gl_MaxTessGenLevel = nullptr;
TSymbol *m_gl_MaxTessGenLevelES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationInputComponents = nullptr;
TSymbol *m_gl_MaxTessEvaluationInputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationOutputComponents = nullptr;
TSymbol *m_gl_MaxTessEvaluationOutputComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationTextureImageUnits = nullptr;
TSymbol *m_gl_MaxTessEvaluationTextureImageUnitsES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationUniformComponents = nullptr;
TSymbol *m_gl_MaxTessEvaluationUniformComponentsES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationImageUniforms = nullptr;
TSymbol *m_gl_MaxTessEvaluationImageUniformsES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationAtomicCounters = nullptr;
TSymbol *m_gl_MaxTessEvaluationAtomicCountersES3_2 = nullptr;
TSymbol *m_gl_MaxTessEvaluationAtomicCounterBuffers = nullptr;
TSymbol *m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2 = nullptr;
TSymbol *m_gl_MaxSamples = nullptr;
TSymbol *m_gl_MaxSamplesES3_2 = nullptr;
TSymbol *m_gl_MaxClipDistancesAPPLE = nullptr;
TSymbol *m_gl_MaxClipDistancesEXT = nullptr;
TSymbol *m_gl_MaxCullDistancesEXT = nullptr;
TSymbol *m_gl_MaxCombinedClipAndCullDistancesEXT = nullptr;
TSymbol *m_gl_FragData = nullptr;
TSymbol *m_gl_SecondaryFragDataEXT = nullptr;
TSymbol *m_gl_FragDepthEXT = nullptr;
TSymbol *m_gl_LastFragData = nullptr;
TSymbol *m_gl_LastFragDataNV = nullptr;
TSymbol *m_gl_SampleMaskIn = nullptr;
TSymbol *m_gl_SampleMaskInES3_2 = nullptr;
TSymbol *m_gl_SampleMask = nullptr;
TSymbol *m_gl_SampleMaskES3_2 = nullptr;
TSymbol *m_gl_CullDistance = nullptr;
TSymbol *m_gl_ClipDistance = nullptr;
TSymbol *m_gl_ClipDistanceAPPLE = nullptr;
TSymbol *m_gl_ClipDistanceEXT = nullptr;
TSymbol *m_gl_CullDistanceEXT = nullptr;
TSymbol *m_gl_PerVertex = nullptr;
TSymbol *m_gl_PerVertexES3_2 = nullptr;
TSymbol *m_gl_in = nullptr;
TSymbol *m_gl_inES3_2 = nullptr;
TSymbol *m_gl_PositionGS = nullptr;
TSymbol *m_gl_PositionGSES3_2 = nullptr;
TSymbol *m_gl_TessLevelOuterTCS = nullptr;
TSymbol *m_gl_TessLevelOuterTCSES3_2 = nullptr;
TSymbol *m_gl_TessLevelInnerTCS = nullptr;
TSymbol *m_gl_TessLevelInnerTCSES3_2 = nullptr;
TSymbol *m_gl_PerVertexTCS = nullptr;
TSymbol *m_gl_PerVertexTCSES3_2 = nullptr;
TSymbol *m_gl_inTCS = nullptr;
TSymbol *m_gl_inTCSES3_2 = nullptr;
TSymbol *m_gl_outTCS = nullptr;
TSymbol *m_gl_outTCSES3_2 = nullptr;
TSymbol *m_gl_BoundingBoxTCS = nullptr;
TSymbol *m_gl_BoundingBoxTCSES3_2 = nullptr;
TSymbol *m_gl_PositionTCS = nullptr;
TSymbol *m_gl_PositionTCSES3_2 = nullptr;
TSymbol *m_gl_BoundingBoxEXTTCS = nullptr;
TSymbol *m_gl_BoundingBoxEXTTCSES3_2 = nullptr;
TSymbol *m_gl_BoundingBoxOESTCS = nullptr;
TSymbol *m_gl_BoundingBoxOESTCSES3_2 = nullptr;
TSymbol *m_gl_TessLevelOuterTES = nullptr;
TSymbol *m_gl_TessLevelOuterTESES3_2 = nullptr;
TSymbol *m_gl_TessLevelInnerTES = nullptr;
TSymbol *m_gl_TessLevelInnerTESES3_2 = nullptr;
TSymbol *m_gl_PerVertexTES = nullptr;
TSymbol *m_gl_PerVertexTESES3_2 = nullptr;
TSymbol *m_gl_inTES = nullptr;
TSymbol *m_gl_inTESES3_2 = nullptr;
TSymbol *m_gl_outTES = nullptr;
TSymbol *m_gl_outTESES3_2 = nullptr;
TSymbol *m_gl_PositionTES = nullptr;
TSymbol *m_gl_PositionTESES3_2 = nullptr;
};
} // namespace sh
#endif // COMPILER_TRANSLATOR_SYMBOLTABLE_AUTOGEN_H_