Lines Matching refs:UVec3
51 using tcu::UVec3;
73 typedef std::map<tcu::UVec3, ShaderProgramSp, LexicalCompareVec<deUint32, 3> > LocalSizeProgramMap;
85 virtual UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const = 0;
90 UVec3 localSize;
91 UVec3 numWorkGroups;
94 SubCase (const UVec3& localSize_, const UVec3& numWorkGroups_) : localSize(localSize_), numWorkGroups(numWorkGroups_) {}
103 deUint32 getProgram (const UVec3& localSize);
136 static string genBuiltinVarSource (const string& varName, DataType varType, const UVec3& localSize)
157 deUint32 ComputeBuiltinVarCase::getProgram (const UVec3& localSize)
177 static inline UVec3 readResultVec (const deUint32* ptr, int numComps)
179 UVec3 res;
185 static inline bool compareComps (const UVec3& a, const UVec3& b, int numComps)
193 const UVec3& v;
196 LogComps (const UVec3& v_, int numComps_) : v(v_), numComps(numComps_) {}
212 const tcu::UVec3 globalSize = subCase.localSize*subCase.numWorkGroups;
254 const UVec3 refGroupID (groupX, groupY, groupZ);
255 const UVec3 refLocalID (localX, localY, localZ);
256 const UVec3 refGlobalID = refGroupID * subCase.localSize + refLocalID;
258 const UVec3 refValue = computeReference(subCase.numWorkGroups, subCase.localSize, refGroupID, refLocalID);
261 const UVec3 resValue = readResultVec(resPtr, numScalars);
297 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
298 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(52,1,1)));
299 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,39,1)));
300 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,78)));
301 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(4,7,11)));
302 m_subCases.push_back(SubCase(UVec3(2,3,4), UVec3(4,7,11)));
305 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
321 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
322 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(2,7,3)));
323 m_subCases.push_back(SubCase(UVec3(2,1,1), UVec3(1,1,1)));
324 m_subCases.push_back(SubCase(UVec3(2,1,1), UVec3(1,3,5)));
325 m_subCases.push_back(SubCase(UVec3(1,3,1), UVec3(1,1,1)));
326 m_subCases.push_back(SubCase(UVec3(1,1,7), UVec3(1,1,1)));
327 m_subCases.push_back(SubCase(UVec3(1,1,7), UVec3(3,3,1)));
328 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(1,1,1)));
329 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(3,1,2)));
332 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
347 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
348 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(52,1,1)));
349 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,39,1)));
350 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,78)));
351 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(4,7,11)));
352 m_subCases.push_back(SubCase(UVec3(2,3,4), UVec3(4,7,11)));
355 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
370 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
371 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(2,7,3)));
372 m_subCases.push_back(SubCase(UVec3(2,1,1), UVec3(1,1,1)));
373 m_subCases.push_back(SubCase(UVec3(2,1,1), UVec3(1,3,5)));
374 m_subCases.push_back(SubCase(UVec3(1,3,1), UVec3(1,1,1)));
375 m_subCases.push_back(SubCase(UVec3(1,1,7), UVec3(1,1,1)));
376 m_subCases.push_back(SubCase(UVec3(1,1,7), UVec3(3,3,1)));
377 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(1,1,1)));
378 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(3,1,2)));
381 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
396 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
397 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(52,1,1)));
398 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,39,1)));
399 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,78)));
400 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(4,7,11)));
401 m_subCases.push_back(SubCase(UVec3(2,3,4), UVec3(4,7,11)));
402 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(1,1,1)));
403 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(3,1,2)));
406 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
419 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,1,1)));
420 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(1,39,1)));
421 m_subCases.push_back(SubCase(UVec3(1,1,1), UVec3(4,7,11)));
422 m_subCases.push_back(SubCase(UVec3(2,3,4), UVec3(4,7,11)));
423 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(1,1,1)));
424 m_subCases.push_back(SubCase(UVec3(10,3,4), UVec3(3,1,2)));
427 UVec3 computeReference (const UVec3& numWorkGroups, const UVec3& workGroupSize, const UVec3& workGroupID, const UVec3& localInvocationID) const
431 return UVec3(localInvocationID.z()*workGroupSize.x()*workGroupSize.y() + localInvocationID.y()*workGroupSize.x() + localInvocationID.x(), 0, 0);