gtId is not same as tileId. instead use gtIdToTileId
to retrieve tileId based on gtId.
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values
layout of structs is guarded by static asserts
eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support
This way we can support two different xe-eudebug interfaces within
single binary.
In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).
Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
In order to debug on XE, XE_EXEC_QUEUE_SET_PROPERTY_EUDEBUG
needs to be set up.
Related-To: NEO-12691
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.
Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.
This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.
Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
make ContextParamEngine structure more generic and populate engines
by drm specific methods
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
we get drm_xe_query_engines, not array of drm_xe_engine_class_instance
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.
Related-to: NEO-9161
Signed-off-by: Brandon Yatse <brandon.yates@intel.com>
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.
Related-to: NEO-9161
Signed-off-by: Brandon Yates <brandon.yates@intel.com>