Fix Chromium build.
Change-Id: If8871d9286ef7c4d09fd075ad5c7b707079158dd
Reviewed-on: https://swiftshader-review.googlesource.com/17108
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4caad12..834d4c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,6 +150,8 @@
else()
set_cpp_flag("--std=c++11")
set_cpp_flag("-Wall")
+ set_cpp_flag("-Werror=reorder")
+ set_cpp_flag("-Werror=sign-compare")
set_cpp_flag("-fno-exceptions")
# Don't allow symbols to be overridden by another module.
diff --git a/src/OpenGL/compiler/SymbolTable.cpp b/src/OpenGL/compiler/SymbolTable.cpp
index 2a285fc..3e6cae8 100644
--- a/src/OpenGL/compiler/SymbolTable.cpp
+++ b/src/OpenGL/compiler/SymbolTable.cpp
@@ -34,9 +34,9 @@
int TSymbolTableLevel::uniqueId = 0;
TType::TType(const TPublicType &p) :
- type(p.type), precision(p.precision), qualifier(p.qualifier), layoutQualifier(p.layoutQualifier),
+ type(p.type), precision(p.precision), qualifier(p.qualifier),
primarySize(p.primarySize), secondarySize(p.secondarySize), array(p.array), arraySize(p.arraySize), maxArraySize(0),
- arrayInformationType(0), interfaceBlock(0), structure(0), mangled(0)
+ arrayInformationType(0), interfaceBlock(0), layoutQualifier(p.layoutQualifier), structure(0), mangled(0)
{
if (p.userDef)
{
diff --git a/src/OpenGL/compiler/Types.h b/src/OpenGL/compiler/Types.h
index 6c82f80..5318e39 100644
--- a/src/OpenGL/compiler/Types.h
+++ b/src/OpenGL/compiler/Types.h
@@ -240,35 +240,38 @@
{
public:
POOL_ALLOCATOR_NEW_DELETE();
+
TType(TBasicType t, int s0 = 1, int s1 = 1) :
- type(t), precision(EbpUndefined), qualifier(EvqGlobal), layoutQualifier(TLayoutQualifier::create()),
- primarySize(s0), secondarySize(s1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
+ type(t), precision(EbpUndefined), qualifier(EvqGlobal),
+ primarySize(s0), secondarySize(s1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
structure(0), mangled(0)
{
}
+
TType(TBasicType t, TPrecision p, TQualifier q = EvqTemporary, int s0 = 1, int s1 = 1, bool a = false) :
- type(t), precision(p), qualifier(q), layoutQualifier(TLayoutQualifier::create()),
- primarySize(s0), secondarySize(s1), array(a), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
+ type(t), precision(p), qualifier(q),
+ primarySize(s0), secondarySize(s1), array(a), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
structure(0), mangled(0)
{
}
- explicit TType(const TPublicType &p);
+
TType(TStructure* userDef, TPrecision p = EbpUndefined) :
- type(EbtStruct), precision(p), qualifier(EvqTemporary), layoutQualifier(TLayoutQualifier::create()),
- primarySize(1), secondarySize(1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
- structure(userDef),mangled(0)
+ type(EbtStruct), precision(p), qualifier(EvqTemporary),
+ primarySize(1), secondarySize(1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
+ structure(userDef), mangled(0)
{
}
TType(TInterfaceBlock *interfaceBlockIn, TQualifier qualifierIn,
TLayoutQualifier layoutQualifierIn, int arraySizeIn)
: type(EbtInterfaceBlock), precision(EbpUndefined), qualifier(qualifierIn),
- layoutQualifier(layoutQualifierIn),
primarySize(1), secondarySize(1), array(arraySizeIn > 0), arraySize(arraySizeIn), maxArraySize(0), arrayInformationType(0),
- interfaceBlock(interfaceBlockIn), structure(0), mangled(0)
+ interfaceBlock(interfaceBlockIn), layoutQualifier(layoutQualifierIn), structure(0), mangled(0)
{
}
+ explicit TType(const TPublicType &p);
+
TBasicType getBasicType() const { return type; }
void setBasicType(TBasicType t) { type = t; }
diff --git a/src/OpenGL/libGLES_CM/Context.cpp b/src/OpenGL/libGLES_CM/Context.cpp
index 635d256..ca2984c 100644
--- a/src/OpenGL/libGLES_CM/Context.cpp
+++ b/src/OpenGL/libGLES_CM/Context.cpp
@@ -2435,7 +2435,7 @@
sw::Rect rect = {x, y, x + width, y + height};
rect.clip(0, 0, renderTarget->getWidth(), renderTarget->getHeight());
- unsigned char *source = (unsigned char*)renderTarget->lock(rect.x0, rect.y0, sw::LOCK_READONLY);
+ unsigned char *source = (unsigned char*)renderTarget->lock(rect.x0, rect.y0, 0, sw::LOCK_READONLY);
unsigned char *dest = (unsigned char*)pixels;
int inputPitch = (int)renderTarget->getPitch();
diff --git a/src/OpenGL/libGLES_CM/Texture.cpp b/src/OpenGL/libGLES_CM/Texture.cpp
index 6f223a6..9386f3f 100644
--- a/src/OpenGL/libGLES_CM/Texture.cpp
+++ b/src/OpenGL/libGLES_CM/Texture.cpp
@@ -231,7 +231,7 @@
{
if(pixels && image)
{
- egl::Image::PixelStorageModes unpackParameters;
+ egl::PixelStorageModes unpackParameters;
unpackParameters.alignment = unpackAlignment;
image->loadImageData(context, 0, 0, 0, image->getWidth(), image->getHeight(), 1, format, type, unpackParameters, pixels);
}
@@ -269,7 +269,7 @@
if(pixels)
{
- egl::Image::PixelStorageModes unpackParameters;
+ egl::PixelStorageModes unpackParameters;
unpackParameters.alignment = unpackAlignment;
image->loadImageData(context, xoffset, yoffset, 0, width, height, 1, format, type, unpackParameters, pixels);
}