Bug b/
34128224
Change-Id: I4aebcda840baa8ceef2ae99c98a80a83e32b89b3
Reviewed-on: https://swiftshader-review.googlesource.com/8376
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
#include <GLES2/gl2ext.h>
#include <GLES3/gl3.h>
+#include <stdlib.h>
+
namespace glsl
{
// Integer to TString conversion
if(comparator == EOpLessThan)
{
- int iterations = (limit - initial) / increment;
+ if(!(initial < limit)) // Never loops
+ {
+ return 0;
+ }
+
+ int iterations = (limit - initial + abs(increment) - 1) / increment; // Ceiling division
- if(iterations <= 0)
+ if(iterations < 0)
{
- iterations = 0;
+ return ~0u;
}
return iterations;