Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit ae1b778

Browse files
jonahryandavisCommit Bot
authored andcommitted
Fix ANGLE_FEATURE_CONDITION style issue
Macro should end with a ; Bug: angleproject:3976 Change-Id: I4aaa146464d9d7e6230a3de44c30cfd1179a89ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864620 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1 parent 16944ed commit ae1b778

File tree

6 files changed

+103
-99
lines changed

6 files changed

+103
-99
lines changed

include/platform/Feature.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
#include <string>
1414
#include <vector>
1515

16-
#define ANGLE_FEATURE_CONDITION(set, feature, cond) \
17-
set->feature.enabled = cond; \
18-
set->feature.condition = ANGLE_STRINGIFY(cond);
16+
#define ANGLE_FEATURE_CONDITION(set, feature, cond) \
17+
do \
18+
{ \
19+
set->feature.enabled = cond; \
20+
set->feature.condition = ANGLE_STRINGIFY(cond); \
21+
} while (0)
1922

2023
namespace angle
2124
{

src/libANGLE/Display.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,8 +1421,8 @@ void Display::initVendorString()
14211421
void Display::initializeFrontendFeatures()
14221422
{
14231423
// Enable on all Impls
1424-
ANGLE_FEATURE_CONDITION((&mFrontendFeatures), loseContextOnOutOfMemory, true)
1425-
ANGLE_FEATURE_CONDITION((&mFrontendFeatures), scalarizeVecAndMatConstructorArgs, true)
1424+
ANGLE_FEATURE_CONDITION((&mFrontendFeatures), loseContextOnOutOfMemory, true);
1425+
ANGLE_FEATURE_CONDITION((&mFrontendFeatures), scalarizeVecAndMatConstructorArgs, true);
14261426

14271427
mImplementation->initializeFrontendFeatures(&mFrontendFeatures);
14281428

src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2418,63 +2418,63 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps,
24182418
// Disable the workaround to fix a second driver bug on newer NVIDIA.
24192419
ANGLE_FEATURE_CONDITION(
24202420
features, depthStencilBlitExtraCopy,
2421-
(part1 <= 13u && part2 < 6881) && isNvidia && driverVersionValid)
2421+
(part1 <= 13u && part2 < 6881) && isNvidia && driverVersionValid);
24222422
}
24232423
else
24242424
{
24252425
ANGLE_FEATURE_CONDITION(features, depthStencilBlitExtraCopy,
2426-
isNvidia && !driverVersionValid)
2426+
isNvidia && !driverVersionValid);
24272427
}
24282428
}
24292429

2430-
ANGLE_FEATURE_CONDITION(features, mrtPerfWorkaround, true)
2431-
ANGLE_FEATURE_CONDITION(features, zeroMaxLodWorkaround, isFeatureLevel9_3)
2432-
ANGLE_FEATURE_CONDITION(features, useInstancedPointSpriteEmulation, isFeatureLevel9_3)
2430+
ANGLE_FEATURE_CONDITION(features, mrtPerfWorkaround, true);
2431+
ANGLE_FEATURE_CONDITION(features, zeroMaxLodWorkaround, isFeatureLevel9_3);
2432+
ANGLE_FEATURE_CONDITION(features, useInstancedPointSpriteEmulation, isFeatureLevel9_3);
24332433

24342434
// TODO(jmadill): Disable workaround when we have a fixed compiler DLL.
2435-
ANGLE_FEATURE_CONDITION(features, expandIntegerPowExpressions, true)
2435+
ANGLE_FEATURE_CONDITION(features, expandIntegerPowExpressions, true);
24362436

2437-
ANGLE_FEATURE_CONDITION(features, flushAfterEndingTransformFeedback, isNvidia)
2438-
ANGLE_FEATURE_CONDITION(features, getDimensionsIgnoresBaseLevel, isNvidia)
2439-
ANGLE_FEATURE_CONDITION(features, skipVSConstantRegisterZero, isNvidia)
2440-
ANGLE_FEATURE_CONDITION(features, forceAtomicValueResolution, isNvidia)
2437+
ANGLE_FEATURE_CONDITION(features, flushAfterEndingTransformFeedback, isNvidia);
2438+
ANGLE_FEATURE_CONDITION(features, getDimensionsIgnoresBaseLevel, isNvidia);
2439+
ANGLE_FEATURE_CONDITION(features, skipVSConstantRegisterZero, isNvidia);
2440+
ANGLE_FEATURE_CONDITION(features, forceAtomicValueResolution, isNvidia);
24412441

