diff options
author | linlin.xu <linlin.xu@arm.com> | 2023-12-12 16:08:53 +0800 |
---|---|---|
committer | Android Build Cherrypicker Worker <android-build-cherrypicker-worker@google.com> | 2024-03-28 00:34:44 +0000 |
commit | 83c975e6df34f9e0cd1f0fd9bcacf3a141d7b05a (patch) | |
tree | 1f2da5ee7065849f0bda59d585da6fdf19f9f766 | |
parent | 93763ac0ec0512d9ce98ac062bf73e37e61a80b6 (diff) | |
download | deqp-83c975e6df34f9e0cd1f0fd9bcacf3a141d7b05a.tar.gz |
Tweak grid size in vertex shader render test.
dEQP-GLES3.functional.shaders.matrix.inverse.dynamic.lowp* tests inverse a matrix. The matrix is lowp or mediump and the half-precison float result is inf value. The matrix value is relate with gridSize. This change modifys gridSize to ensure inverse matrix not inf value. Other case gridSize not change.
Affects (at least):
dEQP-GLES3.functional.shaders.matrix*
Components: AOSP
VK-GL-CTS issue: 4848
(cherry picked from commit e76a7b0b4b7cdc8c442a6e9203aba6d7d4fc9759)
(cherry picked from https://android-review.googlesource.com/q/commit:39e80e27c87b390a4ffea0f5961679a4877abc1e)
Merged-In: I77250f18a48fbdbcc96cba9564086f161312df4f
Change-Id: I77250f18a48fbdbcc96cba9564086f161312df4f
Bug: b/326543603
Bug: b/328677465
-rw-r--r-- | modules/gles3/functional/es3fShaderMatrixTests.cpp | 3 | ||||
-rw-r--r-- | modules/glshared/glsShaderRenderCase.cpp | 4 | ||||
-rw-r--r-- | modules/glshared/glsShaderRenderCase.hpp | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/modules/gles3/functional/es3fShaderMatrixTests.cpp b/modules/gles3/functional/es3fShaderMatrixTests.cpp index 6d98bc65b..edb981891 100644 --- a/modules/gles3/functional/es3fShaderMatrixTests.cpp +++ b/modules/gles3/functional/es3fShaderMatrixTests.cpp @@ -1712,6 +1712,9 @@ void ShaderMatrixCase::init (void) } ShaderRenderCase::init(); + + // reassign grid size prevent matrix inverse inf value. + m_gridSize = 64; } std::string ShaderMatrixCase::genGLSLMatToVec3Reduction (const glu::DataType& matType, const char* varName) diff --git a/modules/glshared/glsShaderRenderCase.cpp b/modules/glshared/glsShaderRenderCase.cpp index b8699174d..6fe3b4d95 100644 --- a/modules/glshared/glsShaderRenderCase.cpp +++ b/modules/glshared/glsShaderRenderCase.cpp @@ -403,6 +403,8 @@ void ShaderRenderCase::init (void) ShaderRenderCase::deinit(); throw; } + + m_gridSize = GRID_SIZE; } void ShaderRenderCase::deinit (void) @@ -433,7 +435,7 @@ TestNode::IterateResult ShaderRenderCase::iterate (void) int height = viewportSize.y(); // \todo [petri] Better handling of constCoords (render in multiple chunks, vary coords). - QuadGrid quadGrid(m_isVertexCase ? GRID_SIZE : 4, width, height, Vec4(0.125f, 0.25f, 0.5f, 1.0f), m_userAttribTransforms, m_textures); + QuadGrid quadGrid(m_isVertexCase ? m_gridSize : 4, width, height, Vec4(0.125f, 0.25f, 0.5f, 1.0f), m_userAttribTransforms, m_textures); // Render result. Surface resImage(width, height); diff --git a/modules/glshared/glsShaderRenderCase.hpp b/modules/glshared/glsShaderRenderCase.hpp index e8299c856..e07e85d85 100644 --- a/modules/glshared/glsShaderRenderCase.hpp +++ b/modules/glshared/glsShaderRenderCase.hpp @@ -252,6 +252,7 @@ protected: std::vector<TextureBinding> m_textures; glu::ShaderProgram* m_program; + int m_gridSize; }; // Helpers. |