Commit Graph

72 Commits

Author SHA1 Message Date
Mrozek, Michal 6ae0ca3c56 Add epilogue commands functions.
Change-Id: Id2a2cdfedfbc580303304f6a3ce7ab83386f10a4
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-08 15:48:47 +02:00
Mrozek, Michal 753e64bc6d Introduce a concept of epilogue.
Change-Id: Ie04607625ed0aca940bef2fa04890f4232a1517b
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-08 11:09:50 +02:00
Dunajski, Bartosz 2cf65a0b52 Remove not used parameter
Change-Id: I67b28a841ca7103ee92f14b0d42f9590b6072f3f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-07-31 12:34:22 +02:00
Piotr Fusik 2548bea71d Minor clean-up.
Change-Id: Id1523930fc8aedf85506e254c67f6b1ca8dd020d
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-30 11:53:20 +02:00
Krzysztof Gibala 6dd530babe Add function addPipeControlBeforeStateBaseAddress
Related-To: NEO-3430
Change-Id: Iecef814b7795556ef39e49d0769e0ff58abda0ed
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-07-22 10:38:10 +02:00
Dunajski, Bartosz 41cca6d790 Use GraphicsAllocation for blit operation instead of Buffer object
Change-Id: I7e59a25db97082a6396d441a8fa603df27d6424d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 11:23:27 +02:00
Dunajski, Bartosz 56e77ca452 Add BlitProperties to simplify properties passing
Change-Id: I4abf99d420487a237e5b465b9d4d121121f45a84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-27 16:31:40 +02:00
Dunajski, Bartosz 3e88907201 Enqueue Read/Write operations with blitter
- Program dependencies from Event and IOQ
- Obtain new TimestampPacket
- Update output TimestampPacket if needed

Change-Id: I4ad020f5c5b05ceca8b096fafe1257523e2bc343
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-17 12:01:37 +02:00
Dunajski, Bartosz c8c2e64ec6 Add blocking flag for bliter operations
Change-Id: I61f672780c2108961eaed40b5d5be257f3c34566
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-04 21:39:43 +02:00
Filip Hazubski befbffc967 Support offsets in blitter
Related-To: NEO-3020

Change-Id: I7ce13f0cf890c47fd40e92b5bb20c4f4ce291653
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-06-04 16:16:37 +02:00
Zbigniew Zdanowicz 137ab6c130 Calculate max threads for preamble only once
Change-Id: I345f1229ae8421d97fe7c947af54f459632ae792
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-05-30 15:23:17 +02:00
Dunajski, Bartosz b82cdd6b8e Program MI_SEMAPHORE_WAIT for dependencies during blit operations
Change-Id: I8b0e467886bfb23d026a0c13be514343a22a20a1
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-21 14:18:16 +02:00
Dunajski, Bartosz 4f4ef14b9b Accept different copy directions during blit operations
Change-Id: Idb59458b46337ca0095056857dbd75bf116b6723
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-16 18:53:30 +02:00
Dunajski, Bartosz ccd93e1ea8 Add method to dispatch blit operation from hostPtr to Buffer
Related-To: NEO-3020

Change-Id: If76f2c659c3ee343693a6d3ced86a47d7ed0bf61
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-10 15:17:44 +02:00
Stefanowski, Adam 73b8583759 [4/n] Move Hardware Info to Execution Environment
- remove hwInfo from ScratchSpaceController, pass it by
ExecutionEnvironment

Change-Id: I4d83e581560b8a56a51e09d0e2b8397fee59dc22
Signed-off-by: Adam Stefanowski <adam.stefanowski@intel.com>
2019-04-01 14:25:43 +02:00
Maciej Dziuban 377aebce06 Move PIPE_CONTROL related functions to PipeControlHelper
Change-Id: Ie8220b06d2aa35a9fd0083b7db6925b577564d36
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-04-01 09:20:28 +02:00
Maciej Plewka 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
Maciej Dziuban 0420c2948f Delete addDcFlushToPipeControl
Change-Id: Idd1af397a302755484f60e910929c2fe7d52857d
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-25 16:31:32 +01:00
Maciej Dziuban 33c07c875f Do not insert PipeControl WA or DC Flush when not needed
Change-Id: I71030273708f243324a566232528bce00a0361df
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-22 12:37:27 +01:00
Stefanowski, Adam 16aee8cc46 [2/n] Move Hardware Info to Execution Environment
- remove hwInfo from the csr functions where it was passed as a parameter,
now csr functions have access to hwInfo by Execution Environment