2442-
ANGLE_FEATURE_CONDITION(features, preAddTexelFetchOffsets, isIntel)
2443-
ANGLE_FEATURE_CONDITION(features, useSystemMemoryForConstantBuffers, isIntel)
2442+
ANGLE_FEATURE_CONDITION(features, preAddTexelFetchOffsets, isIntel);
2443+
ANGLE_FEATURE_CONDITION(features, useSystemMemoryForConstantBuffers, isIntel);
24442444

24452445
ANGLE_FEATURE_CONDITION(features, callClearTwice,
2446-
isIntel && isSkylake && capsVersion < IntelDriverVersion(4771))
2446+
isIntel && isSkylake && capsVersion < IntelDriverVersion(4771));
24472447
ANGLE_FEATURE_CONDITION(features, emulateIsnanFloat,
2448-
isIntel && isSkylake && capsVersion < IntelDriverVersion(4542))
2448+
isIntel && isSkylake && capsVersion < IntelDriverVersion(4542));
24492449
ANGLE_FEATURE_CONDITION(
24502450
features, rewriteUnaryMinusOperator,
2451-
isIntel && (isBroadwell || isHaswell) && capsVersion < IntelDriverVersion(4624))
2451+
isIntel && (isBroadwell || isHaswell) && capsVersion < IntelDriverVersion(4624));
24522452

24532453
ANGLE_FEATURE_CONDITION(features, addDummyTextureNoRenderTarget,
2454-
isIntel && capsVersion < IntelDriverVersion(4815))
2454+
isIntel && capsVersion < IntelDriverVersion(4815));
24552455

24562456
// Haswell/Ivybridge drivers occasionally corrupt (small?) (vertex?) texture data uploads.
24572457
ANGLE_FEATURE_CONDITION(features, setDataFasterThanImageUpload,
2458-
!(isIvyBridge || isBroadwell || isHaswell))
2458+
!(isIvyBridge || isBroadwell || isHaswell));
24592459

24602460
ANGLE_FEATURE_CONDITION(features, disableB5G6R5Support,
2461-
(isIntel && capsVersion < IntelDriverVersion(4539)) || isAMD)
2461+
(isIntel && capsVersion < IntelDriverVersion(4539)) || isAMD);
24622462

24632463
// TODO(jmadill): Disable when we have a fixed driver version.
24642464
// The tiny stencil texture workaround involves using CopySubresource or UpdateSubresource on a
24652465
// depth stencil texture. This is not allowed until feature level 10.1 but since it is not
24662466
// possible to support ES3 on these devices, there is no need for the workaround to begin with
24672467
// (anglebug.com/1572).
24682468
ANGLE_FEATURE_CONDITION(features, emulateTinyStencilTextures,
2469-
isAMD && !(deviceCaps.featureLevel < D3D_FEATURE_LEVEL_10_1))
2469+
isAMD && !(deviceCaps.featureLevel < D3D_FEATURE_LEVEL_10_1));
24702470

24712471
// If the VPAndRTArrayIndexFromAnyShaderFeedingRasterizer feature is not available, we have to
24722472
// select the viewport / RT array index in the geometry shader.
24732473
ANGLE_FEATURE_CONDITION(features, selectViewInGeometryShader,
2474-
!deviceCaps.supportsVpRtIndexWriteFromVertexShader)
2474+
!deviceCaps.supportsVpRtIndexWriteFromVertexShader);
24752475

24762476
// Never clear for robust resource init. This matches Chrome's texture clearning behaviour.
2477-
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, false)
2477+
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, false);
24782478

24792479
// Call platform hooks for testing overrides.
24802480
auto *platform = ANGLEPlatformCurrent();

src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -805,15 +805,15 @@ void MakeValidSize(bool isImage,
805805

806806
void InitializeFeatures(angle::FeaturesD3D *features)
807807
{
808-
ANGLE_FEATURE_CONDITION(features, mrtPerfWorkaround, true)
809-
ANGLE_FEATURE_CONDITION(features, setDataFasterThanImageUpload, false)
810-
ANGLE_FEATURE_CONDITION(features, useInstancedPointSpriteEmulation, false)
808+
ANGLE_FEATURE_CONDITION(features, mrtPerfWorkaround, true);
809+
ANGLE_FEATURE_CONDITION(features, setDataFasterThanImageUpload, false);
810+
ANGLE_FEATURE_CONDITION(features, useInstancedPointSpriteEmulation, false);
811811

812812
// TODO(jmadill): Disable workaround when we have a fixed compiler DLL.
813-
ANGLE_FEATURE_CONDITION(features, expandIntegerPowExpressions, true)
813+
ANGLE_FEATURE_CONDITION(features, expandIntegerPowExpressions, true);
814814

815815
// Never clear for robust resource init. This matches Chrome's texture clearning behaviour.
816-
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, false)
816+
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, false);
817817

