Commit Graph

84 Commits

Author SHA1 Message Date
Andrzej Swierczynski 2e2d5d53b4 Provide compression performance hints during resource allocation
Change-Id: I1f8076b9c7cc51e16c25a554673a19c4a0c87d63
Resolves: NEO-3243
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2019-07-11 16:52:07 +02:00
Dunajski, Bartosz 27654c9282 Buffer-to-Buffer blit operations support
Change-Id: I76c9fae83fa2a31bd6108999c7f77f4a47c47f1b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 23:46:07 +02:00
Dunajski, Bartosz 41cca6d790 Use GraphicsAllocation for blit operation instead of Buffer object
Change-Id: I7e59a25db97082a6396d441a8fa603df27d6424d
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-07-01 11:23:27 +02:00
Dunajski, Bartosz 56e77ca452 Add BlitProperties to simplify properties passing
Change-Id: I4abf99d420487a237e5b465b9d4d121121f45a84
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-27 16:31:40 +02:00
Dunajski, Bartosz 3e88907201 Enqueue Read/Write operations with blitter
- Program dependencies from Event and IOQ
- Obtain new TimestampPacket
- Update output TimestampPacket if needed

Change-Id: I4ad020f5c5b05ceca8b096fafe1257523e2bc343
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
2019-06-17 12:01:37 +02:00
Milczarek, Slawomir 474c25eca6 HostPtr allocation with life time of buffer object for CL_MEM_USE_HOST_PTR
Related-To: NEO-3231

Change-Id: Ic112819c793482844aa712b4a8a1827ec9408812
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-14 15:17:01 +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
Filip Hazubski 74a8406cb8 Support offsets in blitWithHostPtr
Related-To: NEO-3020

Change-Id: I8476cc80311495bb16324d1fe8427a77c2e04556
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-06-05 13:07:44 +02:00
Dunajski, Bartosz c8c2e64ec6 Add blocking flag for bliter operations
Change-Id: I61f672780c2108961eaed40b5d5be257f3c34566
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-04 21:39:43 +02:00
Krzysztof Gibala 7830be3090 Do not create buffer when size is too big.
Resolves: NEO-3131
Change-Id: Icd37e7bc62719be5956b6a9435ab2fe7e0962c00
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-05-29 12:23:39 +02:00
Jaime Arteaga b98b51b0d9 Move ptr.h to core folder
Change-Id: Icf0db7c767b2b1ea44fccc02b135f0f6c1f78c8f
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-05-29 00:11:34 -07:00
Dunajski, Bartosz b82cdd6b8e Program MI_SEMAPHORE_WAIT for dependencies during blit operations
Change-Id: I8b0e467886bfb23d026a0c13be514343a22a20a1
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-21 14:18:16 +02:00
Hoppe, Mateusz d15174d7c5 Block SVMAllocsManager creation in Context when SVM is not supported
- skip SVM tests when SVM is not supported

Related-To: NEO-3157

Change-Id: Ie5d5ef4778749f60537084fc7f388714954a4873
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-17 08:59:00 +02:00
Dunajski, Bartosz 4f4ef14b9b Accept different copy directions during blit operations
Change-Id: Idb59458b46337ca0095056857dbd75bf116b6723
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-16 18:53:30 +02:00
Dunajski, Bartosz 0f87e9aa1a Rename HardwareInfo members
Change-Id: I85f56b677bafdd75dd958b488522393fc18b68af
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 09:13:55 +02:00
Dunajski, Bartosz bb80d327c7 Move HardwareInfo ownership to ExecutionEnvironment [1/n]
Change-Id: I5e5b4cc45947a8841282c7d431fb69d9c397a2d4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-08 16:11:01 +02:00
Dunajski, Bartosz 6cf2dc411d Dispatch blit operation during Buffer creation
Change-Id: I59298030b4132a3ac95cc57d0608c8e6a350dafd
Related-To: NEO-3020
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-23 17:31:42 +02:00
Jobczyk, Lukasz 3051f43470 Do not compress small buffers
Related-To: NEO-3112

Change-Id: I4f18f1ee9edb4e6938d7fe98c52e9778ce867fd1
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-04-20 22:26:15 +02:00
Dunajski, Bartosz 282b0d49ee Move Buffer MOCS programming to new method
Change-Id: I317977105bdbf85023100b0b3a5b4fdad9871ac4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-15 15:38:41 +02:00
Zbigniew Zdanowicz 971cbd55f3 Add new SVM types
Related-To: NEO-2917

Change-Id: Ica127129799c1e617a326a110348c2f70160b15c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-11 15:27:38 +02:00
Zbigniew Zdanowicz e201725dd5 Add dedicated map allocation
Related-To: NEO-2917

Change-Id: Ieeca40f5faf29433a5c464d2c3ca3b8910695a9b
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-09 16:16:31 +02:00
Kamil Diedrich 3e56fa6b32 change alignment from bits to bytes
Related-To: NEO-2380

Change-Id: I5698bd2043531fb34c4647000833b0558ff8dba7
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2019-04-04 09:40:50 +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
Kamil Diedrich cefa3e3119 Add alignment check to CL_DEVICE_MEM_BASE_ADDR_ALIGN for compressed buffers
Change-Id: I44fa231411a754fb24398a4a9727ca16f257220e
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2019-04-02 12:20:12 +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
Mateusz Jablonski 395e79fee8 Add support for many GMMs in Graphics Allocation
Change-Id: I955b8dd50b502f91700c5529d0a0a291632aa157
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-13 15:44:45 +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
Mateusz Jablonski 6fb28dd828 Refactor GraphicsAllocation class
move most of members to protected section
merge related members into structs

Change-Id: Ief2e092aa5e61ca6f13308f9d9b1937ea6c913b4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-02-28 14:09:11 +01:00
Piotr Fusik 33a9d3160b Simplify code.
Change-Id: If730d02312da01515ae53b5faaeb5d33419ec4ba
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-02-28 13:09:52 +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
Mrozek, Michal 65625e22bf Enhance force shared physical memory flag.
- forces zero copy for all buffers created with this flag.

Change-Id: Ib76b452e286dcbd3481f1c96f3a48db63fb5c4b5
2019-02-20 12:26:27 +01:00
Daria Hinz 82613a0750 Return buffer compressed when render buffer compressed is enable
Change-Id: I62fde1573849139ca16ff9d7e5d5672eab7ccd2b
2019-02-19 15:02:48 +01:00
Filip Hazubski a8d4733802 Replace MemObj::flags with MemoryProperties
Change-Id: I886cd775d1eca55964b7c4b05f6c977558a73922
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-12 10:16:09 +01:00
Kamil Diedrich 62e56d2398 Disable L3cache when resolve argument
Change-Id: I4bb3a18d67254eef8aa4a0ce6b29401726f0b47e
2019-02-06 15:51:31 +01:00
Filip Hazubski d30cc221df Update disabling caching for a resource
Change-Id: I00eac0add01f75a1b82d04cf42652c15b776a457
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-01 10:50:21 +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
Mrozek, Michal c0d4122c26 Ensure that temporary buffer has zero copy flag set.
Change-Id: Iefa6f281cc61237be21aeff7c26d080c32385a75
2019-01-28 11:00:00 +01:00
Mrozek, Michal a58a897bf3 Move unrecoverable prior to pointer deference.
Change-Id: I35c33de88fd4c2286a678f250df3ff9b3b495097
2019-01-09 10:24:18 +01:00
Mrozek, Michal acc5e87b40 Change CL_MEM_USE_HOST_PTR buffer allocation scheme.
- Choose BUFFER type if local memory is present.
- add CL_MEM_FORCE_SHARED_PHYSICAL_MEMORY_INTEL for allocations that
require host pointer storage.

Change-Id: Ifd3c74800cd53a2a9bb2171212a47ef5bcffe2a1
2019-01-08 16:24:10 +01:00
Mrozek, Michal 1ce3898400 Improve checkMemory validation.
- check that proper flags are passed if hostPtr is presented.
- fix a bug in buffer fixture.
- fix some bugs in other tests.

Change-Id: If708fd06598e5f3d8a94b3e24fb83f689f6b52c7
2019-01-08 11:44:37 +01:00
Mrozek, Michal 5c9f8eee23 Change the type for CL_MEM_ALLOC_HOST_PTR buffers in 64 bit.
Change-Id: Ic70d8bb3e172b80b7c20b570e5e307be460defce
2019-01-08 09:08:00 +01:00
Mrozek, Michal b99cf6c3ff Image / Buffer refactor.
- do not use redescribe flag for image/buffer from other image/buffer.
- use redescribe flag only when image is redescribed via redescribe interface
- remove image specific functions from mem object
- remove redundant fields
- add new implementation of isImageFromBuffer/isImageFromImage basing
on associated mem object.
- pass associated mem object to redescrbed images.
- remove redundant setters

Change-Id: I267637a48fbc2afdad9a9f5e5e9ccd6bd0c09972
2018-12-19 21:21:44 +01:00
Piotr Fusik e8a71132a4 Remove unnecessary casts.
Change-Id: I2d293d065c7efa006efe7d60a625cba0c6116c86
2018-12-18 13:42:14 +01:00
Dunajski, Bartosz 4ddf5a1e87 Add debug flag to control RenderCompressed value in HardwareInfo
Change-Id: I733125fbd8596f24cdeb636b69a9198c44bd899b
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2018-12-17 13:11:00 +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