Lines Matching refs:subgroups
37 namespace subgroups
44 return glc::subgroups::check(datas, width, 0x7);
51 return glc::subgroups::checkCompute(datas, numWorkgroups, localSize, 0x7);
56 glc::subgroups::ShaderStageFlags shaderStage;
62 subgroupSizeStr << subgroups::maxSupportedSubgroupSize();
64 subgroups::setFragmentShaderFrameBuffer(programCollection);
67 subgroups::setVertexShaderFrameBuffer(programCollection);
149 subgroups::setTesEvalShaderFrameBuffer(programCollection);
176 subgroups::setTesCtrlShaderFrameBuffer(programCollection);
203 << subgroups::getSharedMemoryBallotHelper()
348 subgroups::addNoSubgroupShader(programCollection);
353 subgroups::addGeometryShadersFromTemplate(geometry, programCollection);
361 if (!subgroups::isSubgroupSupported(context))
364 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, SUBGROUP_FEATURE_BALLOT_BIT))
372 if (!subgroups::areSubgroupOperationsSupportedForStage(
375 if (subgroups::areSubgroupOperationsRequiredForStage(caseDef.shaderStage))
379 subgroups::getShaderStageName(caseDef.shaderStage) +
388 subgroups::SSBOData inputData[1];
390 inputData[0].layout = subgroups::SSBOData::LayoutStd140;
391 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
392 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
396 return subgroups::makeVertexFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages);
398 return subgroups::makeGeometryFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages);
400 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_CONTROL_BIT);
402 return subgroups::makeTessellationEvaluationFrameBufferTest(context, FORMAT_R32_UINT, inputData, 1, checkVertexPipelineStages, SHADER_STAGE_TESS_EVALUATION_BIT);
411 if (!subgroups::areSubgroupOperationsSupportedForStage(context, caseDef.shaderStage))
415 subgroups::getShaderStageName(caseDef.shaderStage) +
418 subgroups::SSBOData inputData[1];
420 inputData[0].layout = subgroups::SSBOData::LayoutStd430;
421 inputData[0].numElements = subgroups::maxSupportedSubgroupSize();
422 inputData[0].initializeType = subgroups::SSBOData::InitializeNonZero;
425 return subgroups::makeComputeTest(context, FORMAT_R32_UINT, inputData, 1, checkComputeStage);
433 if ( SHADER_STAGE_FRAGMENT_BIT != stages && !subgroups::isVertexSSBOSupportedForDevice(context))
444 subgroups::SSBOData inputData;
446 inputData.layout = subgroups::SSBOData::LayoutStd430;
447 inputData.numElements = subgroups::maxSupportedSubgroupSize();
448 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
452 return subgroups::allStages(context, FORMAT_R32_UINT, &inputData, 1, checkVertexPipelineStages, stages);
503 } // subgroups