Change-Id: I756ae63d9728c9c963571147bab97f9e1c15797b
Signed-off-by: Adam Stefanowski <adam.stefanowski@intel.com>
2019-03-22 10:08:26 +01:00
Filip Hazubski 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
Venevtsev, Igor 5e8fb19e5d Remove OCL Events concept from EnqueueOperation and dispatchWalker
Change-Id: Iec55b0be673a2a40b9621212add224a33d4abc5d
2019-02-12 08:46:18 +01:00
Venevtsev, Igor 66e3f3c16c Remove OCL Events concept from command stream receiver
Change-Id: I4d5a97b41efe601c92c2f3f33e9e24bb7d4fa3d2
2019-02-08 15:02:40 +01:00
Venevtsev, Igor 303014582a Extend semaphore synchronization for different command stream receivers.
Change-Id: Ic904b8c1e052adbb7b2ef82a6dec74ec69837f9f
2019-01-30 09:33:41 +01:00
Zdanowicz, Zbigniew 72da161769 Add function to detect conditions to reset CSR
Change-Id: I76d21eee26e22e841670180392c1b9262f6b59e1
2019-01-28 17:00:00 +01:00
Dunajski, Bartosz 010e1a4738 VFE state programming cleanup
Change-Id: I38fb47b00211a1d28244369ac417427ada145f61
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-13 17:44:40 +01:00
Dunajski, Bartosz b728526c4e Allow Device creating multiple CSRs [8/n]
Use OsContextId instead of DeviceIndex for residency

Change-Id: Ib2367b32b5b3e320252d8254f1042f1c3d497068
2018-12-04 15:36:59 +01:00
Zdanowicz, Zbigniew 7dbd0ea4f3 Move Scratch Space functionality to dedicated class
Change-Id: Ic7655c4b971513961aba6823478a139ffc943466
2018-11-29 11:55:56 +01:00
Dunajski, Bartosz 2d77b86e70 Allow Device creating multiple CSRs [5/n]
- Move Engine type to OsContext
- Move OsContext to CSR
- Improve EngineMapper logic
- CompletionStamp cleanup

Change-Id: I935cb7169c8c48cd09837e20e3da06f6dd3437b9
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-27 14:25:04 +01:00
Mrozek, Michal 08424d798f Enable power saving mode for queues created with throttle hint low.
- When queue is created with throttle hint low it should be power conservative
- With this change whenever queues with low throttle setting requests wait
for GPU completion, such wait will be handled in power conservative manner.
- Whenever GPU is not completed, waiting thread will be put to sleep and will
for GPU completion that triggers the wake up interrupt.

Change-Id: I9f34872a38ab9f5952f9d9623ea43503fc3dd587
2018-11-16 15:20:31 +01:00
Hoppe, Mateusz 12ece3a220 Reorder STATE_BASE_ADDRESS and STATE_SIP
- STATE_SIP should be added after STATE_BASE_ADDRESS
- tests refactor.

Change-Id: I000316b70db714fb227b6174f793d4bf8806ea9a
2018-11-13 17:57:51 +01:00
Pawel Wilma e06aa17dfc Grf configuration
Change-Id: I3741f53a38c6707b0c8ad82ae553ea65ae6917e4
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-09-27 17:57:19 +02:00
Maciej Dziuban f48b90ffee Change CommandStreamReceiver::flush() argument to a reference
Change-Id: Ic933a297d4c4e243138d0d62323ba82a8b91240f
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-25 17:28:44 +02:00
Hoppe, Mateusz 91aaa92fb6 Refactor PhysicalAddressAllocator
- create allocator dynamically in AUB & TBX CSRs

