Lines Matching refs:caseDef
99 string getExtHeader (const CaseDefinition& caseDef) in getExtHeader() argument
101 const string eSource = (OPTYPE_SHUFFLE == caseDef.opType || OPTYPE_SHUFFLE_XOR == caseDef.opType) in getExtHeader()
107 + subgroups::getAdditionalExtensionForFormat(caseDef.format); in getExtHeader()
110 vector<string> getPerStageHeadDeclarations (const CaseDefinition& caseDef) in getPerStageHeadDeclarations() argument
112 const string formatName = subgroups::getFormatNameForGLSL(caseDef.format); in getPerStageHeadDeclarations()
113 const deUint32 stageCount = subgroups::getStagesCount(caseDef.shaderStage); in getPerStageHeadDeclarations()
114 const bool fragment = (caseDef.shaderStage & VK_SHADER_STAGE_FRAGMENT_BIT) != 0; in getPerStageHeadDeclarations()
130 const string b2Layout = ((caseDef.argType == ArgType::DYNAMIC) ? "std430" : "std140"); in getPerStageHeadDeclarations()
131 const string b2Type = ((caseDef.argType == ArgType::DYNAMIC) ? "readonly buffer" : "uniform"); in getPerStageHeadDeclarations()
148 vector<string> getFramebufferPerStageHeadDeclarations (const CaseDefinition& caseDef) in getFramebufferPerStageHeadDeclarations() argument
150 const string formatName = subgroups::getFormatNameForGLSL(caseDef.format); in getFramebufferPerStageHeadDeclarations()
151 const deUint32 stageCount = subgroups::getStagesCount(caseDef.shaderStage); in getFramebufferPerStageHeadDeclarations()
153 …const auto b2Len = ((caseDef.argType == ArgType::DYNAMIC) ? subgroups::maxSupportedSubgroupSize(… in getFramebufferPerStageHeadDeclarations()
181 const string getTestSource (const CaseDefinition& caseDef) in getTestSource() argument
183 const string id = caseDef.opType == OPTYPE_SHUFFLE ? "id_in" in getTestSource()
184 : caseDef.opType == OPTYPE_SHUFFLE_XOR ? "gl_SubgroupInvocationID ^ id_in" in getTestSource()
185 : caseDef.opType == OPTYPE_SHUFFLE_UP ? "gl_SubgroupInvocationID - id_in" in getTestSource()
186 : caseDef.opType == OPTYPE_SHUFFLE_DOWN ? "gl_SubgroupInvocationID + id_in" in getTestSource()
188 …const string idInSource = caseDef.argType == ArgType::DYNAMIC ? "data2[gl_SubgroupInvocationID]… in getTestSource()
189 : caseDef.argType == ArgType::DYNAMICALLY_UNIFORM ? "data2[0] % 32" in getTestSource()
190 : caseDef.argType == ArgType::CONSTANT ? "5" in getTestSource()
196 " " + subgroups::getFormatNameForGLSL(caseDef.format) + " op = " in getTestSource()
197 + getOpTypeName(caseDef.opType) + "(data1[gl_SubgroupInvocationID], id_in);\n" in getTestSource()
212 void initFrameBufferPrograms (SourceCollections& programCollection, CaseDefinition caseDef) in initFrameBufferPrograms() argument
215 const string extHeader = getExtHeader(caseDef); in initFrameBufferPrograms()
216 const string testSrc = getTestSource(caseDef); in initFrameBufferPrograms()
217 const vector<string> headDeclarations = getFramebufferPerStageHeadDeclarations(caseDef); in initFrameBufferPrograms()
218 const bool pointSizeSupported = *caseDef.geometryPointSizeSupported; in initFrameBufferPrograms()
220 …subgroups::initStdFrameBufferPrograms(programCollection, buildOptions, caseDef.shaderStage, VK_FOR… in initFrameBufferPrograms()
223 void initPrograms (SourceCollections& programCollection, CaseDefinition caseDef) in initPrograms() argument
226 …ol spirv14required = (isAllRayTracingStages(caseDef.shaderStage) || isAllMeshShadingStages(ca… in initPrograms()
232 const string extHeader = getExtHeader(caseDef); in initPrograms()
233 const string testSrc = getTestSource(caseDef); in initPrograms()
234 const vector<string> headDeclarations = getPerStageHeadDeclarations(caseDef); in initPrograms()
235 const bool pointSizeSupported = *caseDef.geometryPointSizeSupported; in initPrograms()
237 …subgroups::initStdPrograms(programCollection, buildOptions, caseDef.shaderStage, VK_FORMAT_R32_UIN… in initPrograms()
240 void supportedCheck (Context& context, CaseDefinition caseDef) in supportedCheck() argument
245 switch (caseDef.opType) in supportedCheck()
262 if (!subgroups::isFormatSupportedForDevice(context, caseDef.format)) in supportedCheck()
265 if (caseDef.requiredSubgroupSize) in supportedCheck()
283 …if ((subgroupSizeControlProperties.requiredSubgroupSizeStages & caseDef.shaderStage) != caseDef.sh… in supportedCheck()
287 …*caseDef.geometryPointSizeSupported = subgroups::isTessellationAndGeometryPointSizeSupported(conte… in supportedCheck()
290 if (isAllRayTracingStages(caseDef.shaderStage)) in supportedCheck()
294 else if (isAllMeshShadingStages(caseDef.shaderStage)) in supportedCheck()
299 if ((caseDef.shaderStage & VK_SHADER_STAGE_TASK_BIT_EXT) != 0u) in supportedCheck()
308 subgroups::supportedCheckShader(context, caseDef.shaderStage); in supportedCheck()
311 TestStatus noSSBOtest (Context& context, const CaseDefinition caseDef) in noSSBOtest() argument
313 …const VkDeviceSize secondBufferSize = ((caseDef.argType == ArgType::DYNAMIC) ? subgroups::maxSup… in noSSBOtest()
319 caseDef.format, // vk::VkFormat format; in noSSBOtest()
332 switch (caseDef.shaderStage) in noSSBOtest()
336 …ontext, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage); in noSSBOtest()
337 …ntext, VK_FORMAT_R32_UINT, inputData, 2, DE_NULL, checkVertexPipelineStages, caseDef.shaderStage); in noSSBOtest()
342 TestStatus test (Context& context, const CaseDefinition caseDef) in test() argument
344 const auto secondBufferLayout = ((caseDef.argType == ArgType::DYNAMIC) in test()
347 const VkDeviceSize secondBufferElems = ((caseDef.argType == ArgType::DYNAMIC) in test()
350 const auto secondBufferType = ((caseDef.argType == ArgType::DYNAMIC) in test()
354 const bool isCompute = isAllComputeStages(caseDef.shaderStage); in test()
356 const bool isMesh = isAllMeshShadingStages(caseDef.shaderStage); in test()
375 caseDef.format, // vk::VkFormat format; in test()
387 if (caseDef.requiredSubgroupSize == DE_FALSE) in test()
417 else if (isAllGraphicsStages(caseDef.shaderStage)) in test()
419 …const VkShaderStageFlags stages = subgroups::getPossibleGraphicsSubgroupStages(context, caseDef.… in test()
425 caseDef.format, // vk::VkFormat format; in test()
445 else if (isAllRayTracingStages(caseDef.shaderStage)) in test()
447 …StageFlags stages = subgroups::getPossibleRayTracingSubgroupStages(context, caseDef.shaderStage); in test()
453 caseDef.format, // vk::VkFormat format; in test()
547 const CaseDefinition caseDef = in createSubgroupsShuffleTests() local
557 …unctionCaseWithPrograms(graphicGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); in createSubgroupsShuffleTests()
564 const CaseDefinition caseDef = in createSubgroupsShuffleTests() local
574 …ionCaseWithPrograms(computeGroup.get(), testName, "", supportedCheck, initPrograms, test, caseDef); in createSubgroupsShuffleTests()
584 const CaseDefinition caseDef = in createSubgroupsShuffleTests() local
594 …nctionCaseWithPrograms(meshGroup.get(), testName, "", supportedCheck, initPrograms, test, caseDef); in createSubgroupsShuffleTests()
601 const CaseDefinition caseDef = in createSubgroupsShuffleTests() local
610 const string testName = name + "_" + getShaderStageName(caseDef.shaderStage); in createSubgroupsShuffleTests()
612 …ramebufferGroup.get(), testName, "", supportedCheck, initFrameBufferPrograms, noSSBOtest, caseDef); in createSubgroupsShuffleTests()
638 const CaseDefinition caseDef = in createSubgroupsShuffleTests() local
648 …tionCaseWithPrograms(raytracingGroup.get(), name, "", supportedCheck, initPrograms, test, caseDef); in createSubgroupsShuffleTests()