Commit Graph

118 Commits

Author SHA1 Message Date
Mateusz Jablonski 8f308f24e5 Reduce usage of global gfx core helper getter [1/n]
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-09 17:27:37 +01:00
Kamil Kopryk 03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Tratnack, Geoffrey 818db03a68 LOCI-3365: Cleanup MediaInterfaceDescriptorLoad logic in command encoder
Add a patch to command encoder when DSH is dirty.

Signed-off-by: Tratnack, Geoffrey <geoffrey.tratnack@intel.com>
Related-To: LOCI-3365
2022-12-08 17:07:53 +01:00
Szymon Morek be5a1c3d08 Check for nullptr before make resident
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-12-08 12:55:57 +01:00
Warchulski, Jaroslaw c10aa90815 Cleanup includes 11
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-06 12:25:30 +01:00
Szymon Morek aac8754e67 Create reusable list per immediate cmd list
Related-To: NEO-7361

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-14 14:09:35 +01:00
Compute-Runtime-Validation 77b6918f30 Revert "LOCI-3365: Cleanup MediaInterfaceDescriptorLoad logic in command enco...
This reverts commit cb3f7234f0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-12 16:05:11 +01:00
Tratnack, Geoffrey cb3f7234f0 LOCI-3365: Cleanup MediaInterfaceDescriptorLoad logic in command encoder
Add a patch to command encoder for samplers when DSH is dirty.

Signed-off-by: Tratnack, Geoffrey <geoffrey.tratnack@intel.com>
Related-To: LOCI-3365
2022-11-10 23:28:58 +01:00
Szymon Morek 647321af6f Remove O(n) lookup in command container destructor
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-14 13:24:07 +02:00
Szymon Morek 3f17b26253 Add cmd buffer to container if needed
Command buffers in CommandContainer are removed
through cmdBufferAllocations. This PR ensures
that allocations will be stored there if they
are currently used by given cmd container.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-13 14:23:44 +02:00
Szymon Morek ffd97a17a1 Make preallocated heaps resident immediately
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-12 14:20:20 +02:00
Szymon Morek 3f5ac0b4d0 Reuse heaps for immediate cmd lists
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-11 13:02:13 +02:00
Tratnack, Geoffrey 1b9c510614 Update to command_encoder, fix bug changing dynamic state memory
Adding ULT for encode and command container changes
Refactor getHeapSpaceAllowGrow and getHeapWithRequiredSizeAndAlignment

Signed-off-by: Tratnack, Geoffrey <geoffrey.tratnack@intel.com>
Related-To: LOCI-3365
2022-10-11 03:40:25 +02:00
Zbigniew Zdanowicz 88113fbaad enable shared heaps feature on XE_HPC platforms
Related-To: NEO-7142

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-05 14:50:42 +02:00
Szymon Morek 5c26ecf004 Remove duplicated code in command container
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-05 14:32:52 +02:00
Szymon Morek 6073702941 Reuse command buffer for immediate cmdlist
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-04 16:02:18 +02:00
Zbigniew Zdanowicz 9cd47ffeaf Add ownership management when ensuring space for shared heaps
Related-To: NEO-7142

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-04 12:27:11 +02:00
Zbigniew Zdanowicz 3d92186362 Add heap sharing to immediate command lists
This change is intended to be used in immediate command lists that are
using flush task functionality.
With this change all immediate command list using the same csr will consume
shared allocations for dsh and ssh heaps. This will decrease number of SBA
commands dispatched when multiple command lists coexists and dispatch kernels.
With this change new SBA command should be dispatched only when current heap
allocation is exhausted.
Functionality is currently disabled and available under debug key.
Functionality will be enabled by default for all immediate command lists
with flush task functionality enabled.

