diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-11-18 02:41:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-18 02:41:34 +0100 |
commit | f131b0faeb94a3f5aef76772e75ec3feb7c3ab12 (patch) | |
tree | db391baae9fc100aaba35b0c8d33d47e593a3e1f /src/core/hle/service/nvnflinger/ui/graphic_buffer.h | |
parent | Merge pull request #11917 from liamwhite/abandonment (diff) | |
parent | nvnflinger: use graphic buffer lifetime for map handle (diff) | |
download | yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar.gz yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar.bz2 yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar.lz yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar.xz yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.tar.zst yuzu-f131b0faeb94a3f5aef76772e75ec3feb7c3ab12.zip |
Diffstat (limited to 'src/core/hle/service/nvnflinger/ui/graphic_buffer.h')
-rw-r--r-- | src/core/hle/service/nvnflinger/ui/graphic_buffer.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/core/hle/service/nvnflinger/ui/graphic_buffer.h b/src/core/hle/service/nvnflinger/ui/graphic_buffer.h index 3eac5cedd..da430aa75 100644 --- a/src/core/hle/service/nvnflinger/ui/graphic_buffer.h +++ b/src/core/hle/service/nvnflinger/ui/graphic_buffer.h @@ -6,16 +6,22 @@ #pragma once +#include <memory> + #include "common/common_funcs.h" #include "common/common_types.h" #include "core/hle/service/nvnflinger/pixel_format.h" +namespace Service::Nvidia::NvCore { +class NvMap; +} // namespace Service::Nvidia::NvCore + namespace Service::android { -struct GraphicBuffer final { - constexpr GraphicBuffer() = default; +struct NvGraphicBuffer { + constexpr NvGraphicBuffer() = default; - constexpr GraphicBuffer(u32 width_, u32 height_, PixelFormat format_, u32 usage_) + constexpr NvGraphicBuffer(u32 width_, u32 height_, PixelFormat format_, u32 usage_) : width{static_cast<s32>(width_)}, height{static_cast<s32>(height_)}, format{format_}, usage{static_cast<s32>(usage_)} {} @@ -93,6 +99,17 @@ struct GraphicBuffer final { u32 offset{}; INSERT_PADDING_WORDS(60); }; -static_assert(sizeof(GraphicBuffer) == 0x16C, "GraphicBuffer has wrong size"); +static_assert(sizeof(NvGraphicBuffer) == 0x16C, "NvGraphicBuffer has wrong size"); + +class GraphicBuffer final : public NvGraphicBuffer { +public: + explicit GraphicBuffer(u32 width, u32 height, PixelFormat format, u32 usage); + explicit GraphicBuffer(Service::Nvidia::NvCore::NvMap& nvmap, + std::shared_ptr<NvGraphicBuffer> buffer); + ~GraphicBuffer(); + +private: + Service::Nvidia::NvCore::NvMap* m_nvmap{}; +}; } // namespace Service::android |