818818
// Call platform hooks for testing overrides.
819819
auto *platform = ANGLEPlatformCurrent();

src/libANGLE/renderer/gl/renderergl_utils.cpp

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,122 +1460,122 @@ void InitializeFeatures(const FunctionsGL *functions, angle::FeaturesGL *feature
14601460

14611461
// Don't use 1-bit alpha formats on desktop GL with AMD drivers.
14621462
ANGLE_FEATURE_CONDITION(features, avoid1BitAlphaTextureFormats,
1463-
functions->standard == STANDARD_GL_DESKTOP && isAMD)
1463+
functions->standard == STANDARD_GL_DESKTOP && isAMD);
14641464

14651465
ANGLE_FEATURE_CONDITION(features, rgba4IsNotSupportedForColorRendering,
1466-
functions->standard == STANDARD_GL_DESKTOP && isIntel)
1466+
functions->standard == STANDARD_GL_DESKTOP && isIntel);
14671467

1468-
ANGLE_FEATURE_CONDITION(features, emulateAbsIntFunction, isIntel)
1468+
ANGLE_FEATURE_CONDITION(features, emulateAbsIntFunction, isIntel);
14691469

1470-
ANGLE_FEATURE_CONDITION(features, addAndTrueToLoopCondition, isIntel)
1470+
ANGLE_FEATURE_CONDITION(features, addAndTrueToLoopCondition, isIntel);
14711471

1472-
ANGLE_FEATURE_CONDITION(features, emulateIsnanFloat, isIntel)
1472+
ANGLE_FEATURE_CONDITION(features, emulateIsnanFloat, isIntel);
14731473

14741474
ANGLE_FEATURE_CONDITION(features, doesSRGBClearsOnLinearFramebufferAttachments,
1475-
functions->standard == STANDARD_GL_DESKTOP && (isIntel || isAMD))
1475+
functions->standard == STANDARD_GL_DESKTOP && (isIntel || isAMD));
14761476

14771477
ANGLE_FEATURE_CONDITION(features, emulateMaxVertexAttribStride,
1478-
IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD)
1478+
IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD);
14791479
ANGLE_FEATURE_CONDITION(
14801480
features, useUnusedBlocksWithStandardOrSharedLayout,
1481-
(IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD))
1481+
(IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD));
14821482

1483-
ANGLE_FEATURE_CONDITION(features, doWhileGLSLCausesGPUHang, IsApple())
1484-
ANGLE_FEATURE_CONDITION(features, rewriteFloatUnaryMinusOperator, IsApple() && isIntel)
1483+
ANGLE_FEATURE_CONDITION(features, doWhileGLSLCausesGPUHang, IsApple());
1484+
ANGLE_FEATURE_CONDITION(features, rewriteFloatUnaryMinusOperator, IsApple() && isIntel);
14851485

1486-
ANGLE_FEATURE_CONDITION(features, addBaseVertexToVertexID, IsApple() && isAMD)
1486+
ANGLE_FEATURE_CONDITION(features, addBaseVertexToVertexID, IsApple() && isAMD);
14871487

14881488
// Triggers a bug on Marshmallow Adreno (4xx?) driver.
14891489
// http://anglebug.com/2046
1490-
ANGLE_FEATURE_CONDITION(features, dontInitializeUninitializedLocals, IsAndroid() && isQualcomm)
1490+
ANGLE_FEATURE_CONDITION(features, dontInitializeUninitializedLocals, IsAndroid() && isQualcomm);
14911491

14921492
ANGLE_FEATURE_CONDITION(features, finishDoesNotCauseQueriesToBeAvailable,
1493-
functions->standard == STANDARD_GL_DESKTOP && isNvidia)
1493+
functions->standard == STANDARD_GL_DESKTOP && isNvidia);
14941494

14951495
// TODO(cwallez): Disable this workaround for MacOSX versions 10.9 or later.
1496-
ANGLE_FEATURE_CONDITION(features, alwaysCallUseProgramAfterLink, true)
1496+
ANGLE_FEATURE_CONDITION(features, alwaysCallUseProgramAfterLink, true);
14971497

