Commit Graph

51 Commits

Author SHA1 Message Date
3b0292ae0d Do not set up fixtures when product mismatch
Change-Id: Idc831a6d87dba6cbe2822531a2701a9fbdd409df
2018-07-18 12:06:47 +02:00
16d04fd276 AUB subcapture to read file name from outside and write into several files
Add a capability for AUB subcapture feature to dump into several files
and read file name from the outside (via regkey and env variable).

Change-Id: I2d5f7945cfbc740b0316fe23b8c5ae9fd698ac57
2018-07-14 13:10:35 +02:00
a21c0a0074 Add control on platform life cycle.
Change-Id: I5c24b41747d822b71dd57e9a949cf25fcc78a453
2018-06-27 10:09:26 +02:00
c238a4d31e Add support for Cannon Lake (Gen10) platform
Change-Id: I0e63960887cdae9ba74c1ba91ad27101e22b458a
2018-06-25 15:48:12 +02:00
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
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
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
36621b2488 Use product aub device id and make it configurable by using debug flag
Change-Id: Ie65eea0f72497ef68e805ad438f4f53df731d304
2018-06-06 17:09:21 +02:00
afdc4ac1bb Device Enqueue: Add ULTs
- add Gen8 AUBParentKernel aub test
- add scheduler kernel source tests:
SECOND_LEVEL_BUFFER_SPACE_FOR_EACH_ENQUEUE,
SECOND_LEVEL_BUFFER_NUMBER_OF_ENQUEUES,
space used for SlbDummyCommands

Change-Id: I67afeb731e0bff52696157f3fa6fb4bc2079c73c
2018-06-04 13:36:30 +02:00
157ffbceb5 Revert "Builtins increase context refcount."
This reverts commit 39d55e5257.

Change-Id: Ib5b38e5a508c5e56e61c7f0ac0b5b8a965d6170d
2018-05-28 16:35:45 +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
39d55e5257 Builtins increase context refcount.
Change-Id: I146852092e1cb374b816875ae9a90ac03a8f205e
2018-05-23 17:56:20 +02:00
996cb52370 Refactor ULTs and AUB tests around HW commands
Change-Id: Ie00822b9e0864af6ede3e967039efa911d1dbb6f
2018-05-22 13:59:30 +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
10e5b71111 dependencies cleanup
move gmock/gtest to third party

Change-Id: I96b43a3de2b6f2151659a9b2eed27eb58db5ce48
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-05-11 15:04:45 +02:00
f94844305f Add new arguments to aub dumping interface
Change-Id: I226ec04a919f4ca6ae5c237cf189e043f8286d5e
2018-05-10 13:33:54 +02:00
abbc0a5471 Compile kernels per platform type (core/lp)
compiled kernels are in (binary dir)/(family name with type) folder

Change-Id: Ied1827ab7f4ecc5c1de4c3535b1c0ba3b5cd86ee
2018-04-26 16:47:15 +02:00
a0c044e6d2 Extend batch buffer flattening in AubCSR to BatchedDispatch mode
- batch buffer flatening in batched mode
    - added MI_USER_INTERRUPT command
    - added GUC Work Queue Item

Change-Id: I35142da34b30d3006bb4ffc1521db7f6ebe68ebc
2018-04-26 12:45:02 +02:00
180de340d8 Define variable with binary name suffix
use this variable in tests as it is set once in main.cpp
create function to get binary kernel filename

Change-Id: Ibf7b4c2d390caefda4a5d7fc4667006e7f2edde8
2018-04-25 15:34:34 +02:00
d900bdffc6 [33/n] Internal 4GB allocator.
- Move indirect heap to internal allocator domain.
- Add logic in getIndirectHeap to allocate with proper API depending on
heap type
- Add State base Address programming, reflecting that now Indirect Object
Heap is placed in 4GB domain.
- For AddPatchInfoCommentsForAUBDump mode , keep all heaps in non 4GB mode.

