Commit Graph

308 Commits

Author SHA1 Message Date
Mateusz Hoppe
febe905a19 fix: set usesPrintf when .const.data.string present in elf
- printf_buffer argument may not be present when indirect access buffer
version==2
- deduce usesPrintf based on .const.data.string presence and required
iab for those cases

Related-To: NEO-15211, IGC-12385

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-05 13:52:27 +02:00
Mateusz Hoppe
c81c5ab523 test(zebin): improve ze_info local_size decoding tests
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-04 15:18:44 +02:00
Mateusz Hoppe
feabf44722 fix: allow empty kernels entry in yaml
Related-To: NEO-16015

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-09-03 18:13:42 +02:00
Kindracki, Jakub Tomasz
d15aff8679 fix: Fix compiler errors in ULTs
Fix warnings that appear
when optimizations in ULTs are enabled:
- `uninitialized` errors
- `free-nonheap-object` errors
- add ignoring `-Wno-maybe-uninitialized` errors for gcc12 Release
builds due to gcc bug
- fix `array-bounds` issue in readLongFileName function
- fix other `array-bounds` errors

Related-To: NEO-8116
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-09-03 14:50:58 +02:00
Mateusz Jablonski
80359a4362 feature: store info related to indirect calls within kernel
Related-To: NEO-15211
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-28 10:19:40 +02:00
Kindracki, Jakub Tomasz
614d1b8161 fix: Ignore gcc warnings and disable dll optimizations
Disable compiler optimizations for linux dll unit tests, because they
made the tests use original instead of mock syscalls.

Ignore false-positive gcc warnings:
- Ignore restrict for gcc12 and maybe-uninitialized
for gcc >= 13 warnings in Release builds in the whole project
- Ignore array-bounds warnings in specific cases

Related-To: NEO-8116
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-08-25 10:38:54 +02:00
Mateusz Jablonski
49a946ffef feature: handle has_printf_calls and has_indirect_calls entries in zeinfo
bump zeinfo decoder to 1.59

Related-To: NEO-15211, NEO-15400
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-20 13:09:10 +02:00
Kindracki, Jakub Tomasz
43d4264047 test: Fix minor compiler errors in ULTs with optimizations enabled
Related-To: NEO-8116
Signed-off-by: Kindracki, Jakub Tomasz <jakub.tomasz.kindracki@intel.com>
2025-08-19 10:16:59 +02:00
Chodor, Jaroslaw
b612301b72 feature: Adding support for empty .text section
If .text section is empty then ignore it.

Related-To: NEO-12229

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-08-07 20:15:37 +02:00
Mateusz Jablonski
dd568b35b9 refactor: remove not needed code related to vme
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-29 10:00:23 +02:00
Chodor, Jaroslaw
0c7ca82b93 refactor: Introducing common ext pattern
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-07-28 18:01:22 +02:00
Arek G
fa7d69209c feature: Add interface for Ext area regarding payload args in zebin spec
Related-To: NEO-14899, IGC-11358

Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
2025-07-25 15:34:25 +02:00
Mateusz Hoppe
be483491bf feature: extract indirect access buffer major version from ELF's notes
- use version from ELF to create correct layout of implcit args
Related-To: NEO-15574

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-07-25 14:50:49 +02:00
Compute-Runtime-Validation
f129707e8a Revert "feature: Add interface for Ext area regarding payload args in zebin s...
This reverts commit 695ef4877a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-07-22 00:42:45 +02:00
Arek G
695ef4877a feature: Add interface for Ext area regarding payload args in zebin spec
Related-To: NEO-14899, IGC-11358

Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
2025-07-21 19:13:46 +02:00
Chodor, Jaroslaw
fcc2038def refactor: modernizing NEO::Range->std::span
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-07-17 01:27:11 +02:00
Chodor, Jaroslaw
a1da10ea75 feature: Adding support for zebin's .text section
Related-To: NEO-12229

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-07-16 15:01:44 +02:00
Mateusz Jablonski
5e43ee905d refactor: remove not needed logic related to vme
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-11 17:02:48 +02:00
Mateusz Jablonski
500ae54fc1 refactor: remove not needed code related to device enqueue
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-11 10:37:27 +02:00
Mateusz Jablonski
8b6aaceab4 refactor: remove not needed code related to cl accelerator
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-10 18:08:32 +02:00
Marcel Skierkowski
f0d5cf7530 test: StreamCaptureStdErr on pipes
Store data in a pipe instead of a temporary file like gtest
resulting in faster test execution

Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-07-01 11:52:43 +02:00
Mateusz Hoppe
b7580a3998 fix: store image arg size in kernel descriptor
- use arg size when patching bindless offset

Related-To: HSD-18042502539

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-06-23 13:37:44 +02:00
Chodor, Jaroslaw
767755df94 refactor: introducing AOT platforms wrapper
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-06-11 15:30:24 +02:00
Chen, Kai
1484e43bb7 feature: Add hasLscStoresWithNonDefaultL1CacheControls flag
Related-to: NEO-14563

Signed-off-by: Chen, Kai <kai.chen@intel.com>
2025-05-27 20:11:01 +02:00
Mateusz Hoppe
87e2114e42 feature(zebin): rename attribute to "require_iab"
- implicit_arg_buffer_used_by_code is replaced with require_iab

