Lines Matching refs:subgroups

37 namespace subgroups
51 return glc::subgroups::check(datas, width, 3);
58 return glc::subgroups::checkCompute(datas, numWorkgroups, localSize, 3);
92 for (int i = 0; i < (int)subgroups::maxSupportedSubgroupSize(); i++)
96 << " " << subgroups::getFormatNameForGLSL(caseDef.format)
144 subgroups::setFragmentShaderFrameBuffer(programCollection);
147 subgroups::setVertexShaderFrameBuffer(programCollection);
160 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" << subgroups::maxSupportedSubgroupSize() << "];\n"
183 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" <<subgroups::maxSupportedSubgroupSize() << "];\n"
207 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" <<subgroups::maxSupportedSubgroupSize() << "];\n"
223 subgroups::setTesEvalShaderFrameBuffer(programCollection);
234 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[" <<subgroups::maxSupportedSubgroupSize() << "];\n"
244 subgroups::setTesCtrlShaderFrameBuffer(programCollection);
270 << " " << subgroups::getFormatNameForGLSL(caseDef.format) << " data1[];\n"
296 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
319 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
344 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
366 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
386 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " data1[];\n"
394 subgroups::addNoSubgroupShader(programCollection);
399 subgroups::addGeometryShadersFromTemplate(geometry, programCollection);
406 if (!subgroups::isSubgroupSupported(context))
409 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_BALLOT_BIT))
414 if (subgroups::isDoubleFormat(caseDef.format) &&
415 !subgroups::isDoubleSupportedForDevice(context))
423 if (!subgroups::areSubgroupOperationsSupportedForStage(
426 if (subgroups::areSubgroupOperationsRequiredForStage(caseDef.shaderStage))
430 subgroups::getShaderStageName(caseDef.shaderStage) +
439 subgroups::SSBOData inputData[1];
441 inputData[0].layout = subgroups::SSBOData::LayoutStd140;
442 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
443 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
446 return subgroups::makeVertexFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages);
448 return subgroups::makeGeometryFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages);
450 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_CONTROL_BIT);
452 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_EVALUATION_BIT);
462 if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
464 if (subgroups::areSubgroupOperationsRequiredForStage(caseDef.shaderStage))
468 subgroups::getShaderStageName(caseDef.shaderStage) +
476 subgroups::SSBOData inputData[1];
478 inputData[0].layout = subgroups::SSBOData::LayoutStd430;
479 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
480 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
483 return subgroups::makeComputeTest(context, FORMAT_R32_UINT, inputData, 1, checkComputeStages);
491 if ( SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context))
502 subgroups::SSBOData inputData;
504 inputData.layout = subgroups::SSBOData::LayoutStd430;
505 inputData.numElements = subgroups::maxSupportedSubgroupSize();
506 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
510 return subgroups::allStages(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages);
552 const std::string name = op + "_" + subgroups::getFormatNameForGLSL(format);
582 } // subgroups