MCPcopy Create free account
hub / github.com/defold/defold / SetupVulkanAdapterInfo

Function SetupVulkanAdapterInfo

engine/graphics/src/vulkan/graphics_vulkan.cpp:1438–1476  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers 1

InitializeVulkanFunction · 0.85

Calls 2

VulkanPrintDeviceInfoFunction · 0.85

Tested by

no test coverage detected