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>
Related-To: LOCI-3871
- Enabled allocation of specified base address in the targeted heap.
- Enabled virtual memory reservations to grow by allocating at the start
of the heap vs the end of the heap.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
When one process had exported and then opened IPC handle
of memory, then close function was called twice for the
same BO handle. It caused debugBreak() and aborted
an application.
This change allows multiple separate BOs to share one
handle. The last shared handle owner calls close() function.
Related-To: NEO-7200
Signed-off-by: Wrobel, Patryk <patryk.wrobel@intel.com>
Refactor structure and add field to pass USM memory type.
To maintain backwards compatibility with current applications,
pass 0 as type for device allocations, and 1 for host
allocations.
Related-To: LOCI-3771
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
- Added support for mapping any portion of a virtual allocation to a
physical mapping with a lookup function for reserved virtual addresses.
- Added support for multiple mappings linked to the same virtual
reservation.
- Fixed bug with 64 bit addresses on windows with invalid addresses
passed to the user.
Related-To: LOCI-3904, LOCI-3914, LOCI-3931
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
1. Reposition event pool code
- Implementation of event pool methods should be placed in event pool file
2. Change event pool and event classes
- move all class variables to base classes as protected
- add needed setters and getters for runtime
- add extended mocks and whiteboxes for unit tests
- tests using base or mock class when needed
3. Correct event creation in unit tests
- use HW specific timestamp type
- HW unit tests are using template timestamp type for event creation
- other tests are using helper to create event
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- remove double and triple free in open ipc event pool cleanup section
- correctly initialize device vector
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Remote event pool is created with device list that configure max event packet
IPC context can have different device list and configure different
max event packet.
When these two numbers are different driver should not allow creation of
IPC event pool.
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- using predefined structure adds security to enforce data limit
- code is simplified and easier to maintain or add new data fields
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
If the shared allocation hasn't been removed up to this point,
then remove it when freeing the pointer.
No need to check if ptr is still in the map, as erase would
automatically return 0 if not found.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.
Related-To: LOCI-1996
Resolves: NEO-6162
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This to allow flexibilty on choosing the allocation type from the
callers in layers above on the driver.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.
Related-To: LOCI-1996
Resolves: NEO-6162
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>