Commit Graph

525 Commits

Author SHA1 Message Date
Hoppe, Mateusz 63ebe252eb Aubstream header update
Change-Id: I68573223715e5cbb6a308b88d9bae35741ef9984
2019-02-26 19:27:36 +01:00
Piotr Fusik d79f1afdc2 GraphicsAllocation constructor accepts allocationType and memoryPool.
Change-Id: I5044ed26ba0cb0fc9ca7077595f5ab56353ab58c
2019-02-26 13:29:25 +01:00
Jablonski, Mateusz 798137e4bb Add function to create devices bitfield based on allocation properties
Change-Id: Ic70443b1fb6106186efcff318690e434dc1db625
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-26 12:07:09 +01:00
Milczarek, Slawomir 278bb83c56 Enable AUB sub-capture in AubStream captures (1/n)
Change-Id: I6bd0605d06cf4dc3937e2dbeba7ed7037ae91476
2019-02-21 22:40:40 +01:00
Maciej Dziuban 90e970cee6 Create GraphicsAllocation during dispatch when queue is blocked
Change-Id: I8a6f9e14ff57e7ed2920260af291317805f4df13
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-02-21 15:28:17 +01:00
Hoppe, Mateusz 98db6147d8 Pass full aubfile name to initAubCenter when using TBX with AubDump
Change-Id: I9184ce38cd9a066259bbf3a5b8a56694d4e309b4
2019-02-21 12:39:10 +01:00
Mrozek, Michal 4139e88982 Allocate command buffers with proper allocation type.
Change-Id: I912dd41cf68fa16ab481bb003c4f5ae63f1f04c4
2019-02-20 12:52:45 +01:00
Dunajski, Bartosz 23fcbb3265 WriteMemory support in HardwareContextController
Change-Id: Ie63b12fb8fb78a2d68b8ed84c1ebe9d634e9804b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-20 11:29:19 +01:00
Dunajski, Bartosz 64fbfb21bf Improve iterating over existing CommandStreamReceivers
Change-Id: I12a10852d43c625ec5521ae91918fcb12e1a6aec
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-19 11:48:56 +01:00
Jablonski, Mateusz 05d02a6fe7 Change DevicesBitfield type to struct
Change-Id: I7a005b07737cdd21efc174a2ee2be0f6b7f9068d
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-18 13:57:50 +01:00
Dunajski, Bartosz ba681035f8 Add new CSR to ExecutionEnvironment
Change-Id: I5d6b58b5c185bf283ae529ebb21a4cbc8e9f198c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-18 11:39:09 +01:00
Hoppe, Mateusz 7f98db617c Move expectMemory/writeMemory methods to CSRSimulatedCommon
- fix aub tests with --tbx option

Change-Id: I227449dd8614a8aada3eaa4f28ff6dcca7530956
2019-02-18 10:01:32 +01:00
Jobczyk, Lukasz 2bcecf3e62 Align command buffers to 64KB
Change-Id: Id1fbd7c6f1aee48c4b69ec305d5332cb0aa86507
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-02-18 09:58:45 +01:00
Dunajski, Bartosz af2dc200c5 Improve creating HwContextController
Change-Id: If81ec18793a5af7fb58d66bb26a3bc476eaf94e0
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-18 08:57:35 +01:00
Pawel Wilma 8272b3f3de Add missing numGrfRequired in blocked kernel DispatchFlags
Change-Id: Ic1ddd532d8420c9a797a561cc5cb8ee74831eeaa
2019-02-16 11:37:48 +01:00
Zdanowicz, Zbigniew 51d34da7ec Add multiEngineQueue field to DispatchFlags and modify interfaces
Change-Id: Iaa4754a22e9b88201aed7df01c7d6e5fd06c84a9
2019-02-14 17:12:15 +01:00
Dunajski, Bartosz 958d931cd9 Allow to create HardwareContextController for multiple Devices
Change-Id: Ib066c937809536196182ca87359c487570cc2e89
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-14 16:00:00 +01:00
Zdanowicz, Zbigniew 8e1e874a76 Refactor headers and reorder include order
Change-Id: I6b341e2b37e569af7d741bfd7a63804c0b25a4c9
2019-02-14 13:39:01 +01:00
Jobczyk, Lukasz e8e3de6f07 Get devices test refactor
Change-Id: I5f4b418fb147eada2e83a188f3717ad30613f38d
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-02-14 07:50:02 +01:00
Hoppe, Mateusz 0f36265f55 Pass CsrType to initAubCenter
- create AubManager with correct mode

Change-Id: I89c9c3c7edf553854b8b82788cec3dec53a62d79
2019-02-13 09:48:05 +01:00
Jablonski, Mateusz db8c2bc57e Unify write memory in simulated csr when aub manager is available
Change-Id: I28d0496b1b1fb973af4869e5626082142b5818dd
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2019-02-12 14:43:26 +01:00
Dunajski, Bartosz b5050db158 Remove AUBDumpConcurrentCS
Change-Id: Ib5f2b73f918db778609922eb10710700589b21ad
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-12 12:36:07 +01:00
Piotr Fusik 6882cf09c1 Avoid manual memory management.
Change-Id: Id29d9ec366e338d519aad5353a15a44ecf5998e4
2019-02-12 09:14:51 +01:00
Dunajski, Bartosz 12da1b0616 Remove osContextCount parameter from GraphicsAllocation
Change-Id: I23b650e97f107008b1122a1ecea48722fe129863
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:44:37 +01:00
Dunajski, Bartosz dc181defba Use GpuAddress for TimestampPacket programming
Change-Id: I1303605c33e2e0267a1716e12a0bfcb341fcfbd7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:31:17 +01:00
Dunajski, Bartosz 75fe358e5d Add HardwareContextController to use multiple Contexts in single AubCsr
Change-Id: Ica0f1c8c4e0f55310f4650788e468640406abf51
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-02-11 15:22:50 +01:00
Chodor, Jaroslaw 6e0d04e25a Adding debug flag to disable DC flush in epilogue
Change-Id: I1784be279ee9f837a0994997bec49c1925a68390
2019-02-08 11:04:25 +01:00
Hoppe, Mateusz 4d9acf3352 Pass aubfile name to TbxCommandStreamReceiver::create and CSRWithAubDump
Change-Id: Ib10c017ce4ed2a572815053dae3f517e0dfd9eb3
2019-02-07 15:05:54 +01:00
Maciej Dziuban ea8aa29e12 Change pollForCompletion() insertion locations
Poll is done on:
- Aub CSR destruction
- expectMemory
- blocking calls

Poll is not done on flush

Change-Id: I1a776a932cb608c01f0de249e7cef26b00147f31
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-02-05 14:33:42 +01:00
Mateusz Jablonski ce4a75e121 Require same allocation type when obtaining reusable allocation
Change-Id: I829301b83a6214bcfb4fc9f2692f21ae9a002456
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-02-01 16:10:28 +01:00
Milczarek, Slawomir 6ef2822643 TBX CSR to call writeMemory on aubManager
Change-Id: Ie10a30944e0c3a8e136816fa91ff501887a3d0d2
2019-01-31 16:18:57 +01:00
Dunajski, Bartosz 783f408f9f Dont pass EngineType or Index as parameter in Aub/Tbx CSR
Change-Id: I4583a09a9fa5dd5b0508132c86156c91aaf24c28
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-31 10:30:05 +01:00
Milczarek, Slawomir b11e0825c9 AUB capture with support for allocation dumps
Change-Id: I90a2b75043c33af92e4557be37cde4b9699582c6
2019-01-28 21:20:08 +01:00
Hoppe, Mateusz d7ce6ef8d1 Allocate images through preferred pool call
Change-Id: I79c9c1a0a95a8a3e26ed690530b71ef504cc7ff8
2019-01-25 09:05:25 +01:00
Mateusz Jablonski f332bf369e Set allocation's lock state only in lockResource and unlockResource methods
Change-Id: I60f35801287166f5bdb0dfcd31ff0118c56ec22a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-24 15:15:27 +01:00
Milczarek, Slawomir b2fe74ca9d AUB capture with writeMemory on aubManager
Change-Id: Ie954b0d0f72b093f12ef33c93af5a3dc845559dc
2019-01-23 13:54:28 +01:00
Milczarek, Slawomir 21f855b719 AubStream update (1/n)
Change-Id: I6579e7af2015493490c5edcc413dcb2e6c804b9f
2019-01-22 12:19:21 +01:00
Pawel Wilma 9036882d11 Refactoring of additional MMIO registers in AubDump
Change-Id: I97c0cc25aa24c6abcff4ba7469d6a6e3f0c12b86
2019-01-16 11:16:54 +01:00
Dunajski, Bartosz 1de0bda212 Initialize HardwareContext with valid deviceIndex and engineIndex
Change-Id: I8848936340e8f4b33ac5ed5d0ae85d9f580171ca
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-15 15:33:42 +01:00
Mateusz Jablonski 06600f169b Define GPGPU engines per gen
Change-Id: Ie0e565d11184c5355b5bf09f5b10a567deb5c106
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-15 12:05:19 +01:00
Filip Hazubski ec03210687 Update clEnqueueVerifyMemory
- return success also for non aub CSRs

Change-Id: Iac7fdcd58e4b76a325ef67fd266f183d779ca956
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-14 14:37:09 +01:00
Dunajski, Bartosz 8ae7de7b0e Create HardwareContext only when osContext is available
Change-Id: I8bcf2cb20f0e1e6b9da98b477f5be206407a7a57
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-13 15:12:07 +01:00
Dunajski, Bartosz a9470b9f79 Dont restore overrideCommandStreamReceiverCreation at creation time
Change-Id: I17039e501c0cdc84799ae16e7f82e8091cc6fb3a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-01-09 09:25:01 +01:00
Milczarek, Slawomir ea028d2a9b Moved TBX and AUB CSR members to SimulatedCommonHw CSR
Change-Id: I4b49b0cf886c70127a9983dd1c9d7b15f7a45b7a
2019-01-08 09:39:28 +01:00
Mateusz Jablonski aee69779fa Minor renaming in a scope of multi os context allocations:
shareable -> multiOsContextCapable
resetTaskCount -> releaseUsageInOsContext
resetResidencyTaskCount -> releaseResidencyInOsContext
isUsedByContext -> isUsedByOsContext

Change-Id: If824246a0e393b962bd12f8c63d429a0fcfcda25
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-01-07 11:42:43 +01:00
Milczarek, Slawomir 9083761dce Add AUBFillBuffer test with concurrent execution on CS
Change-Id: Ia01614a9763ff67d27ed68c46a5ae1b9f7dd0ee8
2019-01-04 17:04:55 +01:00
Zdanowicz, Zbigniew 767f27a483 Add calculation of default SSH size in ULTs
Change-Id: I682f7cc671ab18de7a9976e0034842df0f6134bf
2019-01-04 09:28:21 +01:00
Filip Hazubski 7e3884e22d Add clEnqueueVerifyMemory API
Change-Id: I15a514b14b9efdaeb182c7abd98b8e236932d50f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-04 08:30:02 +01:00
Hoppe, Mateusz e195b0e380 Initialize TBX stream only when hardwareContext is not created
Change-Id: I05d8c5c395cc342ea699333dd59966913f9a98df
2018-12-31 12:14:55 +01:00
Milczarek, Slawomir 541ab5af50 TBX CSR with an option to create and operate on hardware context
Change-Id: Ib5febc8e36e61195a5fcce91e1783117717ff6cb
2018-12-20 10:59:53 +01:00
Mateusz Jablonski c9e667d601 Simplify Memory Manager API [4/4]
- fill AllocationData in one place
- remove allocateGraphicsMemoryForSVM function
- refactor SVM manager tests

Change-Id: I6f4ecd70503da8031cced50ea98a54162fd8e5d3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-20 09:01:33 +01:00
Hoppe, Mateusz f6790c42cf Refactor Graphics Allocation paths for Images
Change-Id: Ifa3084b18cac95289bbceeaf3669dd31567fbd3e
2018-12-19 13:49:53 +01:00
Pawel Wilma 068582445d Move physical address allocator to CommandStreamReceiverSimulatedHw
Change-Id: Ic3c397fe1a93eccae9235f1315a26ae31a3f5b60
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-12-19 09:26:31 +01:00
Dunajski, Bartosz 403fedfb7b Improve EngineInstance usage in Aub CSR
Change-Id: I9097f7cc8c930fcf531744af9bddfa38b2c5e1da
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-18 12:11:00 +01:00
Mateusz Jablonski 8ec072d39c Simplify Memory Manager API [3/4]
- remove method allocateGraphicsMemory(size_t size)
- pass allocation type in allocation properties
- set allocation type in allocateGraphicsMemoryInPreferredPool

Change-Id: Ia9296d0ab2f711b7d78aff615cb56b3a246b60ec
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-17 10:42:16 +01:00
Zdunowski, Piotr 0ca8ee7f30 Additional programming for source level debugger.
- always program STATE_BASE_ADDRESS and STATE_SIP

Change-Id: Iea6327d062b4efdddd3b0060d3105b29745b9cba
2018-12-14 11:30:54 +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
Hoppe, Mateusz 82078074bc Add createAubManager function
- unit tests are using mocked version of createAubManager
- dynamic library, aub and tbx tests are using functional
version using aub_stream

Change-Id: I12d69d84d00645009b026df266b8b64adebb86d4
2018-12-12 08:23:18 +01:00
Piotr Fusik 0b839722f4 Don't store preemption mode in Wddm.
Change-Id: I6088e5fec65b6910fefb42ec9735181867c44a1b
2018-12-10 14:48:52 +01:00
Hoppe, Mateusz 60ac4d35ce Refactor GetDevicesTest
- do not compare pSkuTable in Aub modes

Change-Id: I3388f460922e35212fddd54bf519ae35db36ba67
2018-12-10 13:19:10 +01:00
Hoppe, Mateusz e88548a251 Do not call submit on HardwareContext with zero-sized command buffer
Change-Id: I53b9233b30f58e2fcb354142eb1186a20c834d62
2018-12-10 10:02:46 +01:00
Dunajski, Bartosz 481b83b436 Add throttle hint to unblocked enqueue path
Change-Id: Id24e00f0f797d6245e897ba4e709d42f2ef0f5e8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-07 14:13:31 +01:00
Mrozek, Michal 3719c7a767 Limit AUB SSH size to 64KB.
Change-Id: I1a23aa2a253a93ed9633ab7fda0a6180050add83
2018-12-06 17:36:49 +01:00
Mateusz Jablonski c8748b77a0 Simplify memory manager API [1/n]
pass struct with properties to allocate graphics memory methods:
for protected methods use AllocationData
for public methods use AllocationProperties

Change-Id: Ie1c3cb6b5e330bc4adac2ca8b0bf02d30ec76065
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-06 15:09:25 +01:00
Maciej Dziuban 43fd32b3ad Enable aggregating command buffers with multiple osContexts
- Store inspectionId for each osContext in GraphicsAllocation
- Pass osContextId to aggregateCommandBuffer and use it to select inspectionId

Change-Id: I2c377ad7577a8c882cc89c1205430cb581c2c0d5
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-12-06 10:11:07 +01:00
Pawel Wilma fe228ea5f7 Use GPU address in calculateNewGSH()
Change-Id: I82add7aab4b26444f288a9c4dbce6328578a03d2
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-12-05 10:33:35 +01:00
Hoppe, Mateusz 13f23dffdb Refactor UltCommandStreamReceiverTest test
- remove unnecessary dynamic allocations

Change-Id: I2580244c91fd3f6864c55807090823556b4c7906
2018-12-05 07:13:11 +01:00
Milczarek, Slawomir 1bf98c7f80 Added support for expectMemory call from aub stream
Change-Id: I8acf27eff8b2f38dcb8d9873e03c35bfab6f3298
2018-12-04 12:03:36 -08:00
Pawel Wilma 835aa09e9c Decanonize general state base address
Change-Id: I9c0bc92f5e11467d13c04fee4add85193e2a3c3f
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-12-04 17:02:04 +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
Milczarek, Slawomir 80fa9d0260 Decouple aub stream memoryFree from makeNonResident
Change-Id: Ic4614441aff131356ce3ec03330d7dc42b5b0ecb
2018-11-29 08:28:21 -08:00
Dunajski, Bartosz 0131e66a70 Allow Device creating multiple CSRs [6/n]
- Introduce default Engine query
- Improve Deferred Deleter usage
- Remove Tag Allocation from Device

Change-Id: Iaa88d8dc0166325acf9a157dcd2217ea408ee285
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-29 16:20:13 +01:00
Zdanowicz, Zbigniew 7dbd0ea4f3 Move Scratch Space functionality to dedicated class
Change-Id: Ic7655c4b971513961aba6823478a139ffc943466
2018-11-29 11:55:56 +01:00
Milczarek, Slawomir 42ba6c10fc AUB CSR with an option to create and operate on hardware context
Change-Id: If8e060ef184d6c077e09741144ef870c96360645
2018-11-28 09:24:18 -08:00
Dunajski, Bartosz 3e7fa3754c Replicate OsContext to CommandStreamReceiverWithAUBDump
Change-Id: If2f83d01d58891209c6cf82f47e5634f8d348de4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-28 13:11:52 +01:00
Dunajski, Bartosz b0de2a11d2 Set OsContext as reference
Change-Id: I3b682fabde9c2ddb2c33a95aef77bf6ce400a21f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-27 15:32:14 +01:00
Piotr Fusik 87bb6afa56 Move stamps allocators from memory manager to CSR.
Change-Id: Ib399e462cdddad89fcc470df4c4f0f5e4591a6b2
2018-11-27 14:52:06 +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
Milczarek, Slawomir 3b8ff44d55 AUB CSR with a separate function to write memory
Move common code related to writing memory to dedicated function

Change-Id: I4ac8ec779cb40146bd27b8e40728d81d3b5b4276
2018-11-26 20:21:19 -08:00
Dunajski, Bartosz 7781089740 Allow Device creating multiple CSRs [4/n]
- Introduce additional RCS engine
- Set fixed size for Engines array

Change-Id: I06533a425684b64214f956783b07877e6157935b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-26 09:40:44 +01:00
Milczarek, Slawomir cd5f85052e AUB CSR with a separate function to submit batch buffer
Move code related to batch buffer submission from flush to dedicated function
Add parameter to pass aub file name from AubCenter to AubManager

Change-Id: I20abb3c8bd92114b3bc9caa2a6291dc1bbddad2a
2018-11-25 18:02:25 -08:00
Dunajski, Bartosz 3ad33bf1b8 Allow Device creating multiple CSRs [3/n]
Add CSR from Device to CommandQueue

Change-Id: Iaccf3c73d25e357242837677777d0513e81f520e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-23 10:51:34 +01:00
Mateusz Jablonski 352450adaa Pass number of os contexts to Graphics Allocation constructor
Mark unshareable allocations

Change-Id: Ie745dc639d8c6b01e2275d29ee1fb4c6343df2bc
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-21 17:38:02 +01:00
Pawel Wilma 2f15ca0508 Add AUB registry key for additional MMIO registers list
Change-Id: Ib478e91d8df21c48f83bfa97a4ea72c41c2f065d
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-11-21 16:41:44 +01:00
Dunajski, Bartosz af46d88fc1 Allow Device creating multiple CSRs [1/n]
Change-Id: Ie5d8d89aa388c608d5464919059c28a054ac9b1e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-21 12:37:25 +01:00
Dunajski, Bartosz d6870a896b Reduce tag pool size to 1 for AUBs
Change-Id: I3a3513250b10e899795e149bff2739193a725f84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-20 11:42:32 +01:00
Dunajski, Bartosz ac15e7f3ac Unify expectMemory in Aubs and introduce expectMemoryNotEqual
Change-Id: Ifd52f2d3ad3badf6ea9dac2c2b9873a40efa8482
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-19 10:39:45 +01:00
Mateusz Jablonski 66492a53a4 Change type of residency task count to uint32_t
Move definitions of objectNotUsed and objectNotResident to GraphicsAllocation

Change-Id: I2aec604a865cc6c975e9d1121028cbdd35c0b18a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-16 16:04:48 +01:00
Dunajski, Bartosz bd4ea652ec Make Timestamp allocations OneTimeAubWritable
Change-Id: I22e973714e4df1b3a07d8fb45cdab37b28a6433e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-16 15:49:25 +01:00
Dunajski, Bartosz 2249917695 Minor cleanup in ULT CSR
Change-Id: I810cd0bd5dd13d8ba631316d5fb86e12905497d8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-16 11:45:07 +01:00
Mateusz Jablonski 0e0a280803 Create structure UsageInfo for task count and residency task count
Change-Id: I0899c88d9e567a09ba46461ae69cf6c80f713e67
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-15 14:07:05 +01:00
Piotr Fusik e66920a8f8 Fix typos.
Change-Id: Ie7add32684f812e11281668d9b93910384086c62
2018-11-15 12:18:03 +01:00
Milczarek, Slawomir 1a4628cd8e AUB file with information about driver version
Change-Id: I7f8e01236962580515f36d72805d33af40d5fd2d
2018-11-14 19:46:45 +01:00
Stefanowski, Adam 9e61258f6c Split tests into smaller ones
Change-Id: I462f08769aabbfcb9a3611f3ea5ccb88efb998b0
2018-11-14 19:25:13 +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
Milczarek, Slawomir aa18a62d70 A partial unification of AUB and TBX CSR classes
This commit moves initialization of global MMIOs from AUB CSR to Simulated CSR

Change-Id: I93a612d4f0c82e7135287f6508870190790141bc
2018-11-10 13:12:22 -08:00
Dunajski, Bartosz 1e0064fc2f Allow ULTs to work with enabled TimestampPacketWrite
Change-Id: Idd4622469220b859e8724d9179837c685377ce52
2018-11-07 08:50:04 +01:00
Woloszyn, Wojciech 549b73510c Flush L3 for reduced address space platforms
Change-Id: I5a73e72f8e309137328930920ab174ba6f1378dc
2018-11-06 14:26:59 +01:00
Mateusz Jablonski 815ae851b7 Graphics Allocation: store task count per context id
Move definition of allocations list method to internal_allocation_storage.cpp

Change-Id: I4c6038df8fd1b9335e8a74edbab33b78f9293d8f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-06 12:43:47 +01:00
Zdanowicz, Zbigniew ce75767ca3 Add AUB registry key to override MMIO offset value
Change-Id: Iac3bf9074e544a03e38fc437d7b21ea478d9cc5d
2018-11-03 00:33:50 +01:00
Zdanowicz, Zbigniew 8504b37a08 Add branch prefix to unit_tests/gen_common subdirectory
Change-Id: I7661dbd8a65aaa50c21afb982b23edb9080d6f84
2018-11-01 00:15:04 +01:00
Stefanowski, Adam c202c95634 Stop creating osInterface in WddmCSR and DrmCSR constructors
Change-Id: Ic8ca21824882dfae5df3fe05c7ec1ff96311f286
2018-10-31 15:01:50 +01:00
Mrozek, Michal 7ece16ee7a Graphics Allocation cleanup.
- remove one constructor
- start using mock graphics allocation in tests

Change-Id: Idb8f4a35dbc2cae8d6bf667bab5542d8e91d6e0d
2018-10-31 11:54:24 +01:00
Milczarek, Slawomir b051528258 Add getter for handle to AUB dump allocations
Change-Id: I30251145775e9d81e307c983236bd2cc0568a74d
2018-10-30 12:06:17 -07:00
Mateusz Jablonski ead2e2ea6d Move createAllocationForHostPtr method to command stream receiver
Remove not needed includes from command_queue.h

Change-Id: I45963bf005471bd7716d55471474299a15e27b62
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-30 17:49:08 +01:00
Mateusz Jablonski baa9ce74a7 Remove obtainReusableAllocation method from memory manager
Change-Id: I629044d109822f02cfddc6418f025010e62ab65b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 09:06:20 +00:00
Mateusz Jablonski 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
Milczarek, Slawomir cd8f08b94b AUB CSR functions to operate on engine instance
Change-Id: I928cf5f7c25980fdfb2da825cbe062b5497c328a
2018-10-24 16:33:11 -07:00
Mateusz Jablonski a531751001 Remove ULT code from runtime
Change-Id: I2faf52070f980d031788fc6946df8534d96c639b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-24 17:45:08 +02:00
Milczarek, Slawomir 9be4850213 AUB capture with a capability to get engine instance
Change-Id: I52c47505476053d6e692fc9d89cca25a6e122a63
2018-10-23 11:58:13 +02:00
Dunajski, Bartosz ef65e6433e Improve EnableTimestampPacket debug variable usage
Change-Id: I864f0dc756a7fe17a08d1bcca2d91e9b78fb730a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-10-18 14:25:46 +02:00
Mateusz Jablonski 9c06e1dc5b ULT: Don't override memory manager if not needed
Change-Id: I63cb7dc642bdf620437ea7d264af1913027c788a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-16 17:26:23 +02:00
Mateusz Jablonski 4f028d13a1 Command stream receiver: use memory manager from execution environment
Change-Id: I236218a73bd7dac6e5744e3596f146b77b5ca1c8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-16 12:14:55 +02:00
Piotr Fusik 7543c1fb2a Flush AUB before HW or TBX.
Change-Id: Ia997c6c05b2a1cb5c1968113b94ca66fbf1efe89
2018-10-13 10:52:19 +02:00
Mateusz Jablonski 8a9d0a81df Move temporary and reusable allocation lists to command stream receiver
Change-Id: I40df6fe39b367e243e3710c5fdeaab3c85198d9d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-11 15:32:12 +02:00
Pawel Wilma a05f832f80 Fix for batch buffer flattening
Change-Id: Ib13ec6573b985cf03876bd7e37a31606b230a790
2018-10-09 12:28:40 +02:00
Maciej Dziuban 130a7ac8b8 Delete TypeSelector helper
Change-Id: Iff5fe62d31fa7b07658cfcf81ebd2c12d47e2b3b
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-10-08 13:18:36 +02:00
Maciej Dziuban bc4700a193 Add OsContext argument to MemoryManager::makeNonResidentEvictionAllocations
OsContext has to propagate through following calls first:
- WddmCommandStreamReceiver<GfxFamily>::processEviction
- CommandStreamReceiver::makeSurfacePackNonResident

Change-Id: I7559c7406b2860c51905c9961cec251fac231b08
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-10-05 01:28:31 +02:00
Milczarek, Slawomir 61000c0dd4 CSR AUB + HW mode - flush to poll MMIO for completion
Ensures that each submit of LRCA be serialized through the simulator
like it is for AUBs captured in the standalone mode.

Change-Id: I1e3ad500012dce960d0e64b56af1cb60142772da
2018-10-04 10:32:08 +02:00
Mateusz Jablonski b602cd2bb8 Pass execution environment to memory manager
Change-Id: If43cf9d1353b4cbc02ea269fb9105c01cc4e0876
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-03 22:12:26 +02:00
Milczarek, Slawomir ec48ccecdb AUB CSRs to use a shared address mapper (CPU VA to GTT VA)
This commit moves address mapper from CSR to execution environment
in order to generate unique GTT VA for LRCA, HWSP and ring buffer
between different CSRs.
Additionally, moved the rest of AUB file stream tests to separate module.

Change-Id: I02ae44202c0255277a7ac17532485419e0c403ab
2018-10-03 12:50:25 +02:00
Mateusz Jablonski 9a1adc3095 Remove scenarios with memory manager with null csr
Change-Id: Ie151bf3d16c5d994f154c8f9ac3db43702a4798c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-02 21:43:21 +02:00
Filip Hazubski c75dc23b6e Change HWCMDTEST_F() tests to HWTEST_F() where possible
Change-Id: Ibfe147a12b53f832723f83809770e1b203159f8f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-10-02 17:29:46 +02:00
Milczarek, Slawomir 2227386eb7 CSR with AUB dump to call makeNonResident on AUB CSR
AUB CSR can implement additional actions to be taken on makeNonResident
such as dumping buffer and image resources.

Change-Id: Iab76081116011e0882de3c902db74a5dc4dd0b36
2018-09-29 00:23:40 +02:00
Maciej Dziuban 41e8d70363 Change makeSurfacePackNonResident argument to a reference
Change-Id: Ic95ad2406184e91a78c152fad3fe6f0f4ebb24ae
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-28 18:08:18 +02:00
Hoppe, Mateusz 7ddf1d554b Move getAddressSpace from AUB & TBX CSRs to CSRSimulatedHw
Change-Id: Iaa6164445f55efba3681fc41e2ec614f999e1362
2018-09-27 10:43:00 -07:00
Milczarek, Slawomir efdbde245a AUB CSRs to use a shared physical address allocator
This commit introduces AUB-specific control class to execution environment.

Change-Id: I525c9c93a4f10f769dbedb7d097674c35693f0b1
2018-09-26 20:31:56 +02:00
Maciej Dziuban 95e4dc4152 Delete unneeded residency/eviction allocations mutators
Change-Id: Ic73ea4c4e3ebf422f935a440a1b4789fe1c15494
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-26 13:02:19 +02:00
Hoppe, Mateusz dfd4e767e0 Introducing AubFixture with minimum required initialization
- fixture is creating AUBCsr or TBXWithAubCsr only and sets
executionEnvironment used by Device
- this sequence ensures correct initialization without redundant
objects creation
- adding new AUB test: AubWriteCopyReadBufferTest

Change-Id: I678410585c91c008fc53a44b13e885e970fd315b
2018-09-25 23:03:21 +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
Milczarek, Slawomir ee797c2f14 Multiple AUB CSRs to operate on a single file stream
This commit introduces AUB stream provider class to produce
a single file stream in multi device scenarios with multiple AUB CSRs.

Change-Id: Id70e0d680459d34f4291b9e56aa39d960f025ac6
2018-09-23 05:41:00 +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
Hoppe, Mateusz a470aa2072 Get AddressSpace to expectMemory from page table entry bits
Change-Id: I1aacdf98f436261b523765e0ca591e8d8333274e
2018-09-21 16:44:55 +02:00
Artur Harasimiuk 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
Mrozek, Michal 78f828fcd1 Make residency in graphics allocation OsContext dependent.
- Graphics Allocation now holds residency control per OsContext.

Change-Id: Ie0a0d3aa9fdaf542fdd42dee3aba236a5af635c7
2018-09-20 16:44:04 +02:00
Hoppe, Mateusz 4af432ae10 Store page entry bits in PageTable entries
- set Present bit when entry is allocated regardless entry bits passed.

Change-Id: Ib1393927f66c4ed0b577a4df58d2760fbff86df7
2018-09-20 09:25:34 +02:00
Milczarek, Slawomir 65dc5fb7de Generate multiple devices in AUB and TBX CSR modes
This commit adds a capability for a driver to generate multiple devices
and hwinfo in AUB and TBX CSR modes.

Change-Id: Icc0eac7c16760d3d4ae6ef08cd0be950b45d35e7
2018-09-18 18:03:41 +02:00
Hoppe, Mateusz a2ed6861d8 Refactor AubCSR test - expect correct data returned by getGTTData
Change-Id: I98a7a5f6f87fea70ae0f9334236f144f592fbf5f
2018-09-18 01:23:41 +02:00
Maciej Dziuban ac1d2b9901 Change processResidency argument to a reference
Change-Id: Ie313a8cc4e479a314bcf170917397c13fbb70d14
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 13:36:20 +02:00
Hoppe, Mateusz 610eda5ad1 Add PhysicalAddressAllocator to PageTables
- Allocator is responsible for physical pages allocation

Change-Id: I3a9034c87292484da8f4f0eb1d1e0cc5122a4d8a
2018-09-14 13:23:07 +02:00
Maciej Dziuban 8df30ceac1 Move residency and eviction allocations from MemoryManager to CSR
Change-Id: I44185b35375f4cc9d58cac14cac1edefaacde652
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 13:19:55 +02:00
Maciej Dziuban da5a292e54 Delegate MemoryManager residency and eviction calls through CSR
MemoryManager::getEvictonAllocations()
MemoryManager::pushAllocationForEviction()
MemoryManager::clearEvictionAllocations()
MemoryManager::clearResidencyAllocations()

Change-Id: Iaa3051965bc9dfc09384e2bd5e9e0c372b5e722a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 08:18:04 +02:00
Maciej Dziuban 7aa70248e8 Get rid of processResidency() calls with null ResidencyContainer 4/n
Change-Id: I318e0b2846a72d9cba4921ba62e0ea491cc46da9
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 15:12:20 +02:00
Maciej Dziuban fafde2ec15 Delegate all MemoryManager::getResidencyAllocations() calls through CSR
Change-Id: I9cfbfd86d39b5341598ff2bd8883e13605c58b72
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 14:56:06 +02:00
Maciej Dziuban 81a1e435f9 Delegate all MemoryManager::pushAllocationForResidency() calls through CSR
This prepares for moving this method from MemoryManager to CSR.

Change-Id: I82393289c48990f26ed3ac922bcd64e2b6c11f28
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 14:33:16 +02:00
Milczarek, Slawomir a7d41d95b4 AUB subcapture in filter mode to define start/end indexes to a given kernel
This commit introduces new controls to define start/end indexes
that apply only to the kernel specified by name for a sub-capture

Change-Id: I7ad7674d115f9addd35c44d824aee0731060881e
2018-09-13 11:13:33 +02:00
Mrozek, Michal 581805cc88 Move OsContext id setting to constructor.
Change-Id: I1b809befc02536257800e3667307b8deabd5c95d
2018-09-12 09:50:26 +02:00
Mrozek, Michal 8e33ec04c5 Create separate command stream receiver for every device.
Change-Id: I8073380941e2a3bfe57610e6e437bdc177dcc2d5
2018-09-12 09:32:41 +02:00
Maciej Dziuban d24a0accd9 Get rid of processResidency() calls with null ResidencyContainer 1/n
Change-Id: Ifeed7d1154ed07988ee2196a95013eae4d5a80d0
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-11 15:32:11 +02:00
Maciej Dziuban 4da2dd471d Get rid of processResidency() calls with null ResidencyContainer 2/n
Change-Id: Ic2495cd21304710825727177a1d90889e22808d8
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-11 15:01:01 +02:00
Hoppe, Mateusz cfa8035836 Add localMemorySupported member to MemoryManager
- extend constructor to take new flag
- extend ExecutionEnvironment createMemoryManager with new flag
- only OsAgnosticMemoryManager changes in this step

Change-Id: I1dae4fd79fe28fd87e42b237600dc216c94b597e
2018-09-07 12:04:21 +02:00
Stefanowski, Adam 8a005434f4 [1/n] Initialize WDDM only once
- remove Wddm parameter from WddmCommandStreamReceiver
and pass it via ExecutionEnvironment
- remove drm parameter from DrmCommandStreamReceiver
and pass it via ExecutionEnvironment
- remove void parametr from TbxCommandStreamReceiverHw

Change-Id: Ib76332f1341339426e86e0ce2b6ce96919219881
2018-09-06 14:14:29 +02:00
Dunajski, Bartosz b74280beb6 Check EnableTimestampPacket debug variable once and set as CSR mode
Change-Id: Ia6e7caa96f3b46b30590fb46a1fb37fa153adeb4
2018-09-06 11:19:02 +02:00
Mrozek, Michal b87af2c9e7 Move residency to dedicated header.
Change-Id: Ic27748fdb36b1f92c58ca20f8b6e12e6a24f41d8
2018-09-05 16:34:08 +02:00
Milczarek, Slawomir 254f4a91ac AUB CSR to use size from gmm when calling makeResident on RenderCompressed
This commit adds a capability to dump AUB files for RenderCompressed
in AUB CSR + HW mode.

Change-Id: Id43409f4ee986da2b3c347e5f6f07bb566249633
2018-09-04 14:15:03 +02:00
Dunajski, Bartosz c1fc60efa9 Unify STORE_DATA_IMM cmd and reduce number of files to compile
Change-Id: Ib24f4a954468423528a36c88bac45218196c5a96
2018-09-04 13:42:35 +02:00
Milczarek, Slawomir b2beed3daa AUB CSR to call make resident of the base CSR
This commit ensures that AUB CSR be using make resident of the base CSR class
hence the task count of the graphics allocation be updated properly.

Change-Id: I33b5ed86a463eeeee00a4094cefda8add316af73
2018-09-03 16:43:10 +02:00
Pawel Wilma 4a12deea2b Add support for reduced GPU address space
Change-Id: I9ebbc8c51039bb533b44c6b80e717e1489a20a43
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-09-03 13:51:36 +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
Dunajski, Bartosz 118bad16df Dont add PIPE_CONTROL between Walkers for TimestampPacket writes
Change-Id: I6216a0926678c7f7a997cb37ce4eb59f914b518e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-30 15:30:16 +02:00
Chodor, Jaroslaw ad9710bec2 Refactor around binding table programming
Change-Id: I4cad63b11937531e36ea9d92cee606ea8941c9ef
2018-08-29 14:35:52 +02:00
Dunajski, Bartosz a807b9a90b Initial implementation of Timestamp Packet write
Change-Id: Ic498bcf9795f54fbb5fb5a8d07ed17fa70dc4f1a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-28 08:27:13 +02:00
Milczarek, Slawomir b59e3aec14 AUB capture - add control to configure file name
This commit adds the AUBDumpCaptureFileName control to configure from outside
a file name with an optional path where to save the AUB capture into.

Change-Id: Ibf2f7663e23ad9e1001896b0c5b7030f9979dae2
2018-08-23 22:31:03 +02:00
Hoppe, Mateusz aaf2f94887 Fix zeroCopy property for images
- zeroCopy means no need for data transfer when cpu transfer is
chosen during map/unmap operations
- tests cleanup

Change-Id: Id312267e51d593781c6fe536b6e96f42f32e5c02
2018-08-23 16:45:05 +02:00
Maciej Dziuban b91c14f70e Delete Device::getBuiltIns()
Change-Id: I9d1968dfb2ba4a56020fd17152119add726106e1
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-22 16:54:53 +02:00
Maciej Dziuban e0e48203d2 Move BuiltIns to ExecutionEnvironment
Change-Id: Ib2a1b82cc7858c898bb32820aad106a01d1325ad
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-21 23:15:47 +02:00
Milczarek, Slawomir 393c2219c9 Add device callback for GMM library to notify AUB subcapture
This commit adds a new callback to be called by GMM library
when it allocates/deallocates compressed resources to collect data
about their addresses and sizes and handle their AUB residency.

Change-Id: I075d3ff4cb049cfe626da82892069c4460ea585c
2018-08-20 14:38:42 +02:00
Stefanowski, Adam 1ad70dfebe Decouple memory manager and device
Change-Id: Ia64cc955e1d290cad4c50b6a2a41052d9acf0eec
2018-08-20 13:44:31 +02:00
Dunajski, Bartosz 56562963ef Pick main Kernel for PrintfHandler and AubSubCapture
Change-Id: I9ff3bdaa5da82e162642deeaf4a8e0821ff00da2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-20 10:06:00 +02:00
Dunajski, Bartosz c7a49666d5 Refactor querying Main and Parent Kernel from MultiDispatchInfo
Change-Id: I723d91f2f445bc7af1bcb0de46f8ac07837f3449
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-17 13:51:32 +02:00
Maciej Dziuban 524737af39 Add executionEnvironment field to Program
Change-Id: Id624177aa3f0b5525bac86e2e0a935ebaf53480e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-16 16:52:41 +02:00
Mrozek, Michal 1f3274e3dc Refactor some tests to not create csr twice.
- There is no need to create command stream receiver twice.

Change-Id: Ic47e7460e608625c31ab0652ad269c08f45c2250
2018-08-10 16:34:27 +02:00
Maciej Dziuban 6f26ced3b5 Don't store MockProgram as member of fixture
This is to prepare for adding argument to MockProgram constructor. It'll have
to be constructed after ExecutionEnvironment creation, for example after
DeviceFixture::SetUp.

Change-Id: I37b08f814679271820a07fb29cf1fb6b517c8376
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-10 10:13:33 +02:00
Mrozek, Michal 1599ea800e Pass execution environment to command stream receiver.
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +02:00
Mrozek, Michal d17879d412 Pass ExecutionEnvironment to get devices.
- this would allow for further re-use of objects allocated here.

Change-Id: I73b62ae3991ebd786dea3c085e1391194b8de6ba
2018-08-07 15:17:06 +02:00
Stefanowski, Adam 4df9cf638f Remove device use by memory manager
Change-Id: Ia9dffb322d7b9f96e5698eb85fcff22a60051f74
2018-08-07 10:58:15 +02:00
Mrozek, Michal 6f251f5ea1 Fix TBX completion loop.
- resources are dumped in make non resident call
- in order to dump correct data we need to be sure that GPU is done processing
- waiting needs to be unconditional to handle all cases
- remove not needed parameter to makeSurfacePackNonResident

Change-Id: Ib2b065d486cd3a5d86e599c51b24f3c958c3a10b
2018-08-03 09:32:24 +02:00
Mrozek, Michal 1807ea651c Initialize tag value in init function.
- remove not needed method in mock device.
- remove duplication from aub tests.
- tag allocation now have desired value

Change-Id: Ib3161cce6753eae27c60fddb63054fd2e12f7dac
2018-08-03 09:25:26 +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
Hoppe, Mateusz 4441387969 Refactor allocateGraphicsMemoryInPreferredPool
- extend AllocationType to code necessary flags
- remove redundant args
- refactor Buffer::create()

Change-Id: Ic4b2e0931fad8198ad1cf4f79de210d815048ccf
2018-07-31 08:05:55 +02:00
Mateusz Jablonski a906ddaa66 Make gmm client context non-static member
Construct platform and initialize gmm in each test

Change-Id: I4f209369e77213420308f31f911b7a569ea93283
2018-07-27 00:16:30 +02:00
Mateusz Jablonski 56557ca3a3 Unit tests: Initialize gmm before wddm initialization
Change-Id: I751bd93248aa78731b9591f494eafcd12d3e6d82
2018-07-20 15:47:15 +02:00
Mrozek, Michal 70b1745c7a Remove duplication from aub command stream receiver tests.
Change-Id: I53e4eda003f2d8f9b3669e1aeb4da940c3ab34e4
2018-07-20 14:21:12 +02:00
Dunajski, Bartosz 239ebf9eab Improve AllocationType operations: dont do bit operations on enums
Change-Id: Ie70ca9e2a93ec80b1cd655bad622db9e12abb7f7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-07-20 09:12:58 +02:00
Mrozek, Michal f59c191915 Refactor parts of createDeviceImpl.
- Move portions of code to dedicated methods.

Change-Id: I9abec23785f3f3201dce42a7a840ca4a450c4cc1
2018-07-17 09:46:45 +02:00
Mrozek, Michal 0abacce160 Move tag allocation destruction to command stream receiver.
Change-Id: I657df755c6cdd695103769a45a8dce749f7bd545
2018-07-16 13:12:53 +02:00
Milczarek, Slawomir 16d04fd276 AUB subcapture to read file name from outside and write into several files
Add a capability for AUB subcapture feature to dump into several files
and read file name from the outside (via regkey and env variable).

Change-Id: I2d5f7945cfbc740b0316fe23b8c5ae9fd698ac57
2018-07-14 13:10:35 +02:00
Mrozek, Michal d9d169eb94 Remove temporary graphics allocation from ULT command stream receiver.
- Required for next changes -> moving tag from device to csr
- It is not allocated by Memory Manager which causes a lot of problems
when csr tries later to delete it with memory manager.

Change-Id: I060516b0ec3ec6617319720c22cd3c129c10bffc
2018-07-13 14:07:10 +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 55a045ebe1 Refactor graphics memory allocation scheme
- replace createGraphicsAllocationWithRequiredBitness with more general
methodallocateGraphicsMemoryInPreferredPool based on passed
 AllocationData
- proper flags for allocation selected based on AllocationType

- remove allocateGraphicsMemory(size_t size, size_t alignment)
and use allocateGraphicsMemory(size_t size) instead where default
alignment is sufficient, otherwise use full options version:
allocateGraphicsMemory(size_t size, size_t alignment,
 bool forcePin, bool uncacheable)

Change-Id: I2da891f372ee181253cb840568a61b33c0d71fc9
2018-07-11 15:48:05 +02:00
Stefanowski, Adam 70e85be96a Refactor ThreadArbitrationPolicy definitions
Change-Id: Ia5d9d3b915b14a1ed6c8dd8d7e7c38dab674b6f2
2018-07-09 16:55:22 +02:00
Hoppe, Mateusz 684b1d75ba Refactor GraphicsAllocation::AllocationType and allocationType enums
- change GraphicsAllocatoin::AllocationType to scoped enumeration
so that ALLOCATION_TYPE_ prefix in every enum value can be removed
- all accesses are typed (example AllocationType::IMAGE)
- Rename allocationType to AllocationUsage to eliminate confusion
with multiple AllocationType enums / types

Change-Id: I16003297ecfcb0aaa5779ad00706c5d983914bbe
2018-07-06 13:00:08 +02:00
Mateusz Jablonski 94dbdb602d Add instance of gmm helper to execution environment
Change-Id: I1b044611fbad91fbb681ba233938f41502f29056
2018-07-06 08:48:19 +02:00
Milczarek, Slawomir 1fda1331c0 AUB CSR to flush file stream on every enqueue call
This commit adds an explicit flush on AUB file stream to CSR flush method.

Change-Id: Ib491718dba6c7b4a5b1e173111830bd3ab72a3d0
2018-07-05 16:12:42 +02:00
Hoppe, Mateusz 64277ee849 TBX CommandStreamReceiver fix for makeCoherent
- makeCoherent should be called after TBX finished processing
 - this is when tagAddress is updated with taskCount
makeCoherent is called from makeNonResident which is invoked just
after flush and may happen before TBX server finished processing
leading to invalid data to be read back to CPU accessible memory

- this fix adds waiting for taskCount to blocking calls for TBX CSR
before calling makeNonResident on surfaces to guarantee correct data
from TBX server is ready.

Change-Id: I498a5454e0826eec2a5413a08880af40268550e1
2018-07-04 12:04:32 +02:00
Milczarek, Slawomir 86565e5f06 AUB subcapture in toggle mode to be controlled with HKCU regkey
- move AUBDumpToggleCaptureOnOff from HKLM to HKCU without admin rights
- fix AUB subcapture in toggle mode to call make resident in standalone mode

Change-Id: Ia6971921f33bb9ca63112790af870217da8a1585
2018-07-03 12:56:06 +02:00
Dunajski, Bartosz e18e9fb94e Move static methods from Gmm to new GmmHelper class
Change-Id: I84fbe94f0e1072324164086b456c71a46ae5040c
2018-06-27 16:46:09 +02:00
Milczarek, Slawomir fb10f666e9 AUB CSR: Ensured PTE bits be set correctly for Global GTT
This commit fixes the issue with setting reserved bits in PTE for GGTT.

Change-Id: I08582e20914419a3363c9e61085dcf03ba355a61
2018-06-21 22:23:01 +02:00
Mrozek, Michal 5c0a562a6b Simplify platform initialize.
- Remove not required parameters
- move the logic to ult directories

Change-Id: I913f1048489137a61220d96fa9f2798572cd4f56
2018-06-21 12:46:35 +02:00
Milczarek, Slawomir eb1b5ded9c Add support for AUB subcapture (filter and toggle modes)
This commit adds a capability to selectively enable/disable AUB capture,
i.e. by toggling the registry key from the outside or specifying the filter
with a kernel name and/or kernel start index and kernel end index.

Change-Id: Ib5d39c21863fbc4a95aa73c949b9779ff993de0f
2018-06-15 13:02:27 +02:00
Artur Harasimiuk 75ab0c6fe1 Switch clang-format to 6.0
Change-Id: Id96d1f47fb3d479d10d1022f1259dc030a148192
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-06-14 09:45:00 +02:00
Zdanowicz, Zbigniew 36621b2488 Use product aub device id and make it configurable by using debug flag
Change-Id: Ie65eea0f72497ef68e805ad438f4f53df731d304
2018-06-06 17:09:21 +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
Zdanowicz, Zbigniew 413487e1d5 Split CommandStreamReceiver tests into multiple files
Change-Id: Ib114d4da3c94c8a20ff0551d2f9001da7f091000
2018-06-05 12:47:44 +02:00
Zdanowicz, Zbigniew 996cb52370 Refactor ULTs and AUB tests around HW commands
Change-Id: Ie00822b9e0864af6ede3e967039efa911d1dbb6f
2018-05-22 13:59:30 +02:00
Mrozek, Michal 6fdde42289 Clean not used methods from linear stream.
Change-Id: Ib6775e346eb1a971c9ad5bc511c4226f1c53ecaf
2018-05-18 08:42:37 -07:00
Zdanowicz, Zbigniew b27eee1f7a Refactoring ULTs around HW tests
Splitting HW tests into CMD-unrelated HW tests
and CMD-related HW tests

Change-Id: Ifbdcabdd0d6f4082e976363a3d8bcd5e7a9ce6c1
2018-05-18 11:45:45 +02:00
Maciej Dziuban 41f570ab50 Fix overestimation of MediaVfeState in CommandStreamReceiver
Change-Id: I38fd00f6b994f6a62921bcc09f293cabc95773d4
2018-05-15 11:13:20 +02:00
Maciej Dziuban 749d89a9bf L3 programming refactor 4/n
- Fix overestimation of preemption programming in preamble

Change-Id: I4ddfc6a2dacbe1160c68cdcef08125a5d5e74835
2018-05-14 15:39:28 +02:00
Mrozek, Michal 621a2dfcd1 [34/N] Internal 4GB allocator.
- Change dirty state helpers to work on IndirectHeaps.
- Instead of comparing size in bytes and cpu pointers, compare gpu base
address and size of the heap in pages
- That allows to not have dirty flag for heaps that are coming from 4GB
allocator.

Change-Id: I0ff81e3c0945b32e4f872a100cd10b332b27ed24
2018-05-12 16:01:30 +02:00
Artur Harasimiuk 10e5b71111 dependencies cleanup
move gmock/gtest to third party

Change-Id: I96b43a3de2b6f2151659a9b2eed27eb58db5ce48
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-05-11 15:04:45 +02:00
Milczarek, Slawomir cf5b5aecec Update header with structures for AUB services.
This commit updates the structures and adds getters/setters to AUB services.

Change-Id: I14ce251b68f233428458958565c2d52551661747
2018-05-11 13:37:32 +02:00
mplewka 2bc2869fe1 Refactor ult's for preemption enabling part 2
Change-Id: If8e335e87f3a78d35cab12a17880fb1922d479f5
2018-05-10 13:12:03 +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
Dunajski, Bartosz 82c9acddde Improve including common reg_configs header
Change-Id: I7fa22c2caffd0004269eb0d4f4fcdfd7621572af
2018-04-26 14:48:50 +02:00
Mrozek, Michal 8d2df3c332 Move indirect heaps from command queues to csr.
-This is required to enable N:1 submission model.
-If heaps are coming from different command queues that always
mean that STATE_BASE_ADDRESS needs to be reloaded
-In order to not emit any non pipelined state in CSR, this change
moves the ownership of IndirectHeap to one centralized place which is
CommandStreamReceiver
-This way when there are submissions from multiple command queues then
they reuse the same heaps, therefore preventing SBA reload

Change-Id: I5caf5dc5cb05d7a2d8766883d9bc51c29062e980
2018-04-26 14:05:40 +02:00
Pawel Wilma a0c044e6d2 Extend batch buffer flattening in AubCSR to BatchedDispatch mode
- batch buffer flatening in batched mode
    - added MI_USER_INTERRUPT command
    - added GUC Work Queue Item

Change-Id: I35142da34b30d3006bb4ffc1521db7f6ebe68ebc
2018-04-26 12:45:02 +02:00
Dunajski, Bartosz 1d36206bb7 Remove obsolete methods form LinearStream
Change-Id: Id87dd58d9a373cf5d3f217e9ecc8db8a79b25190
2018-04-25 11:40:47 +02:00
Dunajski, Bartosz ace0fcfb83 Improve commands size expectations in flush task tests
Change-Id: I45c40a21ef0f4a789da4be29ec00d40abe19e589
2018-04-24 22:20:51 +02:00
Maciej Dziuban 1392b79b58 L3 programming refactor 1/n
- Clean up size estimation functions
- Make some tests gen specific

Change-Id: If9c15f311306282ba035b380e6d4cadc17584815
2018-04-20 22:34:35 +02:00
Mrozek, Michal 59df78cc18 [32/n] Internal 4GB allacator.
- Ensure that heaps passed as IndirectHeap to flushTask

Change-Id: Ib633e3d3027e142a1fdb51e78b970fb1bd1b9b0c
2018-04-18 08:49:08 +02:00
Mrozek, Michal 8583c68c8c [29/n] Internal 4GB allocator.
- Internal allocations may now coexists with non internal on reusable list.
- Caller now specifies if internal allocation is needed.
- If criteria are not met , then allocation is not returned.

Change-Id: I7da3a4f944768b7c8a873e44fd47248f1d76bf9e
2018-04-17 06:42:56 +02:00
mplewka 079f94cd2d Refactor ult for preemption enabling
Refactoring in ULTs around preemption:
    -refactoring ULTS to not fail with default preemption mode
    -fixing ULT memory leaks observed after enabling preemption
    -mocking getSipKernel in ULTs (to minimize ULT execution time)

Change-Id: I194b56173d7cb23aae94eeeca60051759c817e10
2018-04-16 12:55:30 +02:00
Hoppe, Mateusz e898b9e218 Source Level Debugger: SIP programming in preamble
- program SIP_STATE when either MidThread preemption is enabled
or kernel debugging is active
- device creates correct sip based on preemption mode and
active kernel debugging

Change-Id: I3e43b66ad00d24c2389fa4fc766dd47044b6af80
2018-04-13 14:40:08 +02:00
Koska, Andrzej b0a6d9131a Making DSH and IOH always resident
Change-Id: Ib114b92cb5ee153f213c15c935f8f1d1cfeb46eb
2018-04-13 12:35:15 +02:00
Mrozek, Michal fbad57e843 Add tests for not tested functions.
Change-Id: I02f14d8176fc53eb12b90d5b6145672ef01ccdb0
2018-04-12 10:32:54 +02:00
Dunajski, Bartosz 87f8f735f9 Move KMD Notify logic from CSR to specialized helper
- Decission about timeout enabling and value moved out of CSR
- Timeout multiplier is no longer Linux specific

Change-Id: I6858fe2f811ef13802b95e0470e310210a9dea8b
2018-04-10 08:16:11 +02:00
Zdanowicz, Zbigniew b6b92ae808 Create GpgpuWalkerHelper class
Change-Id: Ia9aa7b816356aff57234b46ea3509b6bd9b7f14b
2018-04-04 16:42:16 +02:00
Hoppe, Mateusz 4703417813 Use correct virtual addresses in TBX CSR makeCoherent method
- cpu virtual address was used instead of gpu va
- this caused incorrect behaviour of TBX server when
special heap allocator assigning GPU addresses was used

Change-Id: I2328cf2441be797311fd6a3c7b331b0fff79d4fc
2018-04-03 15:54:07 +02:00
Milczarek, Slawomir b56289a507 User space AUBs capable of memory re-dumps on CPU-side memory modifications.
Any CPU related updates such as clEnqueueMapBuffer or similar
need to trigger a re-dump of memory prior to the next clEnqueue call.

Change-Id: I7b31e559278e92ff55b6ebab8ef4190caef1ebc0
2018-04-03 15:40:29 +02:00
Dunajski, Bartosz 8505658cab Multiply wait timeout by task count difference
- Linux specific
- Use only for non-quickSleep requests

Change-Id: I245546f83672d128377e51d92b6c7708a7448f05
2018-03-30 12:50:38 +02:00
Artur Harasimiuk bdcaf332ce ULTs: more MemoryManagementFixture cleanup
Change-Id: Iaeb60c9c9e22baf63ff01419a5a6dde1e1652a47
2018-03-30 10:52:50 +02:00
Mrozek, Michal 7f3c4d3d70 [22/n] Internal 4GB allocator.
- Finalize Instruction Heap removal.

Change-Id: Idd7df94a228238a5157c3251180fc3c8d3a189df
2018-03-29 08:17:32 +02:00
Mrozek, Michal 9bdf01468e [20/n] Internal 4GB allocator.
- Switch to internal heap for kernel ISA allocations.
- remove IH from various functions
- remove IHState from CSR , IH is never dirty
- ISA is no longer copied on enqueue calls.

Change-Id: I0099cf2a9ebab6192ea03a74dd35f7da963fd5a5
2018-03-28 16:07:26 +02:00
Milczarek, Slawomir 32825e203e KM DAF AubCapture to recapture command streams and heap allocations
This commit introduces a recapture of CS and Heap resources on every submit.

Change-Id: I2a5a763e8988de804da1a6c2c8042154b0786b2e
2018-03-26 18:27:20 +02:00
Hoppe, Mateusz 7f32eb06d1 Kernel Source Level debugger support 4/n
- adding DebugSurface allocation and setup
- unit tests refactors:
  - mock kernel with kernel debug option
  - separating fixtures to headers
  - added helper for getting internal-options kernels
    filenames

Change-Id: I7b6f4d46e2ab7cff0da8d5212483f44ae0d4be31
2018-03-26 15:02:42 +02:00
Pawel Wilma ff1d2361f3 Add patch info comments to AUB dump
Collect patching information and add as comments to AUB dump.

Change-Id: Ib7c903a2589d68b6e3e614c1774c7cd5a000c29f
2018-03-23 13:08:54 +01:00
Dunajski, Bartosz 9486dba6dd Kmd notify improvements [2/n]: Use QuickKmdSleep for sporadic waits
- Measure time between wait calls. If delay is exeeded  use QuickKmdSleep
- Kmd Notify helper functions
- Refactor overriding from debug variables
- Refactor Kmd Notify tests


Change-Id: I123c31f492d98fd304184f99ee0bf7d733d06f04
2018-03-22 17:09:16 +01:00
Milczarek, Slawomir f997b45145 AUB CSR to update hardware tag in standalone mode
This commit introduces a software controlled HW Tag
in the configuration of AUB CSR in standalone mode
(i.e. with no execution on real HW).

Change-Id: Ic470957d58e6568b13dda3d61cb230498d8f2691
2018-03-15 14:37:57 +01:00
Mrozek, Michal 00ae077913 [14/n] Internal 4GB allocator
- call make resident on sip kernel allocation.

Change-Id: I9c9af5ed4cec3e8b05decac7228658358ef1562b
2018-03-13 10:29:50 +01:00
Mrozek, Michal 8254d6a081 Ensure that submissions are flushed prior to csr destruction.
Change-Id: Ie04de561d3d295f40f55a19f01274d873d259abd
2018-03-12 12:54:47 +01:00
Milczarek, Slawomir fcb9a591b0 Add AUB generation in parallel to execution on TBX
This commit adds support for AUB capturing with simultaneous execution on TBX

Change-Id: I046bac6b953708007c525050fbf9357120a310b6
2018-03-08 16:52:52 +01:00
Mrozek, Michal 8b726368d5 [10/n] Internal 4GB allocator.
- Sip kernel now uses Program

Change-Id: Ibba11a5686502084a8b7fa99732f8bc2ee78dcc5
2018-03-07 19:21:16 +01:00
Mateusz Jablonski 0afd7a9ec1 Cmake refactor part 8
igdrcl_tests: define sources in subdirectories A-C

Change-Id: Iad8e4e866c4b0b8ccf679313e46ef6f0e5deac50
2018-03-06 20:53:43 +01:00
Mrozek, Michal 8f0789bd3e [9/n] Internal 4GB allocator
- Add new function to compute offset from the heap base.

Change-Id: I1eda6e989675b767e17979181446c62444c12f9b
2018-03-06 12:45:29 +01:00
Pawel Wilma c4c35955d1 Debug option to flatten main and chained batch buffer in AUB dump.
New debug option FlattenBatchBufferForAUBDump has been added. When set it
modifies AUB dump in such way that commands from main and chained batch
buffer are dumped as single allocation. Commands from chained batch buffer are
dumped directly after commands from main batch buffer without
MI_BATCH_BUFFER_START. This feature also requires ImmediateDispatch mode which
can be forced using debug option CsrDispatchMode = 1.

Change-Id: I730760791693a748e7f4e1463ce8e7af94287b93
2018-03-06 12:26:50 +01:00
Mrozek, Michal 1602fa5a88 [7/n] Internal 4GB allocator
- rename getBase to getCpuBase
- change some test names accordingly.

Change-Id: I6fb2e4714298250147ea7766a916d7f5d62edc54
2018-03-05 22:16:14 +01:00
Mrozek, Michal 8f96c54945 [8/n] Internal 4GB allocator
- Add getGpuBase function to linear stream

Change-Id: I566ba929927a95399002e0f234e6e1919775ffba
2018-03-05 14:58:32 +01:00
Milczarek, Slawomir bb58c9fc2f AUB CSR flush to process residency in standalone mode only
This commit eliminates redundancy in calling processResidency() for AUB CSR
twice in the HW CSR with AUB dump configuration.

Change-Id: Ib49c80fa9d81a495dfb7261ff76e0b9b1422e42d
2018-03-01 21:51:18 +01:00
Dunajski, Bartosz d9dd68a8ef Remove copy constructor for GraphicsAllocation
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Dunajski, Bartosz 5c7e50df48 Thread arbitration policy adjustments
Change-Id: I4bc5f421a68f564ac42a83019efce7a9c992636c
2018-02-20 16:35:26 +01:00
Dunajski, Bartosz 1292c3d533 Improve thread arbitration policy programming
Change-Id: Ibd764352e14d1a5112034b1c5a1fc6d6d67ebac0
2018-02-20 11:05:54 +01:00
Milczarek, Slawomir c135bd4c42 CSR HW with AUB dump to accept images with no host ptr
This commit enables AUB dumps in scenarios with images with no host ptr
when resource lock is required to get CPU address and dump image contents.

Change-Id: I996efc5f520d0ac7b470870f7b4eeb9d2ef7b25b
2018-02-19 19:09:35 +01:00
Milczarek, Slawomir 5c746131f1 HW CSR with AUB dump to operate on real device (HW Info)
This commit ensures AUB files to be dumped for real device
in the configuration CSR HW + CSR AUB.

Change-Id: I7b5f740440aae062d2f5ad7ad8b9c3b4f2207ddd
2018-02-19 13:11:43 +01:00
Mrozek, Michal acb044dce3 Fix DC flush programming in non concurrent scenarios.
-If out of order flag was disabled then pipe control was not having dc flush.
-This could led to a batch buffer that doesn't end with dc flush.
-This change adds differentiation between pipe controls that may be erased and
pipe controls that are used as a part of epilogue command

Change-Id: Ic9c970c75c89ff524a0e40506eff6dd097760145
2018-02-15 09:42:11 +01:00
Zdanowicz, Zbigniew 45dedb37f3 For HostPtr surfaces of enqueue calls use GPU address
Change-Id: I67bf5076d23d43438f5e82c5cb6cbd3b9ed2f152
2018-02-14 15:44:27 +01:00
Mrozek, Michal 82a2afb611 Improve DC flush handling.
-Do not flush dc for every command in batched mode
-Do that only in immediate mode
-For commands that needs DC do not noop pipe controls
-Ensure that each command buffer in batching mode ends with dc flush.

Change-Id: I3cd9d1831c19b69c66092687922f20df7e330245
2018-02-13 11:37:11 +01:00
Hoppe, Mateusz 012b8bd73c Adding initial PreemptionMode::Initial
- account for initial setting (when set mode was equal to initial(Disabled))
estimate size in cmdStreamCS, program MMIO

Change-Id: Ice218ae986583c8f3bab4f4f6979e38f03e30d7e
2018-02-08 16:21:52 +01:00
Mateusz Jablonski ea021f8d69 Cmake refactor part 1: fix dependencies with including os_inc.h
Remove some not needed includes

Change-Id: I158ad663ccfcec4822e3768df9d05090c5e096f9
2018-02-08 09:40:40 +01:00
Zdunowski, Piotr 1cfe5344fc Enable throttle hints extension.
Change-Id: I996fce8dbc792d77dc85df143ba5c0aa1cad83e5
2018-02-06 17:01:37 +01:00
Jacek Danecki 73e2e72d07 waSamplerCacheFlushBetweenRedescribedSurfaceReads fix
Change-Id: Id322f58ce6997c8710ed2d8faf4f3c3f3d2ef0c3
2018-02-01 15:37:18 +01:00
Mrozek, Michal 37c7e27276 Fix heap size programming.
- In various scenarios code was not programming the max heap size correctly
- It was possible for SSH to overcome the limit
- Size was programmed smaller then it really was, which resulted in smaller
reuse, which led to SBA reprogramming which led to lower performance in ooq
scenarios
- This change fixes the heap size programming by always utilizing full
allocation size and always limiting SSH at proper value

Change-Id: Ib703d2b0709ed8227a293def3a454bf1bb516dfd
2018-01-31 17:35:32 +01:00
Mateusz Jablonski 1d135a6a03 Fix calculating required cmd size
Change-Id: I3b409ca5eacc20f068b66df1fec5502dac41763d
2018-01-31 14:58:39 +01:00
Dale Stimson 5f98d9f9ff Add braces to avoid ambiguous 'else'
For the new Linux/Fedora configuration with introduction of gcc 7.2,
compilation of this file issues a new warning due to the correct
diagnosis of an ambiguous 'else'.  As warnings are being treated as
errors, this aborts the build.

The diagnostic:
    vpg-compute-neo/unit_tests/elflib/elflib_tests.cpp:123:12:
    error: suggest explicit braces to avoid ambiguous 'else'
    [-Werror=dangling-else]
	     if (nonfailingAllocation == failureIndex)
		^

Diagnosis: The diagnostic suggested that this:
    if (nonfailingAllocation == failureIndex)
	ASSERT_NE(nullptr, pWriter);
should be changed to:
    if (nonfailingAllocation == failureIndex) {
	ASSERT_NE(nullptr, pWriter);
    }

This is a valid suggestion.  The same is true for EXPECT_EQ.

Pick the files in repository
ssh://gerrit-gfx.intel.com:29418/mirrors/github/google/googletest
for tracing the definition. (There are many versions of gtest.h under
the ufo tree).

Starting in file include/gtest/gtest.h, the definition of ASSERT_NE can
be traced back towards its origin as follows:

ASSERT_NE               include/gtest/gtest.h
GTEST_ASSERT_NE         include/gtest/gtest.h
ASSERT_PRED_FORMAT2     include/gtest/gtest_pred_impl.h
GTEST_PRED_FORMAT2_     include/gtest/gtest_pred_impl.h
GTEST_ASSERT_           include/gtest/gtest_pred_impl.h

where GTEST_ASSERT_ indeed *should* be enclosed in braces.

  GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
  if (const ::testing::AssertionResult gtest_ar = (expression)) \
    ; \
  else \
    on_failure(gtest_ar.failure_message())

The correct fix would be to place the braces in the macro definition.
However, as file gtest.h comes from Google, and as there are 37
different versions of it in the source tree, this workaround will
address the macro invocations.  Should it be desirable, it is left
to others to correct gtest.h and friends.

Change-Id: I870d38ba623fc7564f894c7b1ea7512b74244ee2
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
2018-01-30 18:23:41 +01:00
Milczarek, Slawomir 7c038eb7a4 Add AUB generation in parallel to execution on GPU
This commit adds basic for parallel AUB generation and execution on GPU.

Change-Id: I3c77557a9578db05c87be6db7a5e3006f7c4b053
2018-01-29 17:24:26 +01:00
Zdunowski, Piotr 0b6b12ea57 Globally enable priority hints extension.
Change-Id: I9f3b8d3cf1bedb41d9e0622ff514bf76b4518d8c
2018-01-24 20:07:31 +01:00
Milczarek, Slawomir 3e84c4df7a Introduced a new graphics allocation type of ALLOCATION_TYPE_NON_AUB_WRITABLE.
This commit moves the allocation's aubfile write permission property
from OS agnostic MemoryAllocation to general GraphicsAllocation class.

Change-Id: I82ca2716d6b65d314460bd9f5d33e1113f9d7c07
2018-01-18 18:36:14 +01:00
Mateusz Jablonski 13ac81f465 Change pipeline select programing
- Program one PS with gpgpu selection and media sampler
- Program PS only when media sampler requirement changed
  or when preamble was not sent

Change-Id: I85ba3f74087733e79d048e120aeb8b4b04796e00
2018-01-18 14:39:47 +01:00
Zdanowicz, Zbigniew 602474f868 Command streamers should use device default engine type
Change-Id: I7286f15ba78001729ea489a43576d96f109d44f0
2018-01-16 22:37:44 +01:00
Milczarek, Slawomir 92ebb0c3c1 AubCSR to operate in batched dispatch mode (by default)
This commit changes the default dispatch mode for AUB CSR
from the immediate dispatch to the batched dispatch mode.

Change-Id: Idca914475a9a38788fd94e16eb6db4c0afb1bdd6
2018-01-16 13:24:40 +01:00
Mrozek, Michal af77720f9c Fix resource destruction scheme on device closure.
- Call waitForTaskCountAndCleanAllocationList with latest flushed task count
to reflect what was actually sent to HW.

- refactor cleanAllocationList to waitForTaskCountAndCleanAllocationList

Change-Id: I5301185c5fce212e39eb017b952b43c279559cf4
2018-01-15 18:45:48 +01:00
Milczarek, Slawomir 7c42353c4c Add support for batched dispatch to userspace AUBs
This commit as aimed to add support for batched dispatch,
but doesn't make it the default mode for AubCSR yet.

Change-Id: I4dc366ec5f01adf2c4793009da2100ba0230c60a
2018-01-12 15:40:56 +01:00
Chodor, Jaroslaw d290955a57 Preemption - SIP command programming
Change-Id: I4c7c805a77a9decb8f13d39055bfb2590209ca3e
2018-01-10 16:43:29 +01:00
Zdanowicz, Zbigniew 21f92d8258 Add preemption WA to make CSR surface uncacheable
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Brandon Fliflet 7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00