Commit Graph

107 Commits

Author SHA1 Message Date
Dunajski, Bartosz
56562963ef Pick main Kernel for PrintfHandler and AubSubCapture
Change-Id: I9ff3bdaa5da82e162642deeaf4a8e0821ff00da2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-20 10:06:00 +02:00
Dunajski, Bartosz
c7a49666d5 Refactor querying Main and Parent Kernel from MultiDispatchInfo
Change-Id: I723d91f2f445bc7af1bcb0de46f8ac07837f3449
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-17 13:51:32 +02:00
Maciej Dziuban
524737af39 Add executionEnvironment field to Program
Change-Id: Id624177aa3f0b5525bac86e2e0a935ebaf53480e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-16 16:52:41 +02:00
Mrozek, Michal
1f3274e3dc Refactor some tests to not create csr twice.
- There is no need to create command stream receiver twice.

Change-Id: Ic47e7460e608625c31ab0652ad269c08f45c2250
2018-08-10 16:34:27 +02:00
Maciej Dziuban
6f26ced3b5 Don't store MockProgram as member of fixture
This is to prepare for adding argument to MockProgram constructor. It'll have
to be constructed after ExecutionEnvironment creation, for example after
DeviceFixture::SetUp.

Change-Id: I37b08f814679271820a07fb29cf1fb6b517c8376
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-10 10:13:33 +02:00
Mrozek, Michal
1599ea800e Pass execution environment to command stream receiver.
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +02:00
Mrozek, Michal
d17879d412 Pass ExecutionEnvironment to get devices.
- this would allow for further re-use of objects allocated here.

Change-Id: I73b62ae3991ebd786dea3c085e1391194b8de6ba
2018-08-07 15:17:06 +02:00
Stefanowski, Adam
4df9cf638f Remove device use by memory manager
Change-Id: Ia9dffb322d7b9f96e5698eb85fcff22a60051f74
2018-08-07 10:58:15 +02:00
Mrozek, Michal
6f251f5ea1 Fix TBX completion loop.
- resources are dumped in make non resident call
- in order to dump correct data we need to be sure that GPU is done processing
- waiting needs to be unconditional to handle all cases
- remove not needed parameter to makeSurfacePackNonResident

Change-Id: Ib2b065d486cd3a5d86e599c51b24f3c958c3a10b
2018-08-03 09:32:24 +02:00
Mrozek, Michal
1807ea651c Initialize tag value in init function.
- remove not needed method in mock device.
- remove duplication from aub tests.
- tag allocation now have desired value

Change-Id: Ib3161cce6753eae27c60fddb63054fd2e12f7dac
2018-08-03 09:25:26 +02:00
Mrozek, Michal
f60847b64e Pass device to flushTask.
- do not obtain it from memory manager

Change-Id: Icc7c03dc925c69ec5932c5812151ac28dc34d20d
2018-08-01 14:11:06 +02:00
Hoppe, Mateusz
4441387969 Refactor allocateGraphicsMemoryInPreferredPool
- extend AllocationType to code necessary flags
- remove redundant args
- refactor Buffer::create()

Change-Id: Ic4b2e0931fad8198ad1cf4f79de210d815048ccf
2018-07-31 08:05:55 +02:00
Mateusz Jablonski
a906ddaa66 Make gmm client context non-static member
Construct platform and initialize gmm in each test

Change-Id: I4f209369e77213420308f31f911b7a569ea93283
2018-07-27 00:16:30 +02:00
Mateusz Jablonski
56557ca3a3 Unit tests: Initialize gmm before wddm initialization
Change-Id: I751bd93248aa78731b9591f494eafcd12d3e6d82
2018-07-20 15:47:15 +02:00
Mrozek, Michal
70b1745c7a Remove duplication from aub command stream receiver tests.
Change-Id: I53e4eda003f2d8f9b3669e1aeb4da940c3ab34e4
2018-07-20 14:21:12 +02:00
Dunajski, Bartosz
239ebf9eab Improve AllocationType operations: dont do bit operations on enums
Change-Id: Ie70ca9e2a93ec80b1cd655bad622db9e12abb7f7
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-07-20 09:12:58 +02:00
Mrozek, Michal
f59c191915 Refactor parts of createDeviceImpl.
- Move portions of code to dedicated methods.

Change-Id: I9abec23785f3f3201dce42a7a840ca4a450c4cc1
2018-07-17 09:46:45 +02:00
Mrozek, Michal
0abacce160 Move tag allocation destruction to command stream receiver.
Change-Id: I657df755c6cdd695103769a45a8dce749f7bd545
2018-07-16 13:12:53 +02:00
Milczarek, Slawomir
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
Mrozek, Michal
d9d169eb94 Remove temporary graphics allocation from ULT command stream receiver.
- Required for next changes -> moving tag from device to csr
- It is not allocated by Memory Manager which causes a lot of problems
when csr tries later to delete it with memory manager.

Change-Id: I060516b0ec3ec6617319720c22cd3c129c10bffc
2018-07-13 14:07:10 +02:00
Zdanowicz, Zbigniew
51421ec0b9 Add experimental command buffer
This code is an infrastructure for special debug purpose that allow measure
execution time of any hardware command.

Change-Id: Id12a7979d204734a0c4a6c4700e427b65ac2397f
2018-07-13 12:09:14 +02:00
Hoppe, Mateusz
55a045ebe1 Refactor graphics memory allocation scheme
- replace createGraphicsAllocationWithRequiredBitness with more general
methodallocateGraphicsMemoryInPreferredPool based on passed
 AllocationData
- proper flags for allocation selected based on AllocationType

- remove allocateGraphicsMemory(size_t size, size_t alignment)
and use allocateGraphicsMemory(size_t size) instead where default
alignment is sufficient, otherwise use full options version:
allocateGraphicsMemory(size_t size, size_t alignment,
 bool forcePin, bool uncacheable)

Change-Id: I2da891f372ee181253cb840568a61b33c0d71fc9
2018-07-11 15:48:05 +02:00
Stefanowski, Adam
70e85be96a Refactor ThreadArbitrationPolicy definitions
Change-Id: Ia5d9d3b915b14a1ed6c8dd8d7e7c38dab674b6f2
2018-07-09 16:55:22 +02:00
Hoppe, Mateusz
684b1d75ba Refactor GraphicsAllocation::AllocationType and allocationType enums
- change GraphicsAllocatoin::AllocationType to scoped enumeration
so that ALLOCATION_TYPE_ prefix in every enum value can be removed
- all accesses are typed (example AllocationType::IMAGE)
- Rename allocationType to AllocationUsage to eliminate confusion
with multiple AllocationType enums / types

Change-Id: I16003297ecfcb0aaa5779ad00706c5d983914bbe
2018-07-06 13:00:08 +02:00
Mateusz Jablonski
94dbdb602d Add instance of gmm helper to execution environment
Change-Id: I1b044611fbad91fbb681ba233938f41502f29056
2018-07-06 08:48:19 +02:00
Milczarek, Slawomir
1fda1331c0 AUB CSR to flush file stream on every enqueue call
This commit adds an explicit flush on AUB file stream to CSR flush method.

Change-Id: Ib491718dba6c7b4a5b1e173111830bd3ab72a3d0
2018-07-05 16:12:42 +02:00
Hoppe, Mateusz
64277ee849 TBX CommandStreamReceiver fix for makeCoherent
- makeCoherent should be called after TBX finished processing
 - this is when tagAddress is updated with taskCount
makeCoherent is called from makeNonResident which is invoked just
after flush and may happen before TBX server finished processing
leading to invalid data to be read back to CPU accessible memory

- this fix adds waiting for taskCount to blocking calls for TBX CSR
before calling makeNonResident on surfaces to guarantee correct data
from TBX server is ready.

Change-Id: I498a5454e0826eec2a5413a08880af40268550e1
2018-07-04 12:04:32 +02:00
Milczarek, Slawomir
86565e5f06 AUB subcapture in toggle mode to be controlled with HKCU regkey
- move AUBDumpToggleCaptureOnOff from HKLM to HKCU without admin rights
- fix AUB subcapture in toggle mode to call make resident in standalone mode

Change-Id: Ia6971921f33bb9ca63112790af870217da8a1585
2018-07-03 12:56:06 +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
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
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
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
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
Zdanowicz, Zbigniew
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
Hoppe, Mateusz
a9566e0c05 Return true in Device::isSimulation() when AUB or TBX CSR is selected
- when CSR is set to AUB or TBX (with AubDump) Device should
return true in isSimulation(). This method is used to set flag
m_IsSimulation in deviceQueue which is used by scheduler kernel

