Ответы пользователя по тегу Vulkan API
  • Vulkan свойства семейств очередей?

    @ruslanfedoseenko
    С++/C# разработчик
    Используется си-подобное понятие массива как указатель на первый элемент. И благодаря арифметике указателей код вида pQueueFamilyProperties[i] вернет указатель на i элемент. Произойдет что-то типа pQueueFamilyProperties + i*sizeof(VkQueueFamilyProperties).
    В итоге сначала надо спросить кол-во элементов
    uint32_t queueFamilyPropertiesCount = 0;
    vkGetPhysicalDeviceQueueFamilyProperties(
      physicalDevice, &queueFamilyPropertiesCount, 0);

    Выделить память для этих элементов и получить их
    //Если пишите на C
    VkQueueFamilyProperties* const queueFamilyProperties =
      (VkQueueFamilyProperties*)malloc(
        sizeof(VkQueueFamilyProperties) * queueFamilyPropertiesCount);
    //Если пишите на C++
    VkQueueFamilyProperties* const queueFamilyProperties =
     new VkQueueFamilyProperties[queueFamilyPropertiesCount];
    
    vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice,
      &queueFamilyPropertiesCount, queueFamilyProperties);


    P.S. Я не эксперт в Vulcan API и не разу его не использовал но по идее должно работать.
    Ответ написан
    3 комментария