[gpu/NVDRV] Finalize, improve AllocObjCtx #333
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "finalize-improve-allocObjCtx"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Improves object allocation per channel, only allowing max amount of 6 objects contexts per channel.
Previously objects were stored in a heap allocated vector which is sub-optimal for performance reasons.
The new implementation instead uses a stack based array with a O(1) approach.
This should boost performance in games which heavily rely on object context creation.
New commits pushed, approval review dismissed automatically according to repository settings
@ -132,6 +132,7 @@ void nvhost_gpu::OnOpen(NvCore::SessionId session_id, DeviceFD fd) {
void nvhost_gpu::OnClose(DeviceFD fd) {
sessions.erase(fd);
std::scoped_lock lk(channel_mutex);
consider shared_lock and unique_lock?
misplaced?
27521818a9
to8d778ed7f5
8d778ed7f5
toa755043177