Commit Graph

849 Commits

Author SHA1 Message Date
Mateusz Jablonski
873a58382b Extend kernel commands helper
add method to check if we should program binding table prefetch

Change-Id: I2a78f406b6f2a3fde33dec653ec887b7f2c03442
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-09-17 09:34:31 +00: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
8df30ceac1 Move residency and eviction allocations from MemoryManager to CSR
Change-Id: I44185b35375f4cc9d58cac14cac1edefaacde652
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-14 13:19:55 +02:00
Pawel Wilma
01fa11ba4d Additional Wddm context flags
Change-Id: I6f0bfd721e4840f44414da49ebbb7df3539e5588
2018-09-14 10:11:04 +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
Maciej Dziuban
7aa70248e8 Get rid of processResidency() calls with null ResidencyContainer 4/n
Change-Id: I318e0b2846a72d9cba4921ba62e0ea491cc46da9
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 15:12:20 +02:00
Maciej Dziuban
fafde2ec15 Delegate all MemoryManager::getResidencyAllocations() calls through CSR
Change-Id: I9cfbfd86d39b5341598ff2bd8883e13605c58b72
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 14:56:06 +02:00
Zdanowicz, Zbigniew
888b067adc Encapsulate creation of Scratch Space surface
Change-Id: Ifd1d794e0d8b7053cf5c37bdd867ab64f84241cc
2018-09-13 14:49:28 +02:00
Maciej Dziuban
81a1e435f9 Delegate all MemoryManager::pushAllocationForResidency() calls through CSR
This prepares for moving this method from MemoryManager to CSR.

Change-Id: I82393289c48990f26ed3ac922bcd64e2b6c11f28
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-13 14:33:16 +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
Filip Hazubski
ce8284bade Move dispatchWalker() to seperate class
Change-Id: Idc95df3d67775022f2197c1f973182acb3558a2d
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-09-13 10:29:13 +02:00
Dunajski, Bartosz
53c4d2946e Update Wddm23 interface
Change-Id: I8c1484875f28dd7f2591db810c64b117f49f70e3
2018-09-13 09:55:15 +02:00
Mrozek, Michal
789cb3327b Add support for returning raw GPU timestamps via registry flag.
Change-Id: Id80ef2a95132f1cdc1d14e45d406925b11599db1
2018-09-12 13:49:01 +02:00
Hoppe, Mateusz
58c34fd72c Enhance PageTable testing
- and mock PageTables with entries access
- new test checking correct entries filling

Change-Id: I4ad70aac2915f0ff2611c65a8480dadcf87c0b8d
2018-09-12 12:59:40 +02:00
Hoppe, Mateusz
be4c2cca60 AUBDump: Move PPGGT entries to lower physical memory (starting BIT31)
- 1GB remaining for regular allocations in AubDump

Change-Id: I9dcc7a6f0c495ed95622cf6d5ec366af06bbf350
2018-09-12 12:48:33 +02:00
Dunajski, Bartosz
2b89486fb1 Program Semaphore to keep dependency on previous enqueue
Change-Id: I511f39811769f1add179ea5d9cb331fa9c5ccec2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-12 12:23:17 +02:00
Mrozek, Michal
581805cc88 Move OsContext id setting to constructor.
Change-Id: I1b809befc02536257800e3667307b8deabd5c95d
2018-09-12 09:50:26 +02:00
Mrozek, Michal
8e33ec04c5 Create separate command stream receiver for every device.
Change-Id: I8073380941e2a3bfe57610e6e437bdc177dcc2d5
2018-09-12 09:32:41 +02:00
Maciej Dziuban
f1a264e380 Get rid of processResidency() calls with null ResidencyContainer 3/n
Change-Id: I526cac86f7e4eb61f7962d1ddd33a5d029451111
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-12 06:43:49 +02:00
Venevtsev, Igor
ed4e1e9c3e Add enableLocalMemory param to WddmMemoryManger constructor
Change-Id: I89299c01f11565ab57a8421573a287c9a2e77b6e
2018-09-11 19:04:59 +02:00
Mrozek, Michal
377b99be90 Pass device index to create method..
Change-Id: Iab493edf1b96a6cecf6e3dba6813824529f0c08b
2018-09-11 16:26:54 +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
Maciej Dziuban
4da2dd471d Get rid of processResidency() calls with null ResidencyContainer 2/n
Change-Id: Ic2495cd21304710825727177a1d90889e22808d8
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-11 15:01:01 +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
Mrozek, Michal
1530d7832f Store command stream receiver in device.
Change-Id: I133ce4435e189e5bb8473ad4736fe0b02047dffe
2018-09-11 13:31:04 +02:00
Dunajski, Bartosz
2366c41154 Simplify Semaphore programming
Change-Id: I3322be137bbc1fe6f63baada26cf65baf821b4c1
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-11 11:06:56 +02:00
Pawel Wilma
8c1db4fb2f Code cleanup for reduced GPU address space
Change-Id: Ibce79ddbe1f03dac1813b5dc2356a9db86b60200
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2018-09-10 16:16:06 +02:00
Dunajski, Bartosz
7ec0989eea Obtain new TimestampPacket before releasing old node
Change-Id: I243d50e32967a0accea2d73fdd5ff4935bc03449
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-10 15:58:00 +02:00
Dunajski, Bartosz
24136414e6 Use Semaphore to wait for dependencies from different device
Change-Id: I154f377c77847e93d5b188a5b2252e74d9d70b75
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-10 10:00:49 +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
Dunajski, Bartosz
d04614dce3 Use Semaphore to wait for dependencies on the same device
Change-Id: Ib04c960c50183c080d02753815ece80b58d1980e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-07 22:34:44 +02:00
Mrozek, Michal
393ce116e7 Remove flushWaitList method.
- No longer needed.

Change-Id: I9e255067fb4b0d52a42f6a49145b3a8d591b5e74
2018-09-07 15:27:37 +02:00
Hoppe, Mateusz
eaf72b6098 Pass not validated flags only to checkExtraMemFlagsForBuffer
Change-Id: I05b5554d7977af7c1069104dc607b36a846bfa2d
2018-09-07 15:03:38 +02:00
Hoppe, Mateusz
cfa8035836 Add localMemorySupported member to MemoryManager
- extend constructor to take new flag
- extend ExecutionEnvironment createMemoryManager with new flag
- only OsAgnosticMemoryManager changes in this step

Change-Id: I1dae4fd79fe28fd87e42b237600dc216c94b597e
2018-09-07 12:04:21 +02:00
Mrozek, Michal
05b93ef221 Add method to device that returns device id.
Change-Id: I0fc5d1e37eb6f49a513c202a89db07ef539646f3
2018-09-07 12:02:28 +02:00
Mrozek, Michal
ac2a2de3be Enhance ResidencyData to work with multiple OsContext
- Add new method updateCompletionData to register completion fence and context
- remove obsolete methods and fields
- for trimming choose default 0 OsContext

Change-Id: I0f6c7af9499a454a70ad1c5b0fa2766416eba297
2018-09-07 09:09:58 +02:00
Hoppe, Mateusz
b11e7b961a Refactor HwHelper
- move common implementation to hw_heleper_common.inl
- add method for setting localMemorySupported cap

Change-Id: I1b4e0b48ce45d6d60b2c9d61102d849ea69e4043
2018-09-07 09:01:22 +02:00
Mrozek, Michal
df41112b6a Do not wait on CPU for fence.
- If allocation is passed for destruction it means that it is ready to
be destroyed, there is no need to wait for tag.

Change-Id: I6b85ed62250aca8ee6293956b6178ce19bdb1f30
2018-09-07 06:56:38 +02:00
Mrozek, Michal
cb2b45625a Assign numerical value to OsContext.
- will be used for all array based accesses.

Change-Id: If93efc874f05780d60573fe8359beccea8ff0f77
2018-09-07 06:49:53 +02:00
Dunajski, Bartosz
eb6b574561 Improve TimestmapPacket write commands size estimation
Change-Id: Idf80401f4360342a162d54aba7ffbe6dfcf714e8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-06 16:13:07 +02:00
Stefanowski, Adam
8a005434f4 [1/n] Initialize WDDM only once
- remove Wddm parameter from WddmCommandStreamReceiver
and pass it via ExecutionEnvironment
- remove drm parameter from DrmCommandStreamReceiver
and pass it via ExecutionEnvironment
- remove void parametr from TbxCommandStreamReceiverHw

Change-Id: Ib76332f1341339426e86e0ce2b6ce96919219881
2018-09-06 14:14:29 +02:00
Mrozek, Michal
7eceb3038c Do no increment ref counts when passing OsContext to residency.
- not needed anymore, memory manager manages the ilfecycle of OsContext

Change-Id: Ibcb32954522dd862187cf97d62d2e0b1b10e50e5
2018-09-06 12:53:35 +02:00
Dunajski, Bartosz
b74280beb6 Check EnableTimestampPacket debug variable once and set as CSR mode
Change-Id: Ia6e7caa96f3b46b30590fb46a1fb37fa153adeb4
2018-09-06 11:19:02 +02:00
Hoppe, Mateusz
a8beec98e0 Rename hw_helper.inl to hw_helper_common.inl
Change-Id: If699eb2fd572cc6bd1f2d91fb2ddf176f08bdac6
2018-09-06 11:08:26 +02:00
Dunajski, Bartosz
1b04210c6a Extend TimestampPacket data with Submit field
Change-Id: Ia2a23003476db06afeee25ca7766cfd1bc6da4a3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-06 10:37:03 +02:00
Mrozek, Michal
75e26f39b1 Move ownership of OsContext to memory manager.
- register OsContext when device is created
- memory manager controls residency so it needs to have control of
OsContexts underneath
- device may be destroyed while OsContexts may be still in use

Change-Id: If08df7686f5448a1e7b0b6ced20b37a1e8ba2cd6
2018-09-06 10:05:28 +02:00
Mrozek, Michal
b87af2c9e7 Move residency to dedicated header.
Change-Id: Ic27748fdb36b1f92c58ca20f8b6e12e6a24f41d8
2018-09-05 16:34:08 +02:00
Hoppe, Mateusz
5f7b6db893 Validate buffer flags with helper
Change-Id: Iaaf04bbe6e5237da0183556fa1ee10817faaf5c0
2018-09-05 14:10:21 +02:00
Dunajski, Bartosz
e3df4edb90 Add deferred list to TagAllocator for nodes that are not completed
Change-Id: I0672c487315a96540184eda793132c79c7777527
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-05 11:14:23 +02:00