Fixed more windows warnings - Fixed uninitialized variables in default cases - Fixed truncation of values to float with static_cast Change-Id: I81f3a243e66eaeb24cd92646c6ef1ca6cb0de9ce Reviewed-on: https://swiftshader-review.googlesource.com/5682 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp index d8605f8..010a32e 100644 --- a/src/OpenGL/libGLESv2/Context.cpp +++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -72,12 +72,12 @@ mState.stencilTestEnabled = false; mState.stencilFunc = GL_ALWAYS; mState.stencilRef = 0; - mState.stencilMask = -1; - mState.stencilWritemask = -1; + mState.stencilMask = 0xFFFFFFFFu; + mState.stencilWritemask = 0xFFFFFFFFu; mState.stencilBackFunc = GL_ALWAYS; mState.stencilBackRef = 0; - mState.stencilBackMask = - 1; - mState.stencilBackWritemask = -1; + mState.stencilBackMask = 0xFFFFFFFFu; + mState.stencilBackWritemask = 0xFFFFFFFFu; mState.stencilFail = GL_KEEP; mState.stencilPassDepthFail = GL_KEEP; mState.stencilPassDepthPass = GL_KEEP; @@ -1352,7 +1352,8 @@ qType = QUERY_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN; break; default: - ASSERT(false); + UNREACHABLE(target); + return error(GL_INVALID_ENUM); } Query *queryObject = createQuery(query, target); @@ -2278,7 +2279,7 @@ case GL_UNIFORM_BUFFER_SIZE: // indexed[n] 64-bit integer, initially 0 if(clientVersion >= 3) { - *params = mState.genericUniformBuffer->size(); + *params = static_cast<T>(mState.genericUniformBuffer->size()); } else {
diff --git a/src/OpenGL/libGLESv2/Program.cpp b/src/OpenGL/libGLESv2/Program.cpp index 2a3bb68..957f83a 100644 --- a/src/OpenGL/libGLESv2/Program.cpp +++ b/src/OpenGL/libGLESv2/Program.cpp
@@ -268,7 +268,7 @@ } } - GLuint Program::getAttributeLocation(const char *name) + GLint Program::getAttributeLocation(const char *name) { if(name) { @@ -294,7 +294,7 @@ // Returns the index of the texture image unit (0-19) corresponding to a sampler index (0-15 for the pixel shader and 0-3 for the vertex shader) GLint Program::getSamplerMapping(sw::SamplerType type, unsigned int samplerIndex) { - GLuint logicalTextureUnit = -1; + GLint logicalTextureUnit = -1; switch(type) { @@ -346,7 +346,7 @@ GLint Program::getUniformLocation(const std::string &name) const { - size_t subscript = GL_INVALID_INDEX; + int subscript = GL_INVALID_INDEX; std::string baseName = es2::ParseUniformName(name, &subscript); size_t numUniforms = uniformIndex.size(); @@ -368,7 +368,7 @@ GLuint Program::getUniformIndex(const std::string &name) const { - size_t subscript = GL_INVALID_INDEX; + int subscript = GL_INVALID_INDEX; std::string baseName = es2::ParseUniformName(name, &subscript); // The app is not allowed to specify array indices other than 0 for arrays of basic types @@ -429,7 +429,7 @@ GLuint Program::getUniformBlockIndex(const std::string &name) const { - size_t subscript = GL_INVALID_INDEX; + int subscript = GL_INVALID_INDEX; std::string baseName = es2::ParseUniformName(name, &subscript); size_t numUniformBlocks = getActiveUniformBlockCount(); @@ -1065,7 +1065,7 @@ // Applies all the uniforms set for this program object to the device void Program::applyUniforms() { - GLint numUniforms = uniformIndex.size(); + GLint numUniforms = static_cast<GLint>(uniformIndex.size()); for(GLint location = 0; location < numUniforms; location++) { if(uniformIndex[location].element != 0) @@ -1202,7 +1202,7 @@ return; } - unsigned int maxVaryings = transformFeedbackLinkedVaryings.size(); + unsigned int maxVaryings = static_cast<unsigned int>(transformFeedbackLinkedVaryings.size()); switch(transformFeedbackBufferMode) { case GL_SEPARATE_ATTRIBS: @@ -1234,10 +1234,10 @@ // written by a vertex shader are written, interleaved, into the buffer object // bound to the first transform feedback binding point (index = 0). sw::Resource* resource = transformFeedbackBuffers[0].get()->getResource(); - int componentStride = totalLinkedVaryingsComponents; + int componentStride = static_cast<int>(totalLinkedVaryingsComponents); int baseOffset = transformFeedbackBuffers[0].getOffset() + (transformFeedback->vertexOffset() * componentStride * sizeof(float)); maxVaryings = sw::min(maxVaryings, (unsigned int)sw::MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS); - size_t totalComponents = 0; + int totalComponents = 0; for(unsigned int index = 0; index < maxVaryings; ++index) { int size = transformFeedbackLinkedVaryings[index].size; @@ -1366,7 +1366,7 @@ for(const std::string &indexedTfVaryingName : transformFeedbackVaryings) { - size_t subscript = GL_INVALID_INDEX; + int subscript = GL_INVALID_INDEX; std::string tfVaryingName = es2::ParseUniformName(indexedTfVaryingName, &subscript); bool hasSubscript = (subscript != GL_INVALID_INDEX); @@ -1394,11 +1394,11 @@ return false; } - size_t size = hasSubscript ? 1 : varying.size(); + int size = hasSubscript ? 1 : varying.size(); - size_t rowCount = VariableRowCount(varying.type); - size_t colCount = VariableColumnCount(varying.type); - size_t componentCount = rowCount * colCount * size; + int rowCount = VariableRowCount(varying.type); + int colCount = VariableColumnCount(varying.type); + int componentCount = rowCount * colCount * size; if(transformFeedbackBufferMode == GL_SEPARATE_ATTRIBS && componentCount > sw::MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) { @@ -1752,7 +1752,7 @@ if(location == -1) // Not previously defined { uniforms.push_back(uniform); - size_t index = uniforms.size() - 1; + unsigned int index = static_cast<unsigned int>(uniforms.size() - 1); for(int i = 0; i < uniform->size(); i++) { @@ -2593,7 +2593,7 @@ if(length) { - *length = strlen(name); + *length = static_cast<GLsizei>(strlen(name)); } } @@ -2648,7 +2648,7 @@ if(length) { - *length = strlen(name); + *length = static_cast<GLsizei>(strlen(name)); } } @@ -2725,7 +2725,7 @@ if(length) { - *length = strlen(name); + *length = static_cast<GLsizei>(strlen(name)); } } } @@ -2737,7 +2737,7 @@ GLint Program::getActiveUniformBlockMaxLength() const { - size_t maxLength = 0; + GLint maxLength = 0; if(isLinked()) { @@ -2747,10 +2747,10 @@ const UniformBlock &uniformBlock = *uniformBlocks[uniformBlockIndex]; if(!uniformBlock.name.empty()) { - size_t length = uniformBlock.name.length() + 1; + GLint length = static_cast<GLint>(uniformBlock.name.length() + 1); // Counting in "[0]". - const int arrayLength = (uniformBlock.isArrayElement() ? 3 : 0); + const GLint arrayLength = (uniformBlock.isArrayElement() ? 3 : 0); maxLength = std::max(length + arrayLength, maxLength); }
diff --git a/src/OpenGL/libGLESv2/Program.h b/src/OpenGL/libGLESv2/Program.h index 15b5cf3..ff4bc5f 100644 --- a/src/OpenGL/libGLESv2/Program.h +++ b/src/OpenGL/libGLESv2/Program.h
@@ -132,7 +132,7 @@ sw::VertexShader *getVertexShader(); void bindAttributeLocation(GLuint index, const char *name); - GLuint getAttributeLocation(const char *name); + GLint getAttributeLocation(const char *name); int getAttributeStream(int attributeIndex); GLint getSamplerMapping(sw::SamplerType type, unsigned int samplerIndex);
diff --git a/src/OpenGL/libGLESv2/utilities.cpp b/src/OpenGL/libGLESv2/utilities.cpp index 841bcab..73a5a4e 100644 --- a/src/OpenGL/libGLESv2/utilities.cpp +++ b/src/OpenGL/libGLESv2/utilities.cpp
@@ -1180,7 +1180,7 @@ return false; } - std::string ParseUniformName(const std::string &name, size_t *outSubscript) + std::string ParseUniformName(const std::string &name, int *outSubscript) { // Strip any trailing array operator and retrieve the subscript size_t open = name.find_last_of('[');
diff --git a/src/OpenGL/libGLESv2/utilities.h b/src/OpenGL/libGLESv2/utilities.h index 918fffa..2b904e0 100644 --- a/src/OpenGL/libGLESv2/utilities.h +++ b/src/OpenGL/libGLESv2/utilities.h
@@ -60,7 +60,7 @@ // Parse the base uniform name and array index. Returns the base name of the uniform. outSubscript is // set to GL_INVALID_INDEX if the provided name is not an array or the array index is invalid. - std::string ParseUniformName(const std::string &name, size_t *outSubscript); + std::string ParseUniformName(const std::string &name, int *outSubscript); } namespace es2sw
diff --git a/src/Renderer/Blitter.cpp b/src/Renderer/Blitter.cpp index 95590ef..900b77b 100644 --- a/src/Renderer/Blitter.cpp +++ b/src/Renderer/Blitter.cpp
@@ -989,7 +989,7 @@ scale = vector(0xFFFFFF, 0.0f, 0.0f, 0.0f); break; case FORMAT_D32: - scale = vector(0xFFFFFFFF, 0.0f, 0.0f, 0.0f); + scale = vector(static_cast<float>(0xFFFFFFFF), 0.0f, 0.0f, 0.0f); break; case FORMAT_D32F: case FORMAT_D32F_COMPLEMENTARY: @@ -1017,10 +1017,10 @@ switch(state.sourceFormat) { case FORMAT_A32B32G32R32I: - unscale = vector(0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF); + unscale = replicate(static_cast<float>(0x7FFFFFFF)); break; case FORMAT_A32B32G32R32UI: - unscale = vector(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF); + unscale = replicate(static_cast<float>(0xFFFFFFFF)); break; default: return false;
diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp index b6ce802..d854deb 100644 --- a/src/Renderer/Renderer.cpp +++ b/src/Renderer/Renderer.cpp
@@ -264,7 +264,9 @@ setupPrimitives = &Renderer::setupVertexTriangle; batch = 1; break; - default: ASSERT(false); + default: + ASSERT(false); + return; } } else if(context->isDrawLine())