created command list will take default descriptor which points to:
- ordinal 0
- index 0
- in-order-execution
- asynchronous execution
- normal scheduling priority
- copy offload hint enabled
Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- simplify API to expose and use only single root device. Disallow
returning subdevices. This is experimental mode.
Related-To: NEO-14559
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
use uint32_t-alias type to avoid casting out of ze_structure_type_t enum range
Related-To: NEO-12901
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- for root device, copy engines from subdevice are used, secondary
contexts must be selected from subdevice in this case
- return low priority BCS from subdevice
Related-To: NEO-14559
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- add `hasImageWriteArg` flag to KernelDescriptor,
based on image access qualifier
- add `isPostImageWriteFlushRequired` method to productHelper,
to require cache flush only on selected platforms
- if possible, add the `textureCacheInvalidationEnable` arg to the
existing PC, otherwise add a new PC
Related-To: NEO-13427, HSD-18041321008
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
- add new enum type for command list flush from immediate
- add new argument for flushing immediate command list - regular command list
- add capability to provide additional stream for epilogue commands
- add pointer to provide external csr mutex to lock both execution and flush
Related-To: NEO-10356
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Prepare cache setup and reservation logic to be extended w.r.t other
cache-levels.
Conceptually this change is like adding a switch-statement, in several
places, in which existing code makes a single (and only) case. This is
caused by splitting larger development to ease the review. Further cases
will be added in following steps. Such approach sometimes creates code
which may seem redundant but it is meant to simplify plugging following
extensions in an easy way.
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Inheriting from NonCopyableOrMovableClass or NonCopyableClass
does not prevent derived classes from accidentally defining
their own copy or move constructors, violating the intended design.
This commit introduces two concepts:
- NonCopyableOrMovable
- NonCopyable
Using static asserts with these concepts will guarantee the intended
copy and move limitations.
Related-To: NEO-14068
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
In TBX mode, getExternalMemoryProperties was returning an incorrect status
The status returns have been corrected to ensure proper functionality.
Related-To: HSD-18041313876
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
At the moment the capability is returned only based on the value
returned by the `productHelper`, which is too liberal. The capability
must also consider the support reported by `memoryManager`. Only then
the support reported is aligned with actual logic of handling
USM-allocations.
Related-To: NEO-10040
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
- product helper sets flag in GfxCoreHelper - this allows to control
secondary contexts support per product - not whole core family
Related-To: NEO-13789
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Addresses regressions from the reverted merge
of the tbx fault manager for host memory.
Recursive locking of mutex caused deadlock.
To fix, separate tbx fault data from base
cpu fault data, allowing separate mutexes
for each, eliminating recursive locks on
the same mutex.
By separating, we also help ensure that tbx-related
changes don't affect the original cpu fault manager code
paths.
As an added safe guard preventing critical regressions
and avoiding another auto-revert, the tbx fault manager
is hidden behind a new debug flag which is disabled by default.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
When on DC flush platform signal inOrder counter directly with pipe
control. Skip not needed inOrder timestamp with its reset and semaphore.
Currently only for non profiling immediate cmd list case.
Related-To: NEO-13441
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
Addresses regressions from the reverted merge
of the tbx fault manager for host memory.
This fixes attempts by the tbx fault manager
to protect/unprotect host buffer memory, even
if the host ptr was not driver-allocated.
In the case of the smoke test that triggered
the critical regression, clCreateBuffer was
called with the CL_MEM_USE_HOST_PTR flag.
The subsequent `mprotect` calls on the
provided host ptr then failed.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
Related-To: NEO-11908
There is overhead when submission method is used for
zeDeviceGetGlobalTimestamps. This fixes it.
Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
In TBX mode, the host could not write to host buffers after access from device
code due to the lack of a migration mechanism post-initial TBX upload.
Migration is unnecessary with real hardware, but required for TBX.
This patch introduces a new page fault manager type that extends the original
CPU fault manager, enabling automatic migration of host buffers in TBX mode.
Refactoring was necessary to avoid diamond inheritance, achieved by using a
template parameter as the base class for OS-specific fault managers.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
Related-To: GSD-10253, GSD-9467, GSD-9381, NEO-11908
When EnableGlobalTimestampViaSubmission is set then
zeDeviceGetGlobalTimestamp uses immediate cmd submission
method to get GPU time.
Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
rename i915 flag to uppercase, for consistency
disable i915 / xe prelim by default in package scripts
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Rename function to getDebugSipKernel and select either bindless
or heapless depending on mode
Related-to: NEO-8396
Signed-off-by: Brandon Yates <brandon.yates@intel.com>