(WIN32) Переключение с Vulkan на D3D11 Renderer не выпускает окно ⇐ C++
(WIN32) Переключение с Vulkan на D3D11 Renderer не выпускает окно
Редактировать: Ответ (но на вопрос закрыт) < /h2>
tl; DR в соответствии с спецификацией Vulkan, это неопределенное поведение для прохождения оконного ручки Win32 между графическими API после создания Swapchain. AWATE. Я пишу механизм видеоигр, в котором есть меню для переключения между графическими бэкэнами, два из которых реализованы туда, где они инициализируют и рисуют сцену тестового треугольника: < /p>
Vulkan (красный фон) < /li>
Vulkan Destructor: < /p>
VK::~VK()
{
if (dll_)
{
// Queues do not need to be released
// Logical device CAN be destroyed
if (device_)
{
freeSyncObjects(); // Waits for device idling
freeCommandPools();
if (pipeline_)
{
vkDestroyPipeline(device_, pipeline_, nullptr);
pipeline_ = nullptr;
}
if (pipelineLayout_)
{
vkDestroyPipelineLayout(device_, pipelineLayout_, nullptr);
pipelineLayout_ = nullptr;
}
if (renderPass_)
{
vkDestroyRenderPass(device_, renderPass_, nullptr);
renderPass_ = nullptr;
}
freeSwapchain();
vkDestroyDevice(device_, nullptr);
device_ = nullptr;
}
// Physical device cannot be destroyed
if (surface_)
{
vkDestroySurfaceKHR(instance_, surface_, nullptr);
surface_ = nullptr;
}
if (instance_)
{
vkDestroyInstance(instance_, nullptr);
instance_ = nullptr;
}
FreeLibrary(dll_);
dll_ = nullptr;
}
}
[/code]
редактировать, с ответом:
https://registry.khronos.org/vulkan/spe ... rface.html
indeferse iteef/inefine. Win32 окно между графическими API после создания Swapchain.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ase-window
Редактировать: Ответ (но на вопрос закрыт) < /h2>
tl; DR в соответствии с спецификацией Vulkan, это неопределенное поведение для прохождения оконного ручки Win32 между графическими API после создания Swapchain. AWATE. Я пишу механизм видеоигр, в котором есть меню для переключения между графическими бэкэнами, два из которых реализованы туда, где они инициализируют и рисуют сцену тестового треугольника: < /p>
Vulkan (красный фон) < /li>
Vulkan Destructor: < /p>
VK::~VK()
{
if (dll_)
{
// Queues do not need to be released
// Logical device CAN be destroyed
if (device_)
{
freeSyncObjects(); // Waits for device idling
freeCommandPools();
if (pipeline_)
{
vkDestroyPipeline(device_, pipeline_, nullptr);
pipeline_ = nullptr;
}
if (pipelineLayout_)
{
vkDestroyPipelineLayout(device_, pipelineLayout_, nullptr);
pipelineLayout_ = nullptr;
}
if (renderPass_)
{
vkDestroyRenderPass(device_, renderPass_, nullptr);
renderPass_ = nullptr;
}
freeSwapchain();
vkDestroyDevice(device_, nullptr);
device_ = nullptr;
}
// Physical device cannot be destroyed
if (surface_)
{
vkDestroySurfaceKHR(instance_, surface_, nullptr);
surface_ = nullptr;
}
if (instance_)
{
vkDestroyInstance(instance_, nullptr);
instance_ = nullptr;
}
FreeLibrary(dll_);
dll_ = nullptr;
}
}
[/code]
редактировать, с ответом:
https://registry.khronos.org/vulkan/spe ... rface.html
indeferse iteef/inefine. Win32 окно между графическими API после создания Swapchain.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ase-window
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
(WIN32) Переключение с Vulkan на D3D11 рендерер не выпускает окно [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-