Mateusz Jablonski
7afba8d50b
Cleanup after adding new local ids layout for images
...
- Apply layout for images only when Z size is equal to 1
- Fix generating local ids for local workgroup size
when any size is not power of 2
- Revert commit c53c09da45
Change-Id: Ie745782fafce2facbd877e3e33e4ba347cb2b09e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-08-21 11:27:30 +02:00
Hoppe, Mateusz
23d66b6984
Add dedicated method for getting hint for AubDump memory write
...
Change-Id: I5282d3004e61dde4bda1fd0e0c1acf9fe94caca0
2018-08-21 10:28:59 +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
Dunajski, Bartosz
044255e9bd
Pick Main Kernel for LWS and numWG in dispatchWalker()
...
Change-Id: I4fd0746ec77890ceacbf333966bb00a4ea99b186
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-20 13:51:35 +02:00
Stefanowski, Adam
1ad70dfebe
Decouple memory manager and device
...
Change-Id: Ia64cc955e1d290cad4c50b6a2a41052d9acf0eec
2018-08-20 13:44:31 +02:00
Kamil Diedrich
1dcec9e23a
Error handling improvement
...
Change-Id: I5e35bff508c45993be03bc946ddebfb698a0c638
2018-08-20 10:54:28 +02:00
Dunajski, Bartosz
56562963ef
Pick main Kernel for PrintfHandler and AubSubCapture
...
Change-Id: I9ff3bdaa5da82e162642deeaf4a8e0821ff00da2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-20 10:06:00 +02:00
Hoppe, Mateusz
0723455cb5
Add localMemorySupported flag to HardwareCapabilities
...
Change-Id: Ie57aa6418eecdd288001ded2605c731dd61b9879
2018-08-17 15:22:08 +02:00
Kamil Diedrich
17de60254a
ELF reader refactor
...
Change-Id: I326747237ba605f338d3f2c91a6b682db8b75af5
2018-08-17 13:57:41 +02:00
Dunajski, Bartosz
c7a49666d5
Refactor querying Main and Parent Kernel from MultiDispatchInfo
...
Change-Id: I723d91f2f445bc7af1bcb0de46f8ac07837f3449
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-17 13:51:32 +02:00
Maciej Dziuban
524737af39
Add executionEnvironment field to Program
...
Change-Id: Id624177aa3f0b5525bac86e2e0a935ebaf53480e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-08-16 16:52:41 +02:00
Maciej Dziuban
5b37dc1c91
Add ExecutionEnvironment parameter to Program::createFromGenBinary
...
Change-Id: I825c29d8c885d986d54d716ea72f19e70b3b11c6
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-08-16 13:56:36 +02:00
Mrozek, Michal
c53c09da45
Limit local work sizes where local ids limit is applied.
...
Change-Id: Id9a84d6a7d4530344771f48fd278cff9ab2dd927
2018-08-16 12:34:09 +02:00
mplewka
5e9066170d
Change include location of gtpin headers
...
Change-Id: Idd1e85b1946bad3af950cb9041d25ff5bc1aaf03
2018-08-16 12:06:22 +02:00
Mrozek, Michal
931ed38a57
[3/n] Wddm Cleanup.
...
- remove different flavors of Wddm
- rename files for better meaning
- remove unnecessary files
- remove unnecessary methods
Change-Id: I73a35e186a9a99169260bb157958ff795b36e20d
2018-08-16 10:07:24 +02:00
Mrozek, Michal
077134faf4
Add debug flag to loop at initialize.
...
- This is to help debugging applications that requires attaching to them.
Change-Id: Ia7923c231b925ab9a473a70fb5fcc13fd99db1ca
2018-08-16 09:57:49 +02:00
Woloszyn, Wojciech
404c0cccb9
In Kernel::resolveArgs, use argument's object, not value
...
Change-Id: I65a1855349707d06172b2e0d4ad97dd9f4554c25
2018-08-14 17:25:49 +02:00
Dunajski, Bartosz
3469539798
Remove UNRECOVERABLE_IF from setArgBuffer
...
Change-Id: I7cddad0fc902489139b26e655cb301de0dda422c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-14 15:21:53 +02:00
Hoppe, Mateusz
5be98e2e0f
Fix VA sharing scenario
...
- make createGraphicsAllocationFromSharedHandle and
freeGraphicsMemory more threadsafe - there was race condition
where one thread called PRIME_FD_TO_HANDLE ioctl when the other just
closed the last handle with GEM_CLOSE ioctl. This led to situation
where newly acquired handle from PRIME_FD_TO_HANDLE was already invalid
and used in exec.
- adding mutex for the time of accessing shared handles container
and ioctls (GEM_CLOSE and PRIME_FD_TO_HANDLE) resolves racing problem
Change-Id: I8417a036a1429be8f1ba97e63ebdda2707960564
2018-08-14 15:00:16 +02:00
Mrozek, Michal
599b79320e
Call yield in busy loop to reduce CPU usage.
...
Change-Id: I6563665a9a1cbb0baabc0db6d8666f80414ad347
2018-08-14 14:27:39 +02:00
Hoppe, Mateusz
22f80a8a2c
Add logging to VA sharing api
...
Change-Id: I5c68995db4d2dcde9505210030d9c63b5e86ddbd
2018-08-14 14:15:35 +02:00
Mateusz Jablonski
47f3dad619
Apply (2/4)x4x1 layout when generating local ids for kernel with images only
...
- For SIMD8 apply 2x4x1 layout
- For SIMD16/SIMD32 apply 4x4x1 layout
Change-Id: I31bceb49387011c66da5f96ad2a71125b96d4cda
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-08-14 12:22:20 +02:00
Mrozek, Michal
6c5875f805
[2/n] Initialize Wddm interface in Wddm init.
...
Change-Id: If7184e64df54b4e6840970fec67cb5bc11909b7c
2018-08-14 11:02:27 +02:00
Dunajski, Bartosz
a5950500a3
Aux translation [4/n]: Lock BuiltIn Kernel + refactor BuiltIns locking
...
Change-Id: Ic7dc9b86a4aa5f93f1c4bcdf80b9598ecdff9713
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-08-14 10:56:16 +02:00
Kamil Diedrich
d3d8b6f905
change ARRAY_COUNT macro to constexpr
...
Change-Id: I027c4e70e3b901f3ffb3c0971935ae67e971db07
2018-08-14 10:04:58 +02:00
Mrozek, Michal
d51c7ccdd4
[1/n] Move different wddm functions to dedicated helper.
...
- This is first phase of moving wddm specific internals to Wddm
Interface helper
- Instead of having 2 different wddm classes driver will route interface
specific functions to dedicated helper
- Helper will be initialized when interface version will be known,
therefore we would not need to initialize wddm multiple times
Change-Id: Ic71788ccb2f8a71bf2f3f3c2a04117f16417d85e
2018-08-14 09:08:25 +02:00
Lukasz Towarek
95e28faca0
Fix division by zero in enqueueKernel
...
Change-Id: I8e7d3db39805133a5af545e65a94fb19433a2a41
2018-08-14 09:02:17 +02:00
Mrozek, Michal
99829a3319
Prefetch binding table entries.
...
- Significant performance boost for kernels utilizing surface states
Change-Id: I0cec91cb61bd19999847090b945810f798ed80d6
2018-08-13 17:21:04 +02:00
Stefanowski, Adam
8598168355
Remove programCount from device
...
Change-Id: I4edfabadd73166a27db73a120fc1380de52a33a5
2018-08-13 13:45:55 +02:00
Lukasz Towarek
78f505f4f4
Return CL_INVALID_ARG_SIZE instead of CL_INVALID_ARG_VALUE
...
Change-Id: Ia8792035e19a450f1399f8be3287ef46d0d6609d
2018-08-13 13:31:55 +02:00
Dunajski, Bartosz
6ca84c278a
Aux translation [3/n]: Dispatch AuxTranslation builtin when required
...
Change-Id: I9bd0294de7980ac01ebb3c2d696eba6fd6a456ec
2018-08-13 12:15:30 +02:00
Woloszyn, Wojciech
93c1a7b51b
Fix mipmaps return values
...
Change-Id: I6e7cdc69edc80010a0c6f5f337e6b530278a6606
2018-08-13 11:56:07 +02:00
Lukasz Towarek
23a7ec5ef9
Return CL_INVALID_PROGRAM_EXECUTABLE instead of CL_INVALID_KERNEL
...
- clCreateKernel can't return CL_INVALID_KERNEL according to OpenCL spec
Change-Id: I379218fe20bd13eef52e5a17b1fd3f91fdda06c0
2018-08-13 11:43:33 +02:00
Woloszyn, Wojciech
53d99ead24
Fix sampler lifecycle
...
- Add refcount to sampler to avoid use after free
Change-Id: I0f03d8ed29b5b9dc5bee355ed266ac7437e92509
2018-08-13 10:13:08 +02:00
Dunajski, Bartosz
1a85f83235
Use std::make_unique for BuiltinDispatchInfoBuilder creation
...
Change-Id: I6c28627201c22900502f8f0d481a606f887069bf
2018-08-13 08:09:54 +02:00
Dunajski, Bartosz
117a7d15ad
Aux translation [2/n]: Add new builtins
...
Each Kernel arg for aux translation needs to have own builtin kernel.
This is required to build MultiDispatchInfo before copying into SSH
Change-Id: I4b2f42518cf06bb31c31fd5f83f7da927bde99c3
2018-08-10 18:24:21 +02:00
Mrozek, Michal
9632d18071
Use make unique to construct an object.
...
Change-Id: I4fd944869238c0a4c38676160cb752d523dc07a1
2018-08-10 18:06:49 +02:00
Maciej Dziuban
b7bcd2dbac
Move createFromGenBinary out from header
...
Change-Id: I444c057d76308fcaf08c8f2e6af1590f4cced0b3
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-08-10 15:59:26 +02:00
Woloszyn, Wojciech
e102f6c36b
Add missing getMaxLod() gmm call
...
Change-Id: I14e672b17ddfc9a7045ee66a694642f224a0f4e7
2018-08-10 15:49:24 +02:00
Mrozek, Michal
ae9134233d
OsInterface cleanup.
...
- OsInterface is now a part of execution environment
- it is created when getDevice is being called
- move ownership of wddm from Wddm Memory manager to OSInterface
- reuse osInterface on Linux in Command Stream Receiver
- currently OsInterface is not reused upon command stream receiver creation
on Windows this will change in further commits.
- make enumAdapters non static function
Change-Id: I10f36c01e6729f48653e3b5c11cbc32e811ce754
2018-08-10 14:25:53 +02:00
Kowalczuk, Jakub
571babf1d5
Add new macro _RELEASE_BUILD_WITH_REGKEYS
...
Change-Id: I679a17e99d7928b3caf10f80a581fb386aaf7751
2018-08-10 11:17:22 +02:00
Lukasz Towarek
20aa362a7d
Support CL_INVALID_PROGRAM_EXECUTABLE in clCreateKernel
...
Change-Id: I7ff5b988d0e6187931ea4ad35a7aaeb92e37907a
2018-08-10 09:58:33 +02:00
Mrozek, Michal
9776868aff
Remove not used debug variable.
...
Change-Id: I6e3a7d1340096383101b84148d772afd2d4f304e
2018-08-09 16:12:44 +02:00
Lukasz Towarek
d9aad44434
Handle kernel name set to nullptr
...
Change-Id: Ifeb6923c8df948de94b0771de0f37e628013d8db
2018-08-09 16:05:03 +02:00
Slawomir Milczarek
55475c2848
Clang tidy: Call to virtual function during destruction
...
Fix for clang tidy warning: Call to virtual function
during destruction will not dispatch to derived class
Change-Id: I000dacdbdfb486d2e35795d18ea9f5e4a00b7d6a
2018-08-09 15:20:58 +02:00
Katarzyna Cencelewska
32b25ff08b
Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
...
clEnqueueReadImage, clEnqueueFillImage,
clEnqueueWriteImage, clEnqueueCopyImage,
clEnqueueCopyImageToBuffer, clEnqueueMapImage,
clEnqueueUnmapMemObject, clEnqueueMigrateMemObjects,
clEnqueueNDRangeKernel, clEnqueueTask,
clEnqueueNativeKernel, clEnqueueMarker,
clEnqueueWaitForEvents, clEnqueueBarrier,
clEnqueueMarkerWithWaitList
Change-Id: Ifde3290f8dcd9758235018a97fc080798d3b9de0
2018-08-09 13:00:36 +02:00
Hoppe, Mateusz
69820ab51f
Log created image cl_mem objects in api calls
...
Change-Id: Ic304b5971ddb93057afa47a5205e11e0110b037e
2018-08-09 12:44:39 +02:00
Katarzyna Cencelewska
955aaccb74
Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
...
clEnqueueSVMMap, clEnqueueSVMUnmap,
clSetKernelArgSVMPointer, clSetKernelExecInfo,
clGetPipeInfo, clCreateCommandQueueWithProperties,
clCreateSamplerWithProperties, clGetKernelSubGroupInfoKHR,
clGetDeviceAndHostTimer, clGetHostTimer,
clGetKernelSubGroupInfo, clSetDefaultDeviceCommandQueue,
clEnqueueSVMMigrateMem, clCloneKernel
Change-Id: Ic5ef808b4fd331b32173c176f498974fc9506a5d
2018-08-09 11:41:11 +02:00
Slawomir Milczarek
285af96dc2
getCpuGpuTime to return false when unavailable
...
This commit addresses crash issue in AUB standalone mode
when queue profiling is enabled on Linux platform.
Change-Id: Ie2d02093d3628efac3a8925890f22afd6a49469d
2018-08-09 10:10:47 +02:00
Katarzyna Cencelewska
4afa8fb6ca
Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
...
clCreatePerfCountersCommandQueueINTEL, clSetPerformanceConfigurationINTEL,
clCreateCommandQueueWithPropertiesKHR, clCreateAcceleratorINTEL,
clRetainAcceleratorINTEL, clGetAcceleratorInfoINTEL,
clReleaseAcceleratorINTEL, clCreateProgramWithILKHR,
clGetExtensionFunctionAddress, clGetExtensionFunctionAddressForPlatform,
clSVMAlloc, clSVMFree,
clEnqueueSVMFree, clEnqueueSVMFree,
clEnqueueSVMMemcpy, clEnqueueSVMMemFill
Change-Id: I40db218af43a9379af173d08cba78c051e169352
2018-08-09 09:50:21 +02:00