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
Katarzyna Cencelewska
e4f986a283
Add missing API_ENTER and DBG_LOG_INPUTS logging functions in api_win.cpp
...
Change-Id: I7d604e2b6fbb9480a6f8949b64b7eba1fe34fe8b
2018-08-09 09:34:36 +02:00
Mrozek, Michal
1599ea800e
Pass execution environment to command stream receiver.
...
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +02:00
Dunajski, Bartosz
f0e53d5cf1
Add UNRECOVERABLE_IF for unexpected builtIn setArgBuffer scenario
...
Change-Id: I87a5c373eae9c833239e0eb4dca6f1660c763a86
2018-08-08 13:18:34 +02:00
Dunajski, Bartosz
f80b020401
Add existing files to cmake
...
Change-Id: I23f6b976326464489b1f41136088027e8b207952
2018-08-08 09:29:17 +02:00
Dunajski, Bartosz
b4f53fdfa7
Pick applicable buffers for aux translation
...
Change-Id: I60a28cd9e0dec61120b1ae5c42dfe0cb852eb387
2018-08-08 09:23:51 +02:00
Chodor, Jaroslaw
428fdb4ed4
Fix for clang compilation error
...
Adding missing braces for array initialization
Change-Id: Ic816237af68e0189718f07a617371f131da67c44
2018-08-08 07:20:03 +02:00
Kamil Diedrich
8226269bbe
Reimplementation of Elf Writer
...
- remove is_initialize pattern
- add RAII
- replace dynamic arrays with std::vector<char>
- use fixed width integer types
- remove c-style casting
- reducing the number of code checks
- add camelCase style
Change-Id: If24a595f03865c59c86fed29db280de0084b5663
2018-08-07 17:35:39 +02:00
Plewka, Maciej
392277ff00
Enable 'Pass info between GT-Pin and IGC', after being reverted
...
This reverts commit ea92874a66 .
Change-Id: I4994b30f059012a5e89d899665af5c24b8ac8b18
2018-08-07 17:28:54 +02:00
Mrozek, Michal
d17879d412
Pass ExecutionEnvironment to get devices.
...
- this would allow for further re-use of objects allocated here.
Change-Id: I73b62ae3991ebd786dea3c085e1391194b8de6ba
2018-08-07 15:17:06 +02:00
Mrozek, Michal
4eb2e64231
Remove OsInterface creation from getDevices on Windows.
...
Change-Id: I33a141803c336eeaaa6b2702b92515420de97cc1
2018-08-07 14:41:31 +02:00
Chodor, Jaroslaw
c10d0d79f5
Workgroup walk order
...
Change-Id: Id02db6a383e21dc17be64655e7f51a84103b2e0b
2018-08-07 13:54:10 +02:00