Commit Graph

16314 Commits

Author SHA1 Message Date
Artur Harasimiuk 8d8f8d33e1 enable clang 4.0.1
Change-Id: I431eeaeb08a1d48f178bfdef65446ca0ebd15299
2018-02-20 17:44:34 +01:00
Cetnerowski, Adam 2ed68b341e LIMITATIONS.md, BUILD.md: cleanup and clarifications
Change-Id: Ibe18647c61a1410337bb9aade4a349c61ddb778b
2018-02-20 16:36:47 +01:00
Dunajski, Bartosz 5c7e50df48 Thread arbitration policy adjustments
Change-Id: I4bc5f421a68f564ac42a83019efce7a9c992636c
2018-02-20 16:35:26 +01:00
Dunajski, Bartosz f6825252fc Map/unmap enqueue fixes [4/n]: Return slice/row pitch
When queue is blocked on non-blocking call, map operation is added to
waitlist dependencies. Returning slice/row pitch for map image was skipped

Change-Id: I46f97590315e7aee7fbbfbdb615f383cdb666307
2018-02-20 14:30:35 +01:00
Artur Harasimiuk f805bd9741 perfCounters: querySize now depends on gfx core
Change-Id: I7ad493f87debd1c2c642f695f0e836f010c2aa0c
2018-02-20 13:04:54 +01:00
Cetnerowski, Adam 9a45087dab Move Known Issues and Limitations to documentation directory
Change-Id: I0c198b1d41046a991adf3c6dd38d70f2390d0365
2018-02-20 11:06:50 +01:00
Dunajski, Bartosz 1292c3d533 Improve thread arbitration policy programming
Change-Id: Ibd764352e14d1a5112034b1c5a1fc6d6d67ebac0
2018-02-20 11:05:54 +01:00
Artur Harasimiuk 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
Artur Harasimiuk 261a2ee865 Extract mocks into separate library
Change-Id: I37204fd192f7a74f29cfbe79632c975fc98f20ea
2018-02-19 19:42:42 +01:00
Milczarek, Slawomir 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
Mrozek, Michal 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
Artur Harasimiuk 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
Cetnerowski, Adam c5517459a7 Move build instructions to documentation directory
Change-Id: I6e862c4e056fb9add7cb9f926d724456a802f6d0
2018-02-19 16:02:27 +01:00
Chodor, Jaroslaw 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
hjnapiat c996bad881 Fix build error
Change-Id: I609e221fbf68cca23a9fb24ca119b428a0b2cee0
2018-02-19 14:30:26 +01:00
Mrozek, Michal 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
Milczarek, Slawomir 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
Artur Harasimiuk a99d951c55 clGetPlatformIDs should check if platform initialization was successful
Change-Id: I3e9d78155e6a914ed0d755d81ddc13c4d3a8a291
2018-02-19 12:12:29 +01:00
hjnapiat 5909a6b3d3 Add support for GT-Pin Callbacks [3/n]
Change-Id: Iea4b49efc9a666fde310ece15a9c69686d22f627
2018-02-19 10:43:19 +01:00
Caleb Callaway 3e9a43fcb3 Add missing word to the license section
Change-Id: I7f83aa3890453a96a9a3f9cf42b1b948c81c7d4b
2018-02-19 10:30:21 +01:00
Artur Harasimiuk 89627bd81e fail platform initialization when no device found
Change-Id: I76c8e12cd908be36cd8747346c6e543e3b748933
2018-02-16 16:53:37 +01:00
mplewka e738e6aa48 Hint for map/unmap when queue is blocked
Change-Id: I8b2c79fac77325e26e2ead663177cef09b17e00b
2018-02-16 15:57:44 +01:00
Artur Harasimiuk 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
Artur Harasimiuk c9180fec65 create infrastructure for gen specific performance counters
Change-Id: I6ef471ade14ce27b6e5949726b57453a6fe69abc
2018-02-16 12:13:30 +01:00
Artur Harasimiuk 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
Mateusz Jablonski 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
Zdanowicz, Zbigniew 86bb715b95 HostPtr surface makeResident must be called once
Change-Id: I9cb04e3affdd8b8634466621b50326a088ecdcf9
2018-02-16 11:11:37 +01:00
Mrozek, Michal f9254c8de6 Add new performance flag to steer NoRingFlushes CreateContext flag.
Change-Id: I51426c1c51a1e4133f9bcc3127ecdc5af51048cd
2018-02-16 10:47:24 +01:00
Dunajski, Bartosz 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
Artur Harasimiuk a95e7c67a3 Instrumentation refactoring
- Tweak naming

Change-Id: I37e6a5c5553a4b0fb6d51891d193cae435f9abe6
2018-02-15 23:58:24 +01:00
Artur Harasimiuk 31e974c3c9 cmake: refactor to improve instrumentation handling
Change-Id: Ic036c4c70590968ba3905dcc0d1c2eb0fc481a01
2018-02-15 16:33:10 +01:00
Zdanowicz, Zbigniew dfbde1d506 Change layout of AubDump structure
Change-Id: Ib99aabcf835807decc1ea3898f8b2f4e2655e20d
2018-02-15 14:54:42 +01:00
Dunajski, Bartosz 87ed3d4fff Improve page table manager initialization
Change-Id: Ifdd74bf93a93fcdecaae5b1276c0fa83a9664987
2018-02-15 13:31:50 +01:00
Artur Harasimiuk 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
Mrozek, Michal 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
Mrozek, Michal 2d0af9d4a4 Make sure that local workgroup size is properly passed for IOH estimation.
Change-Id: I0ad5da4fffd1575f64d44803ce8eb4a6a0ab1532
2018-02-15 07:57:39 +01:00
Zdanowicz, Zbigniew 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
Dale Stimson 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
Zdanowicz, Zbigniew 45dedb37f3 For HostPtr surfaces of enqueue calls use GPU address
Change-Id: I67bf5076d23d43438f5e82c5cb6cbd3b9ed2f152
2018-02-14 15:44:27 +01:00
Artur Harasimiuk 7198c604f9 infrastructure update
Change-Id: I1087b9c75dc88874f11af607cd505ca3e9825b3c
2018-02-14 14:41:34 +01:00
mplewka 94c996a452 Provide hint when create zero copy image
Change-Id: I526a81e0d14daba98574575e8c945214b0bda810
2018-02-14 12:56:04 +01:00
Artur Harasimiuk 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
Artur Harasimiuk 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
Kowalczuk, Jakub 13d04e4623 Update manifest
Change-Id: I21cb231e34a702ef55eb84f0af53b7ed1bc31e59
2018-02-13 16:50:09 +01:00
Dunajski, Bartosz 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
Jacek Danecki ff44e9922d Used ratified Khronos extension names
Change-Id: I15b62b6f5fb805efedec5cd9e14215a94d97c8f6
2018-02-13 13:33:27 +01:00
Mrozek, Michal 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
Hoppe, Mateusz 85f890690d Refactor preemption methods
- moving primary template definitions to preemption.inl

Change-Id: Ia54c652503a6272c55800e5ba59b94ef21fa2a19
2018-02-13 11:35:24 +01:00
Mrozek, Michal d563059c14 Remove redundant code from flushWaitList.
Change-Id: Iab4cb856ce324a785b052b8638ef23aef43c9bc9
2018-02-13 10:40:33 +01:00
Zdanowicz, Zbigniew d6b5433f14 Lower Windows minimal address to 16kB
Change-Id: I138438943d438ace0b5d76e04f3af8d9541d532a
2018-02-12 18:04:56 +01:00