The implementation may return FALSE in optimalDeviceAccess if identicalMemoryLayout is FALSE. If identicalMemoryLayout is TRUE, optimalDeviceAccess must be TRUE.
The implementation may return TRUE in optimalDeviceAccess while identicalMemoryLayout is FALSE. In this situation, any device performance impact should not be measurable.
If VkPhysicalDeviceImageFormatInfo2::format is a block-compressed format and GetPhysicalDeviceImageFormatProperties2 returns SUCCESS, the implementation must return TRUE in optimalDeviceAccess.
Applications can make use of optimalDeviceAccess to determine their resource copying strategy. If a resource is expected to be accessed more on device than on the host, and the implementation considers the resource sub-optimally accessed, it is likely better to use device copies instead.
Layout not being identical yet still considered optimal for device access could happen if the implementation has different memory layout patterns, some of which are easier to access on the host.
The most practical reason for optimalDeviceAccess to be FALSE is that host image access may disable framebuffer compression where it would otherwise have been enabled. This represents far more efficient host image access since no compression algorithm is required to read or write to the image, but it would impact device access performance. Some implementations may only set optimalDeviceAccess to FALSE if certain conditions are met, such as specific image usage flags or creation flags.
struct VkHostImageCopyDevicePerformanceQueryEXT {
VkStructureType sType;
void * pNext;
VkBool32 optimalDeviceAccess;
VkBool32 identicalMemoryLayout;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | IDENTICALMEMORYLAYOUT
The struct member offsets. |
| public static final int | OPTIMALDEVICEACCESS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkHostImageCopyDevicePerformanceQueryEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT | |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkHostImageCopyDevicePerformanceQueryEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkHostImageCopyDevicePerformanceQueryEXT | |
| public static VkHostImageCopyDevicePerformanceQueryEXT | create(long address)
Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkHostImageCopyDevicePerformanceQueryEXT | |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | |
| public boolean | identicalMemoryLayout()
returns |
| public static VkHostImageCopyDevicePerformanceQueryEXT | |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkHostImageCopyDevicePerformanceQueryEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static int | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public boolean | optimalDeviceAccess()
returns |
| public long | |
| public VkHostImageCopyDevicePerformanceQueryEXT | |
| public VkHostImageCopyDevicePerformanceQueryEXT | |
| public VkHostImageCopyDevicePerformanceQueryEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkHostImageCopyDevicePerformanceQueryEXT | |
| public VkHostImageCopyDevicePerformanceQueryEXT | sType$Default()
Sets the |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| IDENTICALMEMORYLAYOUT | back to summary |
|---|---|
| public static final int IDENTICALMEMORYLAYOUT The struct member offsets. | |
| OPTIMALDEVICEACCESS | back to summary |
|---|---|
| public static final int OPTIMALDEVICEACCESS The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkHostImageCopyDevicePerformanceQueryEXT | back to summary |
|---|---|
| protected VkHostImageCopyDevicePerformanceQueryEXT(long address, ByteBuffer container) | |
| VkHostImageCopyDevicePerformanceQueryEXT | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkHostImageCopyDevicePerformanceQueryEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Like
| |
| identicalMemoryLayout | back to summary |
|---|---|
| public boolean identicalMemoryLayout() returns
| |
| malloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkHostImageCopyDevicePerformanceQueryEXT. Returns a new
| |
| nidenticalMemoryLayout | back to summary |
|---|---|
| public static int nidenticalMemoryLayout(long struct) Unsafe version of | |
| noptimalDeviceAccess | back to summary |
|---|---|
| public static int noptimalDeviceAccess(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| optimalDeviceAccess | back to summary |
|---|---|
| public boolean optimalDeviceAccess() returns
| |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT pNext(long value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT set(int sType, long pNext) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT set(VkHostImageCopyDevicePerformanceQueryEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT sType$Default() Sets the | |
VkHostImageCopyDevicePerformanceQueryEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkHostImageCopyDevicePerformanceQueryEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected VkHostImageCopyDevicePerformanceQueryEXT | |
| public boolean | Returns: the value of theVkHostImageCopyDevicePerformanceQueryEXT#identicalMemoryLayout field.
|
| public boolean | Returns: the value of theVkHostImageCopyDevicePerformanceQueryEXT#optimalDeviceAccess field.
|
| public long | |
| public VkHostImageCopyDevicePerformanceQueryEXT. | pNext(long value)
Sets the specified value to the |
| protected VkHostImageCopyDevicePerformanceQueryEXT. | |
| public int | |
| public VkHostImageCopyDevicePerformanceQueryEXT. | sType(int value)
Sets the specified value to the |
| public VkHostImageCopyDevicePerformanceQueryEXT. | sType$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkHostImageCopyDevicePerformanceQueryEXT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected VkHostImageCopyDevicePerformanceQueryEXT getElementFactory() Implements abstract org.
| |
| identicalMemoryLayout | back to summary |
|---|---|
public boolean identicalMemoryLayout()
| |
| optimalDeviceAccess | back to summary |
|---|---|
public boolean optimalDeviceAccess()
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkHostImageCopyDevicePerformanceQueryEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkHostImageCopyDevicePerformanceQueryEXT. Sets the | |