Related-To: NEO-14667

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-26 16:27:47 +02:00
Mateusz Hoppe
c4bfe4e487 feature(zebin): add implicit_arg_buffer_used_by_code exec env support
Resolves: NEO-14667

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-05-23 17:11:14 +02:00
Vysochyn, Illia
f99a4c2193 feature: Define thread group dispatch size according to kernel metadata
Related-To: NEO-10945

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-05-19 16:02:21 +02:00
Mateusz Jablonski
1284579ff7 refactor: remove not needed link to NEO-12901
Related-To: NEO-12901
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-05-15 15:52:00 +02:00
Fabian Zwoliński
ee769f5983 fix: Add texture cache flush after kernels writing to images on imm cmdlists
- 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>
2025-04-17 16:04:31 +02:00
Marcel Skierkowski
5d01677454 refactor: Mock file system in ULTs
Functions: fileExists and loadDataToFile
use IO functions from namespace IoFunctions

Now tests that use these functions
are mocked by default,
but some still require access to real files
and have been restored the ability to read files.
They will be mocked in next PRs.

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-09 19:51:46 +02:00
Vysochyn, Illia
950e4a22d8 test: Remove trailing whitespaces
Related-To: NEO-13972

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-04-07 16:34:38 +02:00
Vysochyn, Illia
146a7f7b9b feature: Add support for BUFFER_SIZE explicit argument
Related-To: NEO-13972

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-04-07 14:15:26 +02:00
Kamil Kopryk
7f607427fa fix: correct dsh generation
Don't use hardcoded sampler state and sampler border color state sizes.

Related-To: NEO-14216

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-03-14 21:18:38 +01:00
Naklicki, Mateusz
9aad7750be fix: adjust IGC hwinfo for related tests
Also update builtin kernels


Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2025-02-04 10:05:08 +01:00
Mateusz Hoppe
44264b2b5c fix: assume stateless access to buffers
- if buffers are not bindful or bindless, set stateless addressing mode
for buffers

Related-To: NEO-12800

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-30 12:22:23 +01:00
Marcel Skierkowski
e27a6dc280 refactor: use virtualFileSystem in ULTs
reducing the number of tests that have interactions with filesystem.
writeDataToFile() saves filename and content in std::map.
fileExistsHasSize() checks if file was previously written to virtualFileSystem
loadDataFromVirtualFile() fetches data from std::map based on filename

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-12-13 17:57:07 +01:00
Chodor, Jaroslaw
49e904df74 feature: Parse actual_kernel_start_offset zeinfo entry
This is a deprecated and redundant entry but needs to
be preserved for compatibility reasons.

Related-To: GSD-10402
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-12-03 18:57:06 +01:00
Mateusz Jablonski
d4e201db86 test: remove not used usings/typedefs/variables in shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-29 10:46:10 +01:00
Wojciech Konior
c65b45471b feature: support binary compatibility across multiple HW targets
- EnableCompatibilityMode flag added
- validateTergetDevice func modified to take into account the flag

Related-To: NEO-11568

Signed-off-by: Wojciech Konior <wojciech.konior@intel.com>
2024-11-04 16:53:57 +01:00
Bartosz Dunajski
ff80a02fcb refactor: parse extra zebin params
Related-To: NEO-12591

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-21 09:59:33 +02:00
Chodor, Jaroslaw
5463ddea06 feature: New forward-compatibility model for zeinfo
Up till now, NEO ignored uknown attributes in zeinfo
which could lead to undefined behavior. With this change
NEO will emit an error whenever an unknown attribute is
encountered.

Note : old behavior can be restored using new
IgnoreZebinUnknownAttributes debug environment variable

Resolves: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-17 14:03:01 +02:00
Chodor, Jaroslaw
e11ceb4a20 feature: Adding support for parsing sip_surface_offset
Adding support for parsing sip_surface_offset in accordance
with zeinfo specification. This field is not used because
surface offset calculations are dynamic and zebin binary can
rely only on sip_surface_bti entry. However, failing to parse
this unused entry blocks NEO from moving to stricter
zebin validation.

Related-To: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-17 00:10:43 +02:00
Artur Harasimiuk
00aedcaed4 refactor: add NOLINT for pending problems
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-10 11:46:35 +02:00
Michal Mrozek
363aca782f refactor: remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-19 18:50:16 +02:00
Mateusz Jablonski
5912b43841 refactor: remove dead code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 13:41:50 +02:00
Compute-Runtime-Validation
ef2ae9e1b7 Revert "feature: New forward-compatibility model for zeinfo"
This reverts commit f1815f941d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-21 00:27:42 +02:00
Chodor, Jaroslaw
f1815f941d feature: New forward-compatibility model for zeinfo
Up till now, NEO ignored uknown attributes in zeinfo
which could lead to undefined behavior. With this change
NEO will emit an error whenever an unknown attribute is
encountered.

Note : old behavior can be restored using new
IgnoreZebinUnknownAttributes debug environment variable

Resolves: NEO-11762

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-08-20 23:08:04 +02:00
Dominik Dabek
ad229377b9 fix: disable indirect detection if any stack calls
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>
2024-08-07 14:48:58 +02:00
Fabian Zwoliński
35c5b4f26c fix: add Hex support to Yaml Parser
Related-To: NEO-9630
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-06-26 15:31:32 +02:00
Mateusz Hoppe
4c49a08017 feature: add inline samplers bindless addressing support
- inline samplers in bindless addressing mode requires bindless offset
passed in cross thread data

Related-To: NEO-11748

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-06-24 13:02:08 +02:00