Commit Graph

567 Commits

Author SHA1 Message Date
Mrozek, Michal b20bcb8b31 Move platform shutdown to destructor.
Change-Id: Ifeca1c5fe11d8e562b9f4641737b6bf1ac70aac6
2018-06-28 12:36:23 +02:00
Mrozek, Michal b7545f1401 Decrement context ref count as a last action in program destructor.
- There are various calls to device inside destructor.
- Memory manager is protected via device , which is protected by context.
- If context is destroyed it means that device may be destroyed, which means
that memory manager may be destroyed and we have a seg fault.

Change-Id: I2cb6a69790f53bf2c9fba89160078b009e105574
2018-06-28 09:01:51 +02:00
Mrozek, Michal 887df5a90d Add reference on device while creating a context
- Context uses device, it needs to make sure it exists.

Change-Id: I1aeaabc53b6198965dc8f4e6fa37585490774a3f
2018-06-28 08:53:23 +02:00
Zdanowicz, Zbigniew d447c8c951 Add trailing space to compiler extensions string
Change-Id: Ib9e2f33916dd1475defc60bfc297ef36fc87eb03
2018-06-28 00:38:55 +02:00
Dunajski, Bartosz e18e9fb94e Move static methods from Gmm to new GmmHelper class
Change-Id: I84fbe94f0e1072324164086b456c71a46ae5040c
2018-06-27 16:46:09 +02:00
Mrozek, Michal a95cca71e4 Device now adds dependencies on ExecutionEnvironment
- This allows for ExecutionEnvironment to live longer then platform after
its global destruction
- Device adds references to ExecutionEnvironment after creation
- When device is destroyed it removes the dependency causing the cleanup
- Platform upon destruction no longer destroys the device, but decrements
the internal ref count.

Change-Id: I22593ea44b2b50e3416575a9e97e3ce0a1f8b5c0
2018-06-27 16:37:29 +02:00
Kamil Diedrich 3b726b76ee Remove enabling preemption watermark
Change-Id: I2de768907193c8b2b104536ce9972743a2af7d92
2018-06-27 15:03:21 +02:00
Mrozek, Michal a21c0a0074 Add control on platform life cycle.
Change-Id: I5c24b41747d822b71dd57e9a949cf25fcc78a453
2018-06-27 10:09:26 +02:00
Koska, Andrzej 4a4ad6460c Revert: Setting the GpuAddress from a fragment in createGraphicsAllocation
Change-Id: Ifd0a26f58b748df5e43e57b4e0be6b94c2051890
2018-06-26 17:05:26 +02:00
Mrozek, Michal fc8d3d9ee4 Use locally allocated platform in platform tests.
Change-Id: If69d1d9d09a9bcd1f215dc562d1c15681bef3f41
2018-06-26 15:08:36 +02:00
Mrozek, Michal 686209874a Remove not used parameters in PlatformFixture SetUp function
Change-Id: Ib58c97e377218350cea19373dd1f193c4cc32a45
2018-06-26 15:00:27 +02:00
Koska, Andrzej b563e07394 Setting the GpuAddress from a fragment in createGraphicsAllocation
Change-Id: I4f6afbdd4d86ab2958de29cf49aaed9b8e2ea642
2018-06-26 14:43:08 +02:00
Mrozek, Michal 77ad97d2c5 Do not test global platform.
- change the test to use locally allocated object

Change-Id: Ie0818a4791d03d8f9004aba312f58fa0746c608b
2018-06-26 14:36:59 +02:00
Mrozek, Michal 8672360766 Do not test global platform.
Change-Id: I3d6c1b9e9002d1913867db4930bcfefc5bb4a2fd
2018-06-26 13:00:32 +02:00
Jacek Danecki c238a4d31e Add support for Cannon Lake (Gen10) platform
Change-Id: I0e63960887cdae9ba74c1ba91ad27101e22b458a
2018-06-25 15:48:12 +02:00
Godek 24ba7a0dbf using mock registry in Wddm23Tests
prevent reading from Windows registry in unit tests

