Lines Matching refs:subgroups
67 return subgroups::check(datas, width, 1);
78 return subgroups::checkComputeOrMesh(datas, numWorkgroups, localSize, 1);
111 subgroups::getAdditionalExtensionForFormat(format);
127 const string fmt = subgroups::getFormatNameForGLSL(caseDef.format);
187 subgroups::initStdFrameBufferPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, getExtHeader(caseDef.format), getTestSrc(caseDef), "");
205 subgroups::initStdPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, "");
210 if (!subgroups::isSubgroupSupported(context))
213 if (!subgroups::areQuadOperationsSupportedForStages(context, caseDef.shaderStage))
216 if (!subgroups::isFormatSupportedForDevice(context, caseDef.format))
221 if (!subgroups::is16BitUBOStorageSupported(context))
229 if (!subgroups::is8BitUBOStorageSupported(context))
235 if ((caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST) && !subgroups::isSubgroupBroadcastDynamicIdSupported(context))
254 TCU_THROW(NotSupportedError, "Device does not support full subgroups in compute shaders");
260 *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context);
281 subgroups::supportedCheckShader(context, caseDef.shaderStage);
286 subgroups::SSBOData inputData;
288 inputData.layout = subgroups::SSBOData::LayoutStd140;
289 inputData.numElements = subgroups::maxSupportedSubgroupSize();
290 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
291 inputData.bindingType = subgroups::SSBOData::BindingUBO;
295 case VK_SHADER_STAGE_VERTEX_BIT: return subgroups::makeVertexFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
296 case VK_SHADER_STAGE_GEOMETRY_BIT: return subgroups::makeGeometryFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages);
297 case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
298 case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: return subgroups::makeTessellationEvaluationFrameBufferTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage);
321 const subgroups::SSBOData inputData
323 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
324 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
326 subgroups::maxSupportedSubgroupSize(), // vk::VkDeviceSize numElements;
332 return subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh);
334 return subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh);
346 result = subgroups::makeComputeTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh, size);
348 result = subgroups::makeMeshTest(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkComputeOrMesh, size);
361 const VkShaderStageFlags stages = subgroups::getPossibleGraphicsSubgroupStages(context, caseDef.shaderStage);
362 subgroups::SSBOData inputData;
365 inputData.layout = subgroups::SSBOData::LayoutStd430;
366 inputData.numElements = subgroups::maxSupportedSubgroupSize();
367 inputData.initializeType = subgroups::SSBOData::InitializeNonZero;
371 return subgroups::allStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
376 const VkShaderStageFlags stages = subgroups::getPossibleRayTracingSubgroupStages(context, caseDef.shaderStage);
377 const subgroups::SSBOData inputData =
379 subgroups::SSBOData::InitializeNonZero, // InputDataInitializeType initializeType;
380 subgroups::SSBOData::LayoutStd430, // InputDataLayoutType layout;
382 subgroups::maxSupportedSubgroupSize(), // vk::VkDeviceSize numElements;
383 subgroups::SSBOData::BindingSSBO, // bool isImage;
388 return subgroups::allRayTracingStages(context, VK_FORMAT_R32_UINT, &inputData, 1, DE_NULL, checkVertexPipelineStages, stages);
398 namespace subgroups
431 const vector<VkFormat> formats = subgroups::getAllFormats();
436 const string formatName = subgroups::getFormatNameForGLSL(format);
525 const vector<VkFormat> formats = subgroups::getAllRayTracingFormats();
530 const string formatName = subgroups::getFormatNameForGLSL(format);
563 } // subgroups