1498-
ANGLE_FEATURE_CONDITION(features, unpackOverlappingRowsSeparatelyUnpackBuffer, isNvidia)
1499-
ANGLE_FEATURE_CONDITION(features, packOverlappingRowsSeparatelyPackBuffer, isNvidia)
1498+
ANGLE_FEATURE_CONDITION(features, unpackOverlappingRowsSeparatelyUnpackBuffer, isNvidia);
1499+
ANGLE_FEATURE_CONDITION(features, packOverlappingRowsSeparatelyPackBuffer, isNvidia);
15001500

1501-
ANGLE_FEATURE_CONDITION(features, initializeCurrentVertexAttributes, isNvidia)
1501+
ANGLE_FEATURE_CONDITION(features, initializeCurrentVertexAttributes, isNvidia);
15021502

15031503
ANGLE_FEATURE_CONDITION(features, unpackLastRowSeparatelyForPaddingInclusion,
1504-
IsApple() || isNvidia)
1504+
IsApple() || isNvidia);
15051505
ANGLE_FEATURE_CONDITION(features, packLastRowSeparatelyForPaddingInclusion,
1506-
IsApple() || isNvidia)
1506+
IsApple() || isNvidia);
15071507

15081508
ANGLE_FEATURE_CONDITION(features, removeInvariantAndCentroidForESSL3,
15091509
functions->isAtMostGL(gl::Version(4, 1)) ||
1510-
(functions->standard == STANDARD_GL_DESKTOP && isAMD))
1510+
(functions->standard == STANDARD_GL_DESKTOP && isAMD));
15111511

15121512
// TODO(oetuaho): Make this specific to the affected driver versions. Versions that came after
15131513
// 364 are known to be affected, at least up to 375.
1514-
ANGLE_FEATURE_CONDITION(features, emulateAtan2Float, isNvidia)
1514+
ANGLE_FEATURE_CONDITION(features, emulateAtan2Float, isNvidia);
15151515

15161516
ANGLE_FEATURE_CONDITION(features, reapplyUBOBindingsAfterUsingBinaryProgram,
1517-
isAMD || IsAndroid())
1517+
isAMD || IsAndroid());
15181518

1519-
ANGLE_FEATURE_CONDITION(features, rewriteVectorScalarArithmetic, isNvidia)
1519+
ANGLE_FEATURE_CONDITION(features, rewriteVectorScalarArithmetic, isNvidia);
15201520

15211521
// TODO(oetuaho): Make this specific to the affected driver versions. Versions at least up to
15221522
// 390 are known to be affected. Versions after that are expected not to be affected.
1523-
ANGLE_FEATURE_CONDITION(features, clampFragDepth, isNvidia)
1523+
ANGLE_FEATURE_CONDITION(features, clampFragDepth, isNvidia);
15241524

15251525
// TODO(oetuaho): Make this specific to the affected driver versions. Versions since 397.31 are
15261526
// not affected.
1527-
ANGLE_FEATURE_CONDITION(features, rewriteRepeatedAssignToSwizzled, isNvidia)
1527+
ANGLE_FEATURE_CONDITION(features, rewriteRepeatedAssignToSwizzled, isNvidia);
15281528

15291529
// TODO(jmadill): Narrow workaround range for specific devices.
15301530

1531-
ANGLE_FEATURE_CONDITION(features, clampPointSize, IsAndroid() || isNvidia)
1531+
ANGLE_FEATURE_CONDITION(features, clampPointSize, IsAndroid() || isNvidia);
15321532

1533-
ANGLE_FEATURE_CONDITION(features, dontUseLoopsToInitializeVariables, IsAndroid() && !isNvidia)
1533+
ANGLE_FEATURE_CONDITION(features, dontUseLoopsToInitializeVariables, IsAndroid() && !isNvidia);
15341534

1535-
ANGLE_FEATURE_CONDITION(features, disableBlendFuncExtended, isAMD || isIntel)
1535+
ANGLE_FEATURE_CONDITION(features, disableBlendFuncExtended, isAMD || isIntel);
15361536

15371537
ANGLE_FEATURE_CONDITION(features, unsizedsRGBReadPixelsDoesntTransform,
1538-
IsAndroid() && isQualcomm)
1538+
IsAndroid() && isQualcomm);
15391539

1540-
ANGLE_FEATURE_CONDITION(features, queryCounterBitsGeneratesErrors, IsNexus5X(vendor, device))
1540+
ANGLE_FEATURE_CONDITION(features, queryCounterBitsGeneratesErrors, IsNexus5X(vendor, device));
15411541

15421542
ANGLE_FEATURE_CONDITION(features, dontRelinkProgramsInParallel,
1543-
IsAndroid() || (IsWindows() && isIntel))
1543+
IsAndroid() || (IsWindows() && isIntel));
15441544

15451545
// TODO(jie.a.chen@intel.com): Clean up the bugs.
15461546
// anglebug.com/3031
15471547
// crbug.com/922936
15481548
ANGLE_FEATURE_CONDITION(features, disableWorkerContexts,
1549-
(IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia))
1549+
(IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia));
15501550

15511551
ANGLE_FEATURE_CONDITION(features, limitMaxTextureSizeTo4096,
1552-
IsAndroid() || (isIntel && IsLinux()))
1553-
ANGLE_FEATURE_CONDITION(features, limitMaxMSAASamplesTo4, IsAndroid())
1554-
ANGLE_FEATURE_CONDITION(features, limitMax3dArrayTextureSizeTo1024, isIntel && IsLinux())
1552+
IsAndroid() || (isIntel && IsLinux()));
1553+
ANGLE_FEATURE_CONDITION(features, limitMaxMSAASamplesTo4, IsAndroid());
1554+
ANGLE_FEATURE_CONDITION(features, limitMax3dArrayTextureSizeTo1024, isIntel && IsLinux());
15551555

1556-
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, IsApple())
1556+
ANGLE_FEATURE_CONDITION(features, allowClearForRobustResourceInit, IsApple());
15571557

15581558
// The WebGL conformance/uniforms/out-of-bounds-uniform-array-access test has been seen to fail
15591559
// on AMD and Android devices.
1560-
ANGLE_FEATURE_CONDITION(features, clampArrayAccess, IsAndroid() || isAMD)
1560+
ANGLE_FEATURE_CONDITION(features, clampArrayAccess, IsAndroid() || isAMD);
15611561

15621562
ANGLE_FEATURE_CONDITION(features, resetTexImage2DBaseLevel,
1563-
IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4))
1563+
IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4));
15641564

15651565
ANGLE_FEATURE_CONDITION(features, clearToZeroOrOneBroken,
1566-
IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6))
1566+
IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6));
15671567

15681568
ANGLE_FEATURE_CONDITION(features, adjustSrcDstRegionBlitFramebuffer,
1569-
IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia))
1569+
IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia));
15701570

1571-
ANGLE_FEATURE_CONDITION(features, clipSrcRegionBlitFramebuffer, IsApple())
1571+
ANGLE_FEATURE_CONDITION(features, clipSrcRegionBlitFramebuffer, IsApple());
15721572

15731573
ANGLE_FEATURE_CONDITION(features, resettingTexturesGeneratesErrors,
1574-
IsApple() || (IsWindows() && isAMD))
1574+
IsApple() || (IsWindows() && isAMD));
15751575

1576-
ANGLE_FEATURE_CONDITION(features, rgbDXT1TexturesSampleZeroAlpha, IsApple())
1576+
ANGLE_FEATURE_CONDITION(features, rgbDXT1TexturesSampleZeroAlpha, IsApple());
15771577

1578-
ANGLE_FEATURE_CONDITION(features, unfoldShortCircuits, IsApple())
1578+
ANGLE_FEATURE_CONDITION(features, unfoldShortCircuits, IsApple());
15791579
}
15801580

15811581
void InitializeFrontendFeatures(const FunctionsGL *functions, angle::FrontendFeatures *features)
@@ -1585,8 +1585,8 @@ void InitializeFrontendFeatures(const FunctionsGL *functions, angle::FrontendFea
15851585
bool isQualcomm = IsQualcomm(vendor);
15861586

15871587
ANGLE_FEATURE_CONDITION(features, disableProgramCachingForTransformFeedback,
1588-
IsAndroid() && isQualcomm)
1589-
ANGLE_FEATURE_CONDITION(features, syncFramebufferBindingsOnTexImage, IsWindows() && isIntel)
1588+
IsAndroid() && isQualcomm);
1589+
ANGLE_FEATURE_CONDITION(features, syncFramebufferBindingsOnTexImage, IsWindows() && isIntel);
15901590
}
15911591

15921592
} // namespace nativegl_gl

0 commit comments

Comments
 (0)