Change-Id: Ibdf07d4c940335fb0bb8448071b66d47e9391d71
2018-06-06 14:24:24 +02:00
Zdanowicz, Zbigniew
413487e1d5 Split CommandStreamReceiver tests into multiple files
Change-Id: Ib114d4da3c94c8a20ff0551d2f9001da7f091000
2018-06-05 12:47:44 +02:00
Zdanowicz, Zbigniew
996cb52370 Refactor ULTs and AUB tests around HW commands
Change-Id: Ie00822b9e0864af6ede3e967039efa911d1dbb6f
2018-05-22 13:59:30 +02:00
Mrozek, Michal
6fdde42289 Clean not used methods from linear stream.
Change-Id: Ib6775e346eb1a971c9ad5bc511c4226f1c53ecaf
2018-05-18 08:42:37 -07:00
Zdanowicz, Zbigniew
b27eee1f7a Refactoring ULTs around HW tests
Splitting HW tests into CMD-unrelated HW tests
and CMD-related HW tests

Change-Id: Ifbdcabdd0d6f4082e976363a3d8bcd5e7a9ce6c1
2018-05-18 11:45:45 +02:00
Maciej Dziuban
41f570ab50 Fix overestimation of MediaVfeState in CommandStreamReceiver
Change-Id: I38fd00f6b994f6a62921bcc09f293cabc95773d4
2018-05-15 11:13:20 +02:00
Maciej Dziuban
749d89a9bf L3 programming refactor 4/n
- Fix overestimation of preemption programming in preamble

Change-Id: I4ddfc6a2dacbe1160c68cdcef08125a5d5e74835
2018-05-14 15:39:28 +02:00
Mrozek, Michal
621a2dfcd1 [34/N] Internal 4GB allocator.
- Change dirty state helpers to work on IndirectHeaps.
- Instead of comparing size in bytes and cpu pointers, compare gpu base
address and size of the heap in pages
- That allows to not have dirty flag for heaps that are coming from 4GB
allocator.

Change-Id: I0ff81e3c0945b32e4f872a100cd10b332b27ed24
2018-05-12 16:01:30 +02:00
Artur Harasimiuk
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
Milczarek, Slawomir
cf5b5aecec Update header with structures for AUB services.
This commit updates the structures and adds getters/setters to AUB services.

Change-Id: I14ce251b68f233428458958565c2d52551661747
2018-05-11 13:37:32 +02:00
mplewka
2bc2869fe1 Refactor ult's for preemption enabling part 2
Change-Id: If8e335e87f3a78d35cab12a17880fb1922d479f5
2018-05-10 13:12:03 +02:00
Maciej Dziuban
44d35b3534 L3 programming refactor 2/n
- Rename misnamed test function
- Adjust 2 tests, so they use CSR size getters instead of hardcoded values
- Move getSizeRequiredPreambleCS() into CommandStreamReceiverHw class
- Improve PreambleHelper size estimating

Change-Id: I3f292d50e08f3d10d190c9f8722e1f0498481154
2018-04-27 13:10:28 +02:00
Dunajski, Bartosz
82c9acddde Improve including common reg_configs header
Change-Id: I7fa22c2caffd0004269eb0d4f4fcdfd7621572af
2018-04-26 14:48:50 +02:00
Mrozek, Michal
8d2df3c332 Move indirect heaps from command queues to csr.
-This is required to enable N:1 submission model.
-If heaps are coming from different command queues that always
mean that STATE_BASE_ADDRESS needs to be reloaded
-In order to not emit any non pipelined state in CSR, this change
moves the ownership of IndirectHeap to one centralized place which is
CommandStreamReceiver
-This way when there are submissions from multiple command queues then
they reuse the same heaps, therefore preventing SBA reload

Change-Id: I5caf5dc5cb05d7a2d8766883d9bc51c29062e980
2018-04-26 14:05:40 +02:00
Pawel Wilma
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
Dunajski, Bartosz
1d36206bb7 Remove obsolete methods form LinearStream
Change-Id: Id87dd58d9a373cf5d3f217e9ecc8db8a79b25190
2018-04-25 11:40:47 +02:00