Commit Graph

409 Commits

Author SHA1 Message Date
9a45087dab Move Known Issues and Limitations to documentation directory
Change-Id: I0c198b1d41046a991adf3c6dd38d70f2390d0365
2018-02-20 11:06:50 +01:00
1292c3d533 Improve thread arbitration policy programming
Change-Id: Ibd764352e14d1a5112034b1c5a1fc6d6d67ebac0
2018-02-20 11:05:54 +01:00
67c8d7a9ca properly link with instrumentation_umd
Linking is required for igdrcl_dll target only. Not needed for static
library. This reduces scope of targets where library is required.

Change-Id: Ie48ce1f299ef9d4e484081fe87254869c72ca042
2018-02-19 20:37:20 +01:00
261a2ee865 Extract mocks into separate library
Change-Id: I37204fd192f7a74f29cfbe79632c975fc98f20ea
2018-02-19 19:42:42 +01:00
c135bd4c42 CSR HW with AUB dump to accept images with no host ptr
This commit enables AUB dumps in scenarios with images with no host ptr
when resource lock is required to get CPU address and dump image contents.

Change-Id: I996efc5f520d0ac7b470870f7b4eeb9d2ef7b25b
2018-02-19 19:09:35 +01:00
ca33e029b7 Fix profiling calculation for CPU profiling path.
-There was a precision problem with timestamp calculation, all math was using
integers which are not very precise in overflow scenarios
-Change the logic to use doubles and cast back to uint64_t at the end.

Change-Id: Ia08d504a90a43df7330f398af966535ed944650d
2018-02-19 19:08:23 +01:00
063e9623ba cleanup around MockGmmStatus
remove not needed global variable from mock device and refactor gmm
context initialization for ULTs

Change-Id: I594938a7df7dfaaf7a3cf73f8a13ad85a7b58401
2018-02-19 18:58:20 +01:00
c5517459a7 Move build instructions to documentation directory
Change-Id: I6e862c4e056fb9add7cb9f926d724456a802f6d0
2018-02-19 16:02:27 +01:00
1e422813b8 Externally synchronized event
Adding support for externally synchronized
events inside async events handler

Change-Id: Iddc5d3ae25577b792d197aa5b5857618201a3449
2018-02-19 16:01:29 +01:00
c996bad881 Fix build error
Change-Id: I609e221fbf68cca23a9fb24ca119b428a0b2cee0
2018-02-19 14:30:26 +01:00
9d45b5066b Change unrecoverable to debug break.
- For applications that are creating user event holding command driver adds
reference count on kernel used for this command
- If such user event is never signaled we will get unrecoverable hit at
device cleanup

Change-Id: I2d7a0254f5ff0e2d97dcfc22ee8ac0bf54a31f48
2018-02-19 13:12:56 +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
a99d951c55 clGetPlatformIDs should check if platform initialization was successful
Change-Id: I3e9d78155e6a914ed0d755d81ddc13c4d3a8a291
2018-02-19 12:12:29 +01:00
5909a6b3d3 Add support for GT-Pin Callbacks [3/n]
Change-Id: Iea4b49efc9a666fde310ece15a9c69686d22f627
2018-02-19 10:43:19 +01:00
3e9a43fcb3 Add missing word to the license section
Change-Id: I7f83aa3890453a96a9a3f9cf42b1b948c81c7d4b
2018-02-19 10:30:21 +01:00
89627bd81e fail platform initialization when no device found
Change-Id: I76c8e12cd908be36cd8747346c6e543e3b748933
2018-02-16 16:53:37 +01:00
e738e6aa48 Hint for map/unmap when queue is blocked
Change-Id: I8b2c79fac77325e26e2ead663177cef09b17e00b
2018-02-16 15:57:44 +01:00
1f35f51b5e move VariableBackup to helpers
this is used in more places, not only va sharing

Change-Id: Idb6430d47e387e449ce5f4ff728be7e1e57b18eb
2018-02-16 14:39:37 +01:00
c9180fec65 create infrastructure for gen specific performance counters
Change-Id: I6ef471ade14ce27b6e5949726b57453a6fe69abc
2018-02-16 12:13:30 +01:00
d7687e32c4 small cleanup around Linux specific ULTs
- move main file to linux/ folder
- don't use default listener. follow main ULTs behavior

Change-Id: I236a42eef9d7bb3f61112f847aec7fc3e9f7873e
2018-02-16 11:46:29 +01:00
430c991179 Cmake refactor part 4:
Move scheduler binary target definition to scheduler/scheduler_binary.cmake
Move builtins binary target definition to built_ins/builtins_binary.cmake
Move builtins and scheduler sources definition to CMakeLists.txt files

Change-Id: Ieb71133f4238b4db66a46c1bd01d6a8e5abaf0f7
2018-02-16 11:43:20 +01:00
86bb715b95 HostPtr surface makeResident must be called once
Change-Id: I9cb04e3affdd8b8634466621b50326a088ecdcf9
2018-02-16 11:11:37 +01:00
f9254c8de6 Add new performance flag to steer NoRingFlushes CreateContext flag.
Change-Id: I51426c1c51a1e4133f9bcc3127ecdc5af51048cd
2018-02-16 10:47:24 +01:00
e0ca78ccea Map/unmap enqueue fixes [3/n]: Map params inconsistency
- Introducing MapInfo struct which will be used as container for multiple
  map operations
- Unified mapped offset and size for Buffers and Images
- Fixed incorrect map params for CPU and GPU path
- Missing API level checks


Change-Id: Ib4077c9e2c0c333b131ffd5ccbc4a1404920eb5b
2018-02-16 08:28:29 +01:00
a95e7c67a3 Instrumentation refactoring
- Tweak naming

Change-Id: I37e6a5c5553a4b0fb6d51891d193cae435f9abe6
2018-02-15 23:58:24 +01:00
31e974c3c9 cmake: refactor to improve instrumentation handling
Change-Id: Ic036c4c70590968ba3905dcc0d1c2eb0fc481a01
2018-02-15 16:33:10 +01:00
dfbde1d506 Change layout of AubDump structure
Change-Id: Ib99aabcf835807decc1ea3898f8b2f4e2655e20d
2018-02-15 14:54:42 +01:00
87ed3d4fff Improve page table manager initialization
Change-Id: Ifdd74bf93a93fcdecaae5b1276c0fa83a9664987
2018-02-15 13:31:50 +01:00
4f270223d1 added license file
adding because github can handle this file and show license type on
repository level

Change-Id: Iec390eef4008eab8dcfbb611cc31517563efde5c
2018-02-15 11:05:43 +01:00
acb044dce3 Fix DC flush programming in non concurrent scenarios.
-If out of order flag was disabled then pipe control was not having dc flush.
-This could led to a batch buffer that doesn't end with dc flush.
-This change adds differentiation between pipe controls that may be erased and
pipe controls that are used as a part of epilogue command

Change-Id: Ic9c970c75c89ff524a0e40506eff6dd097760145
2018-02-15 09:42:11 +01:00
2d0af9d4a4 Make sure that local workgroup size is properly passed for IOH estimation.
Change-Id: I0ad5da4fffd1575f64d44803ce8eb4a6a0ab1532
2018-02-15 07:57:39 +01:00
8a5b0ee518 Debug variable must override HardwareInfo capability at DeviceFactory
RT must override engineType at DeviceFactory, since Wddm CSR uses HardwareInfo
at its ctor.
AUB tests must override engineType at Device ctor since they bypass
DeviceFactory.

Change-Id: I73e4066e9b16aed0410fe39a82726d3baea2e67f
2018-02-14 17:29:30 +01:00
4e6fe62eb6 Convert FALLTHROUGH comments to C++17 [[fallthrough]] attribute
Use conditionals and a macro to avoid provoking compilers that do
not support this attribute.

Adds a macro named CPP_ATTRIBUTE_FALLTHROUGH which is invoked right
before a following case statement to declare that the intent is to
fall through.  Example:

    ...
    case xxx:
       ...
       CPP_ATTRIBUTE_FALLTHROUGH;
    case yyy:
    ...

The gcc/clang alternative of adding comments that contain "FALLTHROUGH"
suffers from the problem that *by default* ccache strips the comments
so that they are not present for the real compilation.

Change-Id: I77ddeb7dae46db8398b014a93f6a71bedc64ada9
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
2018-02-14 07:08:00 -08:00
45dedb37f3 For HostPtr surfaces of enqueue calls use GPU address
Change-Id: I67bf5076d23d43438f5e82c5cb6cbd3b9ed2f152
2018-02-14 15:44:27 +01:00
7198c604f9 infrastructure update
Change-Id: I1087b9c75dc88874f11af607cd505ca3e9825b3c
2018-02-14 14:41:34 +01:00
94c996a452 Provide hint when create zero copy image
Change-Id: I526a81e0d14daba98574575e8c945214b0bda810
2018-02-14 12:56:04 +01:00
92198537a6 enable gcc7 with address sanitizer
because of deffered deletion some variables are dereferenced after
leaving test scope. this causes invalid stack memory accesses reported
by GCC 7.

Change-Id: I183be8ec3c815a41a75a1f71635d9afb560c7457
2018-02-14 10:37:22 +01:00
56b34ee49f properly set default value of CMAKE_BUILD_TYPE
Simple set() is not enough because this variable is created with empty
value after cmake starts. We have to force setting value and store in
cache.

Change-Id: I0d018ebe3a9a0a65f6fae5313853857913d84bf7
2018-02-14 08:15:33 +01:00
13d04e4623 Update manifest
Change-Id: I21cb231e34a702ef55eb84f0af53b7ed1bc31e59
2018-02-13 16:50:09 +01:00
4f2a05ac88 Map/unmap enqueue fixes [2/n]: CPU operations on limited range
- Curently each non-zerocopy CPU operation on map/unmap make a full copy
  using hostPtr
- This commit adds functionality to select specific range of copy
- Multiple mapping with different size is not supported yet,
  so copy will be made on full range for now. This is for future usage.

Change-Id: I7652e85482ba6fffb2474169447baf9b080dcd1e
2018-02-13 16:29:01 +01:00
ff44e9922d Used ratified Khronos extension names
Change-Id: I15b62b6f5fb805efedec5cd9e14215a94d97c8f6
2018-02-13 13:33:27 +01:00
82a2afb611 Improve DC flush handling.
-Do not flush dc for every command in batched mode
-Do that only in immediate mode
-For commands that needs DC do not noop pipe controls
-Ensure that each command buffer in batching mode ends with dc flush.

Change-Id: I3cd9d1831c19b69c66092687922f20df7e330245
2018-02-13 11:37:11 +01:00
85f890690d Refactor preemption methods
- moving primary template definitions to preemption.inl

Change-Id: Ia54c652503a6272c55800e5ba59b94ef21fa2a19
2018-02-13 11:35:24 +01:00
d563059c14 Remove redundant code from flushWaitList.
Change-Id: Iab4cb856ce324a785b052b8638ef23aef43c9bc9
2018-02-13 10:40:33 +01:00
d6b5433f14 Lower Windows minimal address to 16kB
Change-Id: I138438943d438ace0b5d76e04f3af8d9541d532a
2018-02-12 18:04:56 +01:00
333af8349e fix instrumentation handling in cmake
some set() statements were constructed incorrectly. we shouldn't
dereference variable when setting its value

Change-Id: Idc9d60fa87a4364f2b2583d21d53cc0b6f5560d9
2018-02-12 17:30:49 +01:00
099d6e5f74 Update build instructions
Change-Id: Ied80d0e7b7adecfc8abe6fc309cb69883ebfffab
2018-02-12 17:18:19 +01:00
5a175cf1cf Override engine type used by device in Device ctor
AUB tests do not use DeviceFactory class to create Device objects but still
need to have a functionality to override default engine type

Change-Id: I6841cb0a9c5726ac4308c742c78cf7a61829f168
2018-02-12 16:50:35 +01:00
b5dab07aa2 Do not allow out of order execution for shared objects.
Change-Id: I2dbbd8f09485bd894774eb2c4548326475a41221
2018-02-12 10:36:23 +01:00
72b78d15ee Map/unmap enqueue fixes [1/n]: Unify Buffer and Image paths
Change-Id: I59bf18072c15367ff6caec5dbdc1350ea2d93281
2018-02-09 17:35:03 +01:00