Related-To: NEO-7142

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-03 18:50:10 +02:00
Kamil Kopryk 17d87a4c69 Add RemoveUserFenceInCmdlistResetAndDestroy debug flag
Related-To: NEO-7156
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-19 22:35:53 +02:00
Kamil Kopryk 307b74869c Add OverrideCmdListCmdBufferSize debug flag
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-09-14 13:09:54 +02:00
Kamil Kopryk c99fe2ae23 Reduce surface state indirect heap size
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-14 10:25:06 +02:00
Dunajski, Bartosz 9763d42379 Fix type redefinition
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-24 09:45:13 +02:00
Kamil Kopryk 9974d95dc3 Restore wait on user fence during cmdlist destoy/reset
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-08-23 16:51:56 +02:00
Kamil Kopryk 8b5c567bea Remove wait on user fence during cmdlist destroy/reset
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-08-05 09:24:04 +02:00
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +02:00
Aravind Gopalakrishnan 31b2433b2f Avoid implicit sync for async mode immediate copy queue
Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-04-27 08:50:18 +02:00
Dominik Dabek 4044320301 Limit allocations in execute command list
Reserve space in ResidencyContainer

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-06 15:00:34 +02:00
Dominik Dabek 308f9ccfff Do not allocate dynamic state heap if not needed
Dynamic state heap is only used for sampler data.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-31 12:13:13 +02:00
Dominik Dabek fccda460d6 Optimize zeCommandListCreate
Do not allocate heap if command list is copy only.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>

Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-28 16:31:10 +02:00
Filip Hazubski 32b0f7b014 Remove redundant value CsrSizeRequestFlags::numGrfRequiredChanged
Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-15 15:08:15 +01:00
Compute-Runtime-Validation 41c51df086 Revert "Recycle old command buffers of immediate command lists"
This reverts commit 8f93f4f3ec.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-10 09:12:47 +01:00
Zbigniew Zdanowicz 8f93f4f3ec Recycle old command buffers of immediate command lists
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-08 14:59:26 +01:00
Bartosz Dunajski 4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Maciej Plewka 9d8ce7aace Command container appends BB_END on cmd buffer allocation end
When linear stream created for command container has not enough space
for command and BB_END it will program BB_END and allocate new command
buffer allocation. Pointer returned from getSpace in this case will
return storage from new command buffer allocation.

Related-To: NEO-5707

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-01-31 16:15:37 +01:00
Maciej Plewka f8c104feaa Use fw declaration of IndirectHeap in CommandContainer
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-01-26 13:30:26 +01:00
Lukasz Jobczyk 205e2e1957 Wait for fence before store cmd buffer in reusable pool
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 15:36:54 +01:00
Lukasz Jobczyk 616580637b Reuse command buffers in L0 command list
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-13 14:52:45 +01:00
Bartosz Dunajski 0345d9f707 Improve queries with number of SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-01 14:01:57 +02:00
Kacper Nowak 99caeaebf6 Fix allocation properties when allocating next command buffer
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-07-30 15:19:52 +02:00
Vinod Tipparaju fc4a1d608d Refactor immediate command list with kernel operations to use flushTask().
This is applicable for submissions with sync & async command queue modes.

Related-To: LOCI-1988

Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2021-07-07 15:31:38 +02:00
Zbigniew Zdanowicz 7ee9d279c8 Set correct allocation after reseting command container
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-07-01 16:46:35 +02:00
Mateusz Hoppe 0f32231fc8 Use correct INTERNAL heap base address for ISA in system memory
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-05-25 10:22:28 +02:00
Maciej Plewka 159404f38e Revert "Program border color once per dsh"
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-05-18 12:26:58 +02:00
Maciej Plewka 171a614f18 Fix reset border color offset when replacing heap buffer
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-05-05 13:38:02 +02:00
Igor Venevtsev bd32518d31 Add extra parameters to EncodeComputeMode::adjustComputeMode() method
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-03-31 16:51:55 +02:00
Jaime Arteaga 444b9594af Expand adjustPipelineSelect parameters
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-01-07 18:01:07 +01:00
Maciej Plewka 3ca77a6cbe Program sba for global bindless heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-01-04 14:23:47 +01:00
Maciej Plewka bb825acfff Mark heap as dirty when base address has changed
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-12-29 17:19:51 +01:00
Vinod Tipparaju 240563099c Clean up code for nullptr device check during cmdlist create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-19 04:24:34 +01:00
Vinod Tipparaju 8e6be83fcc Add cmdContainer ULTs - idOffset & numIdd reset, Gfx alloc failure
ULT required to cover IDOffset and numIdd values during reset.
ULT required to cover OUT_OF_MEM retrun during init.
Fix to check for valid gfx allocation inside heap helper & destructor

Change-Id: Ied9049b33dc0605d5f5f51c96114d5e96b26a4f7
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-03 13:22:44 +01:00
Kamil Diedrich 9e463ab45f Track all ssh in cmdList
Change-Id: Ibffb7b7b406e5e17d4ffb971fd0789557c879367
2020-10-12 12:12:12 +02:00
Kamil Diedrich 960860e4cb Fix reservation size
Change-Id: I1cc3d4405b00365908c5915c9d2a1c512d572530
2020-10-08 10:57:08 +02:00
Kamil Diedrich 67e2853857 Add missing mockable_virtual in code
Change-Id: Ia8d041b68163a99cf4e9e399e825d39798425544
2020-10-07 14:25:04 +02:00
Mateusz Hoppe 5fd113dcb3 CommandContainer.reset() clears lastSentNumGrfRequired
RelatedTo: NEO-5137

Change-Id: Icaad8224ee24f8c927b75e2efb17585a8b79918a
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-07 12:24:04 +02:00
Kamil Diedrich ce7e293a99 Extend scratch implementation
Change-Id: I1bbc0c9be287b1411276b1e61a7ec1c8db238f3f
2020-10-07 11:39:04 +02:00
Vinod Tipparaju 8d0df0c8a7 Reset cmdList - Fix to set genericMediaStateClear bit during programSBA
This resolves corruptions by flushing ID cache on HW

Change-Id: I56919360ac126cec67c5cbcf6380acfd72e0bcdb
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-24 13:42:04 +02:00
Bartosz Dunajski 2a69b1ed78 Select correct heap base address for ISA
Change-Id: I400f965faa4615519729756daa78350a46c46ff2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-23 14:21:22 +02:00
Vinod Tipparaju d2b218d82d Return ZE_RESULT_OUT_OF_MEMORY when alloc on device fails during cmdlist create
Change-Id: Ia03e7ac190598c56de044d3ad8216087b8da94f2
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-17 00:09:22 +05:30
Mateusz Hoppe ca39301ed8 Reserve SSH space for bindless mode
Related-To: NEO-4767

Change-Id: Id7876ea5a5a4fc12ab0b3192548b006fc1eea75c
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-17 13:26:28 +02:00
Mateusz Hoppe f5130af641 Allocate command buffers with correct AllocationType
Related-To: NEO-4579

Change-Id: Ic16ab56564c9309532cb181e9a8be1b8c0c1cb31
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-13 14:45:37 +02:00
Bartosz Dunajski d712a015b4 Use correct heap for GSBA programming
Change-Id: I85d3b478e8c3749501ca6eb76224d95b4dbbb86c
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-03 09:12:34 +02:00
Bartosz Dunajski 2e87c872b5 Select correct heap for programGeneralStateBaseAddress
Change-Id: I21744fbc67551d358e03b3ee44f649ba8d62eb45
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-02 11:03:03 +02:00
Bartosz Dunajski 6dd07bd3bc Use correct Heap32 index for local memory allocations
Change-Id: I068f712ab2b05ee3d5a9716b21de685a7fee3a02
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-01 17:31:43 +02:00
Andrzej Swierczynski a5e4edb327 Choose valid bank from memory bank selector
Related-To: NEO-4645

Change-Id: I8d1f63ba24ead2e77ba6381e4770068bf2eb1725
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-26 10:51:43 +02:00
Jaime Arteaga 1e6337c61e Correctly use deviceIndex in CommandContainer initialization
Change-Id: I2377597e16f957428495251d7d788328307d2a9f
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-03-30 11:23:27 +02:00
Raiyan Latif 43433244f9 Enable support for indirect allocation access to Kernels
Change-Id: I3ded8cce3761a38aa4a4d71b4089f79c844311c5
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2020-03-15 22:13:19 +01:00
Mateusz Jablonski 7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
kamdiedrich e072275ae6 Reorganization directory structure [3/n]
Change-Id: If3dfa3f6007f8810a6a1ae1a4f0c7da38544648d
2020-02-23 23:48:28 +01:00