Skip to content

Commit

Permalink
Re-land "GN: Enable chromium_code config instead."
Browse files Browse the repository at this point in the history
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.

Re-land with fix for Clang build.

BUG=angleproject:1449

Change-Id: I8988287d630a6258f2f9ee90e7bfef5f2d5799cd
Reviewed-on: https://chromium-review.googlesource.com/361331
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
  • Loading branch information
null77 authored and Commit Bot committed Jul 18, 2016
1 parent ae41faf commit a8503ce
Show file tree
Hide file tree
Showing 10 changed files with 55 additions and 63 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Expand Up @@ -6,3 +6,4 @@
*.rc eol=crlf
**/compiled/*.h eol=crlf
*.sh eol=lf
*.gn eol=lf
52 changes: 24 additions & 28 deletions BUILD.gn
Expand Up @@ -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 = [
Expand All @@ -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",
Expand Down Expand Up @@ -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") {
Expand Down Expand Up @@ -139,7 +130,6 @@ static_library("angle_common") {
":angle_common_config",
":debug_annotations_config",
":internal_config",
"//build/config/compiler:no_chromium_code",
]

public_deps = [
Expand All @@ -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" ]

Expand Down Expand Up @@ -199,7 +186,6 @@ static_library("translator_lib") {
configs += [
":internal_config",
":translator_static_config",
"//build/config/compiler:no_chromium_code",
]
public_configs = [ ":external_config" ]

Expand All @@ -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") {
Expand All @@ -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 = [
Expand Down Expand Up @@ -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) {
Expand All @@ -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/",
]
}
}

Expand All @@ -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" ]
}

Expand All @@ -436,7 +431,6 @@ shared_library("libGLESv2") {
":commit_id_config",
":debug_annotations_config",
":libANGLE_config",
"//build/config/compiler:no_chromium_code",
]

defines = [ "LIBGLESV2_IMPLEMENTATION" ]
Expand All @@ -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" ]
}

Expand All @@ -465,7 +462,6 @@ shared_library("libEGL") {
":commit_id_config",
":debug_annotations_config",
":libANGLE_config",
"//build/config/compiler:no_chromium_code",
]

defines = [ "LIBEGL_IMPLEMENTATION" ]
Expand Down
6 changes: 1 addition & 5 deletions build/common_defines.gypi
Expand Up @@ -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':
[
Expand Down
2 changes: 0 additions & 2 deletions src/compiler/translator/Intermediate.cpp
Expand Up @@ -503,6 +503,4 @@ TIntermTyped *TIntermediate::foldAggregateBuiltIn(TIntermAggregate *aggregate)
// Constant folding not supported for the built-in.
return nullptr;
}

return nullptr;
}
25 changes: 15 additions & 10 deletions src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
Expand Up @@ -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<UINT>::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;
Expand All @@ -44,31 +45,35 @@ bool ImageIndexConflictsWithSRV(const gl::ImageIndex &index, D3D11_SHADER_RESOUR

case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
{
unsigned maxSrvMip =
bool allLevels = (desc.Texture2DArray.MipLevels == std::numeric_limits<UINT>::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<UINT>(layerIndex) &&
static_cast<UINT>(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<UINT>::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;
}

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<UINT>::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;
Expand Down
16 changes: 8 additions & 8 deletions src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
Expand Up @@ -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<GLint>(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<GLint>(CUBE_FACE_COUNT))
{
mAssociatedImages[layerTarget][level] = image;
}
Expand All @@ -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<GLint>(CUBE_FACE_COUNT))
{
// This validation check should never return false. It means the Image/TextureStorage
// association is broken.
Expand All @@ -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<GLint>(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<GLint>(CUBE_FACE_COUNT))
{
ASSERT(mAssociatedImages[layerTarget][level] == expectedImage);

Expand All @@ -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<GLint>(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<GLint>(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 &&
Expand Down Expand Up @@ -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<GLint>(CUBE_FACE_COUNT));

if (!mRenderTarget[faceIndex][level])
{
Expand Down
4 changes: 1 addition & 3 deletions src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
Expand Up @@ -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.
Expand All @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp
Expand Up @@ -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<HRESULT>(0x88760873))
{
return EGL_BAD_MATCH;
}
Expand Down
8 changes: 4 additions & 4 deletions src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp
Expand Up @@ -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;
}
Expand All @@ -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]);
}
Expand Down Expand Up @@ -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<size_t>(index.layerIndex) < CUBE_FACE_COUNT);

if (mRenderTarget[index.layerIndex] == NULL && isRenderTarget())
{
Expand Down Expand Up @@ -586,7 +586,7 @@ gl::Error TextureStorage9_Cube::copyToStorage(TextureStorage *destStorage)
TextureStorage9_Cube *dest9 = GetAs<TextureStorage9_Cube>(destStorage);

int levels = getLevelCount();
for (int f = 0; f < CUBE_FACE_COUNT; f++)
for (int f = 0; f < static_cast<int>(CUBE_FACE_COUNT); f++)
{
for (int i = 0; i < levels; i++)
{
Expand Down
2 changes: 0 additions & 2 deletions src/libANGLE/validationES2.cpp
Expand Up @@ -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,
Expand Down

0 comments on commit a8503ce

Please sign in to comment.