Lines Matching refs:subgroups

67 	return subgroups::check(datas, width, 3);
78 return subgroups::checkComputeOrMesh(datas, numWorkgroups, localSize, 3);
98 + subgroups::getAdditionalExtensionForFormat(caseDef.format);
108 const string fmt = subgroups::getFormatNameForGLSL(caseDef.format);
131 max = (int)subgroups::maxSupportedSubgroupSize();
241 subgroups::initStdFrameBufferPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, helperStr);
260 subgroups::initStdPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, helperStr);
265 if (!subgroups::isSubgroupSupported(context))
268 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_BALLOT_BIT))
271 if (!subgroups::isFormatSupportedForDevice(context, caseDef.format))
276 if (!subgroups::is16BitUBOStorageSupported(context))
284 if (!subgroups::is8BitUBOStorageSupported(context))
294 if (!subgroups::isInt64SupportedForDevice(context))
298 if ((caseDef.opType == OPTYPE_BROADCAST_NONCONST) && !subgroups::isSubgroupBroadcastDynamicIdSupported(context))
317 TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders");
329 *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context);
350 subgroups::supportedCheckShader(context, caseDef.shaderStage);
355 const VkDeviceSize numElements = caseDef.extShaderSubGroupBallotTests ? 64u : subgroups::maxSupportedSubgroupSize();
356 const subgroups::SSBOData inputData =
358 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
359 subgroups::SSBOData::LayoutStd140, // InputDataLayoutType layout;
362 subgroups::SSBOData::BindingUBO, // BindingType bindingType;
367 case VK_SHADER_STAGE_VERTEX_BIT: return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
368 case VK_SHADER_STAGE_GEOMETRY_BIT: return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
369 case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
370 case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
377 const VkDeviceSize numElements = caseDef.extShaderSubGroupBallotTests ? 64u : subgroups::maxSupportedSubgroupSize();
389 const subgroups::SSBOData inputData =
391 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
392 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
400 return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh, caseDef.requiredSubgroupSize);
402 return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh);
407 return subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, nullptr, checkComputeOrMesh, caseDef.requiredSubgroupSize);
409 return subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, nullptr, checkComputeOrMesh);
414 const VkShaderStageFlags stages = subgroups::getPossibleGraphicsSubgroupStages(context, caseDef.shaderStage);
415 const subgroups::SSBOData inputData =
417 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
418 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
421 subgroups::SSBOData::BindingSSBO, // bool isImage;
426 return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
431 const VkShaderStageFlags stages = subgroups::getPossibleRayTracingSubgroupStages(context, caseDef.shaderStage);
432 const subgroups::SSBOData inputData =
434 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
435 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
438 subgroups::SSBOData::BindingSSBO, // bool isImage;
443 return subgroups::allRayTracingStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
453 namespace subgroups
493 const vector<VkFormat> formats = subgroups::getAllFormats();
506 const string name = getOpTypeCaseName(opType) + "_" + subgroups::getFormatNameForGLSL(format);
534 for (deUint32 subgroupSize = 1; subgroupSize <= subgroups::maxSupportedSubgroupSize(); subgroupSize *= 2)
577 for (deUint32 subgroupSize = 1; subgroupSize <= subgroups::maxSupportedSubgroupSize(); subgroupSize *= 2)
644 const vector<VkFormat> formats = subgroups::getAllRayTracingFormats();
649 const string formatName = subgroups::getFormatNameForGLSL(format);
690 } // subgroups