class MsdArmConnection

Defined at line 41 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

This can only be accessed on the connection thread.

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 68 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

AddressSpace * address_space_for_testing ()

Defined at line 72 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

const AddressSpace * const_address_space ()

Defined at line 75 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 104 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

bool address_space_lost ()

Defined at line 105 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

AddressSpaceObserver * GetAddressSpaceObserver ()

Defined at line 107 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

std::shared_ptr<AddressSpace::Owner> GetSharedPtr ()

Defined at line 110 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

void IncrementContextCount ()

Defined at line 121 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

void DecrementContextCount ()

Defined at line 122 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

uint64_t context_count ()

Defined at line 123 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.h

std::thread::id GetDeviceThreadId ()

Defined at line 138 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 441 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool UpdateCommittedMemory (GpuMapping * mapping)

CommitMemoryForBuffer or PageInAddress will hold address_lock_ before calling this, but that's

impossible to specify for the thread safety analysis.

Defined at line 464 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool AddMapping (std::unique_ptr<GpuMapping> mapping)

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 955 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

void SendNotificationData (MsdArmAtom * atom)

Defined at line 966 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

void MarkDestroyed ()

Defined at line 1018 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 1047 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 851 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 906 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool PageInMemory (uint64_t address)

Defined at line 559 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool SetCommittedPagesForBuffer (MsdArmBuffer * buffer, uint64_t page_offset, uint64_t page_count)

Defined at line 943 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool CommitMemoryForBuffer (MsdArmBuffer * buffer, uint64_t page_offset, uint64_t page_count)

Defined at line 937 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

bool DecommitMemoryForBuffer (MsdArmBuffer * buffer, uint64_t page_offset, uint64_t page_count)

Defined at line 949 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 1059 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

void SendPerfCounterNotification (const msd::PerfCounterResult & results)

Defined at line 1052 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 1090 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 1120 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 1131 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_t buffer_id, uint64_t buffer_offset, uint64_t buffer_size)

Defined at line 1144 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 1154 of file ../../src/graphics/drivers/msd-arm-mali/src/msd_arm_connection.cc

Records

Friends

class TestConnection