| 1436 | } |
| 1437 | |
| 1438 | static void SetupVulkanAdapterInfo(VulkanContext* context) |
| 1439 | { |
| 1440 | const VkPhysicalDeviceLimits& vk_limits = context->m_PhysicalDevice.m_Properties.limits; |
| 1441 | GraphicsContextLimits& limits = context->m_BaseContext.m_Limits; |
| 1442 | |
| 1443 | limits.m_MaxTextureSize2D = vk_limits.maxImageDimension2D; |
| 1444 | limits.m_MaxTextureSize3D = vk_limits.maxImageDimension3D; |
| 1445 | limits.m_MaxTextureSizeCube = vk_limits.maxImageDimensionCube; |
| 1446 | limits.m_MaxTextureArrayLayers = vk_limits.maxImageArrayLayers; |
| 1447 | |
| 1448 | limits.m_MaxFramebufferWidth = vk_limits.maxFramebufferWidth; |
| 1449 | limits.m_MaxFramebufferHeight = vk_limits.maxFramebufferHeight; |
| 1450 | limits.m_MaxColorAttachments = vk_limits.maxColorAttachments; |
| 1451 | |
| 1452 | limits.m_MaxSamplersPerStage = vk_limits.maxPerStageDescriptorSamplers; |
| 1453 | limits.m_MaxTexturesPerStage = vk_limits.maxPerStageDescriptorSampledImages; |
| 1454 | limits.m_MaxVertexAttributes = vk_limits.maxVertexInputAttributes; |
| 1455 | limits.m_MaxVertexBuffers = vk_limits.maxVertexInputBindings; |
| 1456 | |
| 1457 | limits.m_MaxComputeWorkgroupSizeX = vk_limits.maxComputeWorkGroupSize[0]; |
| 1458 | limits.m_MaxComputeWorkgroupSizeY = vk_limits.maxComputeWorkGroupSize[1]; |
| 1459 | limits.m_MaxComputeWorkgroupSizeZ = vk_limits.maxComputeWorkGroupSize[2]; |
| 1460 | limits.m_MaxComputeWorkgroupInvocations = vk_limits.maxComputeWorkGroupInvocations; |
| 1461 | limits.m_MaxComputeSharedMemorySize = vk_limits.maxComputeSharedMemorySize; |
| 1462 | |
| 1463 | limits.m_MaxUniformBufferRange = vk_limits.maxUniformBufferRange; |
| 1464 | limits.m_MaxStorageBufferRange = vk_limits.maxStorageBufferRange; |
| 1465 | |
| 1466 | uint32_t api = context->m_PhysicalDevice.m_Properties.apiVersion; |
| 1467 | context->m_BaseContext.m_AdapterVersionMajor = (uint16_t) VK_VERSION_MAJOR(api); |
| 1468 | context->m_BaseContext.m_AdapterVersionMinor = (uint16_t) VK_VERSION_MINOR(api); |
| 1469 | |
| 1470 | if (context->m_BaseContext.m_PrintDeviceInfo) |
| 1471 | { |
| 1472 | VulkanPrintDeviceInfo((HContext) context); |
| 1473 | } |
| 1474 | |
| 1475 | SetupSupportedTextureFormats(context); |
| 1476 | } |
| 1477 | |
| 1478 | bool InitializeVulkan(HContext _context) |
| 1479 | { |
no test coverage detected