diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvdisp_disp0.h | 5 | ||||
| -rw-r--r-- | src/core/hle/service/nvflinger/pixel_format.h | 21 | ||||
| -rw-r--r-- | src/core/hle/service/nvflinger/ui/graphic_buffer.h | 4 | 
4 files changed, 30 insertions, 10 deletions
| diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp index 68f1e9060..9fad45fe1 100644 --- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp +++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp @@ -38,18 +38,16 @@ NvResult nvdisp_disp0::Ioctl3(DeviceFD fd, Ioctl command, const std::vector<u8>&  void nvdisp_disp0::OnOpen(DeviceFD fd) {}  void nvdisp_disp0::OnClose(DeviceFD fd) {} -void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u32 height, -                        u32 stride, NVFlinger::BufferQueue::BufferTransformFlags transform, +void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, android::PixelFormat format, u32 width, +                        u32 height, u32 stride, android::BufferTransformFlags transform,                          const Common::Rectangle<int>& crop_rect) {      const VAddr addr = nvmap_dev->GetObjectAddress(buffer_handle);      LOG_TRACE(Service,                "Drawing from address {:X} offset {:08X} Width {} Height {} Stride {} Format {}",                addr, offset, width, height, stride, format); -    const auto pixel_format = static_cast<Tegra::FramebufferConfig::PixelFormat>(format); -    const auto transform_flags = static_cast<Tegra::FramebufferConfig::TransformFlags>(transform); -    const Tegra::FramebufferConfig framebuffer{addr,   offset,       width,           height, -                                               stride, pixel_format, transform_flags, crop_rect}; +    const Tegra::FramebufferConfig framebuffer{addr,   offset, width,     height, +                                               stride, format, transform, crop_rect};      system.GetPerfStats().EndSystemFrame();      system.GPU().SwapBuffers(&framebuffer); diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h index de01e1d5f..53c539ce4 100644 --- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h +++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.h @@ -10,6 +10,7 @@  #include "common/math_util.h"  #include "core/hle/service/nvdrv/devices/nvdevice.h"  #include "core/hle/service/nvflinger/buffer_queue.h" +#include "core/hle/service/nvflinger/pixel_format.h"  namespace Service::Nvidia::Devices { @@ -31,8 +32,8 @@ public:      void OnClose(DeviceFD fd) override;      /// Performs a screen flip, drawing the buffer pointed to by the handle. -    void flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u32 height, u32 stride, -              NVFlinger::BufferQueue::BufferTransformFlags transform, +    void flip(u32 buffer_handle, u32 offset, android::PixelFormat format, u32 width, u32 height, +              u32 stride, android::BufferTransformFlags transform,                const Common::Rectangle<int>& crop_rect);  private: diff --git a/src/core/hle/service/nvflinger/pixel_format.h b/src/core/hle/service/nvflinger/pixel_format.h new file mode 100644 index 000000000..966c84775 --- /dev/null +++ b/src/core/hle/service/nvflinger/pixel_format.h @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +// Copyright 2021 yuzu Emulator Project + +#pragma once + +#include "common/common_types.h" + +namespace android { + +enum class PixelFormat : u32 { +    NoFormat = 0, +    Rgba8888 = 1, +    Rgbx8888 = 2, +    Rgb888 = 3, +    Rgb565 = 4, +    Bgra8888 = 5, +    Rgba5551 = 6, +    Rgba4444 = 7, +}; + +} // namespace android diff --git a/src/core/hle/service/nvflinger/ui/graphic_buffer.h b/src/core/hle/service/nvflinger/ui/graphic_buffer.h index c1e54d9ed..2e7f251ef 100644 --- a/src/core/hle/service/nvflinger/ui/graphic_buffer.h +++ b/src/core/hle/service/nvflinger/ui/graphic_buffer.h @@ -44,7 +44,7 @@ public:          return buffer_id;      } -    constexpr u32 ExternalFormat() const { +    constexpr PixelFormat ExternalFormat() const {          return external_format;      } @@ -89,7 +89,7 @@ private:      INSERT_PADDING_WORDS(3);      u32 buffer_id{};      INSERT_PADDING_WORDS(6); -    u32 external_format{}; +    PixelFormat external_format{};      INSERT_PADDING_WORDS(10);      u32 handle{};      u32 offset{}; | 