Change-Id: I83f5d6f1db03aac4bc09665f8900606c07e757a5
2018-06-25 13:52:36 +02:00
Zdanowicz, Zbigniew 52d03a110c Reorganize files in GEN8 family
Change-Id: Iafd0e34e8eaa9564a0811235bb513a8ec91b606d
2018-06-25 12:44:45 +02:00
Kamil Diedrich d0ff0d5b40 Add check for MidThread preemption in test
Change-Id: I07ddc27cbd964adb992e91f3f3397751a1231ab7
2018-06-22 14:51:44 +02:00
Mrozek, Michal a0e9b96e52 Add execution environment.
- this class will encapsulate common shared state
- platform will create it
- clients will increment ref count
- platform upon destruction will decrement ref counts
- it means that execution environment will be capable of living longer then
platform in case there will be dependencies.

Change-Id: I0ea7f85ea57448c0e641673f1d15851e50b2b8b2
2018-06-22 13:15:10 +02:00
Milczarek, Slawomir fb10f666e9 AUB CSR: Ensured PTE bits be set correctly for Global GTT
This commit fixes the issue with setting reserved bits in PTE for GGTT.

Change-Id: I08582e20914419a3363c9e61085dcf03ba355a61
2018-06-21 22:23:01 +02:00
Mrozek, Michal 3e65a39c62 Move device name to device scope.
Change-Id: If7df4c8f97fa6b0c6f9449ae6802386c639241c2
2018-06-21 17:53:42 +02:00
Mateusz Jablonski b659d270ae Revert "Create wrapper for GmmClientContext"
This reverts commit 50c31872d8.

Change-Id: Id154ca2d217e5e45623750f641ebad5dc5e840a2
2018-06-21 16:14:45 +02:00
Mrozek, Michal 5c0a562a6b Simplify platform initialize.
- Remove not required parameters
- move the logic to ult directories

Change-Id: I913f1048489137a61220d96fa9f2798572cd4f56
2018-06-21 12:46:35 +02:00
Mateusz Jablonski 50c31872d8 Create wrapper for GmmClientContext
reduce mock gmm to implementation of OpenGmm function

Change-Id: I657412af2d11486c9924cf3ab9a8b4f51e603964
2018-06-21 10:17:46 +02:00
Jacek Danecki 861d001cba overwrite offsets for shared images
Change-Id: Id21eb40bc9a2e067f42094a989291d6339e753ac
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2018-06-20 18:48:47 +02:00
Mrozek, Michal e47344ec0e Add debug flag CreateMultipleDevices.
- This flag allows to create multiple devices from the same GPU

Change-Id: I4b80e4759543ca4559549b2d26c5ddef241f9ebb
2018-06-20 18:33:32 +02:00
Artur Harasimiuk 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
Jacek Danecki 33ec97148d use image offsets from libva instead of Gmmlib
Change-Id: I6f5fcfa1eb41e53abbc64e52ce38c81b7337e027
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2018-06-19 11:11:36 +02:00
Jacek Danecki 3ae56d6c8d Mark buffers as not resident after exec
Change-Id: I6406c626bfaadf01149a8464db2bb4278cbdcbce
2018-06-18 17:44:05 +02:00
Zdanowicz, Zbigniew fa3c4d83db Add debug flag to force rebuild pre-compiled kernels in runtime
Change-Id: I1e6bf94de3748e43c4ca80fd41c488665e0c5604
2018-06-18 14:23:54 +02:00
Koska, Andrzej e15c2b899f Setting the right handle value in fragment
Change-Id: Idcbdce5fc686360f252c8db0423ae77d9155702e
2018-06-15 16:36:52 +02:00
Milczarek, Slawomir eb1b5ded9c Add support for AUB subcapture (filter and toggle modes)
This commit adds a capability to selectively enable/disable AUB capture,
i.e. by toggling the registry key from the outside or specifying the filter
with a kernel name and/or kernel start index and kernel end index.

Change-Id: Ib5d39c21863fbc4a95aa73c949b9779ff993de0f
2018-06-15 13:02:27 +02:00
Zdanowicz, Zbigniew 09f5143b18 Add MI_SEMAPHORE_WAIT command to ULT command parser
Change-Id: If8e2ab1640b46732236675d6fedf82079883567d
2018-06-15 08:17:29 +02:00
Kamil Diedrich 9aa29edb73 Return -1 and print a message for invalid product param
Change-Id: Ie6e5728ae343170e4ac3087bd37d7554906de5d1
2018-06-14 15:04:59 +02:00
Artur Harasimiuk 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
Dunajski, Bartosz 5b479ec5f2 Reduce recompilation impact for captureCallStacks expression
Change-Id: I5d9cbb259808b5d36cd9321d4d63ea5b17fe212a
2018-06-14 09:28:12 +02:00
Mateusz Jablonski 17856522ac Generate mock gmm target only when using gmm dll
Change-Id: Idce35bfdcf00984ed85b2c47dd97c14cff2b3bc8
2018-06-14 09:16:20 +02:00
Dunajski, Bartosz 3a369ad500 Improve Wddm creation
Pick interface version basing on Ftr flag

Change-Id: I09880610922a6d451fc6f414a4fa5857449bc0f4
2018-06-14 09:06:40 +02:00
Mateusz Jablonski bcf1449db0 Exclude mock gmm from all build
Change-Id: I16868933ba01e0509be5cc9d98c79f3dcc468a9d
2018-06-13 14:37:29 +02:00
Dunajski, Bartosz 88edc7279d Improve returned row pitch calculation for multisampled images
Change-Id: I2fbf413ba83941682fa2bd0353060cab3f534d1a
2018-06-13 13:00:26 +02:00
Jacek Danecki 8ef13f85e0 add tests for residency
- add tests to check residency of allocations created
  from different storage

Change-Id: I60465ef0d0dc603853d10fa27ec43eb25ff3e923
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2018-06-12 17:19:33 +02:00
Koska, Andrzej d74e179aee Decrease maxMemAllocSize for BDW to 2040MB
Change-Id: I239fc513c829589f4f457ac23b49c302712f8db8
2018-06-12 13:40:58 +02:00
Jacek Danecki 4d48a6afec Call makeResident only once per BufferObject
When different graphics allocations are created from
the same backing storage makeResident should be called only once.

Change-Id: Ide8ab385894505fd405eef010768dbcac3b92fba
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
2018-06-11 23:28:38 +02:00
Mateusz Jablonski 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
Zdunowski, Piotr 0cc10e47cc Use device instead of context when programing surface state.
Change-Id: I67615036d373cf905762a43a92562bf3d84854a5
2018-06-11 17:20:11 +02:00
Stefanowski, Adam ded1a445f8 Group gen specific small cpp files together part 3
Change-Id: Id49acae4f9748a1db51c1a4051992269e21f1048
2018-06-11 15:46:55 +02:00
Mateusz Jablonski 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
Zdanowicz, Zbigniew c1782b802a Add debug flag to override platform used by compiler
Change-Id: I6fc4254f928158d0cb07f53436d1ddd09fcef7d5
2018-06-08 16:53:59 +02:00
Dunajski, Bartosz bbe4eddf9c Make KmdNotifyHelper thread safe
Change-Id: Iace168eb849e0d7090d17d63d7b47b057ff2385d
2018-06-08 15:56:52 +02:00
Koska, Andrzej fe56c57318 Tracking the internal allocation when creating a buffer
This fix prevents the creation of a buffer from the pointer
obtained from clEnqueueMapBuffer

Change-Id: I203f2d5263eeb02fe0d73bc9db159438af3cf1fc
2018-06-08 07:33:07 +02:00