hle: nvflinger: Add implementation for BufferSlot class.
This commit is contained in:
		| @@ -540,6 +540,7 @@ add_library(core STATIC | |||||||
|     hle/service/nvflinger/binder.h |     hle/service/nvflinger/binder.h | ||||||
|     hle/service/nvflinger/buffer_item.h |     hle/service/nvflinger/buffer_item.h | ||||||
|     hle/service/nvflinger/buffer_queue_defs.h |     hle/service/nvflinger/buffer_queue_defs.h | ||||||
|  |     hle/service/nvflinger/buffer_slot.h | ||||||
|     hle/service/nvflinger/buffer_transform_flags.h |     hle/service/nvflinger/buffer_transform_flags.h | ||||||
|     hle/service/nvflinger/consumer_listener.h |     hle/service/nvflinger/consumer_listener.h | ||||||
|     hle/service/nvflinger/nvflinger.cpp |     hle/service/nvflinger/nvflinger.cpp | ||||||
|   | |||||||
							
								
								
									
										39
									
								
								src/core/hle/service/nvflinger/buffer_slot.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/core/hle/service/nvflinger/buffer_slot.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-3.0-or-later | ||||||
|  | // Copyright 2021 yuzu Emulator Project | ||||||
|  | // Copyright 2014 The Android Open Source Project | ||||||
|  | // Parts of this implementation were base on: | ||||||
|  | // https://cs.android.com/android/platform/superproject/+/android-5.1.1_r38:frameworks/native/include/gui/BufferSlot.h | ||||||
|  |  | ||||||
|  | #pragma once | ||||||
|  |  | ||||||
|  | #include <memory> | ||||||
|  |  | ||||||
|  | #include "common/common_types.h" | ||||||
|  | #include "core/hle/service/nvflinger/ui/fence.h" | ||||||
|  |  | ||||||
|  | namespace android { | ||||||
|  |  | ||||||
|  | class GraphicBuffer; | ||||||
|  |  | ||||||
|  | enum class BufferState : u32 { | ||||||
|  |     Free = 0, | ||||||
|  |     Dequeued = 1, | ||||||
|  |     Queued = 2, | ||||||
|  |     Acquired = 3, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | struct BufferSlot final { | ||||||
|  |     constexpr BufferSlot() = default; | ||||||
|  |  | ||||||
|  |     std::shared_ptr<GraphicBuffer> graphic_buffer; | ||||||
|  |     BufferState buffer_state{BufferState::Free}; | ||||||
|  |     bool request_buffer_called{}; | ||||||
|  |     u64 frame_number{}; | ||||||
|  |     Fence fence; | ||||||
|  |     bool acquire_called{}; | ||||||
|  |     bool needs_cleanup_on_release{}; | ||||||
|  |     bool attached_by_consumer{}; | ||||||
|  |     bool is_preallocated{}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | } // namespace android | ||||||
		Reference in New Issue
	
	Block a user