Commit d1e22b0b by Jamie Madill Committed by Commit Bot

Expand Uniforms perf test.

This will run additional tests for redundant uniform sets on vec4 uniforms as well as matrix. Also rename the metrics slightly. BUG=angleproject:1385 Change-Id: Ib9777ea38d3153cc0fb69658fcf96d75b03f3770 Reviewed-on: https://chromium-review.googlesource.com/427141Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 2cd9d7e0
...@@ -71,16 +71,17 @@ std::string UniformsParams::suffix() const ...@@ -71,16 +71,17 @@ std::string UniformsParams::suffix() const
if (dataType == DataType::VEC4) if (dataType == DataType::VEC4)
{ {
strstr << "_" << numVertexUniforms << "_vertex_uniforms"; strstr << "_" << (numVertexUniforms + numFragmentUniforms) << "_vec4";
strstr << "_" << numFragmentUniforms << "_fragment_uniforms";
} }
else if (dataMode == DataMode::REPEAT) else
{ {
strstr << "_matrix_repeating"; ASSERT(dataType == DataType::MAT4);
strstr << "_matrix";
} }
else
if (dataMode == DataMode::REPEAT)
{ {
strstr << "_matrix_updating"; strstr << "_repeating";
} }
return strstr.str(); return strstr.str();
...@@ -98,8 +99,6 @@ class UniformsBenchmark : public ANGLERenderTest, ...@@ -98,8 +99,6 @@ class UniformsBenchmark : public ANGLERenderTest,
private: private:
void initShaders(); void initShaders();
void initVertexBuffer();
void initTextures();
GLuint mProgram; GLuint mProgram;
std::vector<GLuint> mUniformLocations; std::vector<GLuint> mUniformLocations;
...@@ -307,10 +306,11 @@ void UniformsBenchmark::drawBenchmark() ...@@ -307,10 +306,11 @@ void UniformsBenchmark::drawBenchmark()
using namespace egl_platform; using namespace egl_platform;
UniformsParams VectorUniforms(const EGLPlatformParameters &egl) UniformsParams VectorUniforms(const EGLPlatformParameters &egl, DataMode dataMode)
{ {
UniformsParams params; UniformsParams params;
params.eglParameters = egl; params.eglParameters = egl;
params.dataMode = dataMode;
return params; return params;
} }
...@@ -321,7 +321,7 @@ UniformsParams MatrixUniforms(const EGLPlatformParameters &egl, DataMode dataMod ...@@ -321,7 +321,7 @@ UniformsParams MatrixUniforms(const EGLPlatformParameters &egl, DataMode dataMod
params.dataType = DataType::MAT4; params.dataType = DataType::MAT4;
params.dataMode = dataMode; params.dataMode = dataMode;
// Reduce the number of uniforms to fit within smaller upper limis on some configs. // Reduce the number of uniforms to fit within smaller upper limits on some configs.
params.numVertexUniforms = 100; params.numVertexUniforms = 100;
params.numFragmentUniforms = 100; params.numFragmentUniforms = 100;
...@@ -336,9 +336,11 @@ TEST_P(UniformsBenchmark, Run) ...@@ -336,9 +336,11 @@ TEST_P(UniformsBenchmark, Run)
} }
ANGLE_INSTANTIATE_TEST(UniformsBenchmark, ANGLE_INSTANTIATE_TEST(UniformsBenchmark,
VectorUniforms(D3D11()), VectorUniforms(D3D9(), DataMode::UPDATE),
VectorUniforms(D3D9()), VectorUniforms(D3D11(), DataMode::REPEAT),
VectorUniforms(OPENGL()), VectorUniforms(D3D11(), DataMode::UPDATE),
VectorUniforms(OPENGL(), DataMode::REPEAT),
VectorUniforms(OPENGL(), DataMode::UPDATE),
MatrixUniforms(D3D11(), DataMode::REPEAT), MatrixUniforms(D3D11(), DataMode::REPEAT),
MatrixUniforms(D3D11(), DataMode::UPDATE), MatrixUniforms(D3D11(), DataMode::UPDATE),
MatrixUniforms(OPENGL(), DataMode::REPEAT), MatrixUniforms(OPENGL(), DataMode::REPEAT),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment