mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
Make window resize work with Vulkan. Seems more stable now.
This commit is contained in:
parent
4c83d30b59
commit
58c240045e
@ -621,7 +621,7 @@ int main(int argc, char *argv[]) {
|
||||
#if !defined(MOBILE_DEVICE)
|
||||
case SDL_WINDOWEVENT:
|
||||
switch (event.window.event) {
|
||||
case SDL_WINDOWEVENT_RESIZED:
|
||||
case SDL_WINDOWEVENT_SIZE_CHANGED: // better than RESIZED, more general
|
||||
{
|
||||
Uint32 window_flags = SDL_GetWindowFlags(window);
|
||||
bool fullscreen = (window_flags & SDL_WINDOW_FULLSCREEN);
|
||||
|
@ -25,16 +25,11 @@ public:
|
||||
}
|
||||
|
||||
void Resize() override {
|
||||
/*
|
||||
draw_->HandleEvent(Draw::Event::LOST_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
|
||||
vulkan_->DestroyObjects();
|
||||
// TODO: Take from real window dimensions
|
||||
int width = 1024;
|
||||
int height = 768;
|
||||
vulkan_->ReinitSurface(width, height);
|
||||
vulkan_->ReinitSurface();
|
||||
vulkan_->InitObjects();
|
||||
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
|
||||
*/
|
||||
}
|
||||
|
||||
void SwapInterval(int interval) override {
|
||||
|
@ -865,7 +865,9 @@ void VulkanRenderManager::BeginSubmitFrame(int frame) {
|
||||
VkResult res = vkAcquireNextImageKHR(vulkan_->GetDevice(), vulkan_->GetSwapchain(), UINT64_MAX, acquireSemaphore_, (VkFence)VK_NULL_HANDLE, &frameData.curSwapchainImage);
|
||||
if (res == VK_SUBOPTIMAL_KHR) {
|
||||
// Hopefully the resize will happen shortly. Ignore - one frame might look bad or something.
|
||||
WLOG("VK_SUBOPTIMAL_KHR returned - ignoring");
|
||||
} else if (res == VK_ERROR_OUT_OF_DATE_KHR) {
|
||||
WLOG("VK_ERROR_OUT_OF_DATE_KHR returned - not presenting");
|
||||
frameData.skipSwap = true;
|
||||
} else {
|
||||
_assert_msg_(G3D, res == VK_SUCCESS, "vkAcquireNextImageKHR failed! result=%s", VulkanResultToString(res));
|
||||
|
Loading…
Reference in New Issue
Block a user