class MsdArmConnection
Defined at line 43 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
Most methods are called on the connection thread, but some (like PageInMemory)
are called on the device thread. Access to shared state (such as address_space_
and gpu_mappings_) must be protected by address_lock_.
Public Methods
bool ExecuteAtom (size_t *remaining_data_size,magma_arm_mali_atom *atom,std::vector<std::shared_ptr<magma::PlatformSemaphore>> &semaphores,std::deque<std::shared_ptr<magma::PlatformSemaphore>> *deprecated_semaphores)
Defined at line 65 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
msd::msd_client_id_t client_id ()
Defined at line 70 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
AddressSpace * address_space_for_testing ()
Defined at line 74 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
const AddressSpace * const_address_space ()
Defined at line 77 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
void set_address_space_lost ()
Called only on device thread.
Defined at line 107 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
bool address_space_lost ()
Defined at line 108 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
AddressSpaceObserver * GetAddressSpaceObserver ()
Defined at line 110 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
std::shared_ptr<AddressSpace::Owner> GetSharedPtr ()
Defined at line 113 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
void IncrementContextCount ()
Defined at line 124 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
void DecrementContextCount ()
Defined at line 125 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
uint64_t context_count ()
Defined at line 126 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
std::thread::id GetDeviceThreadId ()
Defined at line 141 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h
std::shared_ptr<MsdArmConnection> Create (msd::msd_client_id_t client_id, Owner * owner)
Defined at line 316 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void ~MsdArmConnection ()
Defined at line 346 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void InitializeInspectNode (inspect::Node * parent)
Defined at line 324 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool RemoveMapping (uint64_t gpu_va)
GpuMapping::Owner implementation.
Defined at line 446 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool CreateMapping (uint64_tgpu_va,uint64_tpage_offset,uint64_tsize,uint64_tflags,std::shared_ptr<MsdArmBuffer>buffer,std::optional<uint64_t>pages_to_grow_on_fault)
Defined at line 393 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void SetNotificationCallback (msd::NotificationHandler * handler)
Defined at line 989 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void SendNotificationData (MsdArmAtom * atom)
Defined at line 1000 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void MarkDestroyed ()
Defined at line 1052 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
size_t PeriodicMemoryPressureCallback ()
Returns the number of bytes freed due to the change.
Defined at line 1081 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
std::optional<ArmMaliResultCode> AllocateJitMemory (const std::shared_ptr<MsdArmSoftAtom> & atom)
Tries to allocate JIT memory for an atom. Returns a status if allocation
finished (successfully or not) or no status if the allocation needs to be
retried after a free is completed.
Defined at line 859 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void ReleaseJitMemory (const std::shared_ptr<MsdArmSoftAtom> & atom)
Process a JIT memory free operation. Doesn't modify the result code of the atom.
Defined at line 917 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool PageInMemory (uint64_t address)
Defined at line 562 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool SetCommittedPagesForBuffer (MsdArmBuffer *buffer,uint64_tpage_offset,uint64_tpage_count)
Defined at line 963 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool CommitMemoryForBuffer (MsdArmBuffer *buffer,uint64_tpage_offset,uint64_tpage_count)
Defined at line 948 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool DecommitMemoryForBuffer (MsdArmBuffer *buffer,uint64_tpage_offset,uint64_tpage_count)
Defined at line 976 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
bool GetVirtualAddressFromPhysical (uint64_t address, uint64_t * virtual_address_out)
This is slow because it iterates over all pages for all mappings. It should be used only
rarely.
Defined at line 1093 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
void SendPerfCounterNotification (const msd::PerfCounterResult & results)
Defined at line 1086 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
magma_status_t EnablePerformanceCounters (std::vector<uint64_t> flags)
Defined at line 1124 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
magma_status_t DumpPerformanceCounters (std::shared_ptr<MsdArmPerfCountPool> pool, uint32_t trigger_id)
Defined at line 1154 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
magma_status_t ReleasePerformanceCounterBufferPool (std::shared_ptr<MsdArmPerfCountPool> pool)
Defined at line 1165 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
magma_status_t AddPerformanceCounterBufferOffsetToPool (std::shared_ptr<MsdArmPerfCountPool>pool,std::shared_ptr<MsdArmBuffer>buffer,uint64_tbuffer_id,uint64_tbuffer_offset,uint64_tbuffer_size)
Defined at line 1178 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
magma_status_t RemovePerformanceCounterBufferFromPool (std::shared_ptr<MsdArmPerfCountPool> pool, std::shared_ptr<MsdArmBuffer> buffer)
Defined at line 1188 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc
Records
Friends
class TestConnection