Lines Matching defs:value

260 	// switch statement on uniform value
262 // switch statement on gl_SubgroupInvocationID & 3 value
264 // switch statement on loopIdx value
269 // case statement used for loop counter switches, with a value and a mask of loop iterations
277 // - value 0: while (!subgroupElect()) {}
278 // - value 1: if (condition_that_is_false) { infinite loop }
295 : type(_type), value(_value), caseValue(_caseValue)
298 // The type of operation and an optional value.
299 // The value could be a mask for an if test, the index of the loop
300 // header for an end of loop, or the constant value for a store instruction
302 deUint64 value;
306 static int findLSB (deUint64 value)
310 if (value & (1ULL<<i))
318 static bitset128 bitsetElect (const bitset128& value, deInt32 subgroupSize)
324 deUint64 mask = bitsetToU64(value, subgroupSize, i);
356 // Offset the value we use for OP_STORE, to avoid colliding with fully converged
612 // Generate switch on a uniform value:
934 if (ops[i].value == ~0ULL)
941 *css << "if (testBit(uvec2(0x" << std::hex << (ops[i].value & 0xFFFFFFFF) << ", 0x" << (ops[i].value >> 32) << "), gl_SubgroupInvocationID)) {\n";
950 printIndent(*css); *css << "if (gl_LocalInvocationIndex >= inputA.a[0x" << std::hex << ops[i].value << "]) {\n";
969 printIndent(*css); *css << "outputB.b[(outLoc++)*invocationStride + gl_LocalInvocationIndex].x = 0x" << std::hex << ops[i].value << ";\n";
973 printIndent(*css); *css << " loopIdx" << loopNesting << " < inputA.a[" << ops[i].value << "];\n";
1003 printIndent(*css); *css << "} while (loopIdx" << loopNesting << " < inputA.a[" << ops[(deUint32)ops[i].value].value << "]);\n";
1079 if (ops[i].value == 0)
1097 printIndent(*css); *css << "switch (inputA.a[" << ops[i].value << "]) {\n";
1105 printIndent(*css); *css << "switch (loopIdx" << ops[i].value << ") {\n";
1215 // Emit a magic value to indicate that we shouldn't validate this ballot
1232 ref[(outLoc[id]++)*invocationStride + id] = ops[i].value;
1238 stateStack[nesting].activeMask = stateStack[nesting-1].activeMask & bitsetFromU64(ops[i].value, subgroupSize);
1244 stateStack[nesting].activeMask = stateStack[nesting-1].activeMask & ~bitsetFromU64(ops[stateStack[nesting].header].value, subgroupSize);
1272 for (deInt32 j = (deInt32)ops[i].value; j < 128; ++j)
1286 for (deInt32 j = 0; j < (deInt32)ops[i].value; ++j)
1310 if (stateStack[nesting].tripCount < ops[stateStack[nesting].header].value &&
1336 if (stateStack[nesting].tripCount < ops[stateStack[nesting].header].value &&
1507 stateStack[nesting].activeMask = stateStack[nesting-1].activeMask & bitsetFromU64(ops[i].value, subgroupSize);
1519 if (l == ops[stateStack[nesting].header].value)
1525 if ((1ULL << stateStack[n].tripCount) & ops[i].value)
1922 // results, and for each reference value of fullMask, find a corresponding result value of
1923 // fullMask where the previous value (OP_STORE) matches. That means these came from the same
1937 // (a value of 2) and all other lanes to be not elected (a value of 1). For TT_SUCF_BALLOT, we
1938 // expect a full mask. Search until we find the expected result with a matching store value in
1981 deUint32 value;
2028 if (ttCases[ttNdx].value != TT_MAXIMAL)
2038 (TestType)ttCases[ttNdx].value, // TestType testType;