class Connection
Defined at line 122 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
This represents a single connection from a client. All method calls on this class are serialized,
and are made on a dedicated connection thread.
Public Methods
void ~Connection ()
Defined at line 11 of file ../../src/graphics/magma/include/lib/magma_service/msd.cc
magma_status_t MsdMapBuffer (Buffer & buffer, uint64_t gpu_va, uint64_t offset, uint64_t length, uint64_t flags)
Defined at line 126 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdUnmapBuffer (Buffer & buffer, uint64_t gpu_va)
Defined at line 131 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdBufferRangeOp (Buffer & buffer, uint32_t options, uint64_t start_offset, uint64_t length)
Defined at line 134 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
void MsdReleaseBuffer (Buffer & buffer, bool shutting_down)
Signals that the given |buffer| is no longer in use on the given |connection|. This must be
called for every connection associated with a buffer before the buffer is destroyed, or for
every buffer associated with a connection before the connection is destroyed.
In addition to handling client requests, this may be called when a connection is released,
in which case |shutting_down| is true and the implementation should not block.
Defined at line 143 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
void MsdSetNotificationCallback (NotificationHandler * handler)
Sets the callback to be used by a connection for various notifications.
This is called when a connection is created, and also called to unset
the callback before a connection is destroyed. A multithreaded
implementation must be careful to guard use of this callback to avoid
collision with possible concurrent destruction.
Defined at line 150 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
std::unique_ptr<Context> MsdCreateContext ()
Defined at line 152 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdEnablePerformanceCounters (cpp20::span<const uint64_t> counters)
Defined at line 156 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdCreatePerformanceCounterBufferPool (uint64_t pool_id, std::unique_ptr<PerfCountPool> * pool_out)
Defined at line 160 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdReleasePerformanceCounterBufferPool (std::unique_ptr<PerfCountPool> pool)
Releases the performance counter buffer pool. This driver must not send any notification with
the pool ID of this pool after it returns from this method.
Defined at line 167 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdAddPerformanceCounterBufferOffsetToPool (PerfCountPool & pool, Buffer & buffer, uint64_t buffer_id, uint64_t buffer_offset, uint64_t buffer_size)
Defined at line 172 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdRemovePerformanceCounterBufferFromPool (PerfCountPool & pool, Buffer & buffer)
Defined at line 180 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdDumpPerformanceCounters (PerfCountPool & pool, uint32_t trigger_id)
Defined at line 185 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
magma_status_t MsdClearPerformanceCounters (cpp20::span<const uint64_t> counters)
Defined at line 189 of file ../../src/graphics/magma/include/lib/magma_service/msd.h
std::unique_ptr<Context> MsdCreateContext2 (uint64_t priority)
This method body can't be folded into the virtual method declaration above
because `Context` is an incomplete type at that point. In C++23,
std::unique_ptr
<T
> can't be used in a _definition_ while T is incomplete
(only in _non-defining declarations_).
Defined at line 235 of file ../../src/graphics/magma/include/lib/magma_service/msd.h