Change-Id: I3b01a3fc2f4824b552ef27cbda5bdcc140e92e53
2018-09-21 21:48:57 +02:00
Dunajski, Bartosz 097d09c593 Make resident all TimestampPacket allocations from Events
Change-Id: Ic4d2d1a328dca204675c4d0aee6a7efb5a71f940
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-19 01:53:12 +02:00
Hoppe, Mateusz 619d2217cb Pass AubHelper to reserveAddressPPGTT().
- get PageTable entry data hints and address space from AubHelper
based on local memory flag
- add enableLocalMemory flag in CSR HW

Change-Id: I061bda62be8da55d52cff48ecddcf26c4212dc67
2018-09-17 18:48:06 +02:00
Zdanowicz, Zbigniew 888b067adc Encapsulate creation of Scratch Space surface
Change-Id: Ifd1d794e0d8b7053cf5c37bdd867ab64f84241cc
2018-09-13 14:49:28 +02:00
Dunajski, Bartosz 24136414e6 Use Semaphore to wait for dependencies from different device
Change-Id: I154f377c77847e93d5b188a5b2252e74d9d70b75
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-10 10:00:49 +02:00
Mrozek, Michal fb735e5ee5 Move SSH size obtaining logic to dedicated function.
Change-Id: I1ea2ceb69f0ae06fe8e37f7769015933295dd6cd
2018-09-03 16:54:38 +02:00
Mateusz Jablonski 92bfd2e3d2 Move OsContext to Device
Change-Id: I030b65372fbdc075423d22720e9da34ac65b8e68
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-09-03 10:42:26 +02:00
Chodor, Jaroslaw ad9710bec2 Refactor around binding table programming
Change-Id: I4cad63b11937531e36ea9d92cee606ea8941c9ef
2018-08-29 14:35:52 +02:00
Stefanowski, Adam 1ad70dfebe Decouple memory manager and device
Change-Id: Ia64cc955e1d290cad4c50b6a2a41052d9acf0eec
2018-08-20 13:44:31 +02:00
Mrozek, Michal 1599ea800e Pass execution environment to command stream receiver.
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +02:00
Stefanowski, Adam 4df9cf638f Remove device use by memory manager
Change-Id: Ia9dffb322d7b9f96e5698eb85fcff22a60051f74
2018-08-07 10:58:15 +02:00
Mrozek, Michal f60847b64e Pass device to flushTask.
- do not obtain it from memory manager

Change-Id: Icc7c03dc925c69ec5932c5812151ac28dc34d20d
2018-08-01 14:11:06 +02:00
Mrozek, Michal d53e1c3979 Optimize power usage in VA sharing scenarios.
- in VA sharing scenarios driver needs to be as power efficient as possible
- Added new mode to KMD notify helper called maxPowerSavingMode
- in this mode, whenever GPU is not busy, driver will choose non busy wait
path.

Change-Id: I7e4079be995107bea543ffda774ca161ce483944
2018-07-31 12:10:22 +02:00
Zdanowicz, Zbigniew 51421ec0b9 Add experimental command buffer
This code is an infrastructure for special debug purpose that allow measure
execution time of any hardware command.

Change-Id: Id12a7979d204734a0c4a6c4700e427b65ac2397f
2018-07-13 12:09:14 +02:00
Hoppe, Mateusz a9566e0c05 Return true in Device::isSimulation() when AUB or TBX CSR is selected
- when CSR is set to AUB or TBX (with AubDump) Device should
return true in isSimulation(). This method is used to set flag
m_IsSimulation in deviceQueue which is used by scheduler kernel

Change-Id: Ibdf07d4c940335fb0bb8448071b66d47e9391d71
2018-06-06 14:24:24 +02:00
Hoppe, Mateusz a1a224c3bc Add Clear SLM workaround for BDW
- set ProtectedMemoryDisable in PC prior to setting new L3 config

Change-Id: I2ecbfe9535ef45159b48fffa41faad66db55d074
2018-05-21 14:29:17 +02:00
Maciej Dziuban 44d35b3534 L3 programming refactor 2/n
- Rename misnamed test function
- Adjust 2 tests, so they use CSR size getters instead of hardcoded values
- Move getSizeRequiredPreambleCS() into CommandStreamReceiverHw class
- Improve PreambleHelper size estimating

Change-Id: I3f292d50e08f3d10d190c9f8722e1f0498481154
2018-04-27 13:10:28 +02:00