Fix compilation regression on Linux.

Change-Id: I8a2706ed0cf92bc8841823b181a9f88b819d4337
Reviewed-on: https://swiftshader-review.googlesource.com/2960
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp
index 0666ac3..62af797 100644
--- a/src/OpenGL/libGLESv2/Context.cpp
+++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -1925,17 +1925,14 @@
 		UNIMPLEMENTED();

 		*params = IMPLEMENTATION_MAX_DRAW_BUFFERS;

 		break;

-	case GL_MAX_ELEMENT_INDEX: // integer, at least 16777215

-		UNIMPLEMENTED();

-		*params = 16777215;

+	case GL_MAX_ELEMENT_INDEX:

+		*params = MAX_ELEMENT_INDEX;

 		break;

-	case GL_MAX_ELEMENTS_INDICES: // integer

-		UNIMPLEMENTED();

-		*params = 0;

+	case GL_MAX_ELEMENTS_INDICES:

+		*params = MAX_ELEMENTS_INDICES;

 		break;

-	case GL_MAX_ELEMENTS_VERTICES: // integer

-		UNIMPLEMENTED();

-		*params = 0;

+	case GL_MAX_ELEMENTS_VERTICES:

+		*params = MAX_ELEMENTS_VERTICES;

 		break;

 	case GL_MAX_FRAGMENT_INPUT_COMPONENTS: // integer, at least 128

 		UNIMPLEMENTED();

diff --git a/src/OpenGL/libGLESv2/Context.h b/src/OpenGL/libGLESv2/Context.h
index c125837..9078985 100644
--- a/src/OpenGL/libGLESv2/Context.h
+++ b/src/OpenGL/libGLESv2/Context.h
@@ -80,6 +80,9 @@
     MAX_COMBINED_TEXTURE_IMAGE_UNITS = MAX_TEXTURE_IMAGE_UNITS + MAX_VERTEX_TEXTURE_IMAGE_UNITS,

     MAX_FRAGMENT_UNIFORM_VECTORS = FRAGMENT_UNIFORM_VECTORS - 3,    // Reserve space for gl_DepthRange

     MAX_DRAW_BUFFERS = 1,

+	MAX_ELEMENT_INDEX = 0x7FFFFFFF,

+	MAX_ELEMENTS_INDICES = 0x7FFFFFFF,

+	MAX_ELEMENTS_VERTICES = 0x7FFFFFFF

 };

 

 const GLenum compressedTextureFormats[] =

diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp
index 70f5c46..e831525 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -1819,7 +1819,7 @@
 			return error(GL_INVALID_ENUM);

 		}

 

-		context->drawElements(mode, 0, UINT_MAX, count, type, indices);

+		context->drawElements(mode, 0, MAX_ELEMENT_INDEX, count, type, indices);

 	}

 }

 

@@ -1905,7 +1905,7 @@
 			return error(GL_INVALID_OPERATION);

 		}

 

-		context->drawElements(mode, 0, UINT_MAX, count, type, indices, instanceCount);

+		context->drawElements(mode, 0, MAX_ELEMENT_INDEX, count, type, indices, instanceCount);

 	}

 }

 

diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp
index 8b97b34..823b008 100644
--- a/src/OpenGL/libGLESv2/libGLESv3.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -2700,7 +2700,7 @@
 			return error(GL_INVALID_OPERATION);

 		}

 

-		context->drawElements(mode, 0, UINT_MAX, count, type, indices, instanceCount);

+		context->drawElements(mode, 0, MAX_ELEMENT_INDEX, count, type, indices, instanceCount);

 	}

 }