icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#define ANGLE_COMMIT_HASH "419cd2c3213b"
|
||||
#define ANGLE_COMMIT_HASH "b0098a1ebdb0"
|
||||
#define ANGLE_COMMIT_HASH_SIZE 12
|
||||
#define ANGLE_COMMIT_DATE "2024-07-29 14:40:59 -0700"
|
||||
#define ANGLE_COMMIT_POSITION 19739
|
||||
#define ANGLE_COMMIT_DATE "2026-04-09 15:03:30 +0200"
|
||||
#define ANGLE_COMMIT_POSITION 19751
|
||||
#define ANGLE_HAS_BINARY_LOADING
|
||||
|
|
|
|||
|
|
@ -1591,6 +1591,9 @@ inline const char *getQualifierString(TQualifier q)
|
|||
case EvqLocalInvocationIndex: return "LocalInvocationIndex";
|
||||
case EvqReadOnly: return "readonly";
|
||||
case EvqWriteOnly: return "writeonly";
|
||||
case EvqCoherent: return "coherent";
|
||||
case EvqRestrict: return "restrict";
|
||||
case EvqVolatile: return "volatile";
|
||||
case EvqGeometryIn: return "in";
|
||||
case EvqGeometryOut: return "out";
|
||||
case EvqPerVertexIn: return "gl_in";
|
||||
|
|
|
|||
|
|
@ -686,6 +686,14 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
|
|||
// Desktop GLSL shaders don't have precision, so don't expect them to be specified.
|
||||
mValidateASTOptions.validatePrecision = !IsDesktopGLSpec(mShaderSpec);
|
||||
|
||||
// Disallow expressions deemed too complex.
|
||||
// This needs to be checked before other functions that will traverse the AST
|
||||
// to prevent potential stack overflow crashes.
|
||||
if (compileOptions.limitExpressionComplexity && !limitExpressionComplexity(root))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!validateAST(root))
|
||||
{
|
||||
return false;
|
||||
|
|
@ -709,12 +717,6 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
|
|||
}
|
||||
}
|
||||
|
||||
// Disallow expressions deemed too complex.
|
||||
if (compileOptions.limitExpressionComplexity && !limitExpressionComplexity(root))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (shouldRunLoopAndIndexingValidation(compileOptions) &&
|
||||
!ValidateLimitations(root, mShaderType, &mSymbolTable, &mDiagnostics))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -790,6 +790,14 @@ bool TParseContext::checkIsAtGlobalLevel(const TSourceLoc &line, const char *tok
|
|||
return true;
|
||||
}
|
||||
|
||||
void TParseContext::checkIsValidExpressionStatement(const TSourceLoc &line, TIntermTyped *expr)
|
||||
{
|
||||
if (expr->isInterfaceBlock())
|
||||
{
|
||||
error(line, "expression statement is not allowed for interface blocks", "");
|
||||
}
|
||||
}
|
||||
|
||||
// ESSL 3.00.5 sections 3.8 and 3.9.
|
||||
// If it starts "gl_" or contains two consecutive underscores, it's reserved.
|
||||
// Also checks for "webgl_" and "_webgl_" reserved identifiers if parsing a webgl shader.
|
||||
|
|
@ -950,6 +958,13 @@ bool TParseContext::checkConstructorArguments(const TSourceLoc &line,
|
|||
"constructor");
|
||||
return false;
|
||||
}
|
||||
if (argTyped->getBasicType() == EbtInterfaceBlock)
|
||||
{
|
||||
error(line,
|
||||
"an interface block cannot be used as a constructor argument for this type",
|
||||
"constructor");
|
||||
return false;
|
||||
}
|
||||
if (argTyped->getType().isArray())
|
||||
{
|
||||
error(line, "constructing from a non-dereferenced array", "constructor");
|
||||
|
|
@ -1335,9 +1350,6 @@ bool TParseContext::declareVariable(const TSourceLoc &line,
|
|||
|
||||
(*variable) = new TVariable(&symbolTable, identifier, type, symbolType);
|
||||
|
||||
ASSERT(type->getLayoutQualifier().index == -1 ||
|
||||
(isExtensionEnabled(TExtension::EXT_blend_func_extended) &&
|
||||
mShaderType == GL_FRAGMENT_SHADER && mShaderVersion >= 300));
|
||||
if (type->getQualifier() == EvqFragmentOut)
|
||||
{
|
||||
if (type->getLayoutQualifier().index != -1 && type->getLayoutQualifier().location == -1)
|
||||
|
|
@ -3377,7 +3389,10 @@ TIntermGlobalQualifierDeclaration *TParseContext::parseGlobalQualifierDeclaratio
|
|||
typeQualifier.line);
|
||||
checkMemoryQualifierIsNotSpecified(typeQualifier.memoryQualifier, typeQualifier.line);
|
||||
|
||||
symbolTable.addInvariantVarying(*variable);
|
||||
if (typeQualifier.invariant)
|
||||
{
|
||||
symbolTable.addInvariantVarying(*variable);
|
||||
}
|
||||
|
||||
TIntermSymbol *intermSymbol = new TIntermSymbol(variable);
|
||||
intermSymbol->setLine(identifierLoc);
|
||||
|
|
@ -4458,6 +4473,11 @@ bool TParseContext::checkUnsizedArrayConstructorArgumentDimensionality(
|
|||
{
|
||||
const TIntermTyped *element = arg->getAsTyped();
|
||||
ASSERT(element);
|
||||
if (element->getType().isUnsizedArray())
|
||||
{
|
||||
error(line, "constructing from an unsized array", "constructor");
|
||||
return false;
|
||||
}
|
||||
size_t dimensionalityFromElement = element->getType().getNumArraySizes() + 1u;
|
||||
if (dimensionalityFromElement > type.getNumArraySizes())
|
||||
{
|
||||
|
|
@ -5197,14 +5217,12 @@ TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression,
|
|||
int TParseContext::checkIndexLessThan(bool outOfRangeIndexIsError,
|
||||
const TSourceLoc &location,
|
||||
int index,
|
||||
int arraySize,
|
||||
unsigned int arraySize,
|
||||
const char *reason)
|
||||
{
|
||||
// Should not reach here with an unsized / runtime-sized array.
|
||||
ASSERT(arraySize > 0);
|
||||
// A negative index should already have been checked.
|
||||
ASSERT(index >= 0);
|
||||
if (index >= arraySize)
|
||||
if (static_cast<unsigned int>(index) >= arraySize)
|
||||
{
|
||||
std::stringstream reasonStream = sh::InitializeStream<std::stringstream>();
|
||||
reasonStream << reason << " '" << index << "'";
|
||||
|
|
@ -6396,6 +6414,11 @@ bool TParseContext::binaryOpCommonCheck(TOperator op,
|
|||
TIntermTyped *right,
|
||||
const TSourceLoc &loc)
|
||||
{
|
||||
if (left->getBasicType() == EbtVoid || right->getBasicType() == EbtVoid)
|
||||
{
|
||||
error(loc, "operation with void operands", GetOperatorString(op));
|
||||
return false;
|
||||
}
|
||||
// Check opaque types are not allowed to be operands in expressions other than array indexing
|
||||
// and structure member selection.
|
||||
if (IsOpaqueType(left->getBasicType()) || IsOpaqueType(right->getBasicType()))
|
||||
|
|
@ -6842,6 +6865,10 @@ TIntermTyped *TParseContext::addComma(TIntermTyped *left,
|
|||
"sequence operator is not allowed for void, arrays, or structs containing arrays",
|
||||
",");
|
||||
}
|
||||
if (left->isInterfaceBlock() || right->isInterfaceBlock())
|
||||
{
|
||||
error(loc, "sequence operator is not allowed for interface blocks", ",");
|
||||
}
|
||||
|
||||
TIntermBinary *commaNode = TIntermBinary::CreateComma(left, right, mShaderVersion);
|
||||
markStaticReadIfSymbol(left);
|
||||
|
|
@ -7345,8 +7372,8 @@ TIntermTyped *TParseContext::addMethod(TFunctionLookup *fnCall, const TSourceLoc
|
|||
return CreateZeroNode(TType(EbtInt, EbpUndefined, EvqConst));
|
||||
}
|
||||
|
||||
TIntermTyped *TParseContext::addNonConstructorFunctionCall(TFunctionLookup *fnCall,
|
||||
const TSourceLoc &loc)
|
||||
TIntermTyped *TParseContext::addNonConstructorFunctionCallImpl(TFunctionLookup *fnCall,
|
||||
const TSourceLoc &loc)
|
||||
{
|
||||
// First check whether the function has been hidden by a variable name or struct typename by
|
||||
// using the symbol looked up in the lexical phase. If the function is not hidden, look for one
|
||||
|
|
@ -7408,10 +7435,7 @@ TIntermTyped *TParseContext::addNonConstructorFunctionCall(TFunctionLookup *fnCa
|
|||
{
|
||||
// Treat it like a built-in unary operator.
|
||||
TIntermNode *unaryParamNode = fnCall->arguments().front();
|
||||
TIntermTyped *callNode =
|
||||
createUnaryMath(op, unaryParamNode->getAsTyped(), loc, fnCandidate);
|
||||
ASSERT(callNode != nullptr);
|
||||
return callNode;
|
||||
return createUnaryMath(op, unaryParamNode->getAsTyped(), loc, fnCandidate);
|
||||
}
|
||||
|
||||
TIntermAggregate *callNode =
|
||||
|
|
@ -7436,7 +7460,17 @@ TIntermTyped *TParseContext::addNonConstructorFunctionCall(TFunctionLookup *fnCa
|
|||
error(loc, "no matching overloaded function found", fnCall->name());
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TIntermTyped *TParseContext::addNonConstructorFunctionCall(TFunctionLookup *fnCall,
|
||||
const TSourceLoc &loc)
|
||||
{
|
||||
TIntermTyped *result = addNonConstructorFunctionCallImpl(fnCall, loc);
|
||||
if (result != nullptr)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
// Error message was already written. Put on an unused node for error recovery.
|
||||
return CreateZeroNode(TType(EbtFloat, EbpMedium, EvqConst));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ class TParseContext : angle::NonCopyable
|
|||
|
||||
// Check functions - the ones that return bool return false if an error was generated.
|
||||
|
||||
void checkIsValidExpressionStatement(const TSourceLoc &line, TIntermTyped *expr);
|
||||
bool checkIsNotReserved(const TSourceLoc &line, const ImmutableString &identifier);
|
||||
void checkPrecisionSpecified(const TSourceLoc &line, TPrecision precision, TBasicType type);
|
||||
bool checkCanBeLValue(const TSourceLoc &line, const char *op, TIntermTyped *node);
|
||||
|
|
@ -538,7 +539,7 @@ class TParseContext : angle::NonCopyable
|
|||
int checkIndexLessThan(bool outOfRangeIndexIsError,
|
||||
const TSourceLoc &location,
|
||||
int index,
|
||||
int arraySize,
|
||||
unsigned int arraySize,
|
||||
const char *reason);
|
||||
|
||||
bool declareVariable(const TSourceLoc &line,
|
||||
|
|
@ -651,6 +652,7 @@ class TParseContext : angle::NonCopyable
|
|||
|
||||
TIntermTyped *addMethod(TFunctionLookup *fnCall, const TSourceLoc &loc);
|
||||
TIntermTyped *addConstructor(TFunctionLookup *fnCall, const TSourceLoc &line);
|
||||
TIntermTyped *addNonConstructorFunctionCallImpl(TFunctionLookup *fnCall, const TSourceLoc &loc);
|
||||
TIntermTyped *addNonConstructorFunctionCall(TFunctionLookup *fnCall, const TSourceLoc &loc);
|
||||
|
||||
// Return either the original expression or the folded version of the expression in case the
|
||||
|
|
|
|||
|
|
@ -862,9 +862,9 @@ static const yytype_int16 yyrline[] = {
|
|||
1330, 1333, 1336, 1339, 1342, 1350, 1358, 1366, 1374, 1382, 1390, 1400, 1410, 1420, 1423, 1430,
|
||||
1437, 1444, 1447, 1455, 1455, 1458, 1458, 1464, 1467, 1473, 1476, 1483, 1487, 1493, 1496, 1502,
|
||||
1506, 1510, 1511, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1527, 1531, 1531, 1531, 1538, 1539,
|
||||
1543, 1543, 1544, 1544, 1549, 1553, 1560, 1564, 1571, 1572, 1576, 1582, 1586, 1595, 1595, 1602,
|
||||
1605, 1611, 1615, 1621, 1621, 1626, 1626, 1630, 1630, 1638, 1641, 1647, 1650, 1656, 1660, 1667,
|
||||
1670, 1673, 1676, 1679, 1687, 1693, 1699, 1702, 1708, 1708};
|
||||
1543, 1543, 1544, 1544, 1549, 1553, 1560, 1564, 1571, 1572, 1579, 1585, 1589, 1598, 1598, 1605,
|
||||
1608, 1614, 1618, 1624, 1624, 1629, 1629, 1633, 1633, 1641, 1644, 1650, 1653, 1659, 1663, 1670,
|
||||
1673, 1676, 1679, 1682, 1690, 1696, 1702, 1705, 1711, 1711};
|
||||
#endif
|
||||
|
||||
/** Accessing symbol of state STATE. */
|
||||
|
|
@ -4483,6 +4483,7 @@ yyreduce:
|
|||
|
||||
case 297: /* expression_statement: expression SEMICOLON */
|
||||
{
|
||||
context->checkIsValidExpressionStatement((yyloc), (yyvsp[-1].interm.intermTypedNode));
|
||||
(yyval.interm.intermNode) = (yyvsp[-1].interm.intermTypedNode);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@ bool NeedsReturnStatement(TIntermFunctionDefinition *node, TType *returnType)
|
|||
}
|
||||
|
||||
TIntermBlock *bodyNode = node->getBody();
|
||||
if (bodyNode->getSequence()->empty())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
TIntermBranch *returnNode = bodyNode->getSequence()->back()->getAsBranchNode();
|
||||
if (returnNode != nullptr && returnNode->getFlowOp() == EOpReturn)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2064,8 +2064,14 @@ angle::Result Renderer11::drawLineLoop(const gl::Context *context,
|
|||
GetLineLoopIndices(indices, type, static_cast<GLuint>(count),
|
||||
glState.isPrimitiveRestartEnabled(), &mScratchIndexDataBuffer);
|
||||
|
||||
unsigned int spaceNeeded =
|
||||
static_cast<unsigned int>(sizeof(GLuint) * mScratchIndexDataBuffer.size());
|
||||
|
||||
uint64_t spaceNeeded64 = sizeof(GLuint) * mScratchIndexDataBuffer.size();
|
||||
ANGLE_CHECK(GetImplAs<Context11>(context), spaceNeeded64 <= std::numeric_limits<int>::max(),
|
||||
"Failed to create a 32-bit looping index buffer for "
|
||||
"a GL_LINE_LOOP of <32-bit element type; too many indices required.",
|
||||
GL_OUT_OF_MEMORY);
|
||||
int spaceNeeded = static_cast<int>(spaceNeeded64);
|
||||
|
||||
ANGLE_TRY(
|
||||
mLineLoopIB->reserveBufferSpace(context, spaceNeeded, gl::DrawElementsType::UnsignedInt));
|
||||
|
||||
|
|
@ -2146,8 +2152,12 @@ angle::Result Renderer11::drawTriangleFan(const gl::Context *context,
|
|||
GetTriFanIndices(indexPointer, type, count, glState.isPrimitiveRestartEnabled(),
|
||||
&mScratchIndexDataBuffer);
|
||||
|
||||
const unsigned int spaceNeeded =
|
||||
static_cast<unsigned int>(mScratchIndexDataBuffer.size() * sizeof(unsigned int));
|
||||
uint64_t spaceNeeded64 = mScratchIndexDataBuffer.size() * sizeof(unsigned int);
|
||||
ANGLE_CHECK(GetImplAs<Context11>(context), spaceNeeded64 <= std::numeric_limits<int>::max(),
|
||||
"Failed to create a 32-bit looping index buffer for "
|
||||
"a GL_TRIANGLE_FAN of <32-bit element type; too many indices required.",
|
||||
GL_OUT_OF_MEMORY);
|
||||
int spaceNeeded = static_cast<int>(spaceNeeded64);
|
||||
ANGLE_TRY(mTriangleFanIB->reserveBufferSpace(context, spaceNeeded,
|
||||
gl::DrawElementsType::UnsignedInt));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
commit 419cd2c3213b594f8e2488bf48034fed20ace81d
|
||||
commit b0098a1ebdb0400b515ff7a662685bda111e9e87
|
||||
Author: Emilio Cobos Álvarez <emilio@crisal.io>
|
||||
Date: Thu Apr 9 15:03:30 2026 +0200
|
||||
|
||||
Add a missing change to 7918168436578718b234bfd56da152e34a85af1d that is in Gecko.
|
||||
|
||||
commit 442302a3b7ae7cca7f85524e6bb3d774a10b6fbc
|
||||
Author: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Date: Mon Mar 27 13:05:36 2023 -0400
|
||||
|
||||
|
|
@ -15,6 +21,198 @@ Date: Mon Mar 27 13:05:36 2023 -0400
|
|||
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
|
||||
commit 4f5c3dbc01f70efbaaed41743893ed2c8a7653cd
|
||||
Author: Emilio Cobos Álvarez <emilio@crisal.io>
|
||||
Date: Thu Apr 9 13:40:10 2026 +0200
|
||||
|
||||
Add missing codegen from #27.
|
||||
|
||||
commit be5a7593658365659dfc6384a95c44406e4e5d9e
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Thu Oct 24 11:46:54 2024 +0300
|
||||
|
||||
Disallow discarded uniform block references
|
||||
|
||||
Uniform block instances cannot be used by themselves, as there
|
||||
is no way to refer to their type. Disallow the only typeless
|
||||
access pattern, discarding via expression statement:
|
||||
|
||||
uniform MyBlock { int x; } b;
|
||||
void main() {
|
||||
b;
|
||||
0, b;
|
||||
}
|
||||
|
||||
Explained as disallowed in newer GLSL 300:
|
||||
https://github.com/KhronosGroup/WebGL/issues/3644
|
||||
|
||||
The comma expression form would ASSERT in CollectVariables.
|
||||
|
||||
Bug: angleproject:42267026
|
||||
Change-Id: I6c8b835482fd551bd97576c1bd24f005874da6af
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5961498
|
||||
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
|
||||
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
|
||||
commit 329044148ea14623910a1b33a4f1fd81445fd21e
|
||||
Author: Scott Marcy <mscott@apple.com>
|
||||
Date: Thu May 30 11:36:58 2024 -0600
|
||||
|
||||
Fix stack overflow crash by traversing a too-deep AST
|
||||
|
||||
This simply moves the check for a too-deep AST before the first attempts
|
||||
to traverse the AST (i.e., `validateAST()`).
|
||||
|
||||
Bug: angleproject:343505104
|
||||
Change-Id: Iafb658a30f74a666beab8c69745ca53d17d70dd3
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5585186
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Auto-Submit: Scott M <mscott@apple.com>
|
||||
|
||||
commit 28669be7c0129fa7ed117f730484db302a39bcb2
|
||||
Author: Nisha Jain <nisha_jain@apple.com>
|
||||
Date: Thu Mar 7 14:19:58 2024 +0200
|
||||
|
||||
Avoid asserts when const folding binary ops on void variables
|
||||
|
||||
Fix asserts for example with / and % during constant folding when
|
||||
the operands might be voids.
|
||||
|
||||
Bug: angleproject:8592
|
||||
Change-Id: I22275642dbcdf9066940d3a94114e8daa5cbbe41
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5416376
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
||||
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
||||
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
|
||||
commit ebaab5cd66b66183175f8c5d5f72210afcba38ca
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Fri Mar 8 14:26:56 2024 +0200
|
||||
|
||||
Check array index against unsigned array size
|
||||
|
||||
Fix an assert during GLSL parsing when a very
|
||||
large array (~1U) type is indexed.
|
||||
|
||||
Bug: angleproject:8596
|
||||
Change-Id: I219ac5c8f3fa58aa4c7d679eade6f32b59eb1103
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352653
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
|
||||
commit 5a3f53d8bff0709e94e9b5c2a97684c9a012f6f6
|
||||
Author: Erica Li <lerica@apple.com>
|
||||
Date: Fri Mar 8 12:40:09 2024 +0200
|
||||
|
||||
Avoid assert with multiple memory qualifiers
|
||||
|
||||
Add missing qualifier strings.
|
||||
|
||||
Bug: angleproject:8593
|
||||
Change-Id: I484571c33effd85d52712b4876f6a3a5c73d8fde
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352255
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
|
||||
commit f95d411e7d0c5cfb4b0dfef2ecadb952cc92b06a
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Tue Mar 5 21:42:32 2024 +0200
|
||||
|
||||
Ensure unary math op parse to an node on error
|
||||
|
||||
Return the error node for ops like radians().
|
||||
The math op parse can fail in multiple ways.
|
||||
|
||||
Fixed: angleproject:8583
|
||||
Change-Id: Ief7e150dffefe711f567d95c62d1023fc7fa1c91
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5344716
|
||||
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
||||
|
||||
commit 386e3783a143a5268df86bdf93cd10892419f395
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Mon Mar 4 14:43:10 2024 +0200
|
||||
|
||||
Fix layout(index=) parse assert on es 100 shaders
|
||||
|
||||
Remove invalid assert about layout index qualifier being present only if
|
||||
EXT_blend_func_extended is present.
|
||||
|
||||
The layout qualifier gets parsed to support EXT_shader_framebuffer_fetch
|
||||
in ES 100 shaders to support
|
||||
"layout(incoherent) mediump vec4 gl_FragData[gl_MaxDrawBuffers]"
|
||||
|
||||
Fixed: angleproject:8570
|
||||
Change-Id: I0d0d99bcc882a0befd97c2510dec4a8ccf1690bd
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5340249
|
||||
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
||||
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
|
||||
commit abe9de5edc89a3db4188c8ddf52e61f6820ecebd
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Fri Feb 16 22:28:18 2024 +0200
|
||||
|
||||
Fix ASSERT in non-global precise var decls
|
||||
|
||||
Precise was treated as invariant. Precise can be
|
||||
declared for non-global variables.
|
||||
|
||||
Bug: angleproject:8550
|
||||
Change-Id: Ia0d00d67d0d1504b78294ee2256785fe3da3e399
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5300976
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
||||
|
||||
commit 718164d445a82bd24da61ff670deb5f1702fbfc3
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Tue Feb 13 17:54:12 2024 +0200
|
||||
|
||||
Uniform block reference in constuctors crash
|
||||
|
||||
Passing uniform block instance name to a built-in constructor would
|
||||
cause type confusion. Block this by failing to parse.
|
||||
|
||||
Bug: angleproject:8533
|
||||
Change-Id: I5a676b41e2f3d766ece4ed472debc1c874753293
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5290897
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
|
||||
commit a7ce496eaa3ac8f108190ca544e00024edead840
|
||||
Author: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Date: Wed Feb 7 14:25:32 2024 +0200
|
||||
|
||||
Fix an assert on multidim array constructors
|
||||
|
||||
Fail early instead of asserting when trying to parse a
|
||||
multidimensional array constructor call with unsized
|
||||
argument array argument.
|
||||
|
||||
int A[];
|
||||
int B[int[][](A)];
|
||||
|
||||
Bug: angleproject:8519
|
||||
Change-Id: Iee2c70318eebd2def57ffab8db709d1076692922
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5272434
|
||||
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
|
||||
commit 7918168436578718b234bfd56da152e34a85af1d
|
||||
Author: Kelsey Gilbert <kelsey.gilbert@mozilla.com>
|
||||
Date: Tue Jun 4 15:37:29 2024 -0700
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue