Commit Graph

35 Commits

Author SHA1 Message Date
96e3163386 Prepare to use gmm dynamic lib on Linux
Change-Id: Ie1b0c8fe13c4e044f1f2b0651349840d2850f423
2018-07-19 01:04:52 +02:00
36db75da28 Create gmm client context wrapper, reduce mock_gmm
Change-Id: I4eec4366afeb175fea4bf7934e3046b50fe30fe9
2018-07-17 11:46:04 +02:00
e18e9fb94e Move static methods from Gmm to new GmmHelper class
Change-Id: I84fbe94f0e1072324164086b456c71a46ae5040c
2018-06-27 16:46:09 +02:00
c238a4d31e Add support for Cannon Lake (Gen10) platform
Change-Id: I0e63960887cdae9ba74c1ba91ad27101e22b458a
2018-06-25 15:48:12 +02:00
bc2403acfd allow IGC to be discovered by pkg-config
New detection flow:
1. check for IGC__IGC_TARGETS and respect if defined -> IGC available
2. on Linux try using pkg-config to find IGC
   - package can be part of workspace, in this case we have to tweak
     some variables
3. check whether igc folder contains CMakeLists.txt and do
   add_subdirectory if yes.
4. IGC not available -> fail

other changes:
- rename compiler.config to match name from IGC devel package

Change-Id: I6c2369f8b83db66327d76c9b08af833736e8a3f9
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-06-20 13:13:58 +02:00
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
cc9e5a7943 Restore using compiler.config.h
define source level debugger dll name when it has empty implementation

Change-Id: I2a0938c8418da161f214735644f00f7873540f75
2018-06-12 17:02:51 +02:00
5007c60a03 Generate dll names to lib_names.h
Remove some not needed ifdef blocks

Change-Id: I29f787bde819a2f19312dd5713df0d4534a47cd8
2018-06-11 18:00:56 +02:00
98b8b4b6a4 Prepare to use gmm as dll on Windows
Since this commit neo on Windows can use static or shared gmm lib

Change-Id: I7db70d7f9bc969e8193ac77e8b6d65ecc57d0093
2018-06-08 17:35:01 +02:00
71b844f522 Wddm interface [7/n]: Add 2.3 interface with HW queue support
Change-Id: Ia0e829b8616b7060e39170aea0f1d2f123d73399
2018-05-24 10:26:58 +02:00
08faa004aa Linux dll tests: test turbo patch only on supported platforms
use deviceId from first entry in deviceDescriptorTable as default deviceId
correct using simplified mocs table

Change-Id: I3a6e7cd599912380d48937767f201b44ee98e391
2018-05-21 21:17:12 +02:00
e4857867a9 Wddm interface [4/n]: Make 2.0 default version
- Create Wddm20 interface by default for runtime and ULTs
- Add Windows dll test for Wddm creation

Change-Id: Id0a1b86e68112c31078b6965c647a5218790150f
2018-05-15 09:16:28 +02:00
bab9ad6cda Wddm interface [3/n]: Improve constructing Wddm object
- Only Wddm object owns Gdi
- Dont pass Gdi object to constructor
- Move Wddm related files to new directory

Change-Id: Iadd26634c7692db760d7d3367211c32d2c2c8121
2018-05-10 17:14:25 +02:00
2bc2869fe1 Refactor ult's for preemption enabling part 2
Change-Id: If8e335e87f3a78d35cab12a17880fb1922d479f5
2018-05-10 13:12:03 +02:00
5fbdad88c6 refactor config.h usage
- add defines to command line
- remove most occurences of include "config.h"

Change-Id: I19d65d83c895fc6143d319d057a50e5ae3e78830
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-26 10:02:15 +02:00
09401632b7 Additional KBL device ID
Change-Id: Ibc917b98030254b15709a8d427931171fbc1117f
2018-04-24 11:50:43 +02:00
efda64eb4a Source Level Debugger - debugger library interface
- interface to debugger dynamic library
- code is included when source level debugger header exists,
otherwise implementation is exluded from build
- unit tests do not load real dynamic library,
instead test version (DebbugerLibrary) of OsLibrary is used.

Change-Id: Id3229c77963352e8001043ee41b7d48c6b180a59
2018-04-23 11:31:37 +02:00
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
86e000f67a Do not use simplified Mocs Table on gen8 devices.
- On gen8 devices we are not using index to control caching, but we program
caches directly
- In such case we need to rely on values reported from GMM instead of using
Kernel Mocs indexes.

Change-Id: I6c030847509d8f39f63ac98ebd3ebd0b0907e625
2018-04-10 15:43:40 +02:00
9700c9bc42 Add missing devices IDs in master branch
Change-Id: Ie73cf42f1d7ef6bb414630016d85e27038fab03b
2018-03-30 14:41:51 +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
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
c6441eba9b Cmake refactor part 10
Cleanup cmake files in runtime dir
Add missing files to solution

Change-Id: I5d0cf8b658039f7bdf21681ac6e3750a5699d311
2018-03-08 15:35:25 +01:00
d1aa5f978d Cmake refactor part 6
Add macro to add all subdirectories
Add macro to create project source tree based on target sources
Small cleanup runtime/CMakeLists.txt

Change-Id: I9b99145c544f648c4c3fe7421752d0c5d9504edf
2018-03-02 00:39:41 +01:00
679827ca21 Rename CMAKE_SOURCE_DIR to IGDRCL_SOURCE_DIR in source definitions
Change-Id: Ie889589edeee6b7eb922360339450fd01cc278af
2018-02-27 17:58:24 +01:00
386675480f Cmake refactor part 5
Move os_interface and dll source files definition to cmake files
in subdirectories

Change-Id: I6baa5ac0cbc64d0a4a9fe9541f0c3b730c9a2119
2018-02-27 14:31:48 +01:00
b055265549 Missing device IDs: 10x BDW, 6x BXT, 2x CFL
Change-Id: I223006c9ca65e44cfd4042e6d933f331a156d278
2018-02-27 11:35:48 +01:00
c50054f787 enable interoperability with ocl-icd
according to spec we have to export clGetPlatformInfo API entry point
for Installable Client Driver (ICD) to work.

on Linux it requires extra flag for linker to avoid loop in dispatch
table.

Change-Id: I2f6cf7da10e3a346c363d7bc94d9eff1eeb64895
2018-02-26 10:55:06 +01:00
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
3a305018ba GLK device ID support
Change-Id: I6cceb83739b39b6e97fa3c2d938739b204e23f22
2018-02-08 08:45:34 +01:00
bdee42ca16 devices.m separation for Linux
Change-Id: Ia8e430db4dfcefc1b19e23e9cd7113bf87f0a7af
2018-02-06 15:24:20 +01:00
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
6b368803fc Add support for legacy kernel MOCS selection.
- Detect if driver is operating on patched legacy kernel.
- If turbo patch is detected, assume legacy custom kernel.
- Add simplified MOCS selection logic to GMM helper

Change-Id: I1ae821336205e473f00d72ddbfebee828427dfc7
2018-01-25 09:10:04 +01:00
1e78649540 Improve cmakefile when GT-Pin headers are absent
Change-Id: Ib947a3deee6dfb834476ac159c51a596ecc32530
2017-12-21 18:43:25 +01:00
7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00