Mateusz Jablonski
f877d4254b
Revert "Implement deferrable allocation deletion"
...
This reverts commit d961bd8354
.
Change-Id: Ie7d772d57199ea2897e238b2ac289bd60a89e6c6
2018-11-23 14:59:02 +01:00
Mateusz Jablonski
d961bd8354
Implement deferrable allocation deletion
...
Change-Id: I5e99d1bbb920619f63b71573335dc76f19c796a6
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-23 11:28:52 +01:00
Dunajski, Bartosz
706d9f8070
Allow Device creating multiple CSRs [2/n]
...
Create new OsContext per CSR
Change-Id: I8dad7fc1ab450e560f78eba3152b5913791e59a3
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-22 14:29:44 +01:00
Mateusz Jablonski
352450adaa
Pass number of os contexts to Graphics Allocation constructor
...
Mark unshareable allocations
Change-Id: Ie745dc639d8c6b01e2275d29ee1fb4c6343df2bc
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-21 17:38:02 +01:00
Dunajski, Bartosz
af46d88fc1
Allow Device creating multiple CSRs [1/n]
...
Change-Id: Ie5d8d89aa388c608d5464919059c28a054ac9b1e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-21 12:37:25 +01:00
Dunajski, Bartosz
d6870a896b
Reduce tag pool size to 1 for AUBs
...
Change-Id: I3a3513250b10e899795e149bff2739193a725f84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-20 11:42:32 +01:00
Mateusz Jablonski
66492a53a4
Change type of residency task count to uint32_t
...
Move definitions of objectNotUsed and objectNotResident to GraphicsAllocation
Change-Id: I2aec604a865cc6c975e9d1121028cbdd35c0b18a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-16 16:04:48 +01:00
Dunajski, Bartosz
bd4ea652ec
Make Timestamp allocations OneTimeAubWritable
...
Change-Id: I22e973714e4df1b3a07d8fb45cdab37b28a6433e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-11-16 15:49:25 +01:00
Mateusz Jablonski
0e0a280803
Create structure UsageInfo for task count and residency task count
...
Change-Id: I0899c88d9e567a09ba46461ae69cf6c80f713e67
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-15 14:07:05 +01:00
Mateusz Jablonski
630a7e1c26
Allow to reuse just completed allocation
...
Change-Id: I7c1ab153178b79348d49209ca09478543d35e197
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-06 22:11:24 +01:00
Woloszyn, Wojciech
549b73510c
Flush L3 for reduced address space platforms
...
Change-Id: I5a73e72f8e309137328930920ab174ba6f1378dc
2018-11-06 14:26:59 +01:00
Mateusz Jablonski
815ae851b7
Graphics Allocation: store task count per context id
...
Move definition of allocations list method to internal_allocation_storage.cpp
Change-Id: I4c6038df8fd1b9335e8a74edbab33b78f9293d8f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-11-06 12:43:47 +01:00
Mateusz Jablonski
8dc28f2445
Remove not needed locks in internal allocation storage
...
Change-Id: Ia8a084b5cb128c7888445efde6d33f43f3af2809
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-31 13:17:11 +01:00
Mrozek, Michal
200228b506
Replace cpuPtrAllocated flag with driverAllocatedCpuPointer.
...
Change-Id: Ic0ce165d0e583701e1128595a3d9dabd0a61a84b
2018-10-31 12:37:20 +01:00
Mrozek, Michal
7ece16ee7a
Graphics Allocation cleanup.
...
- remove one constructor
- start using mock graphics allocation in tests
Change-Id: Idb8f4a35dbc2cae8d6bf667bab5542d8e91d6e0d
2018-10-31 11:54:24 +01:00
Mateusz Jablonski
d3f71cfb04
Move allocation lists to internal allocation storage
...
Change-Id: I543f1551c8fb161cf99c5870de44afec390415b2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-30 13:49:31 +01:00
Mateusz Jablonski
a30c70d84b
Remove cleaning allocation lists methods from memory manager
...
Change-Id: I4a58a5373e7dc4cf8dc5d90390e84c4f23689139
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-29 10:35:03 +01:00
Mateusz Jablonski
baa9ce74a7
Remove obtainReusableAllocation method from memory manager
...
Change-Id: I629044d109822f02cfddc6418f025010e62ab65b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 09:06:20 +00:00
Mateusz Jablonski
d5c9816428
Remove store allocation methods from memory manager
...
Move setGPUAddress method to WddmAllocation
Change-Id: I91d877c3791e9eff69276e4258e3ce9c3111ca45
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 10:53:43 +02:00
Mrozek, Michal
40d9f97e7a
Use memory constants instead of hard coded values.
...
Change-Id: I4be62ec34cb7b7bcdeebb4ff82abe0c17f59af85
2018-10-26 09:05:24 +02:00
Mateusz Jablonski
129380c1a6
Cleanup host ptr manager
...
Change-Id: I0fc9df41a08255eef8072666c1c5c16806e0f7cf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-26 08:26:38 +02:00
Kowalczuk, Jakub
8ead8f727f
Control enabling of local memory based on OS and HW Capabilities
...
Change-Id: Ia26c856aeef27fe638b7a6e895cc289859f3c579
2018-10-25 16:36:47 +02:00
Mrozek, Michal
7319023b0f
Add capability to use malloc for Heap32 base.
...
- shift page tables to lower bits
Change-Id: I54dcba72255215cf5be75ba425fc27727b0bfd98
2018-10-25 16:20:00 +02:00
Mateusz Jablonski
79804652d5
Remove not needed mutex from memory manager
...
Change-Id: Ia362b8fa400bcd2f97d779296af12e13e138792d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-25 06:03:22 +00:00
Mateusz Jablonski
477a06a4eb
Move creation of os storage for host ptr allocation to host ptr manager
...
Change-Id: If7b6c17e21c72c807031232a502265559dfa48b1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-24 10:23:25 +02:00
Mrozek, Michal
a7fa9d736e
Delete freeGmm interface.
...
Change-Id: I9a3ce6f6076d5accf69be2be50126a46f9bde23d
2018-10-23 20:59:29 +02:00
Mateusz Jablonski
7bd92190d9
Create class to operate on command stream receiver's allocation lists
...
Change-Id: I4262f46aa31948ed70d1152d172619b5619a2333
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-23 09:42:31 +02:00
Maciej Dziuban
7fe0a0df06
Delete OsContext from FenceData
...
This decoupling is needed to move makeResidentResidencyAllocations into
WddmResidencyController, where we have only contextId, not the context itself
Change-Id: I0d79f1dc7a51fa6b1d713deb6e9003aa2b7be1d4
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-10-23 09:17:09 +02:00
Mateusz Jablonski
7ec8e6a3f2
Fix naming convention in host ptr defines
...
Change-Id: I9f0d5790031b5067b92159b078768e560990b9c6
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-22 16:29:04 +02:00
Mateusz Jablonski
86be78bcc5
Add missing lock in freeAllocationsList method
...
Change-Id: I326fe830ad3c90bbe0f82bd8983bb6c2a8b36c1d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-19 10:30:30 +02:00
Maciej Dziuban
de5ed6509f
Move WddmResidencyController to OsContext
...
Change-Id: If27d52617dec9b290b7eccc7cb4a6ae5037d7112
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-10-18 10:59:52 +02:00
Mateusz Jablonski
8a9d0a81df
Move temporary and reusable allocation lists to command stream receiver
...
Change-Id: I40df6fe39b367e243e3710c5fdeaab3c85198d9d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-11 15:32:12 +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
Mateusz Jablonski
b602cd2bb8
Pass execution environment to memory manager
...
Change-Id: If43cf9d1353b4cbc02ea269fb9105c01cc4e0876
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-03 22:12:26 +02:00
Hoppe, Mateusz
ce29770d61
Extend PhysicalAddressAllocator with page size and alignement
...
- this allows for reserving 64k pages or bigger with specified alignement
if required
Change-Id: I256d6c0d9e7fee0e2bac5f4ab5e4fd49ea9d8d50
2018-10-03 20:02:58 +02:00
Mateusz Jablonski
9a1adc3095
Remove scenarios with memory manager with null csr
...
Change-Id: Ie151bf3d16c5d994f154c8f9ac3db43702a4798c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-10-02 21:43:21 +02:00
Maciej Dziuban
ea9e7bea31
Change MemoryManager::lastPeriodicTrimFenceValue to a vector
...
Also start registering OsContext to MemoryManager in
WddmMemoryManagerResidencyTest along with some cleanup in fixture's SetUp
Change-Id: I3f6763ae0cd9bf638cdc5dbbfbc60dfb0fd0ef05
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-09-28 06:33:12 +02:00
Dunajski, Bartosz
cbd017d495
Handle TimestamPacket with implicit dependencies ownership
...
Change-Id: I22a4de4e9eb904c359583e235e0de54a7c743e07
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-09-28 01:48:02 +02:00
Hoppe, Mateusz
465e1a3165
Fixes for AUBs
...
Change-Id: Iac55927eb96db8dd68b86d21e66392039ba1f058
2018-09-27 06:38:19 +02:00
Hoppe, Mateusz
64c891f0fd
Use specific address for Allocator32Bit in AUB CSR
...
Change-Id: If3fd466fcfea21c1967b10def57acf67ccfdc5e6
2018-09-26 16:01:07 -07:00
Hoppe, Mateusz
26154ae21a
Refactor MemoryAllocation memoryPool overriding
...
Change-Id: I4fc2293fac6bc47a0139fedb81c2a879b610101f
2018-09-25 23:29:07 +02:00
Hoppe, Mateusz
5aae5a3d62
Rename DeviceIndex to DevicesBitfield to reflect type usage
...
Change-Id: Ic5ac1d2d49082dc3c6e98c1fa5178b93ec9ddf56
2018-09-24 14:46:19 +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
Hoppe, Mateusz
e8b6f11cad
Propagate AllocationFlags and deviceIndex to GraphicsAllocation
...
- adjust AllocationData interface
Change-Id: I3754585011d34b747fe23836f754fba8e711c9ff
2018-09-21 16:38:22 +02:00
Mrozek, Michal
f3bcb5c539
Make sure that residency is properly initialized.
...
- all members needs proper init.
Change-Id: I578eee8178ae375cc4861872c84ced1729fb689b
2018-09-20 20:47:27 +02:00
Artur Harasimiuk
40146291ad
Update copyright headers
...
Updating files modified in 2018 only. Older files remain with old style
copyright header
Change-Id: Ic99f2e190ad74b4b7f2bd79dd7b9fa5fbe36ec92
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-09-20 18:02:35 +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
Venevtsev, Igor
7c94409ce8
Change MemoryManager::allocateGraphicsMemoryInPreferredPool() signature.
...
Remove allocateMemory param.
Add AllocationFlags and DeviceIndex params.
Change-Id: I3ba048f8ea9840a047a3222dc1e97be2105c2222
2018-09-20 13:04:21 +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
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
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
Mrozek, Michal
581805cc88
Move OsContext id setting to constructor.
...
Change-Id: I1b809befc02536257800e3667307b8deabd5c95d
2018-09-12 09:50:26 +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
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
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
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
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
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
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
Venevtsev, Igor
f6743ced2a
Remove reuseBO from createGraphicsAllocationFromSharedHandle
...
Change-Id: Ia7af1cdd8e3986b8af7c542032d2767303865382
2018-09-03 13:38:19 +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
Zdunowski, Piotr
ad65477868
Fix crash caused by missing residency data.
...
Change-Id: Ib615e3b13382950ec8ecc128bea0032a126666e0
2018-08-29 12:46:50 +02:00
Dunajski, Bartosz
a807b9a90b
Initial implementation of Timestamp Packet write
...
Change-Id: Ic498bcf9795f54fbb5fb5a8d07ed17fa70dc4f1a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-08-28 08:27:13 +02:00
Hoppe, Mateusz
aaf2f94887
Fix zeroCopy property for images
...
- zeroCopy means no need for data transfer when cpu transfer is
chosen during map/unmap operations
- tests cleanup
Change-Id: Id312267e51d593781c6fe536b6e96f42f32e5c02
2018-08-23 16:45:05 +02:00
Milczarek, Slawomir
f6f9c0f456
Add notify functions to enqueue read buffer and image calls
...
This commit adds notifications to enqueue read buffer and image calls
and setters/getters to mark/check if an allocation is dumpable.
Change-Id: I123f24752d2a86abcf934e0d404f4e0ecf1729cc
2018-08-22 21:43:17 +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
Stefanowski, Adam
1ad70dfebe
Decouple memory manager and device
...
Change-Id: Ia64cc955e1d290cad4c50b6a2a41052d9acf0eec
2018-08-20 13:44:31 +02:00
Mateusz Jablonski
9ae4f390d1
Remove command queue, completion stamp and device from mem obj
...
Remove setCompletionStamp function from Surface
Change-Id: I25f3040a91892495e55cb4924f1538276de6264e
2018-08-01 16:17:13 +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
512978768e
Pass renderCompressed information to GMM for 64kb allocations
...
Change-Id: I56302055c028e919bceeb3333557cab7451e1d09
2018-07-23 11:28:43 +02:00
Hoppe, Mateusz
f125c8ff45
Add allocateGraphicsMemoryInDevicePool
...
- do not always expect failures in tests with failure injections
there is retry mechanism for some cases
Change-Id: If7589d2dacc41216d2f3b08f861209bbab179615
2018-07-20 13:00:00 +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
Hoppe, Mateusz
407227959a
Add memoryPool to GraphicsAllocation
...
- new ExtendableEnum struct that serves as enum but can
be extended with values
- decrease dependencies on graphics_allocation.h header -
use forward class declaration when possible
- memoryPool indicates what kind of memory is allocated
for a given GraphicsAllocation
Change-Id: I7a707c28dc4544cc73abc5f0ed5263ba5be17452
2018-07-17 20:10:33 +02:00
Hoppe, Mateusz
c34ed02f57
Rename AllocationType to FragmentPosition
...
- better reflects enums usage
- make the type scoped enum
Change-Id: Id2712e43028258ffc038a5738ec9e546d19d9e2e
2018-07-12 12:44:29 +02:00
Dunajski, Bartosz
85d7081beb
Enable 64kb pages when its allowed by platform
...
Change-Id: I10f02bd83beabeff929e16c7293324b81bfed054
2018-07-12 08:43:51 +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
Artur Harasimiuk
821f31b398
remove unused member
...
Change-Id: Iba055d55377ca1ea650d483fdefd1940bd1e91f9
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-07-09 13:57:33 +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
Mrozek, Michal
815151cb94
Simplify memory manager interfaces.
...
- Remove one function that routes to another function.
Change-Id: I44c17bf51abaf3aebf0692086de0f38e0693ab59
2018-06-29 15:39:10 +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
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
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
mplewka
95e5aba86a
Decode sip binaries once for all tests
...
Change-Id: I05a54146dc1aa893c5217f60f3b4ca47ded03019
2018-05-29 13:47:19 +02:00
Mateusz Jablonski
09e4dab4f6
Create os specific thread implementation
...
Change-Id: I267d6cb021a75713c28a7bbf29384da13d2a7217
2018-05-23 17:27:31 +02:00
Mrozek, Michal
d2817427af
Remove createInternalGraphicsAllocation function.
...
- Route directly to allocate32BitGraphicsMemory
Change-Id: Ia6872bae655c530ff06b0ec270f419ca91d005ce
2018-05-21 04:11:43 +02:00
Hoppe, Mateusz
baa7640c90
Rename MemoryType enum to AllocationOrigin
...
- better describes the meaning of INTERNAL and
EXTERNAL allocation types
Change-Id: Iacb97f5a9d63f45b60bc404cc6dd32c7ebd72ab3
2018-05-14 12:38:52 +02:00
Mrozek, Michal
06287af541
DrmGemCloseWorker - remove not used modes of operation.
...
Change-Id: Ie8524a8411f1022785536a523aad3e4ebea3a349
2018-05-10 15:34:20 +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
Artur Harasimiuk
5fbdad88c6
refactor config.h usage
...
- add defines to command line
- remove most occurences of include "config.h"
Change-Id: I19d65d83c895fc6143d319d057a50e5ae3e78830
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-26 10:02:15 +02:00
Artur Harasimiuk
ef5bd7ec5b
refactor HwTS and HWPerf tag allocators
...
- use full type specification and remove casts in MemoryManager
- remove TagAllocatorBase not used any more
- make TagAllocator to be profiling/instrumentation agnostic
- unify UnlimitedTagCount and make part of TagAllocator
Change-Id: I7b5b1ed83aa5e1f0839f611db0530d7e062a3c25
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-24 22:12:10 +02:00
Mrozek, Michal
5bae27ae51
Fix a bug in Graphics Allocations constructors.
...
- There was a wrong cast in Graphics Allocation constructor resulting
in wrong GPU address generation in some sporadic scenarios.
- Problem appears in 32 bit applications where void* address is cast to
uint64_t value, if c style cast is used it makes trailing bit to be
populated to higher bits constructing wrong value
0xf000000 is being casted to 0xfffffffff0000000 while it should be casted to
0x00000000f0000000
- added special cast function for further use.
Change-Id: I56d53a8e13e17cbacd127566442eea3f6a089977
2018-04-19 09:45:03 +02:00
Mrozek, Michal
8583c68c8c
[29/n] Internal 4GB allocator.
...
- Internal allocations may now coexists with non internal on reusable list.
- Caller now specifies if internal allocation is needed.
- If criteria are not met , then allocation is not returned.
Change-Id: I7da3a4f944768b7c8a873e44fd47248f1d76bf9e
2018-04-17 06:42:56 +02:00
Koska, Andrzej
b0a6d9131a
Making DSH and IOH always resident
...
Change-Id: Ib114b92cb5ee153f213c15c935f8f1d1cfeb46eb
2018-04-13 12:35:15 +02:00
Milczarek, Slawomir
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
Mrozek, Michal
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
Mrozek, Michal
3f59acf54a
[19/n] Internal 4GB allocator.
...
- Allocator now uses uint64_t instead of void*.
- This is due to the fact that it is required to work on 64 bit addresses
in 32 bit dll.
Change-Id: Ia715ea7913efc95a2974aff8dff390203d8125a8
2018-03-28 14:38:23 +02:00
Hoppe, Mateusz
aa088da8d3
User pointer read-only memory fix
...
- do not store fragment in map until hostPointerValidation
is done
- set pointers to nullptr after delete in cleanOsHandles
Change-Id: I0bf99c3215c4b91ce059bb4e94716671c49f1946
2018-03-28 12:42:31 +02:00
Milczarek, Slawomir
a02c3cb781
KM DAF AubCapture to recapture fill pattern allocations
...
The commit introduces a recapture of fill pattern allocations on every submit.
Change-Id: I634af075348dbc59c7809f58b8495326cab804e1
2018-03-27 16:38:41 +02:00
Milczarek, Slawomir
32825e203e
KM DAF AubCapture to recapture command streams and heap allocations
...
This commit introduces a recapture of CS and Heap resources on every submit.
Change-Id: I2a5a763e8988de804da1a6c2c8042154b0786b2e
2018-03-26 18:27:20 +02:00
Dunajski, Bartosz
b2cca4c6ca
Improve gmock usage: Remove default ON_CALL from MockGmmResourceInfo
...
Change-Id: I2d85e7b0cf61f3ebb735d2d1cd5b46ec560436b6
2018-03-26 11:34:57 +02:00
Mateusz Jablonski
575d1bf381
Cmake refactor part 20
...
set global properties with runtime sources, libult sources and
os interface tests
Change-Id: I9a84edf2f021b4581a16c19c7dbb0b2f94c33f4d
2018-03-23 15:51:12 +01:00
Mrozek, Michal
5d3d3ff0e7
[16/n] Internal 4GB allocator.
...
- simplify os agnostic memory manager
- remove pointer map
- move cpuPtr allocate logic to graphics allocation
- do not release tag allocation while injecting memory manager
- remove not needed ref count from Memory Allocation
Change-Id: I6ad81ee919c9cde939bc754a9dfc2db7568397d2
2018-03-22 09:26:19 +01:00
Napiatek, Henryk J
a4fc00a78c
Make sure that stopping Deferred Deleter is thread safe
...
Change-Id: Iaf4cf4f7291a5a87f7199ee86b4fc116acdc18c0
2018-03-20 14:04:23 +01:00
Hoppe, Mateusz
76dd4ac1f3
service read_only memory passed to CreateBuffer
...
- only when cl_mem_flags allows for read only memory
and USE_HOST_PTR is used
Change-Id: Id023f9cb551f7d81ec680de9cc546005980e6f75
2018-03-15 18:29:38 +01:00
Hoppe, Mateusz
a1a20a3b34
Service read only memory passed as host_ptr
...
- read only memory cannot be used for allocation,
Oses cannot create graphics alocation for such memory
- if memory allocation fails for host_ptr passed
to enqueueWrite calls, then try doing new allocation
and copy host_ptr on cpu
Change-Id: I415a4673ae1319ea8f77e53bd8fba7489fe85218
2018-03-14 13:16:36 +01:00
Mrozek, Michal
2119d5db08
[13/n] Internal 4GB allocator.
...
- Add common function for all memory managers to obtain internal heap base.
Change-Id: Iacdaaf598e8786dad046b3f4550f9c80ce3f15d9
2018-03-12 16:19:24 +01:00
Dunajski, Bartosz
f6a8cb3279
Improve GraphicsAllocation reuse management
...
Change-Id: Iee14b4641712231c801676b758546be76deef636
2018-03-05 10:56:34 +01:00
Dunajski, Bartosz
e579578bc8
Reuse GraphicsAllocation mechanism for shared resources
...
Change-Id: I4bfd2d3387ae0fc10d461ebc1ada94614ab7f6b5
2018-03-02 16:51:28 +01:00
Mateusz Jablonski
d1aa5f978d
Cmake refactor part 6
...
Add macro to add all subdirectories
Add macro to create project source tree based on target sources
Small cleanup runtime/CMakeLists.txt
Change-Id: I9b99145c544f648c4c3fe7421752d0c5d9504edf
2018-03-02 00:39:41 +01:00
Dunajski, Bartosz
d9dd68a8ef
Remove copy constructor for GraphicsAllocation
...
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Mrozek, Michal
0b6acb4d7a
[3/n] Internal 4GB allocator.
...
-Do not create allocator 32 bit with every DRM memory manager
-This is not needed for apps that do not use this.
-Add allocation of allocator to setForce32BitAddressing
Change-Id: I836b60f6b74eecf678cc9d56851797d0db176107
2018-02-28 16:54:49 +01:00
Mrozek, Michal
19c68a608f
[1/n] Internal 4GB allocator
...
- Add new entry point in memory manager for internal allocations.
- Route to allocate32BitGraphicsMemory
- Add new enum to control memory region
- Change mm to memoryManager
Change-Id: I2ee069aa9baf7f69f652022e026569ec4fdb9d77
2018-02-27 16:35:12 +01:00
Milczarek, Slawomir
5c746131f1
HW CSR with AUB dump to operate on real device (HW Info)
...
This commit ensures AUB files to be dumped for real device
in the configuration CSR HW + CSR AUB.
Change-Id: I7b5f740440aae062d2f5ad7ad8b9c3b4f2207ddd
2018-02-19 13:11:43 +01:00
Zdanowicz, Zbigniew
45dedb37f3
For HostPtr surfaces of enqueue calls use GPU address
...
Change-Id: I67bf5076d23d43438f5e82c5cb6cbd3b9ed2f152
2018-02-14 15:44:27 +01:00
Mateusz Jablonski
b027a82442
Cmake refactor part 2:
...
Move defining runtime sources into cmake files in subdirectories
Change-Id: Ic83c12fee65e04d19e7c8e1f88b939f03af7fa28
2018-02-05 13:40:46 +00:00
Zdanowicz, Zbigniew
f5513b6a1d
Handle host pointer not meeting memory manager criteria
...
Change-Id: I65eec6083f1d8bb7b5f46e1a2e015aa6fd7f3d9f
2018-01-29 11:40:32 +01:00
Zdanowicz, Zbigniew
e42d43953d
Restrict system memory allocations to certain address range
...
Change-Id: Ibe8c1183368ce48f2c820d0f1a71f0b15703ffcd
2018-01-26 15:16:41 +01:00
Dunajski, Bartosz
3532c6373f
D3D sharable 2D texture: Map Aux GpuVa and set renderCompressed if possible
...
Change-Id: I508965d07f456af74ecef6e980337f42f5967b43
2018-01-26 08:38:59 +01:00
Mrozek, Michal
0066daf495
Add support for deletion of allocations that may be in use by GPU.
...
- fix deletion of constant program surface
- fix deletion of global program surface
- move program_data tests to shared code
- make program_data tests SKU agnostic
Change-Id: Icf3e9fd035416072699336c4f86e49703ef48cc5
2018-01-19 12:34:49 +01:00
Milczarek, Slawomir
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
Chodor, Jaroslaw
1fd771e5a5
Refactor SIP acquiring
...
Acquire SIP by device, not by context
Change-Id: Iac850db1d65c52ebc8a331039046c0dd6acf1d4e
2018-01-08 03:31:45 +01:00
Zdanowicz, Zbigniew
21f92d8258
Add preemption WA to make CSR surface uncacheable
...
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Hoppe, Mateusz
e8fb931ef1
Use 64KB pages for SVM allocations when 64KB pages are enabled
...
- clSVMAlloc allocates 64KB pages as memory storage for both
fine grain and coarse grain allocation
Change-Id: I2068ffb9f5577761f739df47b54bc382e971949c
2017-12-28 11:25:43 +01:00
Brandon Fliflet
7e9ad41290
Initial commit
...
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00