Commit Graph

421 Commits

Author SHA1 Message Date
Filip Hazubski
cd95572443 Reuse common logic of programming SCM fields for gen 9 and gen 11
Logic related to programming non coherent and thread arbitration policy for
gens 9 and 11 has been moved to EncodeComputeMode object, where similar
logic for gens gen12lp and newer is located.

Functions PreambleHelper::programThreadArbitration and
PreambleHelper::getThreadArbitrationCommandsSize have been removed.

Redundant setForceNonCoherent call has been removed from XE HPG

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-16 10:04:32 +01:00
Compute-Runtime-Validation
4f31b569e4 Revert "Correct IMAGE1D_BUFFER width size calculation in BCS"
This reverts commit 3490b489ad.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-12 20:02:55 +01:00
Filip Hazubski
3eab7009ac Move SCM related WAs logic from CSR to EncodeComputeMode
This will help with unifying the logic between APIs and GENs.

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-11 14:00:53 +01:00
Rafal Maziejuk
3490b489ad Correct IMAGE1D_BUFFER width size calculation in BCS
Buffer's default bytesPerPixel value always equals 1 and as
IMAGE1D_BUFFER is originally an image, X coordinate needs to be
multiplied by bytesPerPixel in both copySize and (src/dst)Size.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6134
2022-03-11 09:34:40 +01:00
Bartosz Dunajski
c6e27bdc18 Enable prepatcher DirectSubmission WA
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 20:23:11 +01:00
Filip Hazubski
dd01cff879 Unify logic determining thread arbitration policy value
Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-08 13:14:56 +01:00
Filip Hazubski
80b520bc9b Change ThreadArbitrationPolicy enum type to int32_t
Change ThreadArbitrationPolicy::NotPresent value to -1
Update initial values to ThreadArbitrationPolicy::NotPresent

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 20:04:24 +01:00
Rafal Maziejuk
385c60948e Treat IMAGE1D_BUFFER type as buffer in BCS
This type of image needs to be treated as buffer in order to
allow width to be greater than 16383.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6134
2022-03-02 15:41:15 +01:00
Michal Mrozek
8e94d568a8 Do not set dcFlush in Immediate dispatch mode.
Some devices do not need dcFlush.
Setting it prevents further optimization of pipe controls which
are not needed.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:20:28 +01:00
Patryk Wrobel
0ecc7c5e3b Detect GPU hangs in clFinish
This change introduces detection of GPU hangs in
clFinish function as well as unit tests to cover
the new code.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-28 19:07:36 +01:00
Patryk Wrobel
7f729b7f89 Detect GPU hang in clWaitForEvents
This change:
- moves NEO::WaitStatus to a separate file
- enables detection of GPU hang in clWaitForEvents
- adjusts most of blocking calls in CommandStreamReceiver to return WaitStatus
- adds ULTs to cover the new code

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-23 13:33:09 +01:00
Krzysztof Gibala
02c87fd8b9 Refactor naming around additional PC before NP state command
Rename:
- debug flag ProgramPipeControlPriorToNonPipelinedStateCommand
to ProgramExtendedPipeControlPriorToNonPipelinedStateCommand
- local variables

Related-To: NEO-6615
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-02-11 19:24:14 +01:00
Krzysztof Gibala
436fd7edce Add PC before NP state commands on ATS
Add pipe control before state base address, state compute
mode and state sip commands.

Related-To: NEO-6615
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-02-11 12:28:59 +01:00
Krzysztof Gibala
ff7882bcbe Add PC before NP state commands
Add pipe control before state base address, state compute
mode and state sip commands on DG2 and PVC when CCS flow is used.

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-02-10 12:06:41 +01:00
Kamil Kopryk
d6eaab18b4 Correct blitter command size estimation
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-02-09 10:21:06 +01:00
Mateusz Jablonski
10e4e62600 Don't use DEFAULT_PLATFORM in unit tests
testing for default supported platform may be disabled

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-04 17:57:39 +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
Bartosz Dunajski
52c6973e89 Rename blitBuffer method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-03 15:02:55 +01:00
Kamil Kopryk
c98e253377 Correct unit tests
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-02-02 15:19:49 +01:00
Patryk Wrobel
498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +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
Mateusz Jablonski
0dbac9cec7 Move compute mode tests from opencl to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-01-25 10:14:00 +01:00
Bartosz Dunajski
10f329768f Fix multitile tag initialization for AubCsr
Before this change, only Tile0 tag was initialized

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-18 19:33:57 +01:00
Zbigniew Zdanowicz
4238679078 Refactor implicit scaling device support
Related-To: NEO-6589

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-18 13:08:43 +01:00
Mateusz Jablonski
e5a18177c5 Add unit test helper function to set pipe control hdc flush
Separate unit test helper definitions bdw_and_later / xe_hp_and_later

Related-To: NEO-6466

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-01-17 15:45:29 +01:00
Bartosz Dunajski
e7f2676d5e Fix ThreadArbitrationMode programming
For non-kernel submission, TAM was incorrectly reprogrammed to default
mode. Correct programming should reuse value from previous submission.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-14 13:09:11 +01:00
Raiyan Latif
394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Fabian Zwolinski
1d48e97649 Remove GMock from MockAubCsr, GmockAubFileStream, AsyncEventsHandlerTests...
GMock Removed from:
- MockAubCsr
- GmockAubFileStream
- AsyncEventsHandlerTests
- AsyncEventsHandlerTests::MyEvent
- MockGmmPageTableMngr
- GmockWddm

Additionally:
- GmockAubFileStream body moved to MockAubFileStream class
- Deleted unused GmockAubFileStream class
- Deleted NiceMocks from AsyncEventsHandlerTests
- Renamed GmockWddm to MockWddm

Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-01-05 14:45:13 +01:00
Zbigniew Zdanowicz
2047fc88f9 Move execution environment helper to shared
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-31 11:36:44 +01:00
Filip Hazubski
5be4d89b73 Rename function
Rename MemorySynchronizationCommands::isDcFlushAllowed
to MemorySynchronizationCommands::getDcFlushEnable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-30 17:03:22 +01:00
Maciej Plewka
615688336f Program all fields in SCM
Related-To: NEO-6432

This change applies WA that always programs all fields in SCM for
gen12lp. Also for those platforms Force Non-Coherent is set to 0x2.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-12-28 16:30:47 +01:00
Szymon Morek
694046d30e Remove C-style casts when casting to osHandle
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 11:11:49 +01:00
Lukasz Jobczyk
b8e88159f8 Add proper alignment to BBE in flush small task path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-28 11:01:57 +01:00
Zbigniew Zdanowicz
b6da6471f2 Add notify parameter to direct submission post sync operations
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-23 17:35:48 +01:00
Zbigniew Zdanowicz
1df68ad71f Move command stream tests to shared
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-22 13:00:43 +01:00
Filip Hazubski
0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
Zbigniew Zdanowicz
4176cac845 Move shared mocks to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-21 13:26:59 +01:00
Filip Hazubski
6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
Mateusz Jablonski
2efcf1f62b Cleanup tbx command stream receiver tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-21 11:46:40 +01:00
Mateusz Jablonski
ab4640635d Cleanup command stream receiver tests 1/n
cmd parse tests
aub subcapture tests
aub command stream receiver tests
aub command stream receiver fixture
mock aub subcapture manager

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-20 20:02:50 +01:00
Zbigniew Zdanowicz
7680331b4a Move shared object mocks to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-20 18:48:37 +01:00
Mateusz Jablonski
4694b7ac5c Move linear / tbx stream tests from opencl to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-20 17:45:53 +01:00
Filip Hazubski
461e6d841d Remove redundant thread arbitration policy variables for SCM
Remove CommandStreamReceiver::lastSentThreadArbitrationPolicy
Remove CommandStreamReceiver::requiredThreadArbitrationPolicy

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-17 19:47:59 +01:00
Mateusz Jablonski
66bf806018 Remove magic number from set/getBatchBufferStartAddressGraphicsaddress methods
rename methods to set/getBatchBufferStartAddress

Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-16 19:03:01 +01:00
Fabian Zwolinski
ab580bdc11 Remove GMock from GMockCommandQueueHw, MockFlatBatchBufferHelper
Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2021-12-16 16:39:45 +01:00
Mateusz Jablonski
e4bbed49d0 Use full path to include test.h 1/n
fix files in opencl

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-15 12:34:34 +01:00
Filip Hazubski
e182aa6055 Unify program thread abitration logic for gen9 and gen11
Use single call for programming thread arbitration logic in flushTask.

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-14 17:10:26 +01:00
Bartosz Dunajski
fe8cb190bc Remove deprecated code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-14 11:36:10 +01:00
Zbigniew Zdanowicz
01348451db Add multi tile barrier to marker command on multi tile device
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-13 18:14:39 +01:00
Zbigniew Zdanowicz
56bef79733 Add multi tile support for OCL post sync barrier
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-10 17:33:12 +01:00