Commit Graph

193 Commits

Author SHA1 Message Date
Mateusz Jablonski
ec36dd6275 refactor: move gmm callbacks definition to common place
- merge all the callbacks to single template class
- store callback functions in global arrays
- partially reuse callbacks on Linux

Related-To: NEO-11080
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-14 16:49:29 +02:00
Jakub Nowacki
259271f59d fix: disallow copy and move
Related-To: NEO-15630

Signed-off-by: Jakub Nowacki <jakub.nowacki@intel.com>
2025-08-14 12:19:18 +02:00
Neil R. Spruit
274c5043b9 fix: Set compression disabled when compression not allowed for a resource
Related-To: NEO-12375

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-14 08:31:19 +02:00
Jakub Nowacki
c4ab767797 fix: add missing NonCopyableAndNonMovable asserts
Related-To: NEO-15630

Signed-off-by: Jakub Nowacki <jakub.nowacki@intel.com>
2025-08-13 13:13:05 +02:00
Compute-Runtime-Validation
c98344c906 Revert "fix: Set compression parameter when resource imported"
This reverts commit c5b66d50e2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-08-13 10:50:34 +02:00
Neil R. Spruit
c5b66d50e2 fix: Set compression parameter when resource imported
Related-To: NEO-12375

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-11 18:44:12 +02:00
Filip Hazubski
8136487439 fix: Correct logic to catch invalid gmm compression format
Add check for GMM_XE2_UNIFIED_COMP_FORMAT when creating Gmm for image.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-07-15 18:52:25 +02:00
Compute-Runtime-Validation
23698ac860 Revert "fix: Set compression parameter when resource imported"
This reverts commit ed04190d77.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-07-10 13:41:07 +02:00
Aravind Gopalakrishnan
ed04190d77 fix: Set compression parameter when resource imported
Related-To: NEO-12375

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2025-07-09 08:36:05 +02:00
Maciej Bielski
d667614a4f fix: set gmm LocalOnly flag regardless of extraMemoryFlags
Related-To: NEO-13428
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-06-03 14:00:34 +02:00
Chodor, Jaroslaw
46c60290b9 refactor: introducing igfxfmid_wrapper
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-05-30 19:26:04 +02:00
Szymon Morek
a614c0bb95 performance: set tag buffer non-coherent on iGPU
There's no need to snoop cpu cache's for tag buffer.
Tag buffer is mostly read-only on CPU.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-22 10:46:42 +02:00
Szymon Morek
3ba25459e8 performance: set timestamps as non-coherent since xe2
Related-To: NEO-14360

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-21 07:49:56 +02:00
Daniel Bermond
e0362a7c39 build: add missing headers for GCC 15
For using fixed width integer types[1], the `<cstdint>`[2]
C++ header needs to be explicitly included with GCC 15 due
to changes[3] in libstdc++.

For details, see the documentation[4] about porting to GCC 15.

[1] https://en.cppreference.com/w/cpp/types/integer
[2] https://en.cppreference.com/w/cpp/header/cstdint
[3] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84
[4] https://gcc.gnu.org/gcc-15/porting_to.html#cxx

Signed-off-by: Daniel Bermond <dbermond@archlinux.org>
2025-05-19 15:31:32 +02:00
Dominik Dabek
c5c87ab6f9 fix: override for driver protection bits
Add product helper method, default no override.
Use single param. Usage unknown means no override.

Related-To: NEO-14482

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-19 12:36:23 +02:00
Dominik Dabek
be04b6f172 performance: override for driver protection bits
Add infrastructure to override usage in getDriverProtectionBits.

Related-To: NEO-14482

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-16 11:01:00 +02:00
Tomasz Biernacik
e376e738f3 fix: disable deferring MOCS on WSL for LNL
Related-To: NEO-14643

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-05-15 16:50:43 +02:00
Lukasz Jobczyk
3df5230837 refactor: Adjust extra aux flags init
Related-To: NEO-13051

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-12 10:23:06 +02:00
Lukasz Jobczyk
1d1414febc refactor: remove unused dc flush mitigation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 08:26:26 +02:00
Szymon Morek
6ae43123f6 fix: correct usages of ULLS-related resources
Related-To: NEO-14360

Current gmm usage type of these resources is causing
them to be cached, which is incorrect.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-08 12:12:45 +02:00
Tomasz Biernacik
ce1ce06fb3 fix: get driver protection bits on WSL
Related-To: NEO-14643

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-05-07 08:07:20 +02:00
Tomasz Biernacik
310d8c2e58 fix: allow ringBuffer in coherent memory only for Xe2+
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-05-06 15:31:59 +02:00
Tomasz Biernacik
eff2d1cde8 performance: change usage for semaphoreBuffer on integrated devices
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-16 09:07:05 +02:00
Kamil Kopryk
dd3d294f87 performance: cache MOCS values
This change caches the most used MOCS values:

* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED);
inside gmmHelper class during initialization to avoid repeated
calls of virtual functions, branches and/or gmm lib access.

