From 522bfbc66fd77988d7a193f78a7fc1df24d3925a Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Wed, 3 Aug 2022 17:59:28 +0300 Subject: [PATCH] Fix pass condition for atomic usage tests Any vertex processing shader could be called an implementation defined number of times. OpenGL 4.6 spec, "11.1.3 Shader Execution": "Implementations are allowed to skip the execution of certain shader invocations, and to execute additional shader invocations for any shader type during programmable vertex processing due to implementation dependent reasons, including the execution of shader invocations that do not have an active program object present for the particular shader stage, as long as the results of rendering otherwise remain unchanged [...]" Components: OpenGL Affects: KHR-Single-GL4*.arrays_of_arrays_gl.AtomicUsage Change-Id: I14385afa1de874c6f0fa21fe2a6ad73cb4ff0e7d --- external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp b/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp index b79991d..10e19fd 100644 --- a/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp +++ b/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp @@ -8893,10 +8893,13 @@ void AtomicUsageTest::execute(typename TestCaseBase::TestShaderType te int diff = 0; for (size_t i = 0; i < n_entries; ++i) { - /* Tesselation evaluation can be called several times - In here, check the increment is consistent over all results. + /* Any vertex processing shader could be called an implementation defined + * number of times. In here, check the increment is consistent over all results. */ - if (tested_shader_type == TestCaseBase::TESSELATION_EVALUATION_SHADER_TYPE) + if (tested_shader_type == TestCaseBase::VERTEX_SHADER_TYPE || + tested_shader_type == TestCaseBase::TESSELATION_CONTROL_SHADER_TYPE || + tested_shader_type == TestCaseBase::TESSELATION_EVALUATION_SHADER_TYPE || + tested_shader_type == TestCaseBase::GEOMETRY_SHADER_TYPE) { if (i == 0) { -- 2.7.4