Commit Graph

549 Commits

Author SHA1 Message Date
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
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
Kamil Diedrich 220ae46b8a Remove DEBUG_BREAK
Change-Id: Ibe1c152854d3c84b6cc0af50205ea730fcf4ad63
2020-09-10 14:57:31 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Mateusz Hoppe c3a128f9f4 Refactor StateBaseAddressHelper
Change-Id: I5071a1a4a067b8f0e880a4f7e1d65e79eeb77c47
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-04 11:09:41 +02:00
Maciej Plewka a168040f61 Move setAdditionalData to shared
Releated-To: NEO-4568

Change-Id: If12f64d51b922da76bb163ed7797897416075af7
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-08-04 11:08:59 +02:00
Mateusz Hoppe 0ed1db0b46 Insert PC before SBA in cmdlist
Related-To: NEO-4916

Change-Id: I7024ff173ad97d4c42a5fa6d7ea0d0ee665a87d9
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-31 13:09:57 +02:00
Zbigniew Zdanowicz 2fca4e3477 Refactor programming of additional data of interface descriptor
Related-To: NEO-4570

Change-Id: I3338046f037878085eddaaeb2c8bbdd821fc1515
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-07-24 14:25:39 +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 134462919d Move barrier programming to Encode class
Related-To: NEO-4576

Change-Id: I34b93b3118528b449c4e1b81826f9784633377a9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-07-17 14:28:46 +02:00
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
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
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
Zbigniew Zdanowicz c4cb8c1c81 Add thread programming to Encode class
Related-To: NEO-4585

Change-Id: I45e57038af23a60f52b57eb1888f8220b77f5e56
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-06-29 20:24:26 +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
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
Zbigniew Zdanowicz 77de2dd770 Move SLM functions to HwHelper class
Related-To: NEO-4585

Change-Id: I073e4138ef34584780a10a63ba8a2eb57eaa11bd
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-06-09 12:51:49 +02:00
Zbigniew Zdanowicz e286ada6b5 Add function to check local id generation required
Related-To: NEO-4585

Change-Id: I97c6a728dd08cde5e08ffcad1220a1ef007e1bae
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-06-08 17:15:05 +02:00
Maciej Plewka 008af5b6e4 Add event profiling for copy commandLists
Change-Id: I9f13e48b4139b3ce3c802c2d38b0ce054e64562c
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-06-02 19:35:13 +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 b2210fa5bb Refactor MemorySynchronizationCommands class
Related-To: NEO-4338

Change-Id: Id0ae9c73293fd99f53fccc11a69ca14fa9a6d119
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-27 17:33:31 +02:00
Lukasz Jobczyk 9db47c7421 Apply WA for walker command
Resolves: NEO-4490

Change-Id: I1a6e04ec64578e630dc2238c5d3e036a4a3ef24b
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-21 19:05:15 +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
Lukasz Jobczyk d1bc7199de Switch to 3D pipeline to program selected commands - part 2
Resolves: NEO-4447

Change-Id: I1dd6a9694cdf3be19aadec1cd139c466baecbcd7
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-01 10:42:55 +02:00
Bartosz Dunajski 95f217f9ef Unify BindingTableEntryCount programming
Change-Id: I18d8cfdec348393e5c4b97e22334e3884da50f50
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-30 13:54:18 +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
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
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
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
Mateusz Jablonski 74072d4916 Access GmmHelper and GmmClientContext via RootDeviceEnvironment
Related-To: NEO-3857
Change-Id: Ie9d719c9884fd89580ce3592a0d4d4cd42862f47
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-25 12:32:16 +01:00
Mateusz Jablonski 9dbeeea18f Clang-format: restore sorting includes
Change-Id: I34eb993b562c77f56d8fbd51a02ee266c1f76678
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-24 10:22:30 +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