Merge "Try harder to defeat GLSL compiler dead-code optimizations" into nougat-cts...
[platform/upstream/VK-GL-CTS.git] / modules / gles31 / functional / es31fProgramInterfaceQueryTests.cpp
index 2b3d2cf..f8eb8d7 100644 (file)
@@ -425,7 +425,6 @@ public:
        bool            isStagePresent          (glu::ShaderType stage) const;
        bool            isStageReferencing      (glu::ShaderType stage) const;
 
-       deUint32        getPresentMask          (void) const;
        deUint32        getReferencingMask      (void) const;
 
        const glu::GLSLVersion  m_version;
@@ -483,17 +482,6 @@ bool ShaderSet::isStageReferencing (glu::ShaderType stage) const
        return m_stageReferencing[stage];
 }
 
-deUint32 ShaderSet::getPresentMask (void) const
-{
-       deUint32 mask = 0;
-       for (deUint32 stage = 0; stage < glu::SHADERTYPE_LAST; ++stage)
-       {
-               if (m_stagePresent[stage])
-                       mask |= (1u << stage);
-       }
-       return mask;
-}
-
 deUint32 ShaderSet::getReferencingMask (void) const
 {
        deUint32 mask = 0;
@@ -1026,7 +1014,13 @@ bool ResourceListTestCase::verifyResourceList (const std::vector<std::string>& r
        m_testCtx.getLog() << tcu::TestLog::Message << "GL returned resources:" << tcu::TestLog::EndMessage;
 
        for (int ndx = 0; ndx < (int)resourceList.size(); ++ndx)
-               m_testCtx.getLog() << tcu::TestLog::Message << "\t" << ndx << ": " << resourceList[ndx] << tcu::TestLog::EndMessage;
+       {
+               // dummyZero is a uniform that may be added by
+               // generateProgramInterfaceProgramSources.  Omit it here to avoid
+               // confusion about the output.
+               if (resourceList[ndx] != getDummyZeroUniformName())
+                       m_testCtx.getLog() << tcu::TestLog::Message << "\t" << ndx << ": " << resourceList[ndx] << tcu::TestLog::EndMessage;
+       }
 
        m_testCtx.getLog() << tcu::TestLog::Message << "Expected list of resources:" << tcu::TestLog::EndMessage;
 
@@ -1048,8 +1042,11 @@ bool ResourceListTestCase::verifyResourceList (const std::vector<std::string>& r
        {
                if (!de::contains(expectedResources.begin(), expectedResources.end(), resourceList[ndx]))
                {
-                       // Ignore all builtin variables, mismatch causes errors otherwise
-                       if (deStringBeginsWith(resourceList[ndx].c_str(), "gl_") == DE_FALSE)
+                       // Ignore all builtin variables or the variable dummyZero,
+                       // mismatch causes errors otherwise.  dummyZero is a uniform that
+                       // may be added by generateProgramInterfaceProgramSources.
+                       if (deStringBeginsWith(resourceList[ndx].c_str(), "gl_") == DE_FALSE &&
+                               resourceList[ndx] != getDummyZeroUniformName())
                        {
                                m_testCtx.getLog() << tcu::TestLog::Message << "Error, resource list contains unexpected resource name " << resourceList[ndx] << tcu::TestLog::EndMessage;
                                error = true;