and adds more readably corresponding getters:
* getL1EnabledMOCS
* getL3EnabledMOCS
* getUncachedMOCS

If force all resources uncached is called,
these 3 cached mocs values are reinitialized

It also changes the order of gmmHelper members, to avoid
not needed padding after addressWidth
and simplifies logic in getMocsIndex function
for xehp and later products.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-04-14 14:12:48 +02:00
Tomasz Biernacik
194c3058b8 performance: change usage for ringBuffer on integrated devices
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-14 12:25:38 +02:00
Tomasz Biernacik
18435df04c fix: unify deferring MOCS to PAT
Related-To: NEO-14643

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-11 20:10:25 +02:00
Szymon Morek
3fff3dd77b fix: set misaligned source memory 1-way coherent
Related-To: NEO-14443

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-28 14:16:45 +01:00
Szymon Morek
bb10290828 fix: make misaligned user memory 2-Way coherent
Related-To: NEO-9004

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-21 17:56:37 +01:00
Lukasz Jobczyk
8ede026c5d refactor: Use gmm resource info to print unknown usage
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-10 16:28:31 +01:00
Lukasz Jobczyk
5a04d1e10a refactor: Print unknown gmm usage type value
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-05 10:34:40 +01:00
Filip Hazubski
4c7900008f refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-17 14:19:10 +01:00
Lukasz Jobczyk
09e23804dc refactor: Use timestamp types for events and in order nodes
Switching tagAllocation into UC causes regressions in non event
scenarios. It is no longer used as dependant type for semaphores.
Restoring previous GMM_USAGE settings for tag.
Marking events and in order nodes using only timestamp types as they
have proper GMM_USAGE settings already and can be both in smem and lmem.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-30 12:20:38 +01:00
Lukasz Jobczyk
7eac78d253 refactor: Make semaphore dependant resources UC
Change for tagBuffer type on Windows. Timestamp types are already UC on all DC
flush platforms regardless of OS.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-28 14:51:28 +01:00
Vysochyn, Illia
afd22999cc refactor: Adjust RENDER_SURFACE_STATE structures naming
Performs minor renaming (mostly capitalization) in order to align with
specification.

Renames L1_CACHE_POLICY to L1_CACHE_CONTROL.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-11-29 09:43:11 +01:00
Lukasz Jobczyk
e687e11ab1 performance: Add CCS Optimization
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-23 11:35:57 +02:00
Compute-Runtime-Validation
e10998db45 Revert "performance: Add CCS Optimization"
This reverts commit e7b3a40aa7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-22 05:52:14 +02:00
Lukasz Jobczyk
e7b3a40aa7 performance: Add CCS Optimization
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-21 09:59:14 +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
Mateusz Jablonski
54bda0e986 fix: In Linux CL/GL sharing
- always issue flush request before export

Apparently it's expected to flush the object (which might convert them
from one format to another for export, or remove aux buffer uses or
anything not supported by export).

- use modifier to select tiling mode

Previously we just assumed that whatever tiling mode was picked by mesa
will match the one picked by GMMLIB but that's not always the case
and in particular on Arc and Xe it doesn't work ... Mesa picks Tile4
and GMMLIB picks Tile64 ...

Fixes: #761
Fixes: #736

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-06 21:40:18 +02:00
Lukasz Jobczyk
a54a3bf624 performance: Optimize heap handling when mitigate dc flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-09-06 04:33:41 +02:00
Compute-Runtime-Validation
dc84b163b5 Revert "performance: Optimize heap handling when mitigate dc flush"
This reverts commit 9249c5c65c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-03 08:33:20 +02:00
Lukasz Jobczyk
9249c5c65c performance: Optimize heap handling when mitigate dc flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-09-02 18:12:19 +02:00
Compute-Runtime-Validation
d3f32358e9 Revert "performance: Optimize heap handling when mitigate dc flush"
This reverts commit 452f4b1dd1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-31 06:03:18 +02:00
Michal Mrozek
ce3cb71773 performance: add debug flag to control timestamp caching
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-08-30 16:32:06 +02:00
Lukasz Jobczyk
452f4b1dd1 performance: Optimize heap handling when mitigate dc flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-08-30 10:54:54 +02:00
Compute-Runtime-Validation
63528e70a7 Revert "performance: Optimize heap handling when mitigate dc flush"
This reverts commit 1a8149e91c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-30 05:59:25 +02:00
Lukasz Jobczyk
1a8149e91c performance: Optimize heap handling when mitigate dc flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-08-29 17:03:55 +02:00
Compute-Runtime-Validation
956dd8e17d Revert "fix: set properly resource params when setAllocationType"
This reverts commit 2e0884a301.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 05:01:38 +02:00
Katarzyna Cencelewska
2e0884a301 fix: set properly resource params when setAllocationType
gmm params: usage, cachable and resource info
should be set properly when override allocation type

Resolves: HSD-22020344331
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-08-23 16:57:23 +02:00
Katarzyna Cencelewska
153cda9a9f feature: add debug flag to force gmm system memory resource type
Related-To: NEO-10157
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-07-18 14:05:16 +02:00