Change-Id: I6862f6a249e444d0d6cfe7e499a10d43f284553e
2018-04-19 08:13:48 +02:00
b56289a507 User space AUBs capable of memory re-dumps on CPU-side memory modifications.
Any CPU related updates such as clEnqueueMapBuffer or similar
need to trigger a re-dump of memory prior to the next clEnqueue call.

Change-Id: I7b31e559278e92ff55b6ebab8ef4190caef1ebc0
2018-04-03 15:40:29 +02:00
6e005f716c remove unussed MMF from AUB tests
Change-Id: Ia9ac7be967e423bca47242e3c51119cd4f3e4793
2018-03-30 09:53:19 +02:00
9bdf01468e [20/n] Internal 4GB allocator.
- Switch to internal heap for kernel ISA allocations.
- remove IH from various functions
- remove IHState from CSR , IH is never dirty
- ISA is no longer copied on enqueue calls.

Change-Id: I0099cf2a9ebab6192ea03a74dd35f7da963fd5a5
2018-03-28 16:07:26 +02:00
0d1e9de4ec Cmake refactor part 22
cleanup CMakeLists.txt files in unit_tests/aub_tests subdirectories
cleanup CMakeLists.txt files in unit_tests/mt_tests subdirectories

Change-Id: I48f05ff3348988671ed87faa0b0b8af0d4b733c4
2018-03-27 12:59:05 +02:00
e3b1ba2112 Cmake refactor part 21
Add macro to simplify iteration for gens, platforms and test configs
Common usage:
1. Write macro "macro_for_each_platform", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER, PLATFORM_IT, PLATFORM_IT_LOWER
2. Write macro "macro_for_each_gen", you can use variables:
   GEN_TYPE, GEN_TYPE_LOWER
3. In macro "macro_for_each_gen" call "apply_macro_for_each_platform"
4. Call "apply_macro_for_each_gen" with gen type (SUPPORTED/TESTED)

When needed iterate over test configurations:
1. Write macro "macro_for_each_test_config", you can use variables from
   parent macro and SLICES, SUBSLICES and EU_PER_SS
2. In macro "macro_for_each_platform" call "apply_macro_for_each_test_config"
   with specified type (AUB_TESTS/MT_TESTS/UNIT_TESTS)

Change-Id: Icd537f409a224a1ffade1874065f8fee66189350
2018-03-26 17:51:34 +02: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
c0a8522eb1 Cmake refactor part 19
- create new object library igdrcl_libult_env
- move sources shared between igdrcl_tests, igdrcl_aub_tests and
  igdrcl_mt_tests to igdrcl_libult_env
- partially cleanup unit_tests/mt_tests/CMakeLists.txt

Change-Id: I4f4bbfa5649d84d79133b9d5c9bd137c68b7d82e
2018-03-22 16:30:15 +01:00
029094437a Change identification of gen families from number to type
Change-Id: I780528aeb2572fc95d8cd9a20eba26687156726b
2018-03-21 19:22:46 +01:00
e21e220540 Cmake refactor part 16
igdrcl_tests: define gen specific sources in subdirectories
libult: append gen specific sources needed to link hw tests

Change-Id: I72505729f1ff27439cd43904688de9c2cfbe080f
2018-03-16 14:07:37 +01:00
894060de50 Cmake refactor part 15
Cleanup unit_tests/CMakeLists.txt
Move shared sources to libult
define linux test projects in linux subdirectory

Change-Id: I0da18c79e6581412a04ddfb3795750db862ad95c
2018-03-15 12:12:09 +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
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
8254d6a081 Ensure that submissions are flushed prior to csr destruction.
Change-Id: Ie04de561d3d295f40f55a19f01274d873d259abd
2018-03-12 12:54:47 +01:00
2466f9363f Cmake refactor part 7
generate project source tree in all projects with sources
source tree is based on real paths

