I get the following error:
Exception thrown at VkLayer_khronos_validation.dll Exception thrown at 0x00007FFA5252DD05 (VkLayer_khronos_validation.dll) Access violation reading location 0xFFFFFFFFFFFFFFFF.
My code:
void LogicalDevice::createLogicalDevice(VkPhysicalDevice pDevice){
VkDeviceQueueCreateInfo qcreateInfo;
qcreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
QueueFamiliesIndices indices = PhysicalDevice::findQueueFamilies(pDevice);
qcreateInfo.queueFamilyIndex = indices.graphicsFamily.value();
qcreateInfo.queueCount = 1;
float queuePriority = 1.0f;
qcreateInfo.pQueuePriorities = &queuePriority;
VkPhysicalDeviceFeatures deviceFeatures = {};
VkDeviceCreateInfo createInfo = {};
createInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
createInfo.pQueueCreateInfos = &qcreateInfo;
createInfo.queueCreateInfoCount = 1;
createInfo.pEnabledFeatures = &deviceFeatures;
createInfo.enabledExtensionCount = 0;
if (ValidationLayers::enableValidationLayers){
createInfo.enabledLayerCount = static_cast<uint32_t>(ValidationLayers::validationLayers.size());
createInfo.ppEnabledLayerNames = ValidationLayers::validationLayers.data();
}
else{
createInfo.enabledLayerCount = 0;
createInfo.pNext = nullptr;
}
createInfo.flags = 0;
if (vkCreateDevice(pDevice, &createInfo ,nullptr, &device) != VK_SUCCESS){
std::cout << "Failed to create Logical Device";
}
}