Lines Matching defs:const
129 const VkFlags allShaderStages = VK_SHADER_STAGE_COMPUTE_BIT;
158 VkResult getCooperativeMatrixProperties (const InstanceInterface&, VkPhysicalDevice, uint32_t*, T*)
163 VkResult getCooperativeMatrixProperties (const InstanceInterface& vki, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties)
168 VkResult getCooperativeMatrixProperties (const InstanceInterface& vki, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties)
173 VkCooperativeMatrixPropertiesKHR convertCooperativeMatrixProperties (const VkCooperativeMatrixPropertiesNV& properties)
192 std::vector<VkCooperativeMatrixPropertiesKHR> convertCooperativeMatrixProperties (const std::vector <VkCooperativeMatrixPropertiesNV>& properties)
211 const T sample = initVulkanStructureConst();
223 std::vector<VkCooperativeMatrixPropertiesKHR> getCooperativeMatrixPropertiesConverted (Context& context, const bool khr)
244 const SubgroupSizeMode subgroupSizeMode)
247 const VkPhysicalDeviceSubgroupSizeControlProperties& subgroupSizeControlProperties = context.getSubgroupSizeControlProperties();
249 const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& subgroupSizeControlProperties = context.getSubgroupSizeControlPropertiesEXT();
265 CooperativeMatrixTestInstance (Context& context, const CaseDef& data);
272 CooperativeMatrixTestInstance::CooperativeMatrixTestInstance (Context& context, const CaseDef& data)
285 CooperativeMatrixTestCase (tcu::TestContext& context, const char* name, const CaseDef data);
287 virtual void initPrograms (SourceCollections& programCollection) const;
288 virtual TestInstance* createInstance (Context& context) const;
289 virtual void checkSupport (Context& context) const;
295 CooperativeMatrixTestCase::CooperativeMatrixTestCase (tcu::TestContext& context, const char* name, const CaseDef data)
305 void CooperativeMatrixTestCase::checkSupport (Context& context) const
351 const auto isMMA = isMatrixMulAddOp(m_data.testType);
352 const auto isMMASat = m_data.testType == TT_MATRIXMULADD_SATURATED;
356 const VkCooperativeMatrixPropertiesKHR* p = &properties[i];
376 const VkComponentTypeKHR types[2] = { m_data.inputType, m_data.outputType };
424 const char *typeName;
425 const char *coopmatTypeName;
470 void CooperativeMatrixTestCase::initPrograms (SourceCollections& programCollection) const
472 const char* suffix = (isKhr(m_data.useType) ? "" : "NV");
473 const char* ext = isKhr(m_data.useType)
477 const char* sat = (m_data.testType == TT_MATRIXMULADD_SATURATED) ? ", gl_MatrixOperandsSaturatingAccumulation" : "";
488 "layout(constant_id = 2) const int AStride = 1;\n"
489 "layout(constant_id = 3) const int BStride = 1;\n"
490 "layout(constant_id = 4) const int CStride = 1;\n"
491 "layout(constant_id = 5) const int OStride = 1;\n"
492 "layout(constant_id = 6) const int M = 1;\n"
493 "layout(constant_id = 7) const int N = 1;\n"
494 "layout(constant_id = 8) const int K = 1;\n"
528 const char *typeStrA = componentTypeInfo[m_data.inputType].typeName;
529 const char *typeStrB = componentTypeInfo[m_data.inputType].typeName;
530 const char *typeStrC = componentTypeInfo[m_data.outputType].typeName;
531 const char *typeStrO = componentTypeInfo[m_data.outputType].typeName;
533 css << "const int workgroupsX = " << m_data.workgroupsX << ";\n";
534 css << "const uvec2 subgroupsPerWG = uvec2(" << m_data.subgroupsPerWorkgroupX << ", " << m_data.subgroupsPerWorkgroupY << ");\n";
564 const bool useSame = !isMatrixMulAddOp(m_data.testType);
565 const char* sameType = m_data.useType == UT_KHR_A ? "gl_MatrixUseA"
569 const char* atype = useSame ? sameType : "gl_MatrixUseA";
570 const char* btype = useSame ? sameType : "gl_MatrixUseB";
571 const char* ctype = useSame ? sameType : "gl_MatrixUseAccumulator";
572 const char* rtype = useSame ? sameType : "gl_MatrixUseAccumulator";
593 css << "const " << outputMatType.str() << " matConst = " << outputMatType.str() << "(1.0);\n";
631 const char *name[] =
637 const char *inputName[] =
666 const char *colMajorNV = (m_data.colMajor ? "true" : "false");
667 const char* colMajorKHR = (m_data.colMajor ? "gl_CooperativeMatrixLayoutColumnMajor" : "gl_CooperativeMatrixLayoutRowMajor");
668 const char* colMajor = (isKhr(m_data.useType) ? colMajorKHR : colMajorNV);
795 const vk::ShaderBuildOptions buildOptions (programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_3, 0u);
800 TestInstance* CooperativeMatrixTestCase::createInstance (Context& context) const
952 const deUint32 rowsCount = colMajor ? stride : matrixElemCount / stride;
953 const deUint32 colsCount = colMajor ? matrixElemCount / stride : stride;
964 const deUint32 i = colMajor ? rowsCount * c + r : colsCount * r + c;
983 const DeviceInterface& vk = m_context.getDeviceInterface();
984 const VkDevice device = m_context.getDevice();
990 const bool saturated = (m_data.testType == TT_MATRIXMULADD_SATURATED);
991 const deUint32 subgroupSize = getSubgroupSizeFromMode(m_context, m_data.subgroupSizeMode);
992 const float epsilon = 1.0f / float(1ull<<17); // 131072 is epsilon circa 1e-5
1004 bool operator<(const TestTuple &other) const
1036 const bool aType = (m_data.useType == UT_KHR_A) || (m_data.useType == UT_NV);
1037 const bool bType = (m_data.useType == UT_KHR_B) || (m_data.useType == UT_NV);
1038 const bool rType = (m_data.useType == UT_KHR_Result) || (m_data.useType == UT_NV);
1138 catch (const tcu::NotSupportedError&)
1180 DE_NULL, // const void* pNext;
1209 const deUint32 specData[9] =
1222 const vk::VkSpecializationMapEntry entries[9] =
1235 const vk::VkSpecializationInfo specInfo =
1321 const VkQueue queue = m_context.getUniversalQueue();
1436 const float expected32 = inputA * inputB;
1437 const deFloat16 expected16 = deFloat32To16(expected32);
1438 const float expected = deFloat16To32(expected16);
1675 const char* matrixNames[] = { "A", "B", "C", "D" };
1698 const char* getUseType (UseType useType)
1717 const char* name;
1723 const char* name;
1729 const char* name;
1843 const TestType testType = (TestType)ttCases[ttNdx].value;
1853 const string name = string(ttCases[ttNdx].name) + sgsCases[sgsNdx].name;
1864 const VkComponentTypeKHR inputType = (VkComponentTypeKHR)dtCases[dtNdx].value[0];
1865 const VkComponentTypeKHR outputType = (VkComponentTypeKHR)dtCases[dtNdx].value[1];
1866 const bool isMatrixMul = isMatrixMulAddOp(testType);
1926 const string name = string("convert");
1927 const string desc = string("OpFConvert/OpSConvert/OpUConvert/OpBitcast");
1934 const VkComponentTypeKHR inputType = (VkComponentTypeKHR)allTypes[dtNdx1];
1935 const VkComponentTypeKHR outputType = (VkComponentTypeKHR)allTypes[dtNdx2];
1936 const string name2 = string("input_") + string(componentTypeInfo[inputType].typeName) + string("_output_") + string(componentTypeInfo[outputType].typeName);