/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/appendices/ |
D | VK_EXT_pageable_device_local_memory.adoc | 23 systems where the device-local memory can be shared by more than one 25 On such systems the size of the device-local memory available to the 26 application may not be the full size of the memory heap at all times. 28 device-local memory is virtualized and paging is used to move memory between 29 device-local and host-local memory heaps, transparent to the application. 32 cause applications to make suboptimal memory choices when allocating memory. 34 may think that device-local memory is full and revert to making 35 performance-sensitive allocations from host-local memory. 36 In reality the memory heap might not have been full, it just appeared to be 37 at the time memory consumption was queried, and a device-local allocation [all …]
|
D | VK_KHR_external_memory_fd.adoc | 19 An application may wish to reference device memory in multiple Vulkan 23 handles from Vulkan memory objects and to import Vulkan memory objects from 24 POSIX file descriptor handles exported from other Vulkan memory objects or 35 the memory. 38 Destroying the original memory object will not close the file descriptor or 39 remove its reference to the underlying memory resource associated with it. 41 2) Do drivers ever need to expose multiple file descriptors per memory 45 This would indicate there are actually multiple memory objects, rather than 46 a single memory object. 48 3) How should the valid size and memory type for POSIX file descriptor [all …]
|
D | memorymodel.adoc | 6 [[memory-model]] 12 This memory model describes synchronizations provided by all 20 [[memory-model-agent]] 38 [[memory-model-memory-location]] 42 Memory operations access a _set of memory locations_ consisting of one or 43 more memory locations at a time, e.g. an operation accessing a 32-bit 44 integer in memory would read/write a set of four memory locations. 48 Two sets of memory locations _overlap_ if the intersection of their sets of 49 memory locations is non-empty. 50 A memory operation must: not affect memory at a memory location not within [all …]
|
D | VK_NV_external_memory_capabilities.adoc | 22 Applications may wish to import memory from the Direct 3D API, or export 23 memory to other Vulkan instances. 25 determine what types of win32 memory handles an implementation supports for 32 1) Why do so many external memory capabilities need to be queried on a 33 per-memory-handle-type basis? 36 that have far more limited capabilities than the very generic Vulkan memory 38 Not all memory handle types can name memory objects that support 3D images, 40 Some handle types cannot even support the deferred image and memory binding 42 importing the memory object. 45 list of memory type bits that support the given handle type? [all …]
|
D | VK_NV_dedicated_allocation.adoc | 18 This extension allows device memory to be allocated for a particular buffer 21 Normal device memory allocations must support memory aliasing and sparse 28 This extension adds a few small structures to resource creation and memory 70 // Allocate memory with VkDedicatedAllocationMemoryAllocateInfoNV::image 71 // pointing to the image we are allocating the memory for 89 VkDeviceMemory memory; 94 &memory); 96 // Bind the image to the memory 101 memory,
|
D | VK_NV_external_memory_win32.adoc | 19 Applications may wish to export memory to other Vulkan instances or other 20 APIs, or import memory from other Vulkan instances or other APIs to enable 24 Vulkan memory objects such that the underlying resources can be referenced 26 created in the Direct3D API to Vulkan memory objects. 32 1) If memory objects are shared between processes and APIs, is this 34 <<resources-memory-aliasing,Memory Aliasing>> section? 39 specific support usage within Vulkan for imported native memory objects, or 40 memory objects from other APIs. 71 Destroying the memory object will not destroy the handle or the handle's 72 reference to the underlying memory resource. [all …]
|
D | VK_KHR_dedicated_allocation.adoc | 26 Normal device memory allocations must support multiple resources per 27 allocation, memory aliasing and sparse binding, which could interfere with 36 buffer metadata with OS-level memory objects. 38 This extension adds a two small structures to memory requirements querying 39 and memory allocation: a new structure that flags whether an image/buffer 96 // Allocate memory with VkMemoryDedicatedAllocateInfoKHR::image 97 // pointing to the image we are allocating the memory for 115 VkDeviceMemory memory; 120 &memory); 122 // Bind the image to the memory [all …]
|
D | VK_AMD_device_coherent_memory.adoc | 18 This extension adds the device coherent and device uncached memory types. 19 Any device accesses to device coherent memory are automatically made visible 21 Device uncached memory indicates to applications that caches are disabled 22 for a particular memory type, which guarantees device coherence. 24 Device coherent and uncached memory are expected to have lower performance 25 for general access than non-device coherent memory, but can be useful in
|
D | VK_KHR_external_memory_win32.adoc | 20 An application may wish to reference device memory in multiple Vulkan 24 memory objects and to import Vulkan memory objects from Windows handles 25 exported from other Vulkan memory objects or from similar resources in other 49 Destroying the memory object will not destroy the handle or the handle's 50 reference to the underlying memory resource. 59 3) How should the valid size and memory type for windows memory handles 62 *RESOLVED*: The valid memory types are queried directly from the external 64 The size is determined by the associated image or buffer memory requirements
|
D | VK_EXT_memory_budget.adoc | 18 also be attempting to use the same device memory, which can pose problems. 19 This extension adds support for querying the amount of memory used and the 20 total memory budget for a memory heap. 25 can be used as a guideline for how much total memory from each heap the 38 wants to handle the memory situation (free it, move to host memory, changing 41 `apiext:VK_EXT_memory_priority` to help with this part of memory management.
|
/hardware/interfaces/soundtrigger/2.1/default/ |
D | SoundTriggerHw.cpp | 29 using android::hidl::memory::V1_0::IMemory; 45 sp<IMemory> memory; in memoryAsVector() local 47 return std::make_pair(true, memory); in memoryAsVector() 49 memory = mapMemory(m); in memoryAsVector() 50 if (memory != nullptr) { in memoryAsVector() 51 memory->read(); in memoryAsVector() 52 vec->setToExternal(static_cast<uint8_t*>(static_cast<void*>(memory->getPointer())), in memoryAsVector() 53 memory->getSize()); in memoryAsVector() 54 return std::make_pair(true, memory); in memoryAsVector() 57 return std::make_pair(false, memory); in memoryAsVector() [all …]
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/commonvalidity/ |
D | bind_buffer_common.adoc | 6 // Common to binding any memory to a buffer 8 pname:buffer must: not have been bound to a memory object 10 pname:buffer must: not have been created with any sparse memory binding 13 pname:memoryOffset must: be less than the size of pname:memory 14 * [[VUID-{refpage}-memory-01035]] 15 pname:memory must: have been allocated using one of the memory types 26 pname:buffer must: be less than or equal to the size of pname:memory 33 for pname:buffer), pname:memory must: have been allocated with 35 * [[VUID-{refpage}-memory-01508]] 36 If the sname:VkMemoryAllocateInfo provided when pname:memory was [all …]
|
D | bind_image_common.adoc | 6 // Common to binding any memory to an image 8 pname:image must: not have been bound to a memory object 10 pname:image must: not have been created with any sparse memory binding 13 pname:memoryOffset must: be less than the size of pname:memory 19 for pname:image), pname:memory must: have been created with 21 * [[VUID-{refpage}-memory-02628]] 27 the sname:VkMemoryAllocateInfo provided when pname:memory was allocated 34 * [[VUID-{refpage}-memory-02629]] 37 sname:VkMemoryAllocateInfo provided when pname:memory was allocated 55 set, the image must: be bound to a memory object allocated with a memory [all …]
|
/hardware/interfaces/tests/memory/1.0/default/ |
D | MemoryTest.cpp | 28 using android::hidl::memory::V1_0::IMemory; 33 namespace memory { namespace 44 sp<IMemory> memory = mapMemory(memory_in); in fillMemory() local 46 if (memory == nullptr) { in fillMemory() 51 uint8_t* data = static_cast<uint8_t*>(static_cast<void*>(memory->getPointer())); in fillMemory() 53 memory->update(); in fillMemory() 55 for (size_t i = 0; i < memory->getSize(); i++) { in fillMemory() 59 memory->commit(); in fillMemory()
|
/hardware/interfaces/memtrack/1.0/ |
D | IMemtrack.hal | 21 * device-specific memory usage. 22 * The primary goal is to be able to track memory that is not 23 * trackable in any other way, for example texture memory that is allocated by 25 * A secondary goal is to be able to categorize memory used by a process into 26 * GL, graphics, etc. All memory sizes must be in real memory usage, 34 * getMemory() populates MemtrackRecord vector with the sizes of memory 35 * plus associated flags for that memory. 40 * A process collecting memory statistics will call getMemory for each 41 * combination of pid and memory type. For each memory type that it 43 * structures breaking down the statistics of that memory type as much as [all …]
|
D | types.hal | 21 * Flags to differentiate memory that can already be accounted for in 24 * In general, memory mapped in to a userspace process is accounted unless 29 * Flags to differentiate memory shared across multiple processes vs. memory 31 * If SHARED_PSS flags is used, the memory must be divided by the number of 34 * If none are set, record is assumed to count shared + private memory. 37 * Flags to differentiate memory taken from the kernel's allocation pool vs. 38 * memory that is dedicated to non-kernel allocations, for example a carveout 39 * or separate video memory. Only zero or one of these may be set in a record. 40 * If none are set, record is assumed to count system + dedicated memory. 43 * Flags to differentiate memory accessible by the CPU in non-secure mode vs. [all …]
|
/hardware/interfaces/tests/memory/2.0/ |
D | IMemoryInterface.hal | 1 package android.hardware.tests.memory@2.0; 4 // Flips all the bits in the given memory buffer. 5 bitwiseNot(memory mem); 7 getTestMem() generates(memory mem); 8 // Given two memory regions of the same size, returns two memory fields of
|
D | types.hal | 1 package android.hardware.tests.memory@2.0; 4 memory mem1; 5 memory mem2;
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/ |
D | memory.adoc | 5 [[memory]] anchor 8 Vulkan memory is broken up into two categories, _host memory_ and _device 12 [[memory-host]] 15 Host memory is memory needed by the Vulkan implementation for 21 This memory may: be used to store the implementation's representation and 25 [[memory-allocation]] 28 The Vulkan SC implementation will perform its own host memory allocations. 29 Support for application-provided memory allocation, as supported in Base 33 Vulkan provides applications the opportunity to perform host memory 35 If this feature is not used, the implementation will perform its own memory [all …]
|
/hardware/interfaces/neuralnetworks/1.0/utils/src/ |
D | Conversions.cpp | 98 nn::GeneralResult<nn::SharedMemory> createSharedMemoryFromHidlMemory(const hidl_memory& memory) { in createSharedMemoryFromHidlMemory() argument 99 CHECK_LE(memory.size(), std::numeric_limits<size_t>::max()); in createSharedMemoryFromHidlMemory() 100 if (!memory.valid()) { in createSharedMemoryFromHidlMemory() 104 if (memory.name() == "ashmem") { in createSharedMemoryFromHidlMemory() 105 if (memory.handle()->numFds != 1) { in createSharedMemoryFromHidlMemory() 107 << memory.handle()->numFds << " numFds, but expected 1"; in createSharedMemoryFromHidlMemory() 109 if (memory.handle()->numInts != 0) { in createSharedMemoryFromHidlMemory() 111 << memory.handle()->numInts << " numInts, but expected 0"; in createSharedMemoryFromHidlMemory() 113 auto fd = NN_TRY(nn::dupFd(memory.handle()->data[0])); in createSharedMemoryFromHidlMemory() 116 .size = static_cast<size_t>(memory.size()), in createSharedMemoryFromHidlMemory() [all …]
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/VK_NV_external_memory_win32/ |
D | import_memory_win32.adoc | 5 [open,refpage='VkImportMemoryWin32HandleInfoNV',desc='Import Win32 memory created on the same physi… 7 To import memory created on the same physical device but outside of the 10 structure, specifying a handle to and the type of the memory. 20 value specifying the type of memory handle in pname:handle. 21 * pname:handle is a Windows code:HANDLE referring to the memory. 31 pname:handle must: be a valid handle to memory, obtained as specified by 39 [open,refpage='VkExternalMemoryHandleTypeFlagBitsNV',desc='Bitmask specifying external memory handl… 42 specifying the type of an external memory handle, are: 47 handle to memory returned by flink:vkGetMemoryWin32HandleNV. 49 handle to memory returned by flink:vkGetMemoryWin32HandleNV, or one [all …]
|
/hardware/interfaces/tests/memory/1.0/ |
D | IMemoryTest.hal | 17 package android.hardware.tests.memory@1.0; 19 import android.hidl.memory.token@1.0::IMemoryToken; 20 import android.hidl.memory.block@1.0::MemoryBlock; 23 haveSomeMemory(memory mem) generates(memory mem); 24 fillMemory(memory memory_in, uint8_t filler); 26 set(memory mem);
|
/hardware/interfaces/neuralnetworks/utils/common/test/ |
D | ResilientBufferTest.cpp | 118 const nn::SharedMemory memory = std::make_shared<const nn::Memory>(); in TEST() local 119 const auto result = buffer->copyTo(memory); in TEST() 132 const nn::SharedMemory memory = std::make_shared<const nn::Memory>(); in TEST() local 133 const auto result = buffer->copyTo(memory); in TEST() 147 const nn::SharedMemory memory = std::make_shared<const nn::Memory>(); in TEST() local 148 const auto result = buffer->copyTo(memory); in TEST() 164 const nn::SharedMemory memory = std::make_shared<const nn::Memory>(); in TEST() local 165 const auto result = buffer->copyTo(memory); in TEST() 178 const nn::SharedMemory memory = std::make_shared<const nn::Memory>(); in TEST() local 179 const auto result = buffer->copyFrom(memory, {}); in TEST() [all …]
|
/hardware/google/gfxstream/guest/vulkan_enc_unit_tests/ |
D | CommandBufferStagingStream_test.cpp | 221 CommandBufferStagingStream::Memory memory{ in TEST() local 228 EXPECT_CALL(allocFn, Call(Ge(kTestBufferSize))).Times(1).WillRepeatedly(Return(memory)); in TEST() 232 EXPECT_CALL(freeFn, Call(Eq(memory))).Times(1); in TEST() 249 CommandBufferStagingStream::Memory memory{ in TEST() local 257 EXPECT_CALL(allocFn, Call(Ge(kTestBufferSize))).Times(1).WillRepeatedly(Return(memory)); in TEST() 281 CommandBufferStagingStream::Memory memory{.deviceMemory = deviceMemPtr, in TEST() local 287 EXPECT_CALL(allocFn, Call(Ge(kTestBufferSize))).Times(1).WillRepeatedly(Return(memory)); in TEST() 291 EXPECT_CALL(freeFn, Call(Eq(memory))).Times(1); in TEST() 334 CommandBufferStagingStream::Memory memory{ in TEST() local 349 EXPECT_CALL(allocFn, Call(Ge(kTestBufferSize))).Times(1).WillRepeatedly(Return(memory)); in TEST() [all …]
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/VK_FUCHSIA_external_memory/ |
D | device_memory.adoc | 5 [[fuchsia-external-memory]] 8 On Fuchsia, when allocating memory that may: be imported from another 13 External memory on Fuchsia is imported and exported using VMO handles of 15 VMO handles to external memory are canonically obtained from Fuchsia's 18 Vulkan instance as described in <<exporting-fuchsia-device-memory,exporting 19 fuchsia device memory>>. 26 Applications can: import the same underlying memory into multiple instances 33 [[importing-fuchsia-external-memory]] 36 …,desc='Structure specifying import parameters for Zircon handle to external memory',type='structs'] 48 memory. [all …]
|