Lines Matching refs:caseDef

114 string getTestSrc (const CaseDefinition &caseDef)
127 const string fmt = subgroups::getFormatNameForGLSL(caseDef.format);
128 const string op = getOpTypeName(caseDef.opType);
132 << swapTable[caseDef.opType]
135 if (caseDef.opType == OPTYPE_QUAD_BROADCAST)
146 else if (caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST)
182 void initFrameBufferPrograms (SourceCollections& programCollection, CaseDefinition caseDef)
184 const SpirvVersion spirvVersion = (caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST) ? SPIRV_VERSION_1_5 : SPIRV_VERSION_1_3;
187 subgroups::initStdFrameBufferPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, getExtHeader(caseDef.format), getTestSrc(caseDef), "");
190 void initPrograms (SourceCollections& programCollection, CaseDefinition caseDef)
192 const bool spirv15required = caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST;
194 const bool spirv14required = (isAllRayTracingStages(caseDef.shaderStage) || isAllMeshShadingStages(caseDef.shaderStage));
202 const string extHeader = getExtHeader(caseDef.format);
203 const string testSrc = getTestSrc(caseDef);
205 subgroups::initStdPrograms(programCollection, buildOptions, caseDef.shaderStage, caseDef.format, *caseDef.geometryPointSizeSupported, extHeader, testSrc, "");
208 void supportedCheck (Context& context, CaseDefinition caseDef)
213 if (!subgroups::areQuadOperationsSupportedForStages(context, caseDef.shaderStage))
216 if (!subgroups::isFormatSupportedForDevice(context, caseDef.format))
219 if (caseDef.requires16BitUniformBuffer)
227 if (caseDef.requires8BitUniformBuffer)
235 if ((caseDef.opType == OPTYPE_QUAD_BROADCAST_NONCONST) && !subgroups::isSubgroupBroadcastDynamicIdSupported(context))
238 if (caseDef.requiredSubgroupSize)
256 if ((subgroupSizeControlProperties.requiredSubgroupSizeStages & caseDef.shaderStage) != caseDef.shaderStage)
260 *caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(context);
263 if (isAllRayTracingStages(caseDef.shaderStage))
267 else if (isAllMeshShadingStages(caseDef.shaderStage))
272 if ((caseDef.shaderStage & VK_SHADER_STAGE_TASK_BIT_EXT) != 0u)
281 subgroups::supportedCheckShader(context, caseDef.shaderStage);
284 TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef)
287 inputData.format = caseDef.format;
293 switch (caseDef.shaderStage)
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);
303 TestStatus test (Context& context, const CaseDefinition caseDef)
305 const bool isCompute = isAllComputeStages(caseDef.shaderStage);
307 const bool isMesh = isAllMeshShadingStages(caseDef.shaderStage);
325 caseDef.format, // vk::VkFormat format;
329 if (caseDef.requiredSubgroupSize == DE_FALSE)
359 else if (isAllGraphicsStages(caseDef.shaderStage))
361 const VkShaderStageFlags stages = subgroups::getPossibleGraphicsSubgroupStages(context, caseDef.shaderStage);
364 inputData.format = caseDef.format;
374 else if (isAllRayTracingStages(caseDef.shaderStage))
376 const VkShaderStageFlags stages = subgroups::getPossibleRayTracingSubgroupStages(context, caseDef.shaderStage);
381 caseDef.format, // vk::VkFormat format;
450 const CaseDefinition caseDef =
461 addFunctionCaseWithPrograms(computeGroup.get(), testName,supportedCheck, initPrograms, test, caseDef);
472 const CaseDefinition caseDef =
483 addFunctionCaseWithPrograms(meshGroup.get(), testName,supportedCheck, initPrograms, test, caseDef);
489 const CaseDefinition caseDef =
500 addFunctionCaseWithPrograms(graphicGroup.get(), name, supportedCheck, initPrograms, test, caseDef);
505 const CaseDefinition caseDef =
515 const string testName = name + "_" + getShaderStageName(caseDef.shaderStage);
517 addFunctionCaseWithPrograms(framebufferGroup.get(), testName,supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef);
536 const CaseDefinition caseDef =
547 addFunctionCaseWithPrograms(raytracingGroup.get(), testName,supportedCheck, initPrograms, test, caseDef);