summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvnflinger/ui/graphic_buffer.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-10-29 21:37:11 +0100
committerLiam <byteslice@airmail.cc>2023-10-30 03:12:16 +0100
commit79e7d7f4ba3ed4f395e6b30eea218a34348726a2 (patch)
treef7e73263e401b6eb761df2eebce6cb52908be5f6 /src/core/hle/service/nvnflinger/ui/graphic_buffer.h
parentMerge pull request #11866 from liamwhite/more-qt-nonsense (diff)
downloadyuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar.gz
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar.bz2
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar.lz
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar.xz
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.tar.zst
yuzu-79e7d7f4ba3ed4f395e6b30eea218a34348726a2.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/nvnflinger/ui/graphic_buffer.h25
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