Change-Id: Ie10a6bffedb8020f25ebcb24a2f797086d8accbb
2018-03-06 14:26:05 +01:00
c4c35955d1 Debug option to flatten main and chained batch buffer in AUB dump.
New debug option FlattenBatchBufferForAUBDump has been added. When set it
modifies AUB dump in such way that commands from main and chained batch
buffer are dumped as single allocation. Commands from chained batch buffer are
dumped directly after commands from main batch buffer without
MI_BATCH_BUFFER_START. This feature also requires ImmediateDispatch mode which
can be forced using debug option CsrDispatchMode = 1.

Change-Id: I730760791693a748e7f4e1463ce8e7af94287b93
2018-03-06 12:26:50 +01:00
103b560655 User space AUBs to store GPU address in non-canonical form
This commit ensures that GPU address be stored to AUB file in decanonized form

Change-Id: I6deb98e59d8c23d47d945a84c57ce81c0c5e2ba4
2018-02-23 17:46:05 +01:00
e3268f8a9c Revert "Allow custom props settings."
This reverts commit f43a04d3b2.

Change-Id: Ib4cd854c19fe96b0ea9d5e3782d1247c265927c9
2018-02-23 16:01:31 +01:00
f90ebac12a Clean obsolete code.
Change-Id: I9551f7217924c7ea8f44a3322fc3096252c4d6f7
2018-02-23 08:10:12 +01:00
28a1eec925 AUB patch to move physical addresses to a lower region
Ensured canonical addresses not to go beyond acceptable physical addresses.

Change-Id: I4af3b7bd3d43ee86aabfdbddd0a21bc937986d43
2018-02-22 09:52:48 +01:00
006e86d7a6 move mocks to igdrcl_mocks target
Change-Id: I6d9f87fc415ff70261344105e8808c6e91a960bd
2018-02-21 23:36:31 +01:00
f43a04d3b2 Allow custom props settings.
Change-Id: Idd442f429e8f413cde67781995e0c1b1c010bcee
2018-02-21 12:16:35 +01:00
261a2ee865 Extract mocks into separate library
Change-Id: I37204fd192f7a74f29cfbe79632c975fc98f20ea
2018-02-19 19:42:42 +01:00
1cfe5344fc Enable throttle hints extension.
Change-Id: I996fce8dbc792d77dc85df143ba5c0aa1cad83e5
2018-02-06 17:01:37 +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
4ad96b75f5 Make base class for gmm_memory
Change-Id: I307f616be27d5fed126f0e36bff0d182ab7a8b53
2018-01-26 08:35:41 +01:00
3e84c4df7a Introduced a new graphics allocation type of ALLOCATION_TYPE_NON_AUB_WRITABLE.
This commit moves the allocation's aubfile write permission property
from OS agnostic MemoryAllocation to general GraphicsAllocation class.

Change-Id: I82ca2716d6b65d314460bd9f5d33e1113f9d7c07
2018-01-18 18:36:14 +01:00
602474f868 Command streamers should use device default engine type
Change-Id: I7286f15ba78001729ea489a43576d96f109d44f0
2018-01-16 22:37:44 +01:00
92ebb0c3c1 AubCSR to operate in batched dispatch mode (by default)
This commit changes the default dispatch mode for AUB CSR
from the immediate dispatch to the batched dispatch mode.

Change-Id: Idca914475a9a38788fd94e16eb6db4c0afb1bdd6
2018-01-16 13:24:40 +01:00
7c42353c4c Add support for batched dispatch to userspace AUBs
This commit as aimed to add support for batched dispatch,
but doesn't make it the default mode for AubCSR yet.

Change-Id: I4dc366ec5f01adf2c4793009da2100ba0230c60a
2018-01-12 15:40:56 +01:00
877370ef6d Fixing relesae-internal build
Delete variables: gtest_lib and gmock_lib in CMakeLists

Change-Id: Ie2d6e4ca34acef60aaa1b14d0526eb0fbf293097
2018-01-11 18:02:34 +01:00