Commit Graph

326 Commits

Author SHA1 Message Date
Dunajski, Bartosz
8d7e175b12 Coherency patch cleanup
Change-Id: I03be418f7e85e599162494e3570a40b470709292
2018-03-29 09:45:31 +02:00
Artur Harasimiuk
7039ababb9 fix stringification of NEO_DRIVER_VERSION
use preprocessor sequence to convert define value to stirng:
 #define q(a) #a
 #define tostr(b) q(b)

Change-Id: If0a9ccfcc543523309be4995c05125bf8fbf2081
2018-03-29 09:23:24 +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
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
Dunajski, Bartosz
f2b96fa508 Adjust KMD Notify timeout for KBL
Change-Id: I8415bbe491bab793e8da57958c0cd198aa91fe2f
2018-03-28 16:16:09 +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
Dunajski, Bartosz
9f07de306c Adjust KMD Notify timeout for BDW
Change-Id: I135c4b013a3451d3914ec7ed53edc1fb9153aee0
2018-03-28 14:53:51 +02:00
Mrozek, Michal
3f59acf54a [19/n] Internal 4GB allocator.
- Allocator now uses uint64_t instead of void*.
- This is due to the fact that it is required to work on 64 bit addresses
in 32 bit dll.

Change-Id: Ia715ea7913efc95a2974aff8dff390203d8125a8
2018-03-28 14:38:23 +02:00
Zdunowski, Piotr
2cbb76ac88 Fix for reading pointers from printf surface on 32bit configurations.
Change-Id: I2b7511b33de6f20f612e87a7f32dd6fd5356b55a
2018-03-28 14:22:09 +02:00
Stefanowski, Adam
ffb33f5e86 refactor virtualAlloc methods
Change-Id: I06e93471b395818ad172048d545f1439066207d5
2018-03-28 14:12:21 +02:00
Hoppe, Mateusz
aa088da8d3 User pointer read-only memory fix
- do not store fragment in map until hostPointerValidation
is done
- set pointers to nullptr after delete in cleanOsHandles

Change-Id: I0bf99c3215c4b91ce059bb4e94716671c49f1946
2018-03-28 12:42:31 +02:00
Hoppe, Mateusz
125d94869e Adjust user setting files to use correct flag for tests
- --enable_deafult_listener is the correct name of flag
for ULTs

Change-Id: I864512b38a3ecf4e54c95859f04f346493613723
2018-03-28 11:46:29 +02:00
Hoppe, Mateusz
320f456816 Add reading internal options from file to cloc
- if no options are passed try to read options
and internal options from text files.
- refactor code for reading from file.

Change-Id: I608c70f3afe77a4e4845fe1c96cc9d31464c6122
2018-03-27 18:06:14 +02:00
Milczarek, Slawomir
a02c3cb781 KM DAF AubCapture to recapture fill pattern allocations
The commit introduces a recapture of fill pattern allocations on every submit.

Change-Id: I634af075348dbc59c7809f58b8495326cab804e1
2018-03-27 16:38:41 +02:00
Mateusz Jablonski
0d1e9de4ec Cmake refactor part 22
cleanup CMakeLists.txt files in unit_tests/aub_tests subdirectories
cleanup CMakeLists.txt files in unit_tests/mt_tests subdirectories

Change-Id: I48f05ff3348988671ed87faa0b0b8af0d4b733c4
2018-03-27 12:59:05 +02:00
Mrozek, Michal
3958cd909a [18/n] Internal 4GB allocator.
- Remove IH from preemption functions.
- This is one of parts of complete IH removal.

Change-Id: Ic19a6e2e1f5d9df25785c2c982c52b581b57a605
2018-03-27 11:19:47 +02:00
Mrozek, Michal
09923fcb39 [17/n] Internal 4GB allocator.
- Make sure that blocks ISA is made resident
- both blocked & non blocked path
- fix a bug where private surface was not made resident in blocked path.

Change-Id: Ie564595b176b94ecc7c79d7efeae20598c5874fb
2018-03-27 10:33:22 +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
Mateusz Jablonski
e3b1ba2112 Cmake refactor part 21
Add macro to simplify iteration for gens, platforms and test configs
Common usage:
1. Write macro "macro_for_each_platform", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER, PLATFORM_IT, PLATFORM_IT_LOWER
2. Write macro "macro_for_each_gen", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER
3. In macro "macro_for_each_gen" call "apply_macro_for_each_platform"
4. Call "apply_macro_for_each_gen" with gen type (SUPPORTED/TESTED)

When needed iterate over test configurations:
1. Write macro "macro_for_each_test_config", you can use variables from
   parent macro and SLICES, SUBSLICES and EU_PER_SS
2. In macro "macro_for_each_platform" call "apply_macro_for_each_test_config"
   with specified type (AUB_TESTS/MT_TESTS/UNIT_TESTS)

Change-Id: Icd537f409a224a1ffade1874065f8fee66189350
2018-03-26 17:51:34 +02:00
Koska, Andrzej
dd21164b3e Adding the last character in a null terminated string
Change-Id: I4a9cad0974c8b9f1474e79e5c3d78b88dd4b004c
2018-03-26 16:45:22 +02:00
Dunajski, Bartosz
dcce788ace Enable KMD Notify mechanism on Linux for BXT,CFL,GLK,KBL
Change-Id: I361237055a11037aac5c0b0c07b83be4884de8f4
2018-03-26 15:43:28 +02:00
Chodor, Jaroslaw
d65128d4e8 Refactor around sharings
- exposing additional handles in common code
- adding proxy for CreateEvent (windows)

Change-Id: I90872682c6c518c98d9d43e79f5112ee869e94aa
2018-03-26 15:32:25 +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
Cetnerowski, Adam
7b1fd38fe6 Enable OpenCL 2.1 in Broadwell
Change-Id: I99931f8430712d33e3155a5d1589befd9be7693a
2018-03-26 13:27:51 +02:00
Dunajski, Bartosz
b2cca4c6ca Improve gmock usage: Remove default ON_CALL from MockGmmResourceInfo
Change-Id: I2d85e7b0cf61f3ebb735d2d1cd5b46ec560436b6
2018-03-26 11:34:57 +02:00
Mrozek, Michal
6c1a869546 Optimize memory management in ULT.
- limit the amount of atomic reads
- change debug callback code to not test atomic
- change logic of seeing if we are within limits.

Change-Id: I67e6cf0558f2db60a50bf3ecdf7287d345bf50ae
2018-03-23 19:58:40 +01:00
Dunajski, Bartosz
5389d4d859 Revert "I915_EXEC_DATA_PORT_COHERENT support"
This reverts commit 933312e098.

Change-Id: I70a48a80c5d06455570dc2a97b99e1fb5edd7c08
2018-03-23 17:22:50 +01:00
Dunajski, Bartosz
656fc9beff Fix sporadic fail in ULT
Change-Id: I8b8c67d4ea1189f1895c8d606e4afd745933f0e9
2018-03-23 17:14:34 +01:00
Mateusz Jablonski
575d1bf381 Cmake refactor part 20
set global properties with runtime sources, libult sources and
os interface tests

Change-Id: I9a84edf2f021b4581a16c19c7dbb0b2f94c33f4d
2018-03-23 15:51:12 +01:00
Hoppe, Mateusz
ed30f6e55f Read-only memory allocations handling in Wddm
- return InvalidHostPointer when createallocation
fails with NO_VIDEO_MEMORY

Change-Id: I6946eeb04d3a191550478e1d26a6ce0c32b75c34
2018-03-23 14:30:00 +01: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
Mrozek, Michal
d7fe01454b Make sure that gtpin callbacks are not executed in enqueue path.
-This is to make sure those functions are not called when gtpin is not used
-This preserves CPU instruction cache pollution.
-Our enqueue path needs to be as thin as possible, even with this small change
there is visible gain in ULT execution time.

Change-Id: I44cc2144754cda95ca1fe058184cd8a151b8d35c
2018-03-23 12:54:17 +01:00
Dunajski, Bartosz
93cb7be091 Kmd notify improvements [3/n]: Fix sporadic in ULT
Change-Id: I1e326e7514d4d7d14cb1051b50105cbc418e325c
2018-03-23 10:50:42 +01:00
Dunajski, Bartosz
ef1f5a03a2 D3D sharing: set isRenderCompressed for all 2d and 3d textures
- Dont check if resource is shared
- Check only gmm allocation capability
- Add missing support for 3d textures

Change-Id: I989533549087db74d5c238d639055462d5fea604
2018-03-23 10:21:42 +01:00
Maciej Dziuban
aa727b3bcc CapabilityTable adjustments part 1
- Extract hw_info_config.h from Linux directory
- Extract enabling HwInfoConfig from Linux directory
- Create dummy implementations for HwInfoConfig on Windows

Change-Id: Ic9c7525ba9d9b654f238fb661cdbb3eecc421e29
2018-03-23 09:37:39 +01:00
Dunajski, Bartosz
0e41bc7f71 Enable KMD notify on Linux for BDW and SKL
Change-Id: I465c7610cb03860a28a7246e376ea8183d2aee9b
2018-03-22 22:11:29 +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
Mateusz Jablonski
c0a8522eb1 Cmake refactor part 19
- create new object library igdrcl_libult_env
- move sources shared between igdrcl_tests, igdrcl_aub_tests and
  igdrcl_mt_tests to igdrcl_libult_env
- partially cleanup unit_tests/mt_tests/CMakeLists.txt

Change-Id: I4f4bbfa5649d84d79133b9d5c9bd137c68b7d82e
2018-03-22 16:30:15 +01:00
Zdanowicz, Zbigniew
5052c07f5e Use gen type to disable debug kernel generation on gen8
Change-Id: I7cf4e9e4bdb6853f490616194abf090639f7371e
2018-03-22 14:36:52 +01:00
Mrozek, Michal
5d3d3ff0e7 [16/n] Internal 4GB allocator.
- simplify os agnostic memory manager
- remove pointer map
- move cpuPtr allocate logic to graphics allocation
- do not release tag allocation while injecting memory manager
- remove not needed ref count from Memory Allocation

Change-Id: I6ad81ee919c9cde939bc754a9dfc2db7568397d2
2018-03-22 09:26:19 +01:00
Dunajski, Bartosz
516082e7c5 Kmd notify improvements [1/n]: Quick KMD sleep optimization
- KmdNotifyProperties struct for CapabilityTable that can be extended by
  incoming KmdNotify related optimizations
- Quick KMD sleep optimization that is called from async events handler
- Optimization makes a taskCount check in busy loop with much smaller
  delay than basic version of KMD Notify optimization

Change-Id: I60c851c59895f0cf9de1e1f21e755a8b4c2fe900
2018-03-21 20:41:33 +01:00
Zdanowicz, Zbigniew
029094437a Change identification of gen families from number to type
Change-Id: I780528aeb2572fc95d8cd9a20eba26687156726b
2018-03-21 19:22:46 +01:00
Woloszyn, Wojciech
ce2f1468b7 Implement cl_khr_mipmap_image [2/n]
- Add mipmap handling for clEnqueueCopyImage
- Add mipmap handling for clEnqueueCopyImageToBuffer
- Add mipmap handling for clEnqueueCopyBufferToImage
- Fix typos

Change-Id: Ie1a23b1699135afa17fe11bcba3c1e8bdf9a3dd9
2018-03-21 17:04:12 +01:00
Woloszyn, Wojciech
0ad81024b7 Implement cl_khr_mipmap_image [1/n]
- Add mipmap image handling for clEnqueueReadImage, clEnqueueWriteImage
- Fix mipmap image handling for clCreateImage

Change-Id: I42938a330b55c7e69a16c26dce3ab5d66f8a8938
2018-03-21 10:51:13 +01:00
Hoppe, Mateusz
eec43f65a7 Free allocated BOs for read-only user pointer
- when pinning fails with EFAULT due to read-only memory
used for allocation (BO), mark the allocated fragments
to be freed, as cpu copy will be used.
- prevent possible leaks

Change-Id: I200ba276da5e3a8557df28fe2e411ef30d69a86a
2018-03-20 17:31:18 +01:00
Hoppe, Mateusz
1e81426599 Disable generation of kernel with kernel-debug-enable flag
- generation temporarily disabled for gen8 platforms only
- unit tests using the pregenerated kernel modified accordingly

Change-Id: I304a796836c823d222e60c44a78fc7f4b03b8a73
2018-03-20 16:18:09 +01:00
Jobczyk, Lukasz
37443c19a2 Fix enqueueWriterImage and enqueueReadImage test
- set proper regions
- fix typos
- set proper expectations

Change-Id: I3d57cb7e3f9273fe7515f6bb7fb3beaa10e969eb
2018-03-20 15:59:33 +01:00
Dunajski, Bartosz
94033a1c51 Update FlushStamp for output Event on CPU data transfer operations
- Previously only taskCount was updated
- This improves KMD notify usage for Events handled asynchronously

Change-Id: I283982890579254033557de0e1cef2239c0035e2
2018-03-20 15:29:35 +01:00
Napiatek, Henryk J
a4fc00a78c Make sure that stopping Deferred Deleter is thread safe
Change-Id: Iaf4cf4f7291a5a87f7199ee86b4fc116acdc18c0
2018-03-20 14:04:23 +01:00
Hoppe, Mateusz
5df8697100 Kernel Source Level debugger support 3/n
- debug kernel tests
- removed bti and debug sip surface size from sip kernel

Change-Id: I25b8668df0e29e70a5b8d21828dc36ab3ba4fded
2018-03-20 13:50:26 +01:00