Maciej Plewka
689ceacfe6
Fix set allocation adress in SS when offset is patched
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-08 13:05:38 +02:00
Zbigniew Zdanowicz
8f91fcdd73
Add new atomic operation
...
Related-To: NEO-5244
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-04 09:00:11 +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
b943ad078f
Program border color once per dsh
...
Related-To: NEO-4928
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-04-30 13:31:58 +02:00
Milczarek, Slawomir
e5eba8be53
Add setters and getters for coherency type in render surface state
...
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-04-13 16:12:46 +02:00
Mateusz Jablonski
8215395401
Simplify Context method
...
return if context has multiple sub devices related to a given root device
Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-30 10:22:15 +02:00
Zbigniew Zdanowicz
e36941b171
Change argument type in EncodeMemoryPrefetch class
...
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-03-25 18:27:07 +01:00
Bartosz Dunajski
f9197d4e0d
Improve memoryPrefetch method
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-24 15:12:05 +01:00
Igor Venevtsev
3df6110a17
Add extra parameters to setArgStateful()
...
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-02-05 12:24:27 +01:00
Bartosz Dunajski
580fdd757c
Improve buffer surface state programming
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-02-02 14:42:18 +01:00
Bartosz Dunajski
c2e333fe38
Update compression encoding interface + test traits
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-01-29 13:57:15 +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
Young Jin Yoon
e09ac446c4
Mask bit 0 of timestamp for event profiling
...
Related-to: LOCI-1161
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2020-12-31 23:51:12 +01:00
Young Jin Yoon
da779d067f
Support the AND operation in EncodeMathMMIO
...
Related-to: LOCI-1161
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2020-12-03 01:56:22 +01:00
Maciej Plewka
7a5c9d39b5
Encode dispatch kernel with global bindless heaps
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-12-02 17:30:15 +01:00
Bartosz Dunajski
93ba4e646b
Improve EncodeDispatchKernel
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-27 16:39:34 +01:00
Bartosz Dunajski
8a703c082e
Add encodeExtraCacheSettings method
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-25 12:27:20 +01:00
Bartosz Dunajski
ae3ad3e8bc
Add method to adjust TimestampPacket
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-24 17:35:22 +01:00
Kamil Kopryk
b59aa2f928
Rename command_encoder_base.inl file
...
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4750
2020-11-17 13:22:00 +01:00
Bartosz Dunajski
39e6548ef6
Add mi_arb_check between blit commands
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-17 13:07:50 +01:00
Mateusz Hoppe
65690ccb21
Fix indirect dispatch programming
...
Related-To: NEO-5195
Change-Id: I82975abaa6323d27d3718ce1619748f7d83b55b4
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-28 01:06:08 +01:00
Pawel Wilma
7f8b0c5b3f
Global l3 invaldate for blitter engine
...
Related-To: NEO-5175
Change-Id: I88b3c9333398c91a7dd799f5e52cfd9182316960
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-10-19 16:40:03 +02:00
Zbigniew Zdanowicz
ca023fa532
Fix L3 and Math programming
...
Change-Id: I4ffd729beeed95b0806dd284665c72fb424b0ffc
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-13 11:41:38 +02:00
Spruit, Neil R
976dad2e17
Updated BaseSurfaceStateAddressAlignment to PageSize to handle Block R/W in L0
...
- Block R/W in kernels requires a minimum of 16B alignment/OWORD
alignment to properly work without data corruption.
- Level Zero currently writes Base Surface State addresses alignment to
4B vs OpenCL writes Base Surface State addresses aligned to PageSize for
4KB.
- Added a function in encode buffer to verify that at a minimum the size
being encoded has the minumum alignment of 4B which is supported, but
will not support Block R/W
Change-Id: I6486c2cbbb0008834c779bf54918388d79c193bb
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-10-12 19:14:25 +02:00
Zbigniew Zdanowicz
bf32740f97
Move BTI programming to shared code
...
Change-Id: Ie9d67c1d883f24cfec13ea1618d834d746c0d5be
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-09 13:56:44 +02:00
Zbigniew Zdanowicz
47f5867e8f
Move common code to shared directory
...
Change-Id: I5f604de01e06d35cc1e045fffdd4a26d88ffca8c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-07 10:55:39 +02:00
Zbigniew Zdanowicz
ce1b669cda
Use single class to program load register command
...
Change-Id: I90fe084409588cb32f0ac43a3db5082047d7a68b
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-06 13:45:35 +02:00
Maciej Dziuban
138f04bdcd
Enable L1 cache for Tigerlake
...
Change-Id: I33513ed084f9d06ceca11315cac03f1b682db535
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-4832
2020-10-06 13:26:54 +02:00
Zbigniew Zdanowicz
2717fcae54
Unify programming of atomic command
...
Change-Id: I13afdb44fb83beaa8673eb6456d2a8edcb6ac047
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-05 13:37:52 +02:00
Zbigniew Zdanowicz
394e626db9
Refactor programming of surface states
...
Related-To: NEO-5069
Change-Id: Id7442fcdcc8c7df57f00e8dc383c11869bf1a677
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-16 11:54:00 +02:00
Zbigniew Zdanowicz
7d506e3608
Add debug flag to enable compression in L0 USM allocations
...
Related-To: NEO-5069
Change-Id: Icbfeb8d72cd764bb3c90d5c699998455f81dd3ee
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-09-14 12:47:33 +02:00
Bartosz Dunajski
f6c893a801
Pass HardwareInfo to programMemoryPrefetch
...
Change-Id: I5ed0ae35143ef244e08bc88ba8817ce1cb17369c
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-24 12:43:21 +02:00
Zbigniew Zdanowicz
bac5506b62
Modify function dispatching cross and per-thread data
...
Related-To: NEO-4585
Change-Id: Ia6b54b8d0c868cab5403332411655dc8c9ef4c8d
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-07-08 19:30:23 +02:00
Maciej Plewka
a822503b41
Use encoder to program buffer surface state
...
Change-Id: Ibe66bd9906743b021a04f1d9aad1aae4127a4f71
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-25 12:32:29 +02:00
Lukasz Jobczyk
02f2f22045
Add profiling support for blitter
...
Resolves: NEO-4121
Change-Id: I29dfcf07d48100c578cbc432fee4d87dfa18e8f4
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-05-29 13:43:14 +02:00
Mateusz Hoppe
77e4ac0a18
Bindless addressing support in EncodeDispatchKernel
...
Related-To: NEO-4607
Change-Id: Ib89b07f71f32c3a623f86212b5305b4aa02e1fb7
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-05-12 21:02:06 +02:00
Lukasz Jobczyk
536c50234f
Pass linear stream to encode MMIO
...
Change-Id: I07bafc49676e31fb457a63f4655a98fd0c793389
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-05-04 14:48:49 +02:00
Zbigniew Zdanowicz
048c90e3b1
Remove RMW access patterns from gfx memory
...
Related-To: NEO-4338
Change-Id: I8dcfca9a11f499fde44ca9754dec67fe5a5e3d46
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-28 15:26:22 +02:00
Zbigniew Zdanowicz
5e98368dad
Remove RMW access patterns from functions programming on gfx memory
...
Related-To: NEO-4338
Change-Id: I8fe555525f937e75c5439702b328c734af9af1f9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-09 18:49:30 +02:00
Maciej Plewka
691a4ea823
Add blit copy implementation for L0
...
Change-Id: I327a4cf977e166cb648ee9f3a79374f7cefa7b1b
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-04-09 13:36:09 +02:00
Bartosz Dunajski
3ce0450a9c
Update interface for memory prefetch
...
Change-Id: I1dfbbd93b97dae100de489319dcfd7d19fe1fc65
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-04-09 13:15:56 +02:00
Jaroslaw Chodor
2c25777f3c
DispatchKernelEncoder refactor
...
Replacing parts of DispatchKernelEncoder with KernelDescriptor
Change-Id: I1c780b04a2d3d1de0fb75d5413a0dde8b41bbe07
2020-04-08 16:19:21 +02:00
Bartosz Dunajski
32e1b7d1a7
Add helper for encoding memory prefetch
...
Change-Id: I481ec11b66ad392ba9748bb5bbb6fd0ad3ce7f12
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-04-03 18:34:39 +02:00
Maciej Plewka
5de8f3ac3d
Unify setting compute mode
...
Change-Id: I8fd5a0cf1a121498efbbf1edb332920578d91598
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-03-26 16:08:29 +01:00
Bartosz Dunajski
24c6a1ed96
Add MI_FLUSH_DW command estimation
...
Change-Id: I71d966209ce1a9996bfe3f48f3d8da00156211a3
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-13 14:11:24 +01:00
Sebastian Luzynski
6eae7fc3c7
Altered unit tests to suit new MiFlushDwWA() workaround.
...
Related-To: NEO-4426
Change-Id: Ib13719a711adda6fb3da3c2893898f0f31418508
2020-03-12 14:45:44 +01:00
Sebastian Luzynski
9fadc918c7
Added empty programMiFlushDwWA() workaround.
...
Related-To: NEO-3940
Change-Id: Ibc0978557004ed599a6698d76dc0f55bd26f8999
2020-03-05 11:01:46 +01:00
Sebastian Sanchez
61ba7a838f
Define MI_MATH greaterThan() function
...
Define MI_MATH "greater than" function and simplify code
in encodeGreaterThanPredicate().
Change-Id: Ib1d0a3f712e672f105d0697a105e4d9b14301172
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
2020-02-27 10:07:53 +01:00
Sebastian Sanchez
54b2763466
Enforce ALU register type for EncodeMath interface
...
General purpose register cannot be used for MI_MATH
calculations. ALU registers must be used.
To prevent passing general purpose register into the
EncodeMath interface, enforce a ALU register type
at compile time.
Change-Id: I98aa8605cde27e7003029d33b3ef3bcfb2306878
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
2020-02-27 08:33:04 +01:00
Sebastian Sanchez
1187eb0375
Fix encodeMulRegVal() calculation
...
encodeMulRegVal() makes extensive use of encodeAluAdd().
The following problems are addressed:
* encodeAluAdd() performs an addition and saves the
calculated result to the first register. Saving the
result to the first register clears the calculated result.
* An array of MI_MATH buffers is setup prior to performing a
series of encodeAluAdd()'s where the same registers are
reused for the calculations. For calculated results to be
carried over from one encodeAluAdd() operation to subsequent
encodeAluAdd() operations, the MI_MATH buffer needs to be
setup per encodeAluAdd().
Create EncodeMath<Family>::addition() to reserve a MI_MATH buffer
and performs the addition by calling encodeAluAdd().
Modify encodeAluAdd() to save calculated result to a third
register. Then, after EncodeMath<Family>::addition() is called
in encodeMulRegVal(), copy the calculated result from the result
register to the first register from the EncodeMath<Family>::addition()
operation. This will allow the calculated value to be carried over
to subsequent addition operations.
Change-Id: I9c6f8362a1ca2f7e3361aaa48d8748dd6ff0f4c8
Signed-off-by: Sebastian Sanchez <sebastian.sanchez@intel.com>
2020-02-25 14:13:35 -08:00