Package apple.metal.enums
Class MTLStorageMode
- java.lang.Object
-
- apple.metal.enums.MTLStorageMode
-
public final class MTLStorageMode extends java.lang.Object[@enum] MTLStorageMode Describes location and CPU mapping of MTLTexture. [@constant] MTLStorageModeShared In this mode, CPU and device will nominally both use the same underlying memory when accessing the contents of the texture resource. However, coherency is only guaranteed at command buffer boundaries to minimize the required flushing of CPU and GPU caches. This is the default storage mode for iOS Textures. [@constant] MTLStorageModeManaged This mode relaxes the coherency requirements and requires that the developer make explicit requests to maintain coherency between a CPU and GPU version of the texture resource. In order for CPU to access up to date GPU results, first, a blit synchronizations must be completed (see synchronize methods of MTLBlitCommandEncoder). Blit overhead is only incurred if GPU has modified the resource. This is the default storage mode for OS X Textures. [@constant] MTLStorageModePrivate This mode allows the texture resource data to be kept entirely to GPU (or driver) private memory that will never be accessed by the CPU directly, so no conherency of any kind must be maintained. [@constant] MTLStorageModeMemoryless This mode allows creation of resources that do not have a GPU or CPU memory backing, but do have on-chip storage for TBDR devices. The contents of the on-chip storage is undefined and does not persist, but its configuration is controlled by the MTLTexture descriptor. Textures created with MTLStorageModeMemoryless dont have an IOAccelResource at any point in their lifetime. The only way to populate such resource is to perform rendering operations on it. Blit operations are disallowed.
-
-
Field Summary
Fields Modifier and Type Field Description static longMemorylessstatic longPrivatestatic longShared
-
-
-
Field Detail
-
Shared
public static final long Shared
- See Also:
- Constant Field Values
-
Private
public static final long Private
- See Also:
- Constant Field Values
-
Memoryless
public static final long Memoryless
- See Also:
- Constant Field Values
-
-