Commit Graph

64 Commits

Author SHA1 Message Date
Mrozek, Michal 56d10d7fb9 Enhance AUB comments.
Change-Id: I1ff53c9f60950cfe34706153578e86f8d36fc941
2018-10-25 17:58:44 +02:00
Milczarek, Slawomir cd8f08b94b AUB CSR functions to operate on engine instance
Change-Id: I928cf5f7c25980fdfb2da825cbe062b5497c328a
2018-10-24 16:33:11 -07:00
Milczarek, Slawomir 9be4850213 AUB capture with a capability to get engine instance
Change-Id: I52c47505476053d6e692fc9d89cca25a6e122a63
2018-10-23 11:58:13 +02:00
Piotr Fusik 7543c1fb2a Flush AUB before HW or TBX.
Change-Id: Ia997c6c05b2a1cb5c1968113b94ca66fbf1efe89
2018-10-13 10:52:19 +02:00
Pawel Wilma a05f832f80 Fix for batch buffer flattening
Change-Id: Ib13ec6573b985cf03876bd7e37a31606b230a790
2018-10-09 12:28:40 +02:00
Maciej Dziuban 130a7ac8b8 Delete TypeSelector helper
Change-Id: Iff5fe62d31fa7b07658cfcf81ebd2c12d47e2b3b
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-10-08 13:18:36 +02:00
Hoppe, Mateusz 2f7158e035 Move createPhysicalAllocator() to a common CSR class
- AUB and TBX use this method and it was duplicated,
- moving to common base class allows to remove duplicates

Change-Id: Ia9f08dfb0967de1b5968ac0e531733c5b868e504
2018-10-08 11:38:57 +02:00
Milczarek, Slawomir 61000c0dd4 CSR AUB + HW mode - flush to poll MMIO for completion
Ensures that each submit of LRCA be serialized through the simulator
like it is for AUBs captured in the standalone mode.

Change-Id: I1e3ad500012dce960d0e64b56af1cb60142772da
2018-10-04 10:32:08 +02:00
Milczarek, Slawomir ec48ccecdb AUB CSRs to use a shared address mapper (CPU VA to GTT VA)
This commit moves address mapper from CSR to execution environment
in order to generate unique GTT VA for LRCA, HWSP and ring buffer
between different CSRs.
Additionally, moved the rest of AUB file stream tests to separate module.

Change-Id: I02ae44202c0255277a7ac17532485419e0c403ab
2018-10-03 12:50:25 +02:00
Hoppe, Mateusz 7ddf1d554b Move getAddressSpace from AUB & TBX CSRs to CSRSimulatedHw
Change-Id: Iaa6164445f55efba3681fc41e2ec614f999e1362
2018-09-27 10:43:00 -07:00
Hoppe, Mateusz 465e1a3165 Fixes for AUBs
Change-Id: Iac55927eb96db8dd68b86d21e66392039ba1f058
2018-09-27 06:38:19 +02:00
Milczarek, Slawomir efdbde245a AUB CSRs to use a shared physical address allocator
This commit introduces AUB-specific control class to execution environment.

Change-Id: I525c9c93a4f10f769dbedb7d097674c35693f0b1
2018-09-26 20:31:56 +02:00
Maciej Dziuban 95e4dc4152 Delete unneeded residency/eviction allocations mutators
Change-Id: Ic73ea4c4e3ebf422f935a440a1b4789fe1c15494
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-26 13:02:19 +02:00
Mrozek, Michal 4912f41759 Add additional layer for common AUB & TBX stuff.
- Move one function there.
- This layer will cover common functions that are not branch specific.

Change-Id: Ia8a288f8f51647a333a73f35cf999df9f2d5f5b1
2018-09-26 02:20:59 +02:00
Mrozek, Michal f564792895 Create common class for TBX & AUB.
- Move one method there.

Change-Id: I96cc0a64e24e4931a8d71a552f5cbf22bf99bfc2
2018-09-26 01:24:59 +02:00
Hoppe, Mateusz dfd4e767e0 Introducing AubFixture with minimum required initialization
- fixture is creating AUBCsr or TBXWithAubCsr only and sets
executionEnvironment used by Device
- this sequence ensures correct initialization without redundant
objects creation
- adding new AUB test: AubWriteCopyReadBufferTest

Change-Id: I678410585c91c008fc53a44b13e885e970fd315b
2018-09-25 23:03:21 +02:00
Maciej Dziuban f48b90ffee Change CommandStreamReceiver::flush() argument to a reference
Change-Id: Ic933a297d4c4e243138d0d62323ba82a8b91240f
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-25 17:28:44 +02:00
Milczarek, Slawomir ee797c2f14 Multiple AUB CSRs to operate on a single file stream
This commit introduces AUB stream provider class to produce
a single file stream in multi device scenarios with multiple AUB CSRs.

Change-Id: Id70e0d680459d34f4291b9e56aa39d960f025ac6
2018-09-23 05:41:00 +02:00
Hoppe, Mateusz 91aaa92fb6 Refactor PhysicalAddressAllocator
- create allocator dynamically in AUB & TBX CSRs

Change-Id: I3b01a3fc2f4824b552ef27cbda5bdcc140e92e53
2018-09-21 21:48:57 +02:00
Hoppe, Mateusz a470aa2072 Get AddressSpace to expectMemory from page table entry bits
Change-Id: I1aacdf98f436261b523765e0ca591e8d8333274e
2018-09-21 16:44:55 +02:00
Piotr Fusik 7de297763f Fix duplicate include.
Change-Id: Iaecbf3664bd09006070b31e1e7490d297dcd3de1
2018-09-21 05:20:15 +02:00
Mrozek, Michal 78f828fcd1 Make residency in graphics allocation OsContext dependent.
- Graphics Allocation now holds residency control per OsContext.

Change-Id: Ie0a0d3aa9fdaf542fdd42dee3aba236a5af635c7
2018-09-20 16:44:04 +02:00
Hoppe, Mateusz 4af432ae10 Store page entry bits in PageTable entries
- set Present bit when entry is allocated regardless entry bits passed.

Change-Id: Ib1393927f66c4ed0b577a4df58d2760fbff86df7
2018-09-20 09:25:34 +02:00
Hoppe, Mateusz 619d2217cb Pass AubHelper to reserveAddressPPGTT().
- get PageTable entry data hints and address space from AubHelper
based on local memory flag
- add enableLocalMemory flag in CSR HW

Change-Id: I061bda62be8da55d52cff48ecddcf26c4212dc67
2018-09-17 18:48:06 +02:00
Maciej Dziuban ac1d2b9901 Change processResidency argument to a reference
Change-Id: Ie313a8cc4e479a314bcf170917397c13fbb70d14
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 13:36:20 +02:00
Hoppe, Mateusz 610eda5ad1 Add PhysicalAddressAllocator to PageTables
- Allocator is responsible for physical pages allocation

Change-Id: I3a9034c87292484da8f4f0eb1d1e0cc5122a4d8a
2018-09-14 13:23:07 +02:00
Maciej Dziuban da5a292e54 Delegate MemoryManager residency and eviction calls through CSR
MemoryManager::getEvictonAllocations()
MemoryManager::pushAllocationForEviction()
MemoryManager::clearEvictionAllocations()
MemoryManager::clearResidencyAllocations()

Change-Id: Iaa3051965bc9dfc09384e2bd5e9e0c372b5e722a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 08:18:04 +02:00
Milczarek, Slawomir a7d41d95b4 AUB subcapture in filter mode to define start/end indexes to a given kernel
This commit introduces new controls to define start/end indexes
that apply only to the kernel specified by name for a sub-capture

Change-Id: I7ad7674d115f9addd35c44d824aee0731060881e
2018-09-13 11:13:33 +02:00
Maciej Dziuban d24a0accd9 Get rid of processResidency() calls with null ResidencyContainer 1/n
Change-Id: Ifeed7d1154ed07988ee2196a95013eae4d5a80d0
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-11 15:32:11 +02:00
Milczarek, Slawomir 991bbddeba Add function to get Page Table entry bits
This commit adds a helper function to get Page Table entry bits
and control a configuration of first levels page walks (non-PTE).

Change-Id: I85666ffae8e89a193d1ac4a065c2b84b814d47ec
2018-09-11 14:10:42 +02:00
Hoppe, Mateusz 2315403542 Refactor AUB & TBX CSRs
- add method for getting addressSpace

Change-Id: I12d466e358db1d21c038bd9e0201cae433a5ec1a
2018-09-10 09:42:35 +02:00
Milczarek, Slawomir 254f4a91ac AUB CSR to use size from gmm when calling makeResident on RenderCompressed
This commit adds a capability to dump AUB files for RenderCompressed
in AUB CSR + HW mode.

Change-Id: Id43409f4ee986da2b3c347e5f6f07bb566249633
2018-09-04 14:15:03 +02:00
Milczarek, Slawomir b2beed3daa AUB CSR to call make resident of the base CSR
This commit ensures that AUB CSR be using make resident of the base CSR class
hence the task count of the graphics allocation be updated properly.

Change-Id: I33b5ed86a463eeeee00a4094cefda8add316af73
2018-09-03 16:43:10 +02:00
Pawel Wilma 4a12deea2b Add support for reduced GPU address space
Change-Id: I9ebbc8c51039bb533b44c6b80e717e1489a20a43
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-09-03 13:51:36 +02:00
Mateusz Jablonski 92bfd2e3d2 Move OsContext to Device
Change-Id: I030b65372fbdc075423d22720e9da34ac65b8e68
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-09-03 10:42:26 +02:00
Milczarek, Slawomir 393c2219c9 Add device callback for GMM library to notify AUB subcapture
This commit adds a new callback to be called by GMM library
when it allocates/deallocates compressed resources to collect data
about their addresses and sizes and handle their AUB residency.

Change-Id: I075d3ff4cb049cfe626da82892069c4460ea585c
2018-08-20 14:38:42 +02:00
Slawomir Milczarek 55475c2848 Clang tidy: Call to virtual function during destruction
Fix for clang tidy warning: Call to virtual function
during destruction will not dispatch to derived class

Change-Id: I000dacdbdfb486d2e35795d18ea9f5e4a00b7d6a
2018-08-09 15:20:58 +02:00
Mrozek, Michal 1599ea800e Pass execution environment to command stream receiver.
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +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
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
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
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
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
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
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 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
Zdanowicz, Zbigniew f94844305f Add new arguments to aub dumping interface
Change-Id: I226ec04a919f4ca6ae5c237cf189e043f8286d5e
2018-05-10 13:33:54 +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