Commit Graph

400 Commits

Author SHA1 Message Date
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
Bartosz Dunajski
ab7364ae19 test: improve HWTEST2_F macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-04-08 17:18:14 +02:00
Mateusz Jablonski
1c377dc930 fix: ensure payload arguments are patched before walker command is fetched
In case of indirect kernel launch some payload arguments are patched
just before walker command, this change disables prefetch, performs
batch buffer start to next bytes and then re-enable prefetch. All these
operations are performed between MI_STORE_REGISTER_MEM and COMPUTE_WALKER

Related-To: NEO-14584
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-08 11:57:45 +02:00
Young Jin Yoon
0de024dbf9 refactor: separate post-sync into EncodePostSync
Created EncodePostSync template struct to organize various post-sync
variables/functions from EncodeDispatchKernel

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-04-07 20:06:14 +02:00
Mateusz Jablonski
bb518adf34 fix: patching payload arguments in inline data in case of indirect kernel
Related-To: NEO-14532
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-04-03 17:21:28 +02:00
Filip Hazubski
504440fc4d feature: Add ftrHeaplessMode flag
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.

Related-To: NEO-14526

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-04-02 21:06:05 +02:00
Jack Myers
0aa2c4f0cb feature: allow removal of heapful code paths
Related-To: NEO-13007

Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-03-27 01:34:35 +01:00
Damian Tomczak
c90f3fcb3c test: adjusting sampler border color when heapless is enabled
Related-to: NEO-12737

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
2025-03-11 12:17:22 +01:00
Kamil Kopryk
4503972faf refactor: add adjustSamplerStateBorderColor function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-27 14:05:09 +01:00
Filip Hazubski
794b21a3fa refactor: Add extra parameters to computeSlmValues function
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-20 15:35:52 +01:00
Kamil Kopryk
2b6442b7a3 refactor: correct matchers and typenames for non-heapless ults
This change includes:
- added corresponding matchers for non-heapless unit tests
- added matcher for binding table state
- corrected type names for the interface descriptor and compute walker


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-13 19:47:57 +01:00
Chodor, Jaroslaw
574fe9fb29 refactor: Pass whole kernel descriptor to barrier programming
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-01-27 01:26:49 +01:00
Zbigniew Zdanowicz
897c890d03 refactor: add thread group count parameter to implicit scaling functions
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-01-20 13:12:45 +01:00
Mateusz Hoppe
c08c9b7f86 refactor: change test to HWTEST
- move Heapful matcher to test macros
- check alignment in patchWithRequiredSize


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-31 10:37:37 +01:00
Vysochyn, Illia
c05ac6ff70 refactor: Rename enumerators to common naming
Renames SHARED_LOCAL_MEMORY_SIZE_ENCODES and PREFERRED_SLM_ALLOCATION_SIZE
enumerators' members to follow the specification.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-12-24 12:10:26 +01:00
Mateusz Hoppe
a0cefc5577 test: refactor EncodeDispatchKernelTest
- modify test matcher

Related-To: NEO-12800


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-12-23 14:59:20 +01:00
Mateusz Jablonski
b1f7a3d125 test: remove not used usings/typedefs in shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-29 16:31:25 +01:00
Mateusz Jablonski
f2b0dad964 test: remove not used usings/typedefs in shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-29 10:46:25 +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
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
Vysochyn, Illia
89c3aab321 refactor: Extract PostSyncType to outer abstract layer
This modification serves to simplify the integration of generated
compute walker structures.

Related-To: NEO-13147

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2024-11-28 18:09:21 +01:00
Bartosz Dunajski
1ddcb92f1d refactor: pass device to encoder functions
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-25 16:25:04 +01:00
Oskar Hubert Weber
5dc5c839a6 test: allowing neo ULT build with optimization enabled 2/n
Fixes mismatched-new-delete warnings

Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-11-25 16:21:40 +01:00
Chodor, Jaroslaw
1f6e39af0e refactor: cleanup for defaultWalker
Making use of defaultWalker typedef more consistent

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-11-17 00:24:11 +01:00
Zbigniew Zdanowicz
bbdf1ac7b6 refactor: change encoder for thread group over dispatch 1/n
- change method name to more meaningful
- add all inputs of the algorithm as explicit function arguments
- position all implementations accordingly
- rename unit test names to fit new method name
- fix unit test to have correct initial command values
- fix unit test to have consistent input values with command values
- fix unit test to change input values together with command values

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-25 16:31:39 +02:00
Zbigniew Zdanowicz
46a63d3e0e refactor: unify programming of preferred slm size 5/n
- remove xe2 hpg encode preferred slm size
- add xe2 release helper preferred slm array
- add dedicated method to calculate thread count per sub slice

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-09 09:39:35 +02:00
Zbigniew Zdanowicz
cb3b2134ab refactor: unify programming of preferred slm size 4/n
- remove xe hpg encode preferred slm size
- add dg2/mtl/arl release helper preferred slm array
- drop dg2 preproduction stepping values for preferred slm size
- remove obsolete product helper method

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-07 14:28:23 +02:00
Zbigniew Zdanowicz
49371cb13e refactor: unify programming of preferred slm size 1/n
- rename function to reflect actual task function does

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-03 18:52:01 +02:00
Illia Vysochyn
f062194669 fix: Remove INLINE_DATA structure
Related-To: NEO-12706

Signed-off-by: Illia Vysochyn <illia.vysochyn@intel.com>
2024-09-26 19:58:54 +02:00
Mateusz Jablonski
18a7a5f6fa refactor: update hw cmds base from gen8 to gen12lp
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-19 18:07:46 +02:00
Mateusz Jablonski
7e218a5f70 test: simplify IsAtLeastGen12lp and IsAtMostGen12lp matchers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 13:42:19 +02:00
Mateusz Jablonski
3cc50f6861 test: remove deprecated matchers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 09:54:12 +02:00
Mateusz Jablonski
4f715c9b6a test: remove not needed tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-16 18:45:46 +02:00
Zbigniew Zdanowicz
8bb92ff445 performance: avoid reading from gfx memory when modifying walker command
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-09-11 18:58:33 +02:00
Andrzej Koska
b0e7a11e9a refactor: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-05 16:11:52 +02:00
Kamil Kopryk
fc3646b58c test: correct expectations in shared ults if heapless enabled
Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-08-26 09:51:19 +02:00
Compute-Runtime-Validation
9b652f4a34 Revert "feature: Improving information transfer about the copy engine"
This reverts commit 17ffdff4f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-15 22:06:31 +02:00
Andrzej Koska
17ffdff4f1 feature: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-08-14 11:28:29 +02:00
Kamil Kopryk
27ba5f5089 refactor: move duplicated code to xeHpc and later
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-08-01 16:21:25 +02:00
Zbigniew Zdanowicz
b33fe6ccf1 feature: adding flag to block dispatch implicit scaling commands
- this feature is part of making compute walker command view
- compute walker is programed for implicit scaling but not dispatched
- together with new flag, comes the refactor to reduce number of arguments

Related-To: NEO-11972

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-07-31 14:24:27 +02:00
Zbigniew Zdanowicz
7d1b59f008 feature: add option to make compute walker command view
Related-To: NEO-11972

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-07-30 11:23:45 +02:00
Kamil Kopryk
d2546d4062 refactor: add forceComputeWalkerPostSyncFlushWithWrite function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-07-26 15:00:46 +02:00
Maciej Plewka
1cd00b5b89 fix: use per product cache line size to align heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-07-24 17:29:20 +02:00
Maciej Plewka
afee8814ef refactor: get ioh alignment from static function
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-07-24 14:43:31 +02:00
Michal Mrozek
05eb4e7a0d performance: add debug flag to disable l1 flush
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-07-11 10:09:46 +02:00
Mateusz Jablonski
778645c11e feature: add initial support for Xe2 platforms
Related-To: NEO-8188, NEO-10774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-09 10:30:27 +02:00
Kamil Kopryk
5883e9288a refactor: get postSync type from walker in ults
Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-06-26 09:41:13 +02:00
Kamil Kopryk
44e8fdfb22 refactor: force some ults to use explicit COMPUTE_WALKER type
Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-06-26 09:31:41 +02:00
Kamil Kopryk
e74c8c516a refactor: use getInitGpuWalker function in ults
Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-06-26 09:31:12 +02:00
Jaroslaw Warchulski
63da79798d refactor: reduce the number of GraphicsAllocation constructors and derivatives
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-18 21:31:37 +02:00