Fix atomic ssbo xor test
authorMika Isojärvi <misojarvi@google.com>
Thu, 14 Apr 2016 17:28:16 +0000 (10:28 -0700)
committerMika Isojärvi <misojarvi@google.com>
Thu, 14 Apr 2016 17:28:16 +0000 (10:28 -0700)
Allow any values in high order bits in xor tests when using uint types.

Bug: 28144118
Change-Id: I0670aa12642882a329cb923487198fdf045b912b

modules/gles31/functional/es31fShaderAtomicOpTests.cpp

index 1e37be0..01503cf 100644 (file)
@@ -751,7 +751,7 @@ protected:
                const int               numWorkGroups   = numValues/workGroupSize;
                const int               numBits                 = m_precision == PRECISION_HIGHP ? 32 :
                                                                                  m_precision == PRECISION_MEDIUMP ? 16 : 8;
-               const deUint32  compareMask             = (m_type == TYPE_UINT || numBits == 32) ? ~0u : (1u<<numBits)-1u;
+               const deUint32  compareMask             = numBits == 32 ? ~0u : (1u<<numBits)-1u;
 
                for (int groupNdx = 0; groupNdx < numWorkGroups; groupNdx++)
                {
@@ -783,10 +783,10 @@ protected:
                        {
                                const deUint32 outputValue = *(const deUint32*)((const deUint8*)outputs + outputStride*(groupOffset+localNdx));
 
-                               if ((outputValue&compareMask) != 0 &&
-                                       (outputValue&compareMask) != compareMask &&
-                                       (outputValue&compareMask) != (expected0&compareMask) &&
-                                       (outputValue&compareMask) != (expected1&compareMask))
+                               if ((outputValue & compareMask) != 0 &&
+                                       (outputValue & compareMask) != compareMask &&
+                                       (outputValue & compareMask) != (expected0&compareMask) &&
+                                       (outputValue & compareMask) != (expected1&compareMask))
                                {
                                        m_testCtx.getLog() << TestLog::Message << "ERROR: at group " << groupNdx << ", invocation " << localNdx
                                                                                                                   << ": found unexpected value " << tcu::toHex(outputValue)