Lines Matching defs:ops

344 	vector<OP> ops;
370 ops.push_back({OP_IF_LOCAL_INVOCATION_INDEX, localIndexCmp});
372 ops.push_back({OP_IF_LOOPCOUNT, 0});
374 ops.push_back({OP_IF_MASK, mask});
378 size_t thenBegin = ops.size();
380 size_t thenEnd = ops.size();
386 ops.push_back({OP_ELSE_LOCAL_INVOCATION_INDEX, localIndexCmp});
388 ops.push_back({OP_ELSE_LOOPCOUNT, 0});
390 ops.push_back({OP_ELSE_MASK, 0});
396 ops.push_back(ops[i]);
401 ops.push_back({OP_ENDIF, 0});
408 ops.push_back({OP_BEGIN_FOR_UNIF, iterCount});
409 deUint32 loopheader = (deUint32)ops.size()-1;
414 ops.push_back({OP_END_FOR_UNIF, loopheader});
423 ops.push_back({OP_BEGIN_DO_WHILE_UNIF, iterCount});
424 deUint32 loopheader = (deUint32)ops.size()-1;
429 ops.push_back({OP_END_DO_WHILE_UNIF, loopheader});
437 ops.push_back({OP_BEGIN_FOR_VAR, 0});
438 deUint32 loopheader = (deUint32)ops.size()-1;
443 ops.push_back({OP_END_FOR_VAR, loopheader});
451 ops.push_back({OP_BEGIN_FOR_INF, 0});
452 deUint32 loopheader = (deUint32)ops.size()-1;
467 ops.push_back({OP_END_FOR_INF, loopheader});
478 ops.push_back({OP_BEGIN_DO_WHILE_INF, 0});
479 deUint32 loopheader = (deUint32)ops.size()-1;
494 ops.push_back({OP_END_DO_WHILE_INF, loopheader});
510 ops.push_back({OP_IF_MASK, masks[0]});
511 ops.push_back({OP_BREAK, 0});
512 ops.push_back({OP_ELSE_MASK, 0});
513 ops.push_back({OP_BREAK, 0});
514 ops.push_back({OP_ENDIF, 0});
517 ops.push_back({OP_BREAK, 0});
532 ops.push_back({OP_IF_MASK, masks[0]});
533 ops.push_back({OP_CONTINUE, 0});
534 ops.push_back({OP_ELSE_MASK, 0});
535 ops.push_back({OP_CONTINUE, 0});
536 ops.push_back({OP_ENDIF, 0});
539 ops.push_back({OP_CONTINUE, 0});
546 ops.push_back({OP_ELECT, 0});
558 ops.push_back({OP_RETURN, 0});
566 ops.push_back({OP_ENDIF, 0});
583 ops.push_back({OP_IF_MASK, masks[0]});
584 ops.push_back({OP_RETURN, 0});
585 ops.push_back({OP_ELSE_MASK, 0});
586 ops.push_back({OP_RETURN, 0});
587 ops.push_back({OP_ENDIF, 0});
590 ops.push_back({OP_RETURN, 0});
598 ops.push_back({OP_CALL_BEGIN, 0});
609 ops.push_back({OP_CALL_END, 0});
621 ops.push_back({OP_SWITCH_UNIF_BEGIN, r});
624 ops.push_back({OP_CASE_MASK_BEGIN, 0, 1u<<(r+1)});
626 ops.push_back({OP_CASE_END, 0});
628 ops.push_back({OP_CASE_MASK_BEGIN, ~0ULL, 1u<<r});
630 ops.push_back({OP_CASE_END, 0});
632 ops.push_back({OP_CASE_MASK_BEGIN, 0, 1u<<(r+2)});
634 ops.push_back({OP_CASE_END, 0});
636 ops.push_back({OP_SWITCH_END, 0});
643 ops.push_back({OP_SWITCH_VAR_BEGIN, 0});
646 ops.push_back({OP_CASE_MASK_BEGIN, 0x1111111111111111ULL, 1<<0});
648 ops.push_back({OP_CASE_END, 0});
650 ops.push_back({OP_CASE_MASK_BEGIN, 0x2222222222222222ULL, 1<<1});
652 ops.push_back({OP_CASE_END, 0});
654 ops.push_back({OP_CASE_MASK_BEGIN, 0x4444444444444444ULL, 1<<2});
656 ops.push_back({OP_CASE_END, 0});
658 ops.push_back({OP_CASE_MASK_BEGIN, 0x8888888888888888ULL, 1<<3});
660 ops.push_back({OP_CASE_END, 0});
662 ops.push_back({OP_SWITCH_END, 0});
671 ops.push_back({OP_SWITCH_VAR_BEGIN, 0});
674 ops.push_back({OP_CASE_MASK_BEGIN, 0x3333333333333333ULL, (1<<0)|(1<<1)});
676 ops.push_back({OP_CASE_END, 0});
678 ops.push_back({OP_CASE_MASK_BEGIN, 0xCCCCCCCCCCCCCCCCULL, (1<<2)|(1<<3)});
680 ops.push_back({OP_CASE_END, 0});
682 ops.push_back({OP_SWITCH_END, 0});
694 ops.push_back({OP_SWITCH_LOOP_COUNT_BEGIN, r});
697 ops.push_back({OP_CASE_LOOP_COUNT_BEGIN, 1ULL<<1, 1});
699 ops.push_back({OP_CASE_END, 0});
701 ops.push_back({OP_CASE_LOOP_COUNT_BEGIN, 1ULL<<2, 2});
703 ops.push_back({OP_CASE_END, 0});
706 ops.push_back({OP_CASE_LOOP_COUNT_BEGIN, ~6ULL, 0xFFFFFFFF});
708 ops.push_back({OP_CASE_END, 0});
710 ops.push_back({OP_SWITCH_END, 0});
838 if (ops.size() < 2 ||
839 !(ops[ops.size()-1].type == OP_BALLOT ||
840 (ops[ops.size()-1].type == OP_STORE && ops[ops.size()-2].type == OP_BALLOT)))
845 ops.push_back({OP_STORE, (deUint32)ops.size() + storeBase});
846 ops.push_back({OP_BALLOT, 0});
852 if (ops.size() < 2 ||
853 !(ops[ops.size()-1].type == OP_STORE ||
854 (ops[ops.size()-1].type == OP_BALLOT && ops[ops.size()-2].type == OP_STORE)))
858 ops.push_back({OP_STORE, (deUint32)ops.size() + storeBase});
864 ops.push_back({OP_NOISE, 0});
866 ops.push_back({OP_NOISE, 1});
872 ops.clear();
873 while ((deInt32)ops.size() < minCount)
928 for (deInt32 i = 0; i < (deInt32)ops.size(); ++i)
930 switch (ops[i].type)
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";
1115 if ((1u<<b) & ops[i].caseValue)
1124 if (ops[i].caseValue == 0xFFFFFFFF)
1130 printIndent(*css); *css << "case " << ops[i].caseValue << ": {\n";
1182 while (i < (deInt32)ops.size())
1184 switch (ops[i].type)
1190 ops[i].caseValue = 1;
1199 ops[i].caseValue = 1;
1213 if (ops[i].caseValue)
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)
1549 for (deInt32 i = 0; i < (deInt32)ops.size(); ++i)
1551 if (ops[i].type == OP_BALLOT && ops[i].caseValue == 0)