Lines Matching defs:rnd
71 void generateBlock(de::Random& rnd, deUint32 layoutFlags);
72 void generateUniform(de::Random& rnd, UniformBlock& block);
73 VarType generateType(de::Random& rnd, int typeDepth, bool arrayOk);
113 de::Random rnd(m_seed);
115 int numShared = m_maxSharedBlocks > 0 ? rnd.getInt(1, m_maxSharedBlocks) : 0;
116 int numVtxBlocks = m_maxVertexBlocks - numShared > 0 ? rnd.getInt(1, m_maxVertexBlocks - numShared) : 0;
117 int numFragBlocks = m_maxFragmentBlocks - numShared > 0 ? rnd.getInt(1, m_maxFragmentBlocks - numShared) : 0;
120 generateBlock(rnd, DECLARE_VERTEX | DECLARE_FRAGMENT);
123 generateBlock(rnd, DECLARE_VERTEX);
126 generateBlock(rnd, DECLARE_FRAGMENT);
129 void RandomUniformBlockCase::generateBlock(de::Random& rnd, deUint32 layoutFlags)
135 int numInstances = (m_maxInstances > 0 && rnd.getFloat() < instanceArrayWeight) ? rnd.getInt(0, m_maxInstances) : 0;
136 int numUniforms = rnd.getInt(1, m_maxBlockMembers);
141 if (numInstances > 0 || rnd.getBool())
154 layoutFlags |= rnd.choose<deUint32>(layoutFlagCandidates.begin(), layoutFlagCandidates.end());
160 rnd.choose<deUint32>(&matrixCandidates[0], &matrixCandidates[DE_LENGTH_OF_ARRAY(matrixCandidates)]);
166 generateUniform(rnd, block);
187 void RandomUniformBlockCase::generateUniform(de::Random& rnd, UniformBlock& block)
194 VarType type = generateType(rnd, 0, true);
196 flags |= (unusedOk && rnd.getFloat() < unusedVtxWeight) ? UNUSED_VERTEX : 0;
197 flags |= (unusedOk && rnd.getFloat() < unusedFragWeight) ? UNUSED_FRAGMENT : 0;
204 VarType RandomUniformBlockCase::generateType(de::Random& rnd, int typeDepth, bool arrayOk)
209 if (typeDepth < m_maxStructDepth && rnd.getFloat() < structWeight)
215 int numMembers = rnd.getInt(1, m_maxStructMembers);
219 memberTypes.push_back(generateType(rnd, typeDepth + 1, true));
229 flags |= (unusedOk && rnd.getFloat() < unusedVtxWeight) ? UNUSED_VERTEX : 0;
230 flags |= (unusedOk && rnd.getFloat() < unusedFragWeight) ? UNUSED_FRAGMENT : 0;
237 else if (m_maxArrayLength > 0 && arrayOk && rnd.getFloat() < arrayWeight)
239 int arrayLength = rnd.getInt(1, m_maxArrayLength);
240 VarType elementType = generateType(rnd, typeDepth, false /* nested arrays are not allowed */);
280 glu::DataType type = rnd.choose<glu::DataType>(typeCandidates.begin(), typeCandidates.end());
287 flags |= rnd.choose<deUint32>(&precisionCandidates[0],