Commit Graph

45 Commits

Author SHA1 Message Date
Michal Mrozek 618472c23e [2/n] Refactor CPU copies
- move blocking flag to command queue function
- refactor buffer function for better readability
- add new method to easily state that buffer is compressed.

Change-Id: I62465b7bc8b109f14d0012b5641d4b822e3cc908
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-02-21 11:05:49 +01:00
Michal Mrozek bd1ac55e2c [1/n] Refactor CPU copies.
- remove waitlist check from buffer
- refactor the flow in CommandQueue::bufferCpuCopyAllowed

Change-Id: I52bb7f886211b05f80118665bb28dfdb5f113fe7
2020-02-21 09:41:29 +01:00
Milczarek, Slawomir 7fe6a2fbed Add oclock option to force stateless to stateful optimization
Related-To: NEO-2993

Change-Id: I9668053aa749534d09501bfccb1a9b93e69f0e4e
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2020-01-29 10:23:47 +01:00
Filip Hazubski 8fcff2241f Add ClDevice
Decouple cl_device_id from Device class.

Related-To: NEO-3938

Change-Id: I68543a753aea562f3b47ba0d23a059ff3cffa906
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-01-17 12:43:11 +01:00
Gibala a32f537601 Remove OCL object from MemoryProperties 13/n
Refactor parseMemoryProperties and createMemoryPropertiesFlags functions

Related-To: NEO-3132
Change-Id: I61aaae69b84d8b0f77c08a59010879cc3a93e6cf
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-10-24 14:07:42 +02:00
Gibala 5f02a0730b Remove OCL object from MemoryProperties 12/n
Remove MemoryProperties from Buffer and Image classes and replaced it with
MemoryPropertiesFlags

Related-To: NEO-3132
Change-Id: Ib582cddf759bf501fa7dbbea3257640eb9f431e9
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-10-22 14:26:21 +02:00
Gibala d2576c95aa Remove OCL object from MemoryProperties 11/n
Remove MemoryProperties from MemObj class and replaced it with
MemoryPropertiesFlags

Related-To: NEO-3132
Change-Id: Iff8633c49225b6a1f18103281825b36bf179701f
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-10-17 13:28:44 +02:00
Lindong Wu 9066192dc3 add dispatch hints for more flixable control on workload dispatch
Change-Id: Iecfe3031172fd108a1ef0d77d2fff8ad3cef22b3
2019-10-16 15:40:07 +02: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
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
Jobczyk, Lukasz a79b682fc2 Move a GfxPartition to the core dir
Related-To: NEO-3677

Change-Id: Ia89ba93eefbb2921ef7d64bde7ed4114a0c78e0d
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-04 15:42:25 +02:00
Krzysztof Gibala cb93dd8d06 Remove OCL object from MemoryProperties 5/n
Wire in MemoryPropertiesFlags support to isReadOnlyMemoryPermittedByFlags

Related-To: NEO-3132
Change-Id: I3b14d0a49d78ad9d29e055e85f8ab7e584af60d2
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-20 10:15:50 +02:00
Dunajski, Bartosz 1518774fe6 Use stateful args programming for aux translation kernels.
Set valid mocs values

Change-Id: I8de2bbdd72b102a1623b9e397485ef52ecca8306
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-08-14 14:52:46 +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 26774a21e7 Remove OCL object from MemoryProperties 2/n
Wire in MemoryPropertiesFlags support to checkMemory

Related-To: NEO-3132
Change-Id: Ib3762cc05999c4541a9ea7d33427052c237dd018
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-08-09 11:35:34 +02:00
Mrozek, Michal f0d3b47886 Turn on caching if buffers are set as constant args.
- If resources is constant arg it means it will only be read
- Therefore even for read_write buffer we may turn on caching.

Change-Id: Id2c34d4993111bf5c6523a1946464c397db95686
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-31 14:56:56 +02:00
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
Mateusz Jablonski b8fb5e683b Move basic_math.h and vec.h to core directory
Change-Id: I143b7af450ff48d4958b4bc7137b393a2dc0eb64
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-14 21:32:55 +02:00
Mrozek, Michal 22c2c9b02c Change the size of aux translation transfer.
Change-Id: I9b34babf26eee217c203d0c09d819765a45a9506
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-20 15:45:07 +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
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
Maciej Dziuban 38aa884edd Select GMM_RESOURCE_USAGE_OCL_BUFFER_CONST policy for read-only OCL buffers
Change-Id: I338d1a1cf90c5b48009357d79b036d6d50e54b4a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-14 16:09:27 +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
Zdanowicz, Zbigniew 51d34da7ec Add multiEngineQueue field to DispatchFlags and modify interfaces
Change-Id: Iaa4754a22e9b88201aed7df01c7d6e5fd06c84a9
2019-02-14 17:12:15 +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 3fe78d263b Update getGraphicsAllocationType
Change-Id: I7613d0d5550d8032b960f86aa117b4baf6b9216f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-01-31 11:02:35 +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
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
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
Dunajski, Bartosz bd9ac40bab Set non-aux mode for non-pure stateful kernel arguments
Change-Id: Id59fc3ae966a1f6632a24cbcfca3fb0aef0dd76d
2018-08-03 09:47:49 +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 3a807d5643 Render compressed buffer creation flow
Change-Id: I58b7f7eb3b69afcb78c6ab3de1f6fb7524d33f13
2018-07-23 15:29:47 +02:00
Zdunowski, Piotr 0cc10e47cc Use device instead of context when programing surface state.
Change-Id: I67615036d373cf905762a43a92562bf3d84854a5
2018-06-11 17:20:11 +02:00
Pawel Wilma ff1d2361f3 Add patch info comments to AUB dump
Collect patching information and add as comments to AUB dump.

Change-Id: Ib7c903a2589d68b6e3e614c1774c7cd5a000c29f
2018-03-23 13:08:54 +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
Dunajski, Bartosz dd44a87d5f Map/unmap enqueue fixes [6/n]: Support multiple map operations
- Dont make cpu/gpu writes on read-only unmap
- Read/Write on limited map range only
- Overlaps checks for non read-only maps
- Fixed cmd type on returned event

Change-Id: I98ca542e8d369d2426a87279f86cadb0bf3db299
2018-02-23 10:45:06 +01:00
Dunajski, Bartosz 4f2a05ac88 Map/unmap enqueue fixes [2/n]: CPU operations on limited range
- Curently each non-zerocopy CPU operation on map/unmap make a full copy
  using hostPtr
- This commit adds functionality to select specific range of copy
- Multiple mapping with different size is not supported yet,
  so copy will be made on full range for now. This is for future usage.

Change-Id: I7652e85482ba6fffb2474169447baf9b080dcd1e
2018-02-13 16:29:01 +01:00
Dunajski, Bartosz 844f956244 Remove redundant/recursive checks in unmap operations
- Some of the paths were made only for ULTs
- Params like mappedPtr were ignored
- Improve confusing method names
- Fix for memory leak in map shared buffer path (not tested code)

Change-Id: I8a69035f1d1c340f2d131a6f8d7e13116e3ddabc
2018-02-02 10:36:09 +01:00
Zdanowicz, Zbigniew f5513b6a1d Handle host pointer not meeting memory manager criteria
Change-Id: I65eec6083f1d8bb7b5f46e1a2e015aa6fd7f3d9f
2018-01-29 11:40:32 +01:00
Brandon Fliflet 7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00