Shared lifetime owner for one selected GPU runtime device and the backend root it drives. More...
#include "donner/svg/renderer/geode/GeodeDevice.h"
Public Member Functions | |
| GeodePhysicalDeviceOwner (const GeodePhysicalDeviceOwner &)=delete | |
| GeodePhysicalDeviceOwner & | operator= (const GeodePhysicalDeviceOwner &)=delete |
| const GeodeGpuRoot & | root () const |
| The backend root every runtime device over this owner drives. | |
| bool | hasBackendDevice () const |
| Whether this owner has a backend device that requires queue-idle handling. | |
| const std::shared_ptr< GeodeDeviceLostState > & | lostState () const |
| Sticky loss condition shared by every context and runtime device over this root. Retained because a backend device-lost callback can outlive everything that registered it. | |
| GeodeRuntimeDevice | createLogicalDevice () const |
| A runtime device of its own over this owner's backend root, for a second logical context. Two contexts are two runtime devices: separate handle tables and serials over the one root they share. | |
| const std::shared_ptr< GeodeHandleRetirement > & | rootDeviceHandleRetirement () const |
| Retirement for the context that renders through this owner's root device (see GeodeDevice::handleRetirement). The owner keeps it because the root device outlives that context. | |
| bool | rootRetirementOutlivesRootDeviceForTesting () const |
Whether the root context's retirement is destroyed after the root device: true when rootDeviceRetirement_ is declared before rootDevice_. Test accessor. | |
Friends | |
| class | GeodeDevice |
| Only a context builds an owner, from a root and the device CreateGpuDeviceOver opened over it, so a device can never be paired with a root of another backend. | |
Shared lifetime owner for one selected GPU runtime device and the backend root it drives.
Logical GeodeDevice contexts retain this owner while keeping their runtime handle tables, submissions, pipelines, caches, counters and retirement queues independent. The native root is released once, after the last context.