Commit Graph

45 Commits

Author SHA1 Message Date
Gibala Krzysztof 929193c937 Remove OCL object from MemoryProperties 14/n
- Remove MemoryProperties from api layer
- Delete mem_obj_types & mem_obj_types_common
MemoryProperties is now fully replaced by MemoryPropertiesFlags

Related-To: NEO-3132
Change-Id: I114a887454a187571c22bfd371ef7bf11dd493fd
Signed-off-by: Gibala Krzysztof <krzysztof.gibala@intel.com>
2019-10-31 18:04:12 +01:00
Gibala 2f9bfc7748 Remove OCL object from MemoryProperties 10/n
Add cl_mem_flags, cl_mem_flags_intel and wire it in mem_obj.
Refactor:
- validateMemoryPropertiesForImage
- validateExtraMemoryProperties

Related-To: NEO-3132
Change-Id: I90fac5fc00e24fc67346109a1fe6f269ef51e1e0
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-10-10 10:19:47 +02:00
Mateusz Jablonski e0594d4716 Pass context to isSuitableForRenderCompression method
Related-To: NEO-3691

Change-Id: I3417e647f4219451922a4dc905726366b4448890
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-10-09 11:47:26 +02:00
Jobczyk, Lukasz 62d5ed2c08 Store a unified memory flags
Related-To: NEO-3610

Change-Id: Ie9f924f188d4024c7355b7655fea231229b4bf6a
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-30 16:06:39 +02:00
Jobczyk, Lukasz 3bd4baeba3 Move a unified memory manager to the core dir
Related-To: NEO-3677

Change-Id: Ib60dea2bcaaf5feea97d61cb9f54baee4c6b4b64
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-27 10:46:35 +02:00
Krzysztof Gibala 0753dc211d Remove OCL object from MemoryProperties 9/n
Refactor:
- validateMemoryPropertiesForBuffer

Related-To: NEO-3132
Change-Id: Ibdeec8ecdd2025718a3379b333a6c8ef9a8ceabf
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-09-24 14:58:13 +02:00
Krzysztof Gibala 6a221bc7fc Refactor flags validation
-create masks for buffer and image flags
-create common file for mem_obj_helper
-refactor parseMemoryProperties
-remove:
 checkUsedFlagsForBuffer, checkUsedFlagsForImage,
 addCommonMemoryProperties, addBufferMemoryProperties,
 addExtraMemoryProperties, addImageMemoryProperties

Related-To: NEO-3132
Change-Id: I3c147799de7b104d10d25b2f5262aeda58241d84
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-09-02 12:42:02 +02:00
Mrozek, Michal 33f6c7f0da Add new flag to disable L3 for stateful accesses.
- With this flag resource will not be cached in L3 for stateful accesses.

Change-Id: Icf9a393ab92d55c2cdf30444420ea40da0d5630c
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-29 23:38:26 -07:00
Krzysztof Gibala 7912b9fa94 Remove OCL object from MemoryProperties 7/n
Wire in MemoryPropertiesFlags support to:
-isLinearStorageForced

Related-To: NEO-3132
Change-Id: Ib29c4b1c8a30f2449d7fcb2778cb827baf61915e
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-23 10:08:23 +02:00
Krzysztof Gibala ea47f9745d Remove OCL object from MemoryProperties 4/n
Wire in MemoryPropertiesFlags support to:
-getAllocationPropertiesWithImageInfo
-getAllocationProperties
-fillPoliciesInProperties

Related-To: NEO-3132
Change-Id: I70d7c2d2ebb4814f4d36518b9098a97c88b88f46
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-20 09:46:31 +02:00
Krzysztof Gibala f8818c5984 Remove OCL object from MemoryProperties 3/n
Wire in MemoryPropertiesFlags support to:
-getGraphicsAllocationType
-isSuitableForRenderCompression
Add variable to MemoryPropertiesFlags:
-forceSharedPhysicalMemory

Related-To: NEO-3132
Change-Id: I41d91877877437993621577717c274ba3a77336e
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-12 16:05:02 +02:00
Krzysztof Gibala b5020eac81 Create helper for memory properties
-Move logics from  mem_obj_helper

Related-To: NEO-3374
Change-Id: I167cdcc8fcb08cb1fa6d19640fd266f0004f4c6b
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-07-23 11:31:49 +02:00
Kamil Kopryk 7e404e79ff Add support for unrestricted buffer sizes.
Change-Id: Ib32164cad623da46c5424feca74a140b39eb9a2c
Related-To: NEO-3314
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2019-07-22 14:44:19 +02:00
Mrozek, Michal 0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
Kamil Kopryk 568670c764 Validate and create image using MemoryProperties instead of flags.
Related-To: NEO-3147

Change-Id: I6c1f4383ec4ae1c35399f26ed953f1f20c203cf3
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2019-06-18 15:54:29 +02:00
Jobczyk, Lukasz 329d940285 Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242

Change-Id: If31adaead389acd3bef6af1931b91396c43b305e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-14 06:59:28 +02:00
Jobczyk, Lukasz e871852601 Force linear storage for images
Related-To: NEO-3114

Change-Id: I20dd6c7fdf4a223d45f1c3587d8a1327268742d8
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-04-29 07:58:14 +02:00
Filip Hazubski ddcd3fbbed Simplify getAllocationProperties
Change-Id: I006337ec700e50259c46be1fd73fde34562c8b83
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-26 15:47:22 +02:00
Filip Hazubski fae1d882f8 Add SvmAllocationProperties
Change-Id: Ie96aeab5597a1b3f2db8611a8a04597516730ce8
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-23 10:30:04 +02:00
Mateusz Jablonski fc86445079 Use MemoryProperties to setup cache policy for images
Related-To: NEO-2535

Change-Id: Ieb311cef1560d09c099b713d2cc81afb886cfc56
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-08 13:22:13 +02:00
Mateusz Jablonski ad62e32f76 Remove redudant AllocationProperties constructors
Related-To: NEO-2535, NEO-2860

Change-Id: Iea3061b7a3f9567b6ea8bc3a9ea49651c5f0fcdd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 15:20:27 +02:00
Mateusz Jablonski 4e3f0e6ab2 Create storage info in one place
Related-To: NEO-2860

Change-Id: Ic37b89f2a80267b499227a8311aabd1fc6fb2754
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 08:12:15 +02:00
Filip Hazubski b2e16b7897 Update allocationForCacheFlush method
Related-To: NEO-2535

Change-Id: Ia24556814188263e2ebb54b6419feddd5d8ed707
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-03 18:07:13 +02:00
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
Kamil Diedrich d27b5b59aa Add obtainRenderBufferCompressionPreference function
Change-Id: I0413a1d754c5ffccb28c8c5432d0149f0757e98e
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2019-03-19 15:10:59 +01:00
Filip Hazubski 751740d987 Fix memory flags validation for Images
HostPtr flags are never accepted when parent memory object is provided

Change-Id: If1d55e0456d6ab8605dbae5476780c2cb5f811ca
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-18 13:50:05 +01:00
Hazubski cb3ee6e8d2 Update memory flags validation for Images
Change-Id: Ifc8b50301cd82bd7e9c83da626a02dbc1643e0b0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-15 11:31:32 +01:00
Filip Hazubski 40541e4faa Update Image compression
Change-Id: I3a15dba343a80716b57cdda6b74f2142814021f3
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-13 13:59:50 +01:00
Mateusz Jablonski 24cb171d2a Rename DevicesBitfield -> StorageInfo
Change-Id: I2f763be185350de7b76838c9f101a1f8026f42c9
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-04 11:44:04 +01:00
Filip Hazubski 8b57d28116 clang-format: enable sorting includes
Include files are now grouped and sorted in following order:
1. Header file of the class the current file implements
2. Project files
3. Third party files
4. Standard library

Change-Id: If31af05652184169f7fee1d7ad08f1b2ed602cf0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-27 11:50:07 +01:00
Filip Hazubski 3fe78d263b Update getGraphicsAllocationType
Change-Id: I7613d0d5550d8032b960f86aa117b4baf6b9216f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-31 11:02:35 +01:00
Filip Hazubski 54d96e3e3d Add isFieldValid helper method
Change-Id: I6f8d67a99fa8ca41f61a7f966312cbe43f5ea719
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-29 09:58:46 +01:00
Hoppe, Mateusz d7ce6ef8d1 Allocate images through preferred pool call
Change-Id: I79c9c1a0a95a8a3e26ed690530b71ef504cc7ff8
2019-01-25 09:05:25 +01:00
Filip Hazubski 2d321cb557 Add option to disable caching for a resource
Introduce CL_MEM_LOCALLY_UNCACHED_RESOURCE flag that can be used with
clCreateBufferWithPropertiesINTEL()

Change-Id: I9f208f00952cdca7482371ec21cbc57c08435b52
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-17 13:32:36 +01:00
Hoppe, Mateusz a31c446d9f Allocate non USE_HOST_PTR and non-buffer images in preferred pool.
Change-Id: Ia486c7b32932202162d6587d06dc61023e38fff6
2018-12-31 14:37:44 +01:00
Mateusz Jablonski 8ec072d39c Simplify Memory Manager API [3/4]
- remove method allocateGraphicsMemory(size_t size)
- pass allocation type in allocation properties
- set allocation type in allocateGraphicsMemoryInPreferredPool

Change-Id: Ia9296d0ab2f711b7d78aff615cb56b3a246b60ec
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-17 10:42:16 +01:00
Mateusz Jablonski a6be6533ea Simplify Memory Manager API [2/n]
- make AllocationData a protected structure
- use AllocationProperties instead of AllocationFlags
- refactor methods: allocateGraphicsMemory64kb, allocateGraphicsMemoryForSVM
- call AllocateGraphicsMemoryInPreferredPool in AllocateGraphicsMemory
  where there is no host ptr

Change-Id: Ie9ca47b1bccacd00f8486e7d1bf6fb3985e5cb12
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2018-12-11 13:12:00 +01:00
Filip Hazubski 622f71a1b2 Move MemoryProperties struct to separate file
Change-Id: Ie35d2638b6fe5cafe64f3b9fc3e0c3b67ac08fd7
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-11-15 08:09:16 +01:00
Filip Hazubski ea2e634f7e Add clCreateBufferWithPropertiesIntel() API
Change-Id: Icfbbbc2479c1bc94008e0ccf90bcb25adddf0b61
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2018-11-06 11:03:04 +01:00
Hoppe, Mateusz 65565acdaf Refactor Buffer::create
- simplify conditions by separation
- reorder some calls
- pass allocateMemory to AllocationFlags

Change-Id: Iab6fd35f9b9c10bfbc19058e69058346ef87dad8
2018-09-27 18:16:54 +02:00
Hoppe, Mateusz 5aae5a3d62 Rename DeviceIndex to DevicesBitfield to reflect type usage
Change-Id: Ic5ac1d2d49082dc3c6e98c1fa5178b93ec9ddf56
2018-09-24 14:46:19 +02:00
Mrozek, Michal 328ecae57d Change the error checking in checkExtraMemFlagsForBuffer
Change-Id: I598b5789c567a398c75355813a44ea647ff6cd0d
2018-09-21 21:36: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 eaf72b6098 Pass not validated flags only to checkExtraMemFlagsForBuffer
Change-Id: I05b5554d7977af7c1069104dc607b36a846bfa2d
2018-09-07 15:03:38 +02:00
Hoppe, Mateusz 5f7b6db893 Validate buffer flags with helper
Change-Id: Iaaf04bbe6e5237da0183556fa1ee10817faaf5c0
2018-09-05 14:10:21 +02:00