mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-21 00:56:59 +02:00
Compare commits
No commits in common. "b85ada5d0f66cacafaa171069cd282f6c85bd08b" and "76a25814621e3f5ade512c33ee83e347b9b464b8" have entirely different histories.
b85ada5d0f
...
76a2581462
2 changed files with 7 additions and 12 deletions
|
|
@ -12,11 +12,7 @@
|
|||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <optional>
|
||||
#if BOOST_VERSION >= 109000
|
||||
#include <boost/unordered/unordered_node_map.hpp>
|
||||
#else
|
||||
#include <unordered_map>
|
||||
#endif
|
||||
#include <ankerl/unordered_dense.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
|
@ -145,12 +141,7 @@ public:
|
|||
void UnmapAllHandles(NvCore::SessionId session_id);
|
||||
|
||||
std::list<Handle::Id> unmap_queue{};
|
||||
/// Main owning map of handles
|
||||
#if BOOST_VERSION >= 109000
|
||||
boost::unordered_node_map<Handle::Id, Handle> handles{};
|
||||
#else
|
||||
std::unordered_map<Handle::Id, Handle> handles{};
|
||||
#endif
|
||||
boost::unordered_node_map<Handle::Id, Handle> handles{}; //!< Main owning map of handles
|
||||
std::mutex unmap_queue_lock{}; //!< Protects access to `unmap_queue`
|
||||
std::mutex handles_lock; //!< Protects access to `handles`
|
||||
static constexpr u32 HandleIdIncrement{4}; //!< Each new handle ID is an increment of 4 from the previous
|
||||
|
|
|
|||
|
|
@ -103,13 +103,17 @@ NvResult nvhost_nvdec_common::Submit(IoctlSubmit& params, std::span<u8> data, De
|
|||
|
||||
for (std::size_t i = 0; i < syncpt_increments.size(); i++) {
|
||||
const SyncptIncr& syncpt_incr = syncpt_increments[i];
|
||||
fence_thresholds[i] = syncpoint_manager.IncrementSyncpointMaxExt(syncpt_incr.id, syncpt_incr.increments);
|
||||
fence_thresholds[i] =
|
||||
syncpoint_manager.IncrementSyncpointMaxExt(syncpt_incr.id, syncpt_incr.increments);
|
||||
}
|
||||
|
||||
for (const auto& cmd_buffer : command_buffers) {
|
||||
const auto object = nvmap.GetHandle(cmd_buffer.memory_id);
|
||||
ASSERT_OR_EXECUTE(object, return NvResult::InvalidState;);
|
||||
Core::Memory::CpuGuestMemory<Tegra::ChCommandHeader, Core::Memory::GuestMemoryFlags::SafeRead> cmdlist(session->process->GetMemory(), object->get().address + cmd_buffer.offset, cmd_buffer.word_count);
|
||||
Core::Memory::CpuGuestMemory<Tegra::ChCommandHeader,
|
||||
Core::Memory::GuestMemoryFlags::SafeRead>
|
||||
cmdlist(session->process->GetMemory(), object->address + cmd_buffer.offset,
|
||||
cmd_buffer.word_count);
|
||||
host1x.PushEntries(fd, std::move(cmdlist));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue