Commit Graph

589 Commits

Author SHA1 Message Date
Mrozek, Michal 94ae9a3d1b Add debug functionality to dump LWS sizes.
- Refactor of LWS tests.

Change-Id: Ic47c88996a658f2168cc425f4598e91eced4756d
2018-01-09 15:41:11 +01:00
hjnapiat 17c6142191 Add support for GT-Pin Callbacks [1/n]
- Also fixes bug when returning version of supported GT-Pin interface

Change-Id: Ib471a11a3b51d69240dcd2f800a8e28eefdeed57
2018-01-09 14:26:47 +01:00
Dunajski, Bartosz 11e7a5f1d9 Pass FtrWddm2GpuMmu flag to GMM
Change-Id: Ie52f1889a2ce1ab7abab8ac39a5dc6f0e60c6bcf
2018-01-09 13:04:34 +01:00
Chodor, Jaroslaw f235ba015e Refactoring preemption tests
Change-Id: I7e34f12e7d974e24cc63aaaad77d293b744d1c74
2018-01-09 09:50:00 +01:00
Zdanowicz, Zbigniew 6cf7ac41c2 Mock call should follow GDI call convention
Change-Id: Ibd217539c091e972bcc079b086f6aadb9ae18d22
2018-01-09 09:29:54 +01:00
Mateusz Jablonski f12b5861fd Drain deferred deletions when cannot allocate memory for tiled image
Change-Id: I68b15269da4b5a58e02571a9c594c52b9a95edeb
2018-01-09 09:20:10 +01:00
Mrozek, Michal 45990a8181 Remove not needed methods.
Change-Id: If8be6e18054381cabba129fc0d05802f32cc0d34
2018-01-08 17:09:09 +01:00
Mrozek, Michal 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
Chodor, Jaroslaw c838a7dfc6 Refactoring preemption fixture
Change-Id: I7f520a591a251d68fb3443d221ab8b628a450398
2018-01-08 15:43:32 +01:00
Koska, Andrzej 4e9c1178a3 Add -all on the begining of extensionsList
-all resets all compiler settings.

Change-Id: I8eec4beffa27673918d741f4b0d9d894f40a2cee
2018-01-08 10:45:55 +01:00
Chodor, Jaroslaw 1fd771e5a5 Refactor SIP acquiring
Acquire SIP by device, not by context

Change-Id: Iac850db1d65c52ebc8a331039046c0dd6acf1d4e
2018-01-08 03:31:45 +01:00
Chodor, Jaroslaw f6eb2617b9 Adding isAligned impl for numeric types
Supports numeric types (e.g. size_t)
Supports constexpr evaluation

Change-Id: I6942bdaa12c39df95dcdee84e5d5851c9ec89be8
2018-01-08 02:41:11 +01:00
Chodor, Jaroslaw 9ca3e8b1ab Containers improvements
Adding proper implementation for StackVec::resize()
Adding operator= to StackVec and ArrayRef

Change-Id: I9a988e64c2008a8e3c4b54b0814c4ccb9448bca3
2018-01-07 23:48:19 +01:00
ocldev d7028d3a76 dependencies update
Change-Id: I5c389f7d213e64af8f3b0f3630b4225fd433ec44
2018-01-05 22:58:35 +01:00
Zdanowicz, Zbigniew 21f92d8258 Add preemption WA to make CSR surface uncacheable
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Mrozek, Michal e9fd40db13 Do not update task count with not ready status.
- queue blocked status is handled by virtual event not task count.

Change-Id: I8979ba55d2319a75393c639b234dcd86cf2792ae
2018-01-05 14:01:17 +01:00
Mrozek, Michal 3eb856b192 Add reference on kernel in blocked scenarios.
- Prevents kernel destruction while it may still be in use.

Change-Id: I1f87d09c5cabf29644a1b06b63f1789dbb15985a
2018-01-05 10:19:04 +01:00
Mrozek, Michal 57137fea84 Fix heap programming in blocked scenarios.
- When command queue is blocked, all heaps are being stored in temporary
allocations, command buffers are being pre-programmed, heaps are being set
on those temporary allocations with the assumption that all heaps start with
offset 0.
- Problem was when the actual submissions happened, all those temporary heaps
were just copied to appended command queue heaps, so when something was there
then new stuff was copied right after it. It means that all state was
incorrect as the offsets are not valid anymore and will point to wrong
location.

- This change releases command queue heaps when blocked command is being
submitted to make sure they will be programmed with the proper offset in newly
allocate command queue heap.

Change-Id: I3e30be13caf4df8621ddb18f8448ffaf0f1278d1
2018-01-04 10:45:49 +01:00
Mrozek, Michal a8b91c8c99 Refactor deducing blocked state and task level.
- Do this with one helper function.

Change-Id: I81dd3107a98db7e45a691ba6d5e708d98eabe3d2
2018-01-03 17:44:51 +01:00
Mrozek, Michal ec59a900e1 Fix for deadlock in mapImage scenarios.
- due to the fact that device mutex was obtained to prevent threaded access to
image there was a problem when other thread was also doing readImage call
That thread got read Image kernel mutex first and then it was acquiring device
mutex, which was taken by other thread doing mapImage call.

- In current code device mutex is not taken to service mapImage call, instead
image is being guarded by its own mutex.

Change-Id: Ic4c5a019708d7ec5b240bc5b08c5a65173827392
2018-01-03 12:33:12 +01:00
Zdanowicz, Zbigniew 5cfb102359 Add Preemption WA waModifyVFEStateAfterGPGPUPreemption for WALKER replay issue
Change-Id: I046e7296157b4b527ad65733ea417fbc364aac9c
2018-01-02 17:45:40 +01:00
hjnapiat ca45fce7b3 Add all necessary Runtime Services for GT-Pin
Change-Id: If357dd5c40d629fbba548a603805e5860984b2ed
2018-01-02 09:30:10 +01:00
Zdunowski, Piotr b006972d07 Improve error handling for shared handles in wddm.
Change-Id: I93d33d89cb4b6333924c362b54e0638174e44091
2017-12-29 16:10:16 +01:00
ocldev aba7dc637d dependencies update
Change-Id: If14e69f97b3a4a41916219718d20dec3c433efec
2017-12-29 10:37:45 +01:00
Hoppe, Mateusz e8fb931ef1 Use 64KB pages for SVM allocations when 64KB pages are enabled
- clSVMAlloc allocates 64KB pages as memory storage for both
fine grain and coarse grain allocation

Change-Id: I2068ffb9f5577761f739df47b54bc382e971949c
2017-12-28 11:25:43 +01:00
Mrozek, Michal 2b91ea85c6 Fortify events
- add some debug breaks
- clean cmd ownership, there can't be situation when event holds 2 commands
- cmd meaning cleanup
- remove not needed try catch clause

Change-Id: I5ad6877e7235de2d7f48818467cb4b92655aab97
2017-12-22 15:05:28 +01:00
Artur Harasimiuk 6afb024f6f limit maximum memory allocation in ULTs
We shouldn't test using huge amount of memory. Execution environment may
have less memory. it also increases memory pressure and overall system
load during parallel ULT execution.
Let's cap max to currently used maximum and then we can refactor tests
to use less.

Change-Id: I869f77d59344faef5399896727f1b0381932bde0
2017-12-22 15:04:32 +01:00
Zdanowicz, Zbigniew 98aee19b15 Make better template pattern for HwHelper class
Change-Id: Ib85ec853e8f5ddcbd8eaf8591754e6551232e0a6
2017-12-22 12:05:38 +01:00
Hoppe, Mateusz a9f30a5059 Fix for Execution model PageFaults
- adding PC with MediaStateClear and MEDIA_VFE_STATE in
EMCleanupSection

Change-Id: I0ee0e121bc2fcc09ac79cb3b601591247326482a
2017-12-22 11:49:56 +01:00
Mrozek, Michal 03646887bf Make UNRECOVERABLE_IF fail in tests.
- Fix tests that were triggering the UNRECOVERABLE scenario
- Change UNRECOVERABLE to DEBUG_BREAK in some places

Change-Id: I479baac4941b485af9ea81a61a1a03d2f3f42e6a
2017-12-22 11:26:06 +01:00
mplewka b503597ffa Enable new algorithm computing local work sizes
Change-Id: If0addb5f36ee0b667370489b11837be716d70782
2017-12-22 10:42:36 +01:00
Napiatek, Henryk J 1e78649540 Improve cmakefile when GT-Pin headers are absent
Change-Id: Ib947a3deee6dfb834476ac159c51a596ecc32530
2017-12-21 18:43:25 +01:00
Artur Harasimiuk 6f51da22d9 manifest update
Change-Id: I85515986c34ea2afd60125732710f745aa954fa0
2017-12-21 18:23:46 +01:00
hjnapiat b1823f31ee Diminish size of memory chunk allocated in ULT test
Change-Id: If57f0334c709a7fc23e4d78eff4f9b913d9154d3
2017-12-21 18:05:24 +01:00
Zdanowicz, Zbigniew 3c9b82e9cc Disable Mid-thread preemption for VME kernels when device does not support it
Change-Id: I925c0ad8f76cf0b41426155448f34ff7700d0444
2017-12-21 16:22:35 +01:00
Mrozek, Michal 2a00a15141 [n/n] Remove event registry.
Change-Id: Ie7da0f2dc944583771aaa80648217602ccff99ce
2017-12-21 14:46:27 +01:00
Artur Harasimiuk b0a41b81bb cmake cleanup
moving build targets for better layout in solution explorer.

Change-Id: I6514f321f15991f88833e02b3c8af6327d35b74b
2017-12-21 10:29:13 +01:00
Mrozek, Michal 3284efff86 Do not use peekIsCompleted in isQueueBlocked.
- This causes event tree update if virtual event is holding commands or
callbacks
- That causes race between other threads that may be updating the tree

Change-Id: Ic80a8b71ed1e1c1deab8af1bc64f8ce81c21de1b
2017-12-21 08:13:43 +01:00
Brandon Fliflet 7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00