mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts.
This commit is contained in:
		@@ -187,7 +187,7 @@ NvResult nvhost_gpu::AllocateObjectContext(const std::vector<u8>& input, std::ve
 | 
			
		||||
    return NvResult::Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildWaitCommandList(Fence fence) {
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildWaitCommandList(NvFence fence) {
 | 
			
		||||
    return {
 | 
			
		||||
        Tegra::BuildCommandHeader(Tegra::BufferMethods::FenceValue, 1,
 | 
			
		||||
                                  Tegra::SubmissionMode::Increasing),
 | 
			
		||||
@@ -198,7 +198,8 @@ static std::vector<Tegra::CommandHeader> BuildWaitCommandList(Fence fence) {
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildIncrementCommandList(Fence fence, u32 add_increment) {
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildIncrementCommandList(NvFence fence,
 | 
			
		||||
                                                                   u32 add_increment) {
 | 
			
		||||
    std::vector<Tegra::CommandHeader> result{
 | 
			
		||||
        Tegra::BuildCommandHeader(Tegra::BufferMethods::FenceValue, 1,
 | 
			
		||||
                                  Tegra::SubmissionMode::Increasing),
 | 
			
		||||
@@ -213,7 +214,7 @@ static std::vector<Tegra::CommandHeader> BuildIncrementCommandList(Fence fence,
 | 
			
		||||
    return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildIncrementWithWfiCommandList(Fence fence,
 | 
			
		||||
static std::vector<Tegra::CommandHeader> BuildIncrementWithWfiCommandList(NvFence fence,
 | 
			
		||||
                                                                          u32 add_increment) {
 | 
			
		||||
    std::vector<Tegra::CommandHeader> result{
 | 
			
		||||
        Tegra::BuildCommandHeader(Tegra::BufferMethods::WaitForInterrupt, 1,
 | 
			
		||||
 
 | 
			
		||||
@@ -109,7 +109,7 @@ private:
 | 
			
		||||
    static_assert(sizeof(IoctlGetErrorNotification) == 16,
 | 
			
		||||
                  "IoctlGetErrorNotification is incorrect size");
 | 
			
		||||
 | 
			
		||||
    static_assert(sizeof(Fence) == 8, "Fence is incorrect size");
 | 
			
		||||
    static_assert(sizeof(NvFence) == 8, "Fence is incorrect size");
 | 
			
		||||
 | 
			
		||||
    struct IoctlAllocGpfifoEx {
 | 
			
		||||
        u32_le num_entries{};
 | 
			
		||||
@@ -127,7 +127,7 @@ private:
 | 
			
		||||
        u32_le num_entries{}; // in
 | 
			
		||||
        u32_le flags{};       // in
 | 
			
		||||
        u32_le unk0{};        // in (1 works)
 | 
			
		||||
        Fence fence_out{};    // out
 | 
			
		||||
        NvFence fence_out{};  // out
 | 
			
		||||
        u32_le unk1{};        // in
 | 
			
		||||
        u32_le unk2{};        // in
 | 
			
		||||
        u32_le unk3{};        // in
 | 
			
		||||
@@ -153,13 +153,13 @@ private:
 | 
			
		||||
            BitField<4, 1, u32_le> suppress_wfi;  // suppress wait for interrupt
 | 
			
		||||
            BitField<8, 1, u32_le> increment;     // increment the returned fence
 | 
			
		||||
        } flags;
 | 
			
		||||
        Fence fence_out{}; // returned new fence object for others to wait on
 | 
			
		||||
        NvFence fence_out{}; // returned new fence object for others to wait on
 | 
			
		||||
 | 
			
		||||
        u32 AddIncrementValue() const {
 | 
			
		||||
            return flags.add_increment.Value() << 1;
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    static_assert(sizeof(IoctlSubmitGpfifo) == 16 + sizeof(Fence),
 | 
			
		||||
    static_assert(sizeof(IoctlSubmitGpfifo) == 16 + sizeof(NvFence),
 | 
			
		||||
                  "IoctlSubmitGpfifo is incorrect size");
 | 
			
		||||
 | 
			
		||||
    struct IoctlGetWaitbase {
 | 
			
		||||
@@ -194,7 +194,7 @@ private:
 | 
			
		||||
 | 
			
		||||
    std::shared_ptr<nvmap> nvmap_dev;
 | 
			
		||||
    SyncpointManager& syncpoint_manager;
 | 
			
		||||
    Fence channel_fence;
 | 
			
		||||
    NvFence channel_fence;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // namespace Service::Nvidia::Devices
 | 
			
		||||
 
 | 
			
		||||
@@ -16,17 +16,11 @@ using DeviceFD = s32;
 | 
			
		||||
 | 
			
		||||
constexpr DeviceFD INVALID_NVDRV_FD = -1;
 | 
			
		||||
 | 
			
		||||
struct Fence {
 | 
			
		||||
struct NvFence {
 | 
			
		||||
    s32 id;
 | 
			
		||||
    u32 value;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static_assert(sizeof(Fence) == 8, "Fence has wrong size");
 | 
			
		||||
 | 
			
		||||
struct MultiFence {
 | 
			
		||||
    u32 num_fences;
 | 
			
		||||
    std::array<Fence, 4> fences;
 | 
			
		||||
};
 | 
			
		||||
static_assert(sizeof(NvFence) == 8, "Fence has wrong size");
 | 
			
		||||
 | 
			
		||||
enum class NvResult : u32 {
 | 
			
		||||
    Success = 0x0,
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
#include "core/hle/service/kernel_helpers.h"
 | 
			
		||||
#include "core/hle/service/nvdrv/nvdata.h"
 | 
			
		||||
#include "core/hle/service/nvdrv/syncpoint_manager.h"
 | 
			
		||||
#include "core/hle/service/nvflinger/ui/fence.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
@@ -37,7 +38,7 @@ class nvdevice;
 | 
			
		||||
/// Represents an Nvidia event
 | 
			
		||||
struct NvEvent {
 | 
			
		||||
    Kernel::KEvent* event{};
 | 
			
		||||
    Fence fence{};
 | 
			
		||||
    NvFence fence{};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct EventInterface {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user