Merge pull request #98709 from darksylinc/matias-upsidedown-splash
Fix splash screen upside down on Android
This commit is contained in:
commit
2b49543478
12 changed files with 42 additions and 53 deletions
|
|
@ -2996,6 +2996,24 @@ Error RenderingDeviceDriverVulkan::swap_chain_resize(CommandQueueID p_cmd_queue,
|
|||
swap_create_info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
||||
swap_create_info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
||||
swap_create_info.preTransform = surface_transform_bits;
|
||||
switch (swap_create_info.preTransform) {
|
||||
case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
|
||||
swap_chain->pre_transform_rotation_degrees = 0;
|
||||
break;
|
||||
case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
|
||||
swap_chain->pre_transform_rotation_degrees = 90;
|
||||
break;
|
||||
case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
|
||||
swap_chain->pre_transform_rotation_degrees = 180;
|
||||
break;
|
||||
case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
|
||||
swap_chain->pre_transform_rotation_degrees = 270;
|
||||
break;
|
||||
default:
|
||||
WARN_PRINT("Unexpected swap_create_info.preTransform = " + itos(swap_create_info.preTransform) + ".");
|
||||
swap_chain->pre_transform_rotation_degrees = 0;
|
||||
break;
|
||||
}
|
||||
swap_create_info.compositeAlpha = composite_alpha;
|
||||
swap_create_info.presentMode = present_mode;
|
||||
swap_create_info.clipped = true;
|
||||
|
|
@ -3167,6 +3185,13 @@ RDD::RenderPassID RenderingDeviceDriverVulkan::swap_chain_get_render_pass(SwapCh
|
|||
return swap_chain->render_pass;
|
||||
}
|
||||
|
||||
int RenderingDeviceDriverVulkan::swap_chain_get_pre_rotation_degrees(SwapChainID p_swap_chain) {
|
||||
DEV_ASSERT(p_swap_chain.id != 0);
|
||||
|
||||
SwapChain *swap_chain = (SwapChain *)(p_swap_chain.id);
|
||||
return swap_chain->pre_transform_rotation_degrees;
|
||||
}
|
||||
|
||||
RDD::DataFormat RenderingDeviceDriverVulkan::swap_chain_get_format(SwapChainID p_swap_chain) {
|
||||
DEV_ASSERT(p_swap_chain.id != 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -359,6 +359,7 @@ private:
|
|||
LocalVector<CommandQueue *> command_queues_acquired;
|
||||
LocalVector<uint32_t> command_queues_acquired_semaphores;
|
||||
RenderPassID render_pass;
|
||||
int pre_transform_rotation_degrees = 0;
|
||||
uint32_t image_index = 0;
|
||||
#ifdef ANDROID_ENABLED
|
||||
uint64_t refresh_duration = 0;
|
||||
|
|
@ -373,6 +374,7 @@ public:
|
|||
virtual Error swap_chain_resize(CommandQueueID p_cmd_queue, SwapChainID p_swap_chain, uint32_t p_desired_framebuffer_count) override final;
|
||||
virtual FramebufferID swap_chain_acquire_framebuffer(CommandQueueID p_cmd_queue, SwapChainID p_swap_chain, bool &r_resize_required) override final;
|
||||
virtual RenderPassID swap_chain_get_render_pass(SwapChainID p_swap_chain) override final;
|
||||
virtual int swap_chain_get_pre_rotation_degrees(SwapChainID p_swap_chain) override final;
|
||||
virtual DataFormat swap_chain_get_format(SwapChainID p_swap_chain) override final;
|
||||
virtual void swap_chain_set_max_fps(SwapChainID p_swap_chain, int p_max_fps) override final;
|
||||
virtual void swap_chain_free(SwapChainID p_swap_chain) override final;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue