mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-04-02 01:18:28 -04:00
feat: Add OpenGL ZBC clear support and refactor ZBC management
Moved ZBCManager to `video_core/zbc_manager.cpp/h` for modularity. Added `gl_zbc_clear.cpp/h` for efficient OpenGL color, depth, and stencil clears. Updated `RasterizerOpenGL::Clear` to use ZBC with fallback. Added stencil type validation. Fixed color mask and logging. Updated `CMakeLists.txt`. Enhances performance and code organization. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -35,7 +35,7 @@ VkFormat GetFormat(const Tegra::FramebufferConfig& framebuffer) {
|
||||
switch (framebuffer.pixel_format) {
|
||||
case Service::android::PixelFormat::Rgba8888:
|
||||
case Service::android::PixelFormat::Rgbx8888:
|
||||
return VK_FORMAT_A8B8G8R8_UNORM_PACK32;
|
||||
return VK_FORMAT_R8G8B8A8_UNORM;
|
||||
case Service::android::PixelFormat::Rgb565:
|
||||
return VK_FORMAT_R5G6B5_UNORM_PACK16;
|
||||
case Service::android::PixelFormat::Bgra8888:
|
||||
@@ -43,7 +43,7 @@ VkFormat GetFormat(const Tegra::FramebufferConfig& framebuffer) {
|
||||
default:
|
||||
UNIMPLEMENTED_MSG("Unknown framebuffer pixel format: {}",
|
||||
static_cast<u32>(framebuffer.pixel_format));
|
||||
return VK_FORMAT_A8B8G8R8_UNORM_PACK32;
|
||||
return VK_FORMAT_R8G8B8A8_UNORM;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user