Lines Matching refs:subgroups
85 return subgroups::check(datas, width, 1);
96 return subgroups::checkComputeOrMesh(datas, numWorkgroups, localSize, 1);
108 subgroups::getAdditionalExtensionForFormat(caseDef.format);
113 const string formatName = subgroups::getFormatNameForGLSL(caseDef.format);
123 for (deUint32 i = 1; i <= subgroups::maxSupportedSubgroupSize(); i *= 2)
164 subgroups::initStdFrameBufferPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, "");
179 subgroups::initStdPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, "");
184 if (!subgroups::isSubgroupSupported(context))
187 if (!subgroups::isSubgroupFeatureSupportedForDevice(context, VK_SUBGROUP_FEATURE_CLUSTERED_BIT))
190 if (!subgroups::isFormatSupportedForDevice(context, caseDef.format))
195 if (!subgroups::is16BitUBOStorageSupported(context))
203 if (!subgroups::is8BitUBOStorageSupported(context))
225 TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders");
231 *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context);
252 subgroups::supportedCheckShader(context, caseDef.shaderStage);
257 const subgroups::SSBOData inputData =
259 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
260 subgroups::SSBOData::LayoutStd140, // InputDataLayoutType layout;
262 subgroups::maxSupportedSubgroupSize(), // vk::VkDeviceSize numElements;
263 subgroups::SSBOData::BindingUBO, // BindingType bindingType;
268 case VK_SHADER_STAGE_VERTEX_BIT: return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
269 case VK_SHADER_STAGE_GEOMETRY_BIT: return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
270 case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
271 case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
295 subgroups::SSBOData inputData;
297 inputData.layout = subgroups::SSBOData::LayoutStd430;
298 inputData.numElements = subgroups::maxSupportedSubgroupSize();
299 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
304 return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh);
306 return subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh);
318 result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh, size);
320 result = subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh, size);
333 const VkShaderStageFlags stages = subgroups::getPossibleGraphicsSubgroupStages(context, caseDef.shaderStage);
334 const subgroups::SSBOData inputData =
336 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
337 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
339 subgroups::maxSupportedSubgroupSize(), // vk::VkDeviceSize numElements;
340 subgroups::SSBOData::BindingSSBO, // bool isImage;
345 return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
350 const VkShaderStageFlags stages = subgroups::getPossibleRayTracingSubgroupStages(context, caseDef.shaderStage);
351 const subgroups::SSBOData inputData =
353 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
354 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
356 subgroups::maxSupportedSubgroupSize(), // vk::VkDeviceSize numElements;
357 subgroups::SSBOData::BindingSSBO, // bool isImage;
362 return subgroups::allRayTracingStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
372 namespace subgroups
405 const vector<VkFormat> formats = subgroups::getAllFormats();
410 const string formatName = subgroups::getFormatNameForGLSL(format);
411 const bool isBool = subgroups::isFormatBool(format);
412 const bool isFloat = subgroups::isFormatFloat(format);
510 const vector<VkFormat> formats = subgroups::getAllRayTracingFormats();
515 const string formatName = subgroups::getFormatNameForGLSL(format);
516 const bool isBool = subgroups::isFormatBool(format);
517 const bool isFloat = subgroups::isFormatFloat(format);
563 } // subgroups