Lines Matching refs:subgroups
37 namespace subgroups
53 return glc::subgroups::check(datas, width, 1);
60 return glc::subgroups::checkCompute(datas, numWorkgroups, localSize, 1);
99 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
119 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " op = "
136 subgroups::setFragmentShaderFrameBuffer(programCollection);
139 subgroups::setVertexShaderFrameBuffer(programCollection);
158 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" << subgroups::maxSupportedSubgroupSize() << "];\n"
162 << " uint data2[" << subgroups::maxSupportedSubgroupSize() << "];\n"
186 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" << subgroups::maxSupportedSubgroupSize() << "];\n"
190 << " uint data2[" << subgroups::maxSupportedSubgroupSize() << "];\n"
215 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" << subgroups::maxSupportedSubgroupSize() << "];\n"
219 << " uint data2[" << subgroups::maxSupportedSubgroupSize() << "];\n"
235 subgroups::setTesEvalShaderFrameBuffer(programCollection);
248 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" << subgroups::maxSupportedSubgroupSize() << "];\n"
252 << " uint data2[" << subgroups::maxSupportedSubgroupSize() << "];\n"
262 subgroups::setTesCtrlShaderFrameBuffer(programCollection);
402 subgroups::addGeometryShadersFromTemplate(geometry, programCollection);
420 subgroups::addNoSubgroupShader(programCollection);
426 if (!subgroups::isSubgroupSupported(context))
433 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_SHUFFLE_BIT))
439 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT))
446 if (subgroups::isDoubleFormat(caseDef.format) &&
447 !subgroups::isDoubleSupportedForDevice(context))
453 if (!subgroups::areSubgroupOperationsSupportedForStage(
456 if (subgroups::areSubgroupOperationsRequiredForStage(
461 subgroups::getShaderStageName(caseDef.shaderStage) +
470 subgroups::SSBOData inputData[2];
472 inputData[0].layout = subgroups::SSBOData::LayoutStd140;
473 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
474 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
478 inputData[1].layout = subgroups::SSBOData::LayoutStd140;
480 inputData[1].initializeType = subgroups::SSBOData::InitializeNonZero;
484 return subgroups::makeVertexFrameBufferTest(context, FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages);
486 return subgroups::makeGeometryFrameBufferTest(context, FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages);
488 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, SHADER_STAGE_TESS_CONTROL_BIT);
490 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, SHADER_STAGE_TESS_EVALUATION_BIT);
502 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_SHUFFLE_BIT))
508 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT))
515 if (subgroups::isDoubleFormat(caseDef.format) && !subgroups::isDoubleSupportedForDevice(context))
522 if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
526 subgroups::getShaderStageName(caseDef.shaderStage) +
529 subgroups::SSBOData inputData[2];
531 inputData[0].layout = subgroups::SSBOData::LayoutStd430;
532 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
533 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
537 inputData[1].layout = subgroups::SSBOData::LayoutStd430;
539 inputData[1].initializeType = subgroups::SSBOData::InitializeNonZero;
542 return subgroups::makeComputeTest(context, FORMAT_R32_UINT, inputData, 2, checkComputeStage);
551 if (SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context))
562 subgroups::SSBOData inputData[2];
564 inputData[0].layout = subgroups::SSBOData::LayoutStd430;
565 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
566 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
571 inputData[1].layout = subgroups::SSBOData::LayoutStd430;
573 inputData[1].initializeType = subgroups::SSBOData::InitializeNonZero;
577 return subgroups::allStages(context, FORMAT_R32_UINT, inputData, 2, checkVertexPipelineStages, stages);
622 "_" + subgroups::getFormatNameForGLSL(format);
658 } // subgroups