Lines Matching refs:subgroups
37 namespace subgroups
56 return glc::subgroups::check(datas, width, 1);
63 return glc::subgroups::checkCompute(datas, numWorkgroups, localSize, 1);
224 return subgroups::getFormatNameForGLSL(format) + "(0)";
226 return subgroups::getFormatNameForGLSL(format) + "(1)";
230 return subgroups::getFormatNameForGLSL(format) + "(intBitsToFloat(0x7f800000))";
234 return subgroups::getFormatNameForGLSL(format) + "(0x7fffffff)";
238 return subgroups::getFormatNameForGLSL(format) + "(0xffffffffu)";
248 return subgroups::getFormatNameForGLSL(format) + "(intBitsToFloat(0xff800000))";
252 return subgroups::getFormatNameForGLSL(format) + "(0x80000000)";
256 return subgroups::getFormatNameForGLSL(format) + "(0u)";
264 return subgroups::getFormatNameForGLSL(format) + "(~0)";
266 return subgroups::getFormatNameForGLSL(format) + "(0)";
268 return subgroups::getFormatNameForGLSL(format) + "(0)";
274 std::string formatName = subgroups::getFormatNameForGLSL(format);
322 for (deUint32 i = 1; i <= subgroups::maxSupportedSubgroupSize(); i *= 2)
328 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " op = "
332 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " ref = "
357 subgroups::setFragmentShaderFrameBuffer(programCollection);
360 subgroups::setVertexShaderFrameBuffer(programCollection);
374 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
399 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
425 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
442 subgroups::setTesEvalShaderFrameBuffer(programCollection);
455 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[" << subgroups::maxSupportedSubgroupSize() << "];\n"
466 subgroups::setTesCtrlShaderFrameBuffer(programCollection);
493 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data[];\n"
522 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
550 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
581 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
608 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
620 subgroups::addGeometryShadersFromTemplate(geometry, programCollection);
633 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data[];\n"
644 subgroups::addNoSubgroupShader(programCollection);
650 if (!subgroups::isSubgroupSupported(context))
653 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_CLUSTERED_BIT))
656 if (subgroups::isDoubleFormat(caseDef.format) &&
657 !subgroups::isDoubleSupportedForDevice(context))
665 if (!subgroups::areSubgroupOperationsSupportedForStage(
668 if (subgroups::areSubgroupOperationsRequiredForStage(
673 subgroups::getShaderStageName(caseDef.shaderStage) +
682 subgroups::SSBOData inputData;
684 inputData.layout = subgroups::SSBOData::LayoutStd140;
685 inputData.numElements = subgroups::maxSupportedSubgroupSize();
686 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
690 return subgroups::makeVertexFrameBufferTest(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages);
692 return subgroups::makeGeometryFrameBufferTest(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages);
694 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_CONTROL_BIT);
696 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_EVALUATION_BIT);
705 if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
709 subgroups::getShaderStageName(caseDef.shaderStage) +
712 subgroups::SSBOData inputData;
714 inputData.layout = subgroups::SSBOData::LayoutStd430;
715 inputData.numElements = subgroups::maxSupportedSubgroupSize();
716 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
719 return subgroups::makeComputeTest(context, FORMAT_R32_UINT, &inputData, 1, checkComputeStage);
727 if (SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context))
738 subgroups::SSBOData inputData;
740 inputData.layout = subgroups::SSBOData::LayoutStd430;
741 inputData.numElements = subgroups::maxSupportedSubgroupSize();
742 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
746 return subgroups::allStages(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages);
838 +"_" + subgroups::getFormatNameForGLSL(format);
869 } // subgroups