From 3db0317351e02be4498c7833262ac919d597b396 Mon Sep 17 00:00:00 2001
From: Brian Paul
This page lists known issues with
SPEC Viewperf 11
+and SPEC Viewperf 12
when running on Mesa-based drivers.
-Some of the Viewperf tests use a lot of memory. +Some of the Viewperf 11 tests use a lot of memory. At least 2GB of RAM is recommended.
-This test creates over 38000 vertex buffer objects. On some systems @@ -59,7 +62,7 @@ either in Viewperf or the Mesa driver. -
These tests use features of the @@ -79,7 +82,7 @@ Subsequent drawing calls become no-ops and the rendering is incorrect. -
These tests depend on the @@ -99,7 +102,7 @@ color. This is probably due to some uninitialized state somewhere. -
The lines drawn in this test appear in a random color. @@ -111,7 +114,7 @@ situation, we get a random color. -
This test uses a number of mipmapped textures, but the textures are @@ -172,7 +175,7 @@ However, we have no plans to implement this work-around in Mesa.
-This test makes some unusual calls to glRotate. For example: @@ -204,7 +207,7 @@ and with a semi-random color (between white and black) since GL_FOG is enabled.
-This uses depth testing but there's two problems: @@ -232,7 +235,7 @@ glClear is called so clearing the depth buffer would be a no-op anyway.
-This test draws an engine model with a two-pass algorithm. @@ -261,6 +264,79 @@ blending with appropriate patterns/modes to ensure the same fragments are produced in both passes.
++Note that Viewperf 12 only runs on 64-bit Windows 7 or later. +
+ ++One of the catia tests calls wglGetProcAddress() to get some +GL_EXT_direct_state_access functions (such as glBindMultiTextureEXT) and some +GL_NV_half_float functions (such as glMultiTexCoord3hNV). +If the extension/function is not supported, wglGetProcAddress() can return NULL. +Unfortunately, Viewperf doesn't check for null pointers and crashes when it +later tries to use the pointer. +
+ ++Another catia test uses OpenGL 3.1's primitive restart feature. +But when Viewperf creates an OpenGL context, it doesn't request version 3.1 +If the driver returns version 3.0 or earlier all the calls related to primitive +restart generate an OpenGL error. +Some of the rendering is then incorrect. +
+ + ++This test creates a 3D luminance texture of size 1K x 1K x 1K. +If the OpenGL driver/device doesn't support a texture of this size +the glTexImage3D() call will fail with GL_INVALID_VALUE or GL_OUT_OF_MEMORY +and all that's rendered is plain white polygons. +Ideally, the test would use a proxy texture to determine the max 3D +texture size. But it does not do that. +
+ ++This test generates many GL_INVALID_OPERATION errors in its calls to +glUniform(). +Causes include: +
+Apparently, the indexes returned by glGetUniformLocation() were hard-coded +into the application trace when it was created. +Since different implementations of glGetUniformLocation() may return different +values for any given uniform name, subsequent calls to glUniform() will be +invalid since they refer to the wrong uniform variables. +This causes many OpenGL errors and leads to incorrect rendering. +
+ +
+This test uses a single GLSL fragment shader which contains a GLSL 1.20
+array initializer statement, but it neglects to specify
+#version 120
at the top of the shader code.
+So, the shader does not compile and all that's rendered is plain white polygons.
+
+This is actually a DX11 test based on Autodesk's Showcase product. +As such, it won't run with Mesa. +
+