mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-12 06:08:30 +09:00
[Fix] (MG_Backend/DirectVulkan): use shader-based default framebuffer blit to fix wrong orientation
This commit is contained in:
@@ -2911,15 +2911,17 @@ void main() {
|
|||||||
(readFbo == MG_Impl::GLImpl::FramebufferImpl::pDefaultFramebufferInfo->defaultFBO);
|
(readFbo == MG_Impl::GLImpl::FramebufferImpl::pDefaultFramebufferInfo->defaultFBO);
|
||||||
const Bool drawIsDefaultFbo =
|
const Bool drawIsDefaultFbo =
|
||||||
(drawFbo == MG_Impl::GLImpl::FramebufferImpl::pDefaultFramebufferInfo->defaultFBO);
|
(drawFbo == MG_Impl::GLImpl::FramebufferImpl::pDefaultFramebufferInfo->defaultFBO);
|
||||||
if (drawIsDefaultFbo && m_swapchainObject.GetPreTransform() != VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) {
|
if (isColorBlit && drawIsDefaultFbo) {
|
||||||
if (TryBlitToDefaultFramebufferWithShader(frame, *readFbo, *drawFbo,
|
if (TryBlitToDefaultFramebufferWithShader(frame, *readFbo, *drawFbo,
|
||||||
srcX0, srcY0, srcX1, srcY1,
|
srcX0, srcY0, srcX1, srcY1,
|
||||||
dstX0, dstY0, dstX1, dstY1, filter)) {
|
dstX0, dstY0, dstX1, dstY1, filter)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MGLOG_E("BlitFramebuffer skipped: rotated blit to default framebuffer requires a texture-backed source framebuffer");
|
if (m_swapchainObject.GetPreTransform() != VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) {
|
||||||
|
MGLOG_E("BlitFramebuffer skipped: transformed blit to default framebuffer requires a texture-backed source framebuffer");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isDepthBlit) {
|
if (isDepthBlit) {
|
||||||
BlitImageBinding srcBinding{};
|
BlitImageBinding srcBinding{};
|
||||||
|
|||||||
Reference in New Issue
Block a user