Don't know if kernels will be initialized in the order needed to check
for indirect accesses in stack calls.
Remove now unused functionPointerWithIndirectAccessExists and reading
this value from zebin.
Related-To: NEO-12235
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Current implementation only takes static slmInlineSize into account.
With this change we also include dynamic SLM passed as a kernel arguments.
Related-To: NEO-5761
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
Update to use igc indirect detection v3. Fix for not detecting indirects
passed as implicit arguments.
Related-To: NEO-11396
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
- samplers using bindless adressing require patching bindless offsets to
sampler states on kernel's cross thread data
Related-To: NEO-10505
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Image implicit args allocation is not related to redescribed image
and is already added to the residencyContainer in setArgImage.
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
rename private scratch space into scratch space slot 1 as it can be generic
Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
rename private scratch space into scratch space slot 1 as it can be generic
Related-To: NEO-9944
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Read indirect_stateless_count in module external functions.
If greater than 0, mark all kernels that have the has_stack_calls flag
set from this module as having indirect accesses.
Related-To: NEO-7712
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Read indirect detection version intel compat notes from zebin.
This is to prepare for enabling indirect access optimization in AOT
built kernels.
Related-To: NEO-7712
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>
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>
- if binding table entries are used in bindless kernel, program Binding
table
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- global and const buffer may have BTI index allocated, ssh template
must be allocated with size for all stateful args
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- usingSurfaceStateHeap indicates if any of the args is using local ssh
in bindless kernels:
without global allocator - ssh is used for all args
with global bindless allocator - ssh used only for buffer with offset
set in surface state, otherwise not used
When any of the args is using ssh - getSurfaceStateHeapDataSize() returns
non-zero size.
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>