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);
}
}