renderer_opengl: Better handling of framebuffer transform flags.

This commit is contained in:
bunnei 2018-03-23 14:58:27 -04:00
parent c2c55e0811
commit ec4e1a3685
4 changed files with 23 additions and 6 deletions

View file

@ -27,10 +27,8 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3
offset, width, height, stride, format);
using PixelFormat = Tegra::FramebufferConfig::PixelFormat;
using Flags = NVFlinger::BufferQueue::BufferTransformFlags;
const bool flip_vertical = static_cast<u32>(transform) & static_cast<u32>(Flags::FlipV);
const Tegra::FramebufferConfig framebuffer{
addr, offset, width, height, stride, static_cast<PixelFormat>(format), flip_vertical};
addr, offset, width, height, stride, static_cast<PixelFormat>(format), transform};
Core::System::GetInstance().perf_stats.EndGameFrame();

View file

@ -47,6 +47,8 @@ public:
~BufferQueue() = default;
enum class BufferTransformFlags : u32 {
/// No transform flags are set
Unset = 0x00,
/// Flip source image horizontally (around the vertical axis)
FlipH = 0x01,
/// Flip source image vertically (around the horizontal axis)