Lines Matching refs:UVec3

73 using tcu::UVec3;
81 static inline bool compareNumComponents (const UVec3& a, const UVec3& b,const int numComps)
87 static inline UVec3 readResultVec (const deUint32* ptr, const int numComps)
89 UVec3 res;
97 const UVec3& v;
100 LogComps (const UVec3 &v_, int numComps_) : v(v_), numComps(numComps_) {}
115 const UVec3& localSize (void) const { return m_localSize; }
116 const UVec3& numWorkGroups (void) const { return m_numWorkGroups; }
119 SubCase (const UVec3& localSize_, const UVec3& numWorkGroups_)
124 UVec3 m_localSize;
125 UVec3 m_numWorkGroups;
168 virtual UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const = 0;
171 string genBuiltinVarSource (const string& varName, glu::DataType varType, const UVec3& localSize, bool readByComponent) const;
175 deUint32 getProgram (const tcu::UVec3& localSize);
213 string ComputeBuiltinVarCase::genBuiltinVarSource (const string& varName, glu::DataType varType, const UVec3& localSize, bool readByComponent) const
269 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
270 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(52, 1, 1)));
271 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 39, 1)));
272 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 78)));
273 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(4, 7, 11)));
274 m_subCases.push_back(SubCase(UVec3(2, 3, 4), UVec3(4, 7, 11)));
277 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
293 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
294 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(2, 7, 3)));
295 m_subCases.push_back(SubCase(UVec3(2, 1, 1), UVec3(1, 1, 1)));
296 m_subCases.push_back(SubCase(UVec3(2, 1, 1), UVec3(1, 3, 5)));
297 m_subCases.push_back(SubCase(UVec3(1, 3, 1), UVec3(1, 1, 1)));
298 m_subCases.push_back(SubCase(UVec3(1, 1, 7), UVec3(1, 1, 1)));
299 m_subCases.push_back(SubCase(UVec3(1, 1, 7), UVec3(3, 3, 1)));
300 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(1, 1, 1)));
301 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(3, 1, 2)));
304 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
320 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
321 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(52, 1, 1)));
322 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 39, 1)));
323 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 78)));
324 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(4, 7, 11)));
325 m_subCases.push_back(SubCase(UVec3(2, 3, 4), UVec3(4, 7, 11)));
328 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
343 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
344 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(2, 7, 3)));
345 m_subCases.push_back(SubCase(UVec3(2, 1, 1), UVec3(1, 1, 1)));
346 m_subCases.push_back(SubCase(UVec3(2, 1, 1), UVec3(1, 3, 5)));
347 m_subCases.push_back(SubCase(UVec3(1, 3, 1), UVec3(1, 1, 1)));
348 m_subCases.push_back(SubCase(UVec3(1, 1, 7), UVec3(1, 1, 1)));
349 m_subCases.push_back(SubCase(UVec3(1, 1, 7), UVec3(3, 3, 1)));
350 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(1, 1, 1)));
351 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(3, 1, 2)));
354 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
369 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
370 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(52, 1, 1)));
371 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 39, 1)));
372 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 78)));
373 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(4, 7, 11)));
374 m_subCases.push_back(SubCase(UVec3(2, 3, 4), UVec3(4, 7, 11)));
375 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(1, 1, 1)));
376 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(3, 1, 2)));
379 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
392 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 1, 1)));
393 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(1, 39, 1)));
394 m_subCases.push_back(SubCase(UVec3(1, 1, 1), UVec3(4, 7, 11)));
395 m_subCases.push_back(SubCase(UVec3(2, 3, 4), UVec3(4, 7, 11)));
396 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(1, 1, 1)));
397 m_subCases.push_back(SubCase(UVec3(10, 3, 4), UVec3(3, 1, 2)));
400 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
404 return UVec3(localInvocationID.z()*workGroupSize.x()*workGroupSize.y() + localInvocationID.y()*workGroupSize.x() + localInvocationID.x(), 0, 0);
432 const tcu::UVec3 globalSize = subCase.localSize()*subCase.numWorkGroups();
543 const UVec3 refGroupID(groupX, groupY, groupZ);
544 const UVec3 refLocalID(localX, localY, localZ);
545 const UVec3 refGlobalID = refGroupID * subCase.localSize() + refLocalID;
549 const UVec3 refValue = m_builtin_var_case->computeReference(subCase.numWorkGroups(), subCase.localSize(), refGroupID, refLocalID);
552 const UVec3 resValue = readResultVec(resPtr, numScalars);