diff --git a/.gitattributes b/.gitattributes index 196f35370..558de888e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,4 @@ *.rc eol=crlf **/compiled/*.h eol=crlf *.sh eol=lf +*.gn eol=lf diff --git a/BUILD.gn b/BUILD.gn index f7a36a930..d360ea785 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -59,10 +59,7 @@ if (is_win) { } } -angle_undefine_configs = [ - "//build/config/compiler:chromium_code", - "//build/config/compiler:default_include_dirs", -] +angle_undefine_configs = [ "//build/config/compiler:default_include_dirs" ] component("translator") { sources = [ @@ -73,10 +70,7 @@ component("translator") { defines = [ "ANGLE_TRANSLATOR_IMPLEMENTATION" ] configs -= angle_undefine_configs - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] + configs += [ ":internal_config" ] public_deps = [ ":translator_lib", @@ -105,10 +99,7 @@ static_library("preprocessor") { sources = rebase_path(compiler_gypi.angle_preprocessor_sources, ".", "src") configs -= angle_undefine_configs - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] + configs += [ ":internal_config" ] } config("translator_static_config") { @@ -139,7 +130,6 @@ static_library("angle_common") { ":angle_common_config", ":debug_annotations_config", ":internal_config", - "//build/config/compiler:no_chromium_code", ] public_deps = [ @@ -162,10 +152,7 @@ static_library("angle_image_util") { sources = rebase_path(gles_gypi.libangle_image_util_sources, ".", "src") configs -= angle_undefine_configs - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] + configs += [ ":internal_config" ] public_configs = [ ":angle_image_util_config" ] @@ -199,7 +186,6 @@ static_library("translator_lib") { configs += [ ":internal_config", ":translator_static_config", - "//build/config/compiler:no_chromium_code", ] public_configs = [ ":external_config" ] @@ -211,6 +197,12 @@ static_library("translator_lib") { public_deps = [ ":angle_common", ] + + if (is_win) { + # Necessary to suppress some system header xtree warnigns in Release. + # For some reason this warning doesn't get triggered in Chromium + cflags = [ "/wd4718" ] + } } static_library("translator_static") { @@ -224,10 +216,7 @@ static_library("translator_static") { } configs -= angle_undefine_configs - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] + configs += [ ":internal_config" ] public_configs = [ ":translator_static_config" ] public_deps = [ @@ -394,12 +383,12 @@ static_library("libANGLE") { } configs -= angle_undefine_configs + configs += [ ":commit_id_config", ":debug_annotations_config", ":libANGLE_config", ":internal_config", - "//build/config/compiler:no_chromium_code", ] if (is_win) { @@ -413,7 +402,10 @@ config("shared_library_public_config") { if (is_mac && !is_component_build) { # Executable targets that depend on the shared libraries below need to have # the rpath setup in non-component build configurations. - ldflags = [ "-rpath", "@executable_path/" ] + ldflags = [ + "-rpath", + "@executable_path/", + ] } } @@ -426,7 +418,10 @@ shared_library("libGLESv2") { } if (is_mac && !is_component_build) { - ldflags = [ "-install_name", "@rpath/${target_name}.dylib" ] + ldflags = [ + "-install_name", + "@rpath/${target_name}.dylib", + ] public_configs = [ ":shared_library_public_config" ] } @@ -436,7 +431,6 @@ shared_library("libGLESv2") { ":commit_id_config", ":debug_annotations_config", ":libANGLE_config", - "//build/config/compiler:no_chromium_code", ] defines = [ "LIBGLESV2_IMPLEMENTATION" ] @@ -455,7 +449,10 @@ shared_library("libEGL") { } if (is_mac && !is_component_build) { - ldflags = [ "-install_name", "@rpath/${target_name}.dylib" ] + ldflags = [ + "-install_name", + "@rpath/${target_name}.dylib", + ] public_configs = [ ":shared_library_public_config" ] } @@ -465,7 +462,6 @@ shared_library("libEGL") { ":commit_id_config", ":debug_annotations_config", ":libANGLE_config", - "//build/config/compiler:no_chromium_code", ] defines = [ "LIBEGL_IMPLEMENTATION" ] diff --git a/build/common_defines.gypi b/build/common_defines.gypi index 9a86ec8e9..1e0d312de 100644 --- a/build/common_defines.gypi +++ b/build/common_defines.gypi @@ -38,11 +38,7 @@ [ 4100, # Unreferenced formal parameter. Not interesting. 4127, # conditional expression is constant. Too noisy to be useful. - - # TODO: 4702 doesn't fire on xtree in VS2015 (CTP6). We can remove C4702 after moving to VS2015. - 4702, # Unreachable code. Should only fire on system header xtree. - - 4718, # Recursive call has no side effects. Fires on xtree too. + 4718, # Recursive call has no side effects. Fires on xtree system header. ], 'conditions': [ diff --git a/src/compiler/translator/Intermediate.cpp b/src/compiler/translator/Intermediate.cpp index 0adb7212b..db6475895 100644 --- a/src/compiler/translator/Intermediate.cpp +++ b/src/compiler/translator/Intermediate.cpp @@ -503,6 +503,4 @@ TIntermTyped *TIntermediate::foldAggregateBuiltIn(TIntermAggregate *aggregate) // Constant folding not supported for the built-in. return nullptr; } - - return nullptr; } diff --git a/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp b/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp index d00d831c7..b8b0e45c4 100644 --- a/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp +++ b/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp @@ -24,15 +24,16 @@ namespace bool ImageIndexConflictsWithSRV(const gl::ImageIndex &index, D3D11_SHADER_RESOURCE_VIEW_DESC desc) { unsigned mipLevel = index.mipIndex; - unsigned layerIndex = index.layerIndex; + GLint layerIndex = index.layerIndex; GLenum type = index.type; switch (desc.ViewDimension) { case D3D11_SRV_DIMENSION_TEXTURE2D: { - unsigned maxSrvMip = desc.Texture2D.MipLevels + desc.Texture2D.MostDetailedMip; - maxSrvMip = (desc.Texture2D.MipLevels == -1) ? INT_MAX : maxSrvMip; + bool allLevels = (desc.Texture2D.MipLevels == std::numeric_limits::max()); + unsigned int maxSrvMip = desc.Texture2D.MipLevels + desc.Texture2D.MostDetailedMip; + maxSrvMip = allLevels ? INT_MAX : maxSrvMip; unsigned mipMin = index.mipIndex; unsigned mipMax = (layerIndex == -1) ? INT_MAX : layerIndex; @@ -44,22 +45,25 @@ bool ImageIndexConflictsWithSRV(const gl::ImageIndex &index, D3D11_SHADER_RESOUR case D3D11_SRV_DIMENSION_TEXTURE2DARRAY: { - unsigned maxSrvMip = + bool allLevels = (desc.Texture2DArray.MipLevels == std::numeric_limits::max()); + unsigned int maxSrvMip = desc.Texture2DArray.MipLevels + desc.Texture2DArray.MostDetailedMip; - maxSrvMip = (desc.Texture2DArray.MipLevels == -1) ? INT_MAX : maxSrvMip; + maxSrvMip = allLevels ? INT_MAX : maxSrvMip; unsigned maxSlice = desc.Texture2DArray.FirstArraySlice + desc.Texture2DArray.ArraySize; // Cube maps can be mapped to Texture2DArray SRVs return (type == GL_TEXTURE_2D_ARRAY || gl::IsCubeMapTextureTarget(type)) && desc.Texture2DArray.MostDetailedMip <= mipLevel && mipLevel < maxSrvMip && - desc.Texture2DArray.FirstArraySlice <= layerIndex && layerIndex < maxSlice; + desc.Texture2DArray.FirstArraySlice <= static_cast(layerIndex) && + static_cast(layerIndex) < maxSlice; } case D3D11_SRV_DIMENSION_TEXTURECUBE: { - unsigned maxSrvMip = desc.TextureCube.MipLevels + desc.TextureCube.MostDetailedMip; - maxSrvMip = (desc.TextureCube.MipLevels == -1) ? INT_MAX : maxSrvMip; + bool allLevels = (desc.TextureCube.MipLevels == std::numeric_limits::max()); + unsigned int maxSrvMip = desc.TextureCube.MipLevels + desc.TextureCube.MostDetailedMip; + maxSrvMip = allLevels ? INT_MAX : maxSrvMip; return gl::IsCubeMapTextureTarget(type) && desc.TextureCube.MostDetailedMip <= mipLevel && mipLevel < maxSrvMip; @@ -67,8 +71,9 @@ bool ImageIndexConflictsWithSRV(const gl::ImageIndex &index, D3D11_SHADER_RESOUR case D3D11_SRV_DIMENSION_TEXTURE3D: { - unsigned maxSrvMip = desc.Texture3D.MipLevels + desc.Texture3D.MostDetailedMip; - maxSrvMip = (desc.Texture3D.MipLevels == -1) ? INT_MAX : maxSrvMip; + bool allLevels = (desc.Texture3D.MipLevels == std::numeric_limits::max()); + unsigned int maxSrvMip = desc.Texture3D.MipLevels + desc.Texture3D.MostDetailedMip; + maxSrvMip = allLevels ? INT_MAX : maxSrvMip; return type == GL_TEXTURE_3D && desc.Texture3D.MostDetailedMip <= mipLevel && mipLevel < maxSrvMip; diff --git a/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp index 81c6f39b4..6b5172b27 100644 --- a/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp +++ b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp @@ -2091,11 +2091,11 @@ void TextureStorage11_Cube::associateImage(Image11 *image, const gl::ImageIndex const GLint layerTarget = index.layerIndex; ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); + ASSERT(0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) + if (0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)) { mAssociatedImages[layerTarget][level] = image; } @@ -2110,7 +2110,7 @@ bool TextureStorage11_Cube::isAssociatedImageValid(const gl::ImageIndex &index, if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) + if (0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)) { // This validation check should never return false. It means the Image/TextureStorage // association is broken. @@ -2130,11 +2130,11 @@ void TextureStorage11_Cube::disassociateImage(const gl::ImageIndex &index, Image const GLint layerTarget = index.layerIndex; ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); + ASSERT(0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) + if (0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)) { ASSERT(mAssociatedImages[layerTarget][level] == expectedImage); @@ -2155,11 +2155,11 @@ gl::Error TextureStorage11_Cube::releaseAssociatedImage(const gl::ImageIndex &in const GLint layerTarget = index.layerIndex; ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); + ASSERT(0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)); if ((0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS)) { - if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) + if (0 <= layerTarget && layerTarget < static_cast(CUBE_FACE_COUNT)) { // No need to let the old Image recover its data, if it is also the incoming Image. if (mAssociatedImages[layerTarget][level] != nullptr && @@ -2324,7 +2324,7 @@ gl::Error TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index, const int level = index.mipIndex; ASSERT(level >= 0 && level < getLevelCount()); - ASSERT(faceIndex >= 0 && faceIndex < CUBE_FACE_COUNT); + ASSERT(faceIndex >= 0 && faceIndex < static_cast(CUBE_FACE_COUNT)); if (!mRenderTarget[faceIndex][level]) { diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp index 320dca63b..f2f6fc09f 100644 --- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp @@ -797,7 +797,7 @@ static size_t GetMaximumVertexUniformBlocks(D3D_FEATURE_LEVEL featureLevel) static size_t GetReservedVertexOutputVectors(D3D_FEATURE_LEVEL featureLevel) { - // According to The OpenGL ES Shading Language specifications + // According to The OpenGL ES Shading Language specifications // (Language Version 1.00 section 10.16, Language Version 3.10 section 12.21) // built-in special variables (e.g. gl_FragCoord, or gl_PointCoord) // which are statically used in the shader should be included in the variable packing algorithm. @@ -820,8 +820,6 @@ static size_t GetReservedVertexOutputVectors(D3D_FEATURE_LEVEL featureLevel) default: UNREACHABLE(); return 0; } - - return 1; } static size_t GetMaximumVertexOutputVectors(D3D_FEATURE_LEVEL featureLevel) diff --git a/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp index 4484fccfe..b61809050 100644 --- a/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp +++ b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp @@ -335,7 +335,7 @@ EGLint SwapChain9::swapRect(EGLint x, EGLint y, EGLint width, EGLint height) // On Windows 8 systems, IDirect3DSwapChain9::Present sometimes returns 0x88760873 when the windows is // in the process of entering/exiting fullscreen. This code doesn't seem to have any documentation. The // device appears to be ok after emitting this error so simply return a failure to swap. - if (result == 0x88760873) + if (result == static_cast(0x88760873)) { return EGL_BAD_MATCH; } diff --git a/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp index b28d5076b..fc8c39271 100644 --- a/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp +++ b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp @@ -434,7 +434,7 @@ TextureStorage9_Cube::TextureStorage9_Cube(Renderer9 *renderer, GLenum internalf : TextureStorage9(renderer, GetTextureUsage(internalformat, renderTarget)) { mTexture = NULL; - for (int i = 0; i < CUBE_FACE_COUNT; ++i) + for (size_t i = 0; i < CUBE_FACE_COUNT; ++i) { mRenderTarget[i] = NULL; } @@ -455,7 +455,7 @@ TextureStorage9_Cube::~TextureStorage9_Cube() { SafeRelease(mTexture); - for (int i = 0; i < CUBE_FACE_COUNT; ++i) + for (size_t i = 0; i < CUBE_FACE_COUNT; ++i) { SafeDelete(mRenderTarget[i]); } @@ -499,7 +499,7 @@ gl::Error TextureStorage9_Cube::getRenderTarget(const gl::ImageIndex &index, Ren { ASSERT(outRT); ASSERT(index.mipIndex == 0); - ASSERT(index.layerIndex >= 0 && index.layerIndex < CUBE_FACE_COUNT); + ASSERT(index.layerIndex >= 0 && static_cast(index.layerIndex) < CUBE_FACE_COUNT); if (mRenderTarget[index.layerIndex] == NULL && isRenderTarget()) { @@ -586,7 +586,7 @@ gl::Error TextureStorage9_Cube::copyToStorage(TextureStorage *destStorage) TextureStorage9_Cube *dest9 = GetAs(destStorage); int levels = getLevelCount(); - for (int f = 0; f < CUBE_FACE_COUNT; f++) + for (int f = 0; f < static_cast(CUBE_FACE_COUNT); f++) { for (int i = 0; i < levels; i++) { diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp index 3f5b0cd59..8acf7da5f 100644 --- a/src/libANGLE/validationES2.cpp +++ b/src/libANGLE/validationES2.cpp @@ -1599,8 +1599,6 @@ static bool ValidateObjectIdentifierAndName(Context *context, GLenum identifier, context->handleError(Error(GL_INVALID_ENUM, "Invalid identifier.")); return false; } - - return true; } bool ValidateObjectLabelKHR(Context *context,