Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().
Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().
Change the logic to work correctly with makeResident() when lock() is
called previously for the same memory region
Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
If the input count is zero or is greater than the number of sub-allocations,
the driver shall update the value with the total number of sub-allocations.
If count is less than the number of sub-allocations available, then driver
shall only retrieve properties for that number of sub-allocations.
Related-To: NEO-9812
Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image
Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.
Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
according to both level zero and opencl specs, usm allocations with
size=0 should return invalid/unsupported buffer size errors
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
bindless slot 0: image
bindless slot 1: image implicit args
bindless slot 2: redescribed image
Redescribed image moved one slot higher.
Separate allocation is created for new bindless slot.
Related-To: NEO-9740
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
Unify `getIpcMemHandle()` and `getIpcMemHandles()` and fix the issue of
missing IPC handles registration while reducing copy-pasted code.
Also replace `boHandle` with `boHandleWrapper` to leverage `refCount`
properly and avoid double-free.
Related-To: NEO-8904
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.
Related-To: NEO-8259
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.
Related-To: NEO-8259
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Related-To: NEO-9127
- Fix the calc to check unaligned before rounding the expected size from
reserve memory.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: NEO-9127,NEO-9142
- Change the heap/pageSize used based on the size of the reservation
required and the device heaps available.
- Return the page size required based on the size requested by the user
for virtual reservation and the devices on the system.
- Check the size passed in by the user in memory map and physical memory
allocation is valid for the heap and page size that is required.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: NEO-9116
- To allow for IPC handles to be shared between contexts, the ipc handle
tracking is now moved to the driver handle to be tracked globally.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: NEO-9012
- Allows for the memory size requested by the user to be within the
physical memory size if that is set, otherwise the limit is the global
memory size.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: LOCI-4583
- Provide support for allowing a user to make memory resident on a peer
to peer connected device.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: LOCI-4381
- Enabled support for customers to use full Virtual reservation range
with multiple physical mappings with additional allocations implicitly
included in residency.
- Buffer Surface state size extended for first allocation to stretch to
the bufferSize requested.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
Related-To: LOCI-4176
- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`
So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted
Related-To: LOCI-4168
Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
Related-To: LOCI-4172, LOCI-4305, LOCI-4306
- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`
So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted
Related-To: LOCI-4168
Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
Related-To: LOCI-3871
- Relaxed the Virtual Memory Reservation to allow pStart and not fail if
the pStart value is not obtained.
- Moves checks on pStart to the user to check and determine if they want
to re-reserve or use the address allocated.
- Changed reserveGpuAddress to use unit64_t type to allow internal
address range structure assignment without cast.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
reuse EncodeEnableRayTracing in CommandStreamReceiver
add method to determine need for 48b resource flag for RT allocations
Related-To: NEO-7606
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>