Commit Graph

292 Commits

Author SHA1 Message Date
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
2119d5db08 [13/n] Internal 4GB allocator.
- Add common function for all memory managers to obtain internal heap base.

Change-Id: Iacdaaf598e8786dad046b3f4550f9c80ce3f15d9
2018-03-12 16:19:24 +01:00
bc08ecdcea Drm: getparam helper function
Change-Id: I4ecb1082f5e00087e8993f0d9e93dee9a23b6140
2018-03-12 15:26:37 +01:00
78bf486bfb Turn on EnableDebugBreak by default and infrastructure update
Change-Id: Ie7e12a7e1509f0a7a5962e97042dca8fa714d132
2018-03-12 14:05:16 +01:00
8254d6a081 Ensure that submissions are flushed prior to csr destruction.
Change-Id: Ie04de561d3d295f40f55a19f01274d873d259abd
2018-03-12 12:54:47 +01:00
3d139c204e Remove unrecoverable.
Change-Id: I4f8db72668d8d36a68f46a591ee0823b35e41fb7
2018-03-09 16:20:28 +01:00
6956c59436 Remove obsolete DEBUG_BREAK_IF
Change-Id: Ia3622076256784587db61db24ac888dab62dfec6
2018-03-09 15:31:58 +01:00
38c352d044 [12/n] Internal 4GB allocator
- allocate graphics allocation for sip.

Change-Id: I18f12251d3ce812d53cc1c8c78079a9ba3fd3b3d
2018-03-09 14:19:06 +01:00
12b7c551d8 use ADAPTER_INFO in one method only
size of structure can vary. Create single point of conversion to extract
required data and store them in Neo specific structures.

Change-Id: I822ec633014aa7394cbd626ecbc275e32e61cf60
2018-03-09 12:30:05 +01:00
2bb64b2d11 [11/n] Allocate graphics allocations during processKernel.
- This ensures each kernel has ISH set up after it is created.
- refactor freeBlockPrivateSurfaces to freeBlockResources, this is to properly
clean allocations for blocks
- Add method cleanCurrentKernelInfo to avoid code duplication in KernelInfo
cleanup

Change-Id: I01f155d434579fe5ce2675bc4e89b04628ef8158
2018-03-09 11:13:08 +01:00
bdfd90bcf1 Move function definitions to cpp file.
Change-Id: I5e4d41d9ccb5ee0502fd628be16a8a810f9534a3
2018-03-09 08:45:12 +01:00
08c2379f6e Validate region and origin for all image API calls
Change-Id: I28782d8838cf8f5d800f76c922fcb59235f637a1
2018-03-09 08:24:25 +01:00