Commit Graph

665 Commits

Author SHA1 Message Date
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
Mrozek, Michal
dfd331c568 Add logic to detect if kernel is using only images as arguments.
Change-Id: Ia897a1838761c452c36c3f7821149b5867c3cd70
2018-08-07 13:39:41 +02:00
Hoppe, Mateusz
8123c8b08f Log and print computed SchedulerKernel GWS
Change-Id: I5781ffc0dcc8cd762d433384f250173b6aee42a4
2018-08-07 13:32:31 +02:00
Stefanowski, Adam
4df9cf638f Remove device use by memory manager
Change-Id: Ia9dffb322d7b9f96e5698eb85fcff22a60051f74
2018-08-07 10:58:15 +02:00
Mrozek, Michal
dd407a3bf1 Move header setting to Wddm csr creation.
- This is constant setting and will not change in device lifetime.
- This is a part of device removal from memory manager.

Change-Id: Ib80559bac67d65c1bcc488fb033be7343839a108
2018-08-07 10:35:40 +02:00
Mrozek, Michal
d80dbb1ae0 Do not take ownership on device.
- Command Stream Receiver should be used instead for locking.
- Remove not needed synchronization in clSetUserEventStatus

Change-Id: I17050dc70cb0be03b2003043a9666ba8df1a83c9
2018-08-07 09:29:50 +02:00
Woloszyn, Wojciech
44fbbaee24 Implement clEnqueueWaitForEvents
Change-Id: I54a1f75ed2935d75fa3d6e07d52ea0831b355dd7
2018-08-07 09:14:46 +02:00
Dunajski, Bartosz
ec6f0f9f86 Aux translation [1/n]
- Mark Kernel for aux translation
- Initial implementation of dispatchAuxTranslation for future use

Change-Id: Ifca1c9a893876eecc5678cdc4f564b2bfcae959a
2018-08-07 09:07:25 +02:00
Maciej Dziuban
72740fc048 Cleanup program_tests.cpp
Reduce number of local classes deriving from Program

Change-Id: I713790c6ea0e034971fa90c6cb8f9c0a6bd6b6cd
2018-08-06 16:05:25 +02:00
Mrozek, Michal
2711e19986 Do not seek extension presensce in sharing builder.
- Do it in sharing functions instead
- remove incorrect interface

Change-Id: I6319a341e311217d41e151c332808442db561587
2018-08-06 10:57:18 +02:00
Katarzyna Cencelewska
831532bf14 Add missing API_ENTER logging in functions:
clCreateImage2D, clCreateImage3D,
clGetSupportedImageFormats, clGetMemObjectInfo,
clGetImageInfo, clGetImageParamsINTEL,
clSetMemObjectDestructorCallback, clCreateSampler,
clRetainSampler, clReleaseSampler,
clGetSamplerInfo, clCreateProgramWithSource,
clCreateProgramWithBinary

Change-Id: I37214fe5f815c0cc39ec29082ed1f4efb52af4c7
2018-08-04 14:18:24 +02:00
Jobczyk, Lukasz
6836bcdb7c EventsTracker refactor
Change-Id: I0b43d0f9961fbb776930c1b40a01484a0316be33
2018-08-04 13:45:43 +02:00
Hoppe, Mateusz
4cb408294c Add useSystemMemoryPool flag to Gmm
Change-Id: Ide27887de9169a9d958d3f232bcd70a1b7afe94f
2018-08-03 12:52:23 +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
Mrozek, Michal
6f251f5ea1 Fix TBX completion loop.
- resources are dumped in make non resident call
- in order to dump correct data we need to be sure that GPU is done processing
- waiting needs to be unconditional to handle all cases
- remove not needed parameter to makeSurfacePackNonResident

Change-Id: Ib2b065d486cd3a5d86e599c51b24f3c958c3a10b
2018-08-03 09:32:24 +02:00
Mrozek, Michal
1807ea651c Initialize tag value in init function.
- remove not needed method in mock device.
- remove duplication from aub tests.
- tag allocation now have desired value

Change-Id: Ib3161cce6753eae27c60fddb63054fd2e12f7dac
2018-08-03 09:25:26 +02:00
Mateusz Jablonski
89cf7532ea Make all gmm helper members non-static
Change-Id: Idb399aa275d66905040b6317d3888c94ffb98c55
2018-08-03 08:25:44 +02:00
Katarzyna Cencelewska
a2a2eaf5dd Add missing API_ENTER logging in functions:
clGetEventInfo, clCreateUserEvent,
clRetainEvent, clReleaseEvent,
clSetUserEventStatus, clSetEventCallback,
clGetEventProfilingInfo, clEnqueueReadBufferRect,
clEnqueueWriteBufferRect, clEnqueueFillBuffer

Change-Id: Ie1fd337d926fa28474157f97390b9c3aece0a782
2018-08-02 13:18:50 +02:00
Katarzyna Cencelewska
8f18841f38 Add missing API_ENTER logging in function:
clRetainContext, clReleaseContext,
clGetContextInfo, clCreateCommandQueue,
clRetainCommandQueue, clReleaseCommandQueue,
clGetCommandQueueInfo, clSetCommandQueueProperty,
clCreateBuffer, clCreateSubBuffer

Change-Id: I70c0b57d6f5ff335145593f1a81bc5055b1d0c0c
2018-08-02 13:10:53 +02:00
Hoppe, Mateusz
e1eaf3ded0 Fix bug in VA sharing multithreaded scenario
- createGraphicsAllocationFromSharedHandle was not threadsafe,
instead of reusing BufferObject for a single handle when
multiple threads were creating memory objects from a single VASurface,
new BO could be created and placed in container with BOs for reuse.
This was leading to errors in ioctl calls.

- add lock for following set of operations:
 1. find BufferObject with a given handle in container
 2. create shared BO when not found
 3. add shared BO to container
 prevents creating multiple BOs for a single handle

- replace recursive mutex with regular mutex as mutex shouldn't
be locked recursively

Change-Id: I0937e2abf3bf1c672c6d77422d46e441f7216a68
2018-08-02 12:55:05 +02:00
Katarzyna Cencelewska
ccbbebdf75 Add missing API_ENTER logging in functions:
clCreateProgramWithIL, clCreateProgramWithBuiltInKernels,
clRetainProgram, clReleaseProgram,
clLinkProgram, clGetProgramInfo,
clGetProgramBuildInfo, clCreateKernelsInProgram,
clCreateKernelsInProgram, clRetainKernel,
clReleaseKernel, clSetKernelArg,
clGetKernelInfo, clGetKernelArgInfo,
clGetKernelWorkGroupInfo

Change-Id: I4cbe68dd8593e6d42b6e1e4c25a7155a477aa7d0
2018-08-01 17:13:19 +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
Mateusz Jablonski
601caa8b27 Pass gmm entries to gmm client context wrapper
Change-Id: I618da55ef2eec9858ebb6570b5070bed6ddb73bf
2018-08-01 15:05:05 +02:00
Katarzyna Cencelewska
00a62f204a Add missing API_ENTER logging in functions:
clGetPlatformIDs, clIcdGetPlatformIDsKHR,
 clGetPlatformInfo, clGetDeviceIDs,
 clCreateSubDevices, clRetainDevice,
 clCreateContextFromType

Change-Id: I571b036cc6b64a66d768d7f3f8eb55e7d69b9aa7
2018-08-01 14:29:10 +02:00
Mrozek, Michal
f60847b64e Pass device to flushTask.
- do not obtain it from memory manager

Change-Id: Icc7c03dc925c69ec5932c5812151ac28dc34d20d
2018-08-01 14:11:06 +02:00
Mrozek, Michal
c001481557 Make constructor public.
- temporary change to workaround environment issues.

Change-Id: I914159c6ea987cb706a131ad2f0b830599ccc28f
2018-08-01 14:03:49 +02:00
Chodor, Jaroslaw
fcfef318c1 Fixing hash calculation in MockProgram
Change-Id: I869bca0cc8c0d2c87901cde65e7cf62d81a10285
2018-07-31 13:32:11 +02:00
Mrozek, Michal
d53e1c3979 Optimize power usage in VA sharing scenarios.
- in VA sharing scenarios driver needs to be as power efficient as possible
- Added new mode to KMD notify helper called maxPowerSavingMode
- in this mode, whenever GPU is not busy, driver will choose non busy wait
path.

Change-Id: I7e4079be995107bea543ffda774ca161ce483944
2018-07-31 12:10:22 +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
Chodor, Jaroslaw
c2454d5aa2 SpirV improvements
* Use preferredIR form compiler
* Allow .spv test files instead of .bc

Change-Id: Ia1a693be52b7391896378fbe159be85f4e7a00c1
2018-07-31 00:26:52 +02:00
Mateusz Jablonski
df2f29907c Change createGmmContextWrapperFunc to return unique ptr
Change-Id: I74e6c5b1a49ed19f24933edd3062c62d9256f2d8
2018-07-30 18:14:06 +02:00
Chodor, Jaroslaw
c5becf63f7 Forcing llvm as intermediate for Link, CreateLib
Link and CreateLibrary will use llvm IR as
intermediate representation always

Change-Id: I370e92ee258d997f04f40320ab4a478970ee22bd
2018-07-30 17:15:21 +02:00
Kamil Diedrich
ea92874a66 Revert "Pass info betwean gtpin and igc"
This reverts commit 5654d5673fbff18b1f3c81a8eb3c8dfeb9add9e1.

Change-Id: I2df912fef15755b2e5bd11d3e18e595d71bfad98
2018-07-30 16:10:28 +02:00
Maciej Dziuban
7e380dad62 Delete incorrect check in setArgImmediate
Change-Id: Ie02bb4a6f34f564fb563e373c4e37f851cd29e92
2018-07-30 14:12:41 +02:00
Stefanowski, Adam
16b7cd1a75 Move debug variables to new location
Change-Id: I2311f9b3f7bbe1a319c25ae3a99e5c41452faf90
2018-07-30 11:22:02 +02:00