GPUOpen-Drivers / AMD-Gfx-Drivers

Forum for AMD OpenGL and Vulkan graphics drivers
5 stars 3 forks source link

Warning on AMD 7800xt vulkan initialization. #11

Closed JulioJerez closed 4 days ago

JulioJerez commented 1 week ago

HI, I am writing a vulkan compute lib to accelerate some code. The code seems to work on several gpus, Intel embedded and arch 770 and NVidia starting for 1060. I recently acquired an amd 7800 with the hope of getting better performance and also to be able to load much large model into gpu memory. The result has been far, less than I expected, in some case the result fall behind and NVidia 1660 super, so I start checking the code for errors. so far, the only thing I see in the log is this warning.

vulkan accelerator: AMD Radeon RX 7800 XT

Debug Report: Validation: Validation Warning: [ WARNING-vkGetDeviceProcAddr-device ] | MessageID = 0x22b1fbac | vkGetDeviceProcAddr(): pName is trying to grab vkGetPhysicalDeviceCalibrateableTimeDomainsKHR which is an instance level function

the warning comes after executing this call bellow is executed

void ndBrainGpuContext::CreateLogicalDevice()
{
    m_queue = VK_NULL_HANDLE;
    m_device = VK_NULL_HANDLE;

    const float queue_priority[] = { 1.0f };
    VkDeviceQueueCreateInfo queue_info[1] = {};
    queue_info[0].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
    queue_info[0].queueFamilyIndex = m_queueFamilyIndex;
    queue_info[0].queueCount = 1;
    queue_info[0].pQueuePriorities = queue_priority;

    VkPhysicalDeviceFeatures deviceFeatures = {};
    VkDeviceCreateInfo create_info = {};
    create_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
    create_info.queueCreateInfoCount = sizeof(queue_info) / sizeof(queue_info[0]);
    create_info.pQueueCreateInfos = queue_info;
    create_info.pEnabledFeatures = &deviceFeatures;

    create_info.enabledLayerCount = 1;
    create_info.ppEnabledLayerNames = &m_apiLayers[0];
    //create_info.enabledExtensionCount = 1;
    //create_info.ppEnabledExtensionNames = &m_apiExtensionLayers[0];

    CheckResultVulkan(vkCreateDevice(m_physicalDevice, &create_info, m_allocator, &m_device));
    vkGetDeviceQueue(m_device, m_queueFamilyIndex, 0, &m_queue);
}

not sure if this is part of the problem, but is a difference, nonetheless. so, the question is what do I do to fix that? most the vulkan initialization boilerplate code taken almost verbatim from tutorials enforced from Chronos org.

edit: I read the guide line for posting an issue, but I do not see how to assig a tag to my post.

owenzhangzhengzhong commented 1 week ago

Hi @JulioJerez,

This seems related to this issue: https://github.com/GPUOpen-Drivers/AMD-Gfx-Drivers/issues/6 Can you try with latest vulkan loader version 1.3.286 and see if it still occurs?

Thanks, Owen

JulioJerez commented 1 week ago

I do not know what you mean by Loader, if you are referring to Vulkan sdk, the version I have was download form here. and it is SDK - SDK InstallerVulkanSDK-1.3.283.0

I do not see any download with the number .286 unless you are talking something else. also a google search come up with site talking about it but not download links.

owenzhangzhengzhong commented 4 days ago

This is vulkan loader, you can get the source and documentation here: https://github.com/KhronosGroup/Vulkan-Loader You can get the latest version and build it yourself, then put the vulkan-1.dll in the same directory as your game application. From command line you can see which version of loader you are using by setting environment variable: set VK_LOADER_DEBUG=info

This is updated via driver update packages.

JulioJerez commented 4 days ago

Well, I can't really do that since this is not my choice. Since this is a glaring issue that seems to affect only some important AMD gpus, I am assuming an official fix should be on the way. Meantime I will just swap the GPU and try again sometime in the future..

Thanks for the answer and you can close this issue. Julio

On Mon, Jun 24, 2024 at 1:59 PM owenzhangzhengzhong < @.***> wrote:

This is vulkan loader, you can get the source and documentation here: https://github.com/KhronosGroup/Vulkan-Loader You can get the latest version and build it yourself, then put the vulkan-1.dll in the same directory as your game application. From command line you can see which version of loader you are using by setting environment variable: set VK_LOADER_DEBUG=info

This is updated via driver update packages.

— Reply to this email directly, view it on GitHub https://github.com/GPUOpen-Drivers/AMD-Gfx-Drivers/issues/11#issuecomment-2187391788, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6EPJHPFC76PYD4DYEKI4DZJCCDDAVCNFSM6AAAAABJUTCBNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGM4TCNZYHA . You are receiving this because you were mentioned.Message ID: @.***>