Revert chunk alignment change (back to 512 bytes) - real cause of issues
was OOB access and need to be investigated by workload owner.
Remove unrecoverable in WddmInterface23 submit to pass errors to upper
layers.
Related-To: NEO-11005
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Increase chunk alignment from 512 to 4096.
Adjust tests to account for actual allocation size different than
requested.
Related-To: NEO-11005
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
when i915 reports gtt size between 47 and 48 bits we consider
it as 48 bit VA space
Related-To: GSD-8215
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@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().
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>
- report Bindless_images extension in driver only when at least one
device has global bindless heaps enabled
Related-To: NEO-10352
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Pass actual pool address to heap allocator. This removes the need to
calculate pooled pointer from pool address and offset.
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Add flag for setting localPreferred (implicit when gmm localOnly=0 and
NonLocalOnly=0) when allocating buffer, svmGpu and image.
Related-To: NEO-9695
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Query system total memory size and limit usm host allocation recycle to
use at most x%.
x is read from ExperimentalEnableDeviceAllocationCache for device and
ExperimentalEnableHostAllocationCache for host.
Related-To: GSD-7497
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>
Fix querying allocation info from pooled svm ptr.
Handle requested allocation alignment.
Refactor sorted vector usage.
Do not associate device with host pool allocation.
Related-To: NEO-9700
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
EnableDeviceUsmAllocationPool and EnableHostUsmAllocationPool for device
and host allocations respectively.
Pool size will be set to flag value * MB.
Allocation size threshold to be pooled is 1MB.
Pools are created per context.
Related-To: NEO-9700
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>
Move code out to base class. This will allow to use the sorted vector
class with different values than only SvmData.
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Level Zero doesn't use deferred allocations so no point in paying the
price to check for them in cleanAllocationList.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
- create heapAssigner per root device in memory manager to allow per
device config
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Related-To: NEO-8350
- given a virtual address part of a mapping to multiple physical
allocations, then the buffer surface state size is increased to
include the allocations which follow the current allocation, which
allows users access to the remainder of the mapped buffer.
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>
when class defines copy/move ctor then corresponding assign operator(s)
should be defined or deleted
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- add pollForCompletion() for contexts that used allocation prior to
freeGraphicsMemory()
Related-To: NEO-2707
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- SPECIAL_SSH is used for debug surface SurfaceState which must be
located at bindless offset zero
- limit size of external front window
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- set base address of heap after mapping allocation to gpu va
- ensures the same heapIndex is used while choosing heap range and
setting base
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
CmdList can be released before Event. In this case, GfxAllocation
destruction must be deferred.
Related-To: NEO-7966
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
- this method allocates System Memory
- argument is not needed - ExternalHeap is selected inside this function
- remove unneeded ults
- allocate memory in Device Pool for external heap allocation in
OsAgnosticMemoryManager
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- introduce 2 reuse pools to bindlessHeapHelper
- one pool stores slots for reuse, second pool stores released slots
- stateCacheDirty flags keep track of state cache - when pools are
switched - flags are set indicating flushing caches is needed after
old slots have been reused for new allocations
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>