Commit Graph

216 Commits

Author SHA1 Message Date
Young Jin Yoon 05c6612386 refactor: add EncodePostSyncArgs to EncodeDispatchKernelArgs
Refactored various member variables in EncodeDispatchKernel to directly
include EncodePostSync
Changed command encoder and command list to use the modified
EncodeDispatchKernel.

Related-To: NEO-13003
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-04-17 20:55:40 +02:00
Young Jin Yoon 5a2a792c34 Revert "refactor: add EncodePostSyncArgs to EncodeDispatchKernelArgs"
This reverts commit 40aef1555e.

Related-To: NEO-13003
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-04-17 15:37:05 +02:00
Young Jin Yoon 40aef1555e refactor: add EncodePostSyncArgs to EncodeDispatchKernelArgs
Refactored various member variables in EncodeDispatchKernel to directly
include EncodePostSync
Changed command encoder and command list to use the modified
EncodeDispatchKernel.

Related-To: NEO-13003
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2025-04-16 17:46:07 +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
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
Kamil Kopryk 4503972faf refactor: add adjustSamplerStateBorderColor function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-27 14:05:09 +01:00
Mateusz Hoppe 291745cdf7 feature: add support for ImplicitArgs versioning
- define ImplicitArgs version 1

Related-To: NEO-14115

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-25 10:27:11 +01:00
Filip Hazubski 4be1153253 fix: Remove pragma once from inl files
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 20:19:15 +01:00
Mateusz Jablonski fa58073095 refactor: remove not used usings/typedefs/variables
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-28 16:19:39 +01:00
Bartosz Dunajski 906aa485a8 refactor: unify encoder methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-11-22 16:41:46 +01:00
Zbigniew Zdanowicz f07ee9a8cf refactor: reorganize command encode classes 7/n
- add dedicated inl files
- unify setGrfInfo
- move methods for scratch data programming
- move methods for encodeEuSchedulingPolicy and appendSemaphoreCommand

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-14 15:48:53 +01:00
Zbigniew Zdanowicz d7f310dd5a refactor: reorganize command encode classes 5/n
- move various methods from specialization in cpp into correct inl files
- EncodeAtomic, EncodeMiFlushDW, EncodeMemoryPrefetch, EncodeDispatchKernel
- move methods from generic inl files that are used on single platform to cpp
- EncodeMiFlushDW

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-13 09:18:30 +01:00
Zbigniew Zdanowicz 051648e215 refactor: reorganize command encode classes 4/n
- share xe hpc methods in generic way
- move gen12lp and xe hpg methods into dedicated inl

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-12 12:15:54 +01:00
Zbigniew Zdanowicz ead001360b refactor: reorganize command encode classes 3/n
- shift xe hpg inl file methods into specialization and generic inl files
- remove gen12lp specific implementation from main inl file
- remove not needed xe hpg inl file
- remove not needed compression inl files
- remove not used raytracing inl file

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-11-08 14:38:31 +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
Andrzej Koska 6263b9599f feature: Enabling Blitter offset for Remap
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-16 09:04:28 +02:00
Compute-Runtime-Validation f58b5b6ac3 Revert "feature: Enabling Blitter Remapping for REGISTER_MEM"
This reverts commit d4f59c1b09.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-12 23:50:59 +02:00
Compute-Runtime-Validation c0d9cb4d84 Revert "feature: Enabling Blitter Remapping for REGISTER_REG"
This reverts commit 4f2e61841f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-12 16:43:46 +02:00
Andrzej Koska 4f2e61841f feature: Enabling Blitter Remapping for REGISTER_REG
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-11 19:02:16 +02:00
Andrzej Koska d4f59c1b09 feature: Enabling Blitter Remapping for REGISTER_MEM
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-11 09:14:44 +02:00
Bartosz Dunajski 4f1262645b refactor: pass extra walker params
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-10 15:30:03 +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
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
Bartosz Dunajski d76ac1d1de fix: scratch controller residency
Related-To: HSD-18039519400

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-09 14:47:56 +02:00
Kamil Kopryk 2a9bcdeb83 refactor: pass outImplicitArgs to patchImplicitArgs function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-08-05 17:31:47 +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
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
Kamil Kopryk 4008ccea05 fix: add scratch ptr in implicit args patching for L0 regular cmdlists
Related-To: NEO-11874
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-07-18 14:07:07 +02:00
Bartosz Dunajski 76cb97de9d feature: handle in-order counter in copy offload path
Related-To: NEO-11376

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-05-21 16:13:49 +02:00
Kamil Kopryk ce7f578548 refactor: rename pipelined thread thread arbitration policy variable
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-05-20 15:05:52 +02:00
Kamil Kopryk 44ef4c1ef2 refactor: add defaultThreadArbitrationPolicy in cmdlist
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-05-16 13:28:20 +02:00
Katarzyna Cencelewska e9f7df6ae6 refactor: create helper for maxPtssIndex
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-05-07 12:47:52 +02:00
John Falkowski f1c2ea0b69 fix: kernel access to multiple stateful virtual regions
Related-to: NEO-8350

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2024-04-26 11:18:24 +02:00
Katarzyna Cencelewska eb256f1ffd refactor: use encode surface state to set pitch for scratch
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-04-25 11:57:14 +02:00
Mateusz Hoppe d38ac4806b feature: global bindless sampler offsets
- use global heap base for DSH when bindlessHeapsHelper enabled

Related-To: NEO-10505

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-04-24 21:12:17 +02:00
Andrzej Koska ae139aeffd refactor: Passing information about the engine
Extension of the interface with information
about the engine type passed to the function

Related-To: NEO-10678

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-04-22 13:33:56 +02:00
Jemale Lockett dd884a0733 fix: stop using gpr15 in non-debug context
Resolves: NEO-11027

Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-04-15 12:33:51 +02:00
Bartosz Dunajski c3546f9e62 refactor: enable 64b mi_atomic operands and add cmp/wr operation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-27 18:56:40 +01:00
Bartosz Dunajski fce016ee7a refactor: add new semaphore param
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-26 15:46:47 +01:00
Katarzyna Cencelewska da7b03dd15 fix: to always use grfs count in calculateNumThreadsPerThreadGroup
grf size != grf count

Related-To: GSD-8437
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-03-22 11:03:18 +01:00
Mateusz Jablonski 8d83f7603c performance: skip dummy blits prior to flush without postsync
Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-12 12:38:58 +01:00
Zbigniew Zdanowicz fe377b6597 feature: add out cmd pointer to store data imm encoder
Related-To: NEO-10385

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-07 12:52:08 +01:00
Mateusz Jablonski a22cefdaed fix: don't program dummy blit when no copy command was programmed
Related-To: NEO-9996, NEO-10571
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-07 09:01:16 +01:00
Lukasz Jobczyk bd6925d51a refactor: Exclude thread dispatch algorithm for overdispatch to function
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-03-01 15:04:04 +01:00
Mateusz Jablonski 80aa55a3cb fix: don't program dummy blit prior to MI_FLUSH_DW without postsync
add missing dummy blits before MI_FLUSH_DW with postsync

Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-01 12:36:13 +01:00