Запрошен фатальный выход из программы при удалении моего ColorResources() ⇐ C++
Запрошен фатальный выход из программы при удалении моего ColorResources()
Я пытался очистить некоторые вещи после выхода из программы, и мои ColorResources находятся последними в этом списке, но когда я пытаюсь очистить все, я получаю то, что сказано в заголовке. некоторые идеи:
//ColorResource заблокирован в том же классе, который загружает мои текстуры VkImage m_image [t_textureArraySize]; VkDeviceMemory m_imageMemory[t_textureArraySize]; VkImageView m_imageView[t_textureArraySize]; //t_textureArraySize = 1; void createColorResources (устройство VkDevice, VkPhysicalDevicephysicalDevice, VkFormat colorFormat, VkSampleCountFlagBits msaaSamples, ширина uint32_t, высота uint32_t) { createImage(device,physicalDevice, width, height, 1, msaaSamples, colorFormat, VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, m_image[0], m_imageMemory[ 0]); m_imageView[0] = createImageView(device, m_image[0], colorFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); DebugName(device, (uint64_t)m_image[0], "ImageColorResources", VK_OBJECT_TYPE_IMAGE); DebugName(device, (uint64_t)m_imageMemory[0], "ImageMemoryColorResources", VK_OBJECT_TYPE_DEVICE_MEMORY); //m_loaded = правда; m_CRloaded = правда; } //функция очистки недействительный уничтожить () { если (m_CRloaded) { vkDestroyImageView (m_device, m_imageView [0], nullptr); vkFreeMemory(m_device, m_imageMemory[0], nullptr); vkDestroyImage(m_device, m_image[0], nullptr); } } Я уничтожаю его после того, как уничтожу все, что связано с загрузкой модели, и задолго до того, как удалю фрамбуфер, вот так:
vkDeviceWaitIdle(device); глубинное изображение.уничтожить(); vkDestroyDescriptorSetLayout (устройство, descriptorSetLayout, nullptr); vkDestroyDescriptorPool (устройство, descriptorPool, nullptr); for (int i = 0; я
Я пытался очистить некоторые вещи после выхода из программы, и мои ColorResources находятся последними в этом списке, но когда я пытаюсь очистить все, я получаю то, что сказано в заголовке. некоторые идеи:
//ColorResource заблокирован в том же классе, который загружает мои текстуры VkImage m_image [t_textureArraySize]; VkDeviceMemory m_imageMemory[t_textureArraySize]; VkImageView m_imageView[t_textureArraySize]; //t_textureArraySize = 1; void createColorResources (устройство VkDevice, VkPhysicalDevicephysicalDevice, VkFormat colorFormat, VkSampleCountFlagBits msaaSamples, ширина uint32_t, высота uint32_t) { createImage(device,physicalDevice, width, height, 1, msaaSamples, colorFormat, VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, m_image[0], m_imageMemory[ 0]); m_imageView[0] = createImageView(device, m_image[0], colorFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); DebugName(device, (uint64_t)m_image[0], "ImageColorResources", VK_OBJECT_TYPE_IMAGE); DebugName(device, (uint64_t)m_imageMemory[0], "ImageMemoryColorResources", VK_OBJECT_TYPE_DEVICE_MEMORY); //m_loaded = правда; m_CRloaded = правда; } //функция очистки недействительный уничтожить () { если (m_CRloaded) { vkDestroyImageView (m_device, m_imageView [0], nullptr); vkFreeMemory(m_device, m_imageMemory[0], nullptr); vkDestroyImage(m_device, m_image[0], nullptr); } } Я уничтожаю его после того, как уничтожу все, что связано с загрузкой модели, и задолго до того, как удалю фрамбуфер, вот так:
vkDeviceWaitIdle(device); глубинное изображение.уничтожить(); vkDestroyDescriptorSetLayout (устройство, descriptorSetLayout, nullptr); vkDestroyDescriptorPool (устройство, descriptorPool, nullptr); for (int i = 0; я
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Запрошен фатальный выход из программы при удалении моего ColorResources()
Anonymous » » в форуме C++ - 0 Ответы
- 67 Просмотры
-
Последнее сообщение Anonymous
-