Commit Graph

38 Commits

Author SHA1 Message Date
1ecad5faed Move IndirectHeap to core and improve unit tests
Change-Id: If7e329fc12fe934eb0f6b1762d3b0d86aab287e6
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-03 15:06:27 +01:00
54f65c0243 Move headers to core
- hw_info
- hw_cmds
- kmd_notify_properties
- completion_stamp
- bxml_generator_glue

Related-To: NEO-3982
Change-Id: I3ed3ef81f42596f381e60c19250f6eb1296d47a4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-02 14:20:45 +01:00
8e945e7919 Improve TimestampPackets handling in blocked path
Change-Id: Idf381a8750cebec6196eb299661dda892e11144d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-11-18 09:25:56 +01:00
80407aec15 Program barrierTimestampPacketNodes only on first unblocked command
Change-Id: I8ebba9f8326e3da2365c001b0c350efb372a3774
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-11-12 15:37:51 +01:00
af8ce96ab4 Add move logic to TimestampPacketContainer
Change-Id: Ib666fd57b4ca9123e324a82c3e648b0da49abffc
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-11-12 08:50:00 +01:00
ad2b8a0bbe Allow dispatching multiple blit commands with single flush
Change-Id: I57ea32dfa8cfd89ec37fc2f1f82ee6f72598c18a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-11-08 14:35:44 +01:00
d3e583f7f4 Synchronize blit enqueue after barrier call
Change-Id: I0349dc5b1581ecb142bdab881877450366bcdb86
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-10-04 14:56:30 +02:00
2e8e6bdb18 Move majority of utilities to the core dir
Related-To: NEO-3677

Change-Id: If2e876028b765ad3ecf5f75db8755623b82955b8
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-12 15:07:02 +02:00
f4008336f8 Dispatch blit operation in blocked path
Change-Id: I2230bde051449bf22c74c112bbe5719aad644533
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-09-04 18:29:46 +02:00
47a0c43ad3 Copy EnqueueProperties to KernelOperation in blocked path
Change-Id: I5b9999901b5b75fc3165f9fa389857732aca2849
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-09-03 14:11:40 +02:00
2275f8df0e Rename CommandMarker to CommandWithoutKernel
Change-Id: Ie19c510465a36ea517a79db9eeac5b5993e44c81
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-02 12:53:58 +02:00
6566eb3193 Move Linear Stream to core folder
Change-Id: I962ebd6e9075fcab9d7b6211524093109e62d382
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2019-08-26 17:00:53 +02:00
38556cec29 Allow blocked command stream programming for commands without Kernel
Change-Id: I691a029bd5511c8f710ef1bff8cc5a9feca644f3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3433
2019-07-24 16:01:34 +02:00
4dd3292922 TaskInformation cleanup
Change-Id: If723f477406ca13e40c77a9471de9b8e35beff1d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3433
2019-07-23 12:04:20 +02:00
95c2dcd8b0 Improve obtaining LinearStream during enqueue call
- Move logic to enqueueHandler to cover all scenarios
- Create BlockedCommandsData not only for Kernel enqueue
- KernelOperation cleanup

Change-Id: Ie4a673cbbc986c685996a38ab296444d38e7bbd5
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-22 18:52:14 +02:00
a38e9da034 Optimize marker call in blocked scenarios.
- Do not emit batch buffer
- obtain completion stamp directly from csr

Change-Id: I7ff58f2f019ee8158665f6fb93682ce5aae17bd6
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-10 11:01:49 +02:00
1022ad4aac Release reference to mem_object after command submission.
Change-Id: I1d3899ee3320869dd245dc1af22bd9b0dbfce9cf
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-05 11:39:24 +02:00
9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
8b57d28116 clang-format: enable sorting includes
Include files are now grouped and sorted in following order:
1. Header file of the class the current file implements
2. Project files
3. Third party files
4. Standard library

Change-Id: If31af05652184169f7fee1d7ad08f1b2ed602cf0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-27 11:50:07 +01:00
23b7b9a8a8 Make local copy of EventsWaitlist for CommandComputeKernel
Change-Id: Ibbdfc6732fc254e73407605ebb26f88e5552c0e8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-11 15:05:42 +01:00
b5f443edc0 Revert commit cc1f4bed60.
This reverts commit cc1f4bed60.
Revert "Revert "Use GPU instead of CPU address in programming commands
for HwTim(...)""

Change-Id: Iff122612bb46ba80bcc70b07b2609bfd5f0b9653
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-12-21 13:25:49 +01:00
cc1f4bed60 Revert "Use GPU instead of CPU address in programming commands for HwTim(...)"
This reverts commit 6202b2222b.
"Use GPU instead of CPU address in programming commands for HwTimeStamps"

Change-Id: I085382d95538ae41068a21c628d606039bf9cdf0
2018-12-21 01:16:46 +01:00
6202b2222b Use GPU instead of CPU address in programming commands for HwTimeStamps
Change-Id: If9ab4cbd052dfa46b5d901073df4c583c2ae361f
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-12-12 13:27:53 +01:00
d5c9816428 Remove store allocation methods from memory manager
Move setGPUAddress method to WddmAllocation

Change-Id: I91d877c3791e9eff69276e4258e3ce9c3111ca45
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 10:53:43 +02:00
6d610983f1 Deferred Pipe Control programming and CSR flush on Barrier request
Change-Id: Iabae0f9159bb455518cedf7da068c7d3da72b840
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-10-17 09:31:34 +02:00
66427f60c6 Handle TimestampPackets for non-kernel enqueues
Change-Id: I52ec4f43b10bf6e2a10b2455d32a90a606645d29
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-10-10 04:21:30 +02:00
73b2e947a5 Multiple TimestampPackets handling
Change-Id: Ia5936c3d0a34b892aa4444026a5aebc681f126c2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-10-05 01:54:35 +02:00
a52bcd830f Make TimestampPacket from previous enqueue resident
Change-Id: I4534b80cc6019b3c5ff210ca686b17b299390028
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-20 22:34:28 +02:00
e06b370697 Pass eventWaitList to blocked command for semaphore programming
Change-Id: I8b56be03a7b89283f5368cf42d6788d70ebecdc7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-20 19:35:58 +02:00
40146291ad Update copyright headers
Updating files modified in 2018 only. Older files remain with old style
copyright header

Change-Id: Ic99f2e190ad74b4b7f2bd79dd7b9fa5fbe36ec92
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-09-20 18:02:35 +02:00
570c0843ef Handle TimestampPacketNode residency
Change-Id: I1769d67426ca704b600931b58d3f505bef0e893d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-30 11:53:56 +02:00
e51cb6bd0b Separate struct EnqueueOperation declaration and implementation
Change-Id: I537660867a1c98f957280237c14b7a1554fce3db
2018-04-10 16:36:48 +02:00
ffa9b097f5 [26/n] Internal 4GB allocator.
- change the way we handle blocked commands.
- instead of allocating CPU pointer and populating it with commands, create
real IndirectHeap that may be later submitted to the GPU
- that removes a lot of copy operations that were happening on submit time
- for device enqueue, this requires dsh & shh to be passed directly to the
underlying commands, in that scenario device queue buffers are not used

Change-Id: I1124a8edbb46777ea7f7d3a5946f302e7fdf9665
2018-04-09 10:47:37 +02:00
2be5934096 [21/n] Remove Instruction Heap from enqueue path.
- This removes Instruction Heap allocation from enqueue path
- Blocked path is handled as well
- Heap is no longer allocated on demand it is bind to kernelInfo.

Change-Id: I54545beceed3404ee0330a8bac2b0934944cac30
2018-03-28 20:15:55 +02:00
533afe472a Program preemption mode in Interface Descriptor Data
Change-Id: I7fce731d71dd0b6dc8505ebfe45d24c65898a08b
2018-03-05 09:36:53 +01:00
dd44a87d5f Map/unmap enqueue fixes [6/n]: Support multiple map operations
- Dont make cpu/gpu writes on read-only unmap
- Read/Write on limited map range only
- Overlaps checks for non read-only maps
- Fixed cmd type on returned event

Change-Id: I98ca542e8d369d2426a87279f86cadb0bf3db299
2018-02-23 10:45:06 +01:00
b00819cafe Add refcount on MemObj in blocked scenarios.
- Prevents destruction of MemObj while it may still be in use.
- Add UNRECOVERABLE to check whether object is deleted while having
dependencies, fix all problems is tests due to that fact.
- Fix special queue setting, clean interfaces.

Change-Id: I2a467e80df00ea1650decdcfa6866acf10b441f8
2018-01-08 16:03:24 +01:00
7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00