Merge pull request #2099 from greggameplayer/BGRA8-Framebuffer-Real

Implement BGRA8 framebuffer format
This commit is contained in:
bunnei 2019-02-12 21:44:20 -05:00 committed by GitHub
commit cd542d5aac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 0 deletions

View file

@ -18,6 +18,7 @@ namespace Tegra {
u32 FramebufferConfig::BytesPerPixel(PixelFormat format) { u32 FramebufferConfig::BytesPerPixel(PixelFormat format) {
switch (format) { switch (format) {
case PixelFormat::ABGR8: case PixelFormat::ABGR8:
case PixelFormat::BGRA8:
return 4; return 4;
default: default:
return 4; return 4;

View file

@ -80,6 +80,7 @@ class DebugContext;
struct FramebufferConfig { struct FramebufferConfig {
enum class PixelFormat : u32 { enum class PixelFormat : u32 {
ABGR8 = 1, ABGR8 = 1,
BGRA8 = 5,
}; };
/** /**

View file

@ -426,6 +426,8 @@ PixelFormat PixelFormatFromGPUPixelFormat(Tegra::FramebufferConfig::PixelFormat
switch (format) { switch (format) {
case Tegra::FramebufferConfig::PixelFormat::ABGR8: case Tegra::FramebufferConfig::PixelFormat::ABGR8:
return PixelFormat::ABGR8U; return PixelFormat::ABGR8U;
case Tegra::FramebufferConfig::PixelFormat::BGRA8:
return PixelFormat::BGRA8;
default: default:
LOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format)); LOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
UNREACHABLE(); UNREACHABLE();