Hello, I’m working at the moment at a little graphic Engine which uses Vulkan for rendering.
For this I’ve a little problem: I don’t understand why I get a breakpoint with Visual Studio: The problem is that I get the Error-Code:
`Exception throw at 0x00007FFAE3C66A66 (amdvlk64.dll) in PhoenixEngine.exe: 0xC0000005: access to injury while reading at position 0x000000000000000A.
The red X of visual studio is pointing at the line where I create the Instance.
Though testing I know while activating Color Blending, so here is the Code:
Hi @AndreyOGL_D3D,
No, I don’t have any error messages for Validation Layers. The output of the application is only what Layers and Extensions are available. After that I get the error message from Visual Studio.
I don’t know how I could make the project simpler. But I’m working on to clean up my code.
So while rewriting my code (in hope to find the mistake) a small errormessage from validation layer is visible. It says I should put the value for queuePriorities between zero and one. But the strange thing is: I’ve done this:
VkDeviceQueueCreateInfo GraphicEngine::createQueueCreateInfo(uint32_t & amountOfQueueFamilies, VkQueueFamilyProperties * queueFamilyProperties)
{
VkDeviceQueueCreateInfo deviceQueueCreateInfo;
deviceQueueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
deviceQueueCreateInfo.pNext = NULL;
deviceQueueCreateInfo.flags = 0;
//GetBest QueueFamily: Graphic Bit and Transfering Bit
bool found = false;
for (int i = 0; i < amountOfQueueFamilies; i++)
{
if ((queueFamilyProperties[i].queueFlags & VK_QUEUE_GRAPHICS_BIT) > 0 && (queueFamilyProperties[i].queueFlags & VK_QUEUE_TRANSFER_BIT) > 0)
{
found = true;
deviceQueueCreateInfo.queueFamilyIndex = i;
}
}
if (found)
{
if (queueFamilyProperties[deviceQueueCreateInfo.queueFamilyIndex].queueCount >= 1)
{
deviceQueueCreateInfo.queueCount = 1;
}
std::cout << "[DEBUGGING] QUEUEINDEX=" << deviceQueueCreateInfo.queueFamilyIndex << std::endl;
const float queuePrios[] = { 1.0};
deviceQueueCreateInfo.pQueuePriorities = queuePrios;
return deviceQueueCreateInfo;
}
else
{
std::cerr << "Crazy Graphic Card: No good QueueFamily" << std::endl;
exit(-3);
}
return deviceQueueCreateInfo;
}
I don’t know wether the queueIndex with enabled Graphic and Transfering Bit is the best for my project, or a other queue.
But the value in QueuePrios[0] is 1.88 * 10^15, says the validation layer. So it is not really a value between 0 and 1. Maybe I had these little error before too and I overlooked this little mistake.
So does anyone have an Idea how to solve the issue with the wrong value in the float array to describe queuePriorities?