Commit Graph

403 Commits

Author SHA1 Message Date
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
eb6c8aeec9 Improve debug breaks in getDeviceState()
Change-Id: I8a8e1012e812dde8f4e5df54699aa1fc4a0ee070
2018-03-27 10:58:02 +02:00
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
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
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
dcce788ace Enable KMD Notify mechanism on Linux for BXT,CFL,GLK,KBL
Change-Id: I361237055a11037aac5c0b0c07b83be4884de8f4
2018-03-26 15:43:28 +02:00
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
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
7b1fd38fe6 Enable OpenCL 2.1 in Broadwell
Change-Id: I99931f8430712d33e3155a5d1589befd9be7693a
2018-03-26 13:27:51 +02:00
b2cca4c6ca Improve gmock usage: Remove default ON_CALL from MockGmmResourceInfo
Change-Id: I2d85e7b0cf61f3ebb735d2d1cd5b46ec560436b6
2018-03-26 11:34:57 +02:00
5389d4d859 Revert "I915_EXEC_DATA_PORT_COHERENT support"
This reverts commit 933312e098.

Change-Id: I70a48a80c5d06455570dc2a97b99e1fb5edd7c08
2018-03-23 17:22:50 +01:00
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
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
e035996fcc Adding configurable windows dll exports file
Allows having a single .def file template while supporting
dynamic concatenation of exported functions to the list

Change-Id: I5186f2f028092bad7e2968b96062edd96454d81d
2018-03-23 13:24:48 +01:00
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
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
93cb7be091 Kmd notify improvements [3/n]: Fix sporadic in ULT
Change-Id: I1e326e7514d4d7d14cb1051b50105cbc418e325c
2018-03-23 10:50:42 +01:00
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
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
0e41bc7f71 Enable KMD notify on Linux for BDW and SKL
Change-Id: I465c7610cb03860a28a7246e376ea8183d2aee9b
2018-03-22 22:11:29 +01:00
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
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
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
029094437a Change identification of gen families from number to type
Change-Id: I780528aeb2572fc95d8cd9a20eba26687156726b
2018-03-21 19:22:46 +01:00
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
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
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
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
a4fc00a78c Make sure that stopping Deferred Deleter is thread safe
Change-Id: Iaf4cf4f7291a5a87f7199ee86b4fc116acdc18c0
2018-03-20 14:04:23 +01:00
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
7e2fa723a5 Cleanup casts and memsets in linux code
Change-Id: Ie7ed0232a2974152fde13438aeb0830d43eddf2a
2018-03-20 11:02:14 +01:00
933312e098 I915_EXEC_DATA_PORT_COHERENT support
- new mechanism to switch coherency at exec level

Change-Id: I3e9cca2141822828be7d44e858e8fe2c258efbfa
2018-03-20 10:44:37 +01:00
18eb0b5e64 Kernel Source Level debugger support 2/n
- adding kernel debug option to build program
- program tests refactor
- pregenerated debug kernel for ULTs

Change-Id: I00152639148fd48c4f709dc7cd9c46392df567c8
2018-03-19 10:26:45 +01:00
507544a999 add i915 uapi headers
Change-Id: I8b19ebc56c5aa394758177641b2946f7fca13eff
2018-03-16 17:30:48 +01:00
f5fed65cb4 Cmake refactor part 17
Cleanup igdrcl_mocks and mock_gdi

Change-Id: I3cb24214c1857b9ec16680b8581f385fc5657349
2018-03-16 16:00:37 +01:00
7644209288 Add debug flag to dump dispatch parameters.
- Also refactor debug manager tests , they now check for default value
in igdrcl.config file
- There is no need to write dedicated tests now , so I remove them.

Change-Id: Ib338ca05b6059302c29469c673239e7886dc4b9b
2018-03-16 11:13:35 +01:00
76dd4ac1f3 service read_only memory passed to CreateBuffer
- only when cl_mem_flags allows for read only memory
and USE_HOST_PTR is used

Change-Id: Id023f9cb551f7d81ec680de9cc546005980e6f75
2018-03-15 18:29:38 +01:00
385fcdb7ca Fix Linux Global Mem Size computation.
- we need to use getContextParam instead of get aperture size.

Change-Id: I83f39654019ef63eb5fc59566c013ffd5cb5ba25
2018-03-15 17:42:56 +01:00
059104adef Fix for double scheduler compilation.
Change-Id: Ia265686354b288dc4817909f58680e1824079ad2
2018-03-15 15:55:35 +01:00
c0d3eade30 Disable wait timeout when flushStamp is 0
Change-Id: I416ace1f8c1a3e5aa91d9bc2425a4faa77e2fbe7
2018-03-15 15:44:17 +01:00
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
756aafe3dd Fix indexing of allocated bos in populateOsHandles
- when fragment is already allocated, allcoating is
skipped and index is incremented,
separate index must be used for allocated bos array

Change-Id: I856a99ba4ebdad5375829a43d721c7e1490b18d3
2018-03-15 12:13:29 +00:00
bd0362990b [16/n] Internal 4GB allocator.
- Make sure that kernel allocation is deleted asynchronously.

Change-Id: Ia98ae9fdbd56c7de82f92d62e0395ef181ebceef
2018-03-15 10:40:39 +01:00
d6cc695c9c cmake: properly set variable inside function
Change-Id: I6a7060077dd9deced16ac031b8242c3e5a78e679
2018-03-15 08:50:40 +01:00
93fc48339b [15/n] Internal 4GB allocator.
- Make resident on kernel ISA for blocked and non blocked path.

Change-Id: I1fc4948f1abb73c6f7028ae15dccad820101b8dc
2018-03-14 15:04:30 +01:00
a1a20a3b34 Service read only memory passed as host_ptr
- read only memory cannot be used for allocation,
Oses cannot create graphics alocation for such memory
- if memory allocation fails for host_ptr passed
to enqueueWrite calls, then try doing new allocation
and copy host_ptr on cpu

Change-Id: I415a4673ae1319ea8f77e53bd8fba7489fe85218
2018-03-14 13:16:36 +01:00
36a8bd8878 Cmake refactor part 14
cleanup unit_tests/aub_tests/CMakeLists.txt
cleanup unit_tests/elflib/CMakeLists.txt
cleanup unit_tests/libult/CMakeLists.txt
cleanup unit_tests/tbx/CMakeLists.txt
partially cleanup unit_tests/CMakeLists.txt

solution source tree changes:
 - make test projects folder as variable
 - make platform specific targets folder as variable
 - move platform specific targets to \"test platforms\" folder

Change-Id: Iff7da009e13c3ac9e5af76325be32e5056e8cd7b
2018-03-13 13:40:42 +01:00
00ae077913 [14/n] Internal 4GB allocator
- call make resident on sip kernel allocation.

Change-Id: I9c9af5ed4cec3e8b05decac7228658358ef1562b
2018-03-13 10:29:50 +01:00
cc6fa3d1e1 Kernel source debugging support 1/n
- new patch token
- program debug compilation flag
- sip kernel new methods for querying bti and debug
surface size

Change-Id: Icaddd15f269c4b76efdf926f2e346aa61cbaae02
2018-03-13 08:01:29 +01:00
0ef0d6fc52 includes cleanup
Change-Id: Ibd4f5bfc2816c538f846dd7baf2e90005f8790f0
2018-03-12 21:23:29 +01:00