Commit Graph

117 Commits

Author SHA1 Message Date
Cetnerowski 8647e0c349 Improve KernelInfo handling:
Remove wrapper for KernelInfo constructor
Switch to unique pointer where possible

Change-Id: Ib3f323e34836e1d189d836fd539ab45518609610
2018-08-23 13:55:28 +02:00
Maciej Dziuban e0e48203d2 Move BuiltIns to ExecutionEnvironment
Change-Id: Ib2a1b82cc7858c898bb32820aad106a01d1325ad
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-21 23:15:47 +02:00
Kamil Diedrich 459a157e17 Fix for setting correct program compiler version
Change-Id: I41db8c1640d51fabedbc2d39ff76be04c124c332
2018-08-21 18:39:11 +02:00
Maciej Dziuban d2759a0629 Move CompilerInterface to ExecutionEnvironment
Change-Id: I14afdd8fc41ecd4ac8c8fcbeecda2539bc847288
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2018-08-21 15:30:15 +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
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
Stefanowski, Adam 8598168355 Remove programCount from device
Change-Id: I4edfabadd73166a27db73a120fc1380de52a33a5
2018-08-13 13:45:55 +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
Lukasz Towarek 20aa362a7d Support CL_INVALID_PROGRAM_EXECUTABLE in clCreateKernel
Change-Id: I7ff5b988d0e6187931ea4ad35a7aaeb92e37907a
2018-08-10 09:58:33 +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
Chodor, Jaroslaw c10d0d79f5 Workgroup walk order
Change-Id: Id02db6a383e21dc17be64655e7f51a84103b2e0b
2018-08-07 13:54:10 +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
Chodor, Jaroslaw fcfef318c1 Fixing hash calculation in MockProgram
Change-Id: I869bca0cc8c0d2c87901cde65e7cf62d81a10285
2018-07-31 13:32:11 +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
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 Plewka aa7662e8b4 Pass info betwean gtpin and igc
Change-Id: I1da3089ba816298b43e493304612fac6a4a10851
2018-07-26 19:25:52 +02:00
Kamil Diedrich 282f335269 elflib reimplementation - initial commit
Includes:
-add explicit definition of enum types
-replace NULL for nullptr
-add namespace for constants
-replace c-style casting
-add SH_FLAG_NONE for consistency

Change-Id: I3eb8d26cc6b549e91a940ae0d3c095a9f96785f2
2018-07-26 14:03:35 +02:00
Chodor, Jaroslaw b490a1331b Refactoring/preparation for preferred IR from FCL
NEO will be querying FCL for preferrerd IR
(intermediate representation) instead of
using llvm bc.

Change-Id: I98316b5623557a9651da2a4c5e610ab26421c491
2018-07-18 16:49:29 +02:00
Mrozek, Michal b0afceabaf Initialize stack variables.
Change-Id: Ic11d54c540a9fa7fa3489a0858cbd9371e586a94
2018-07-18 10:29:43 +02:00
Dunajski, Bartosz 4a6be207cd New patch token for pure stateful buffer access
Change-Id: I90589a1cc3c3fa3608e7a5da438660ed85efcffa
2018-07-17 19:55:16 +02:00
Mrozek, Michal f4222785ee Initialize stack variables.
Change-Id: I9478c73ddebe13eea4277f7c45d0228a12aa7487
2018-07-17 19:36:05 +02:00
Hoppe, Mateusz 55a045ebe1 Refactor graphics memory allocation scheme
- replace createGraphicsAllocationWithRequiredBitness with more general
methodallocateGraphicsMemoryInPreferredPool based on passed
 AllocationData
- proper flags for allocation selected based on AllocationType

- remove allocateGraphicsMemory(size_t size, size_t alignment)
and use allocateGraphicsMemory(size_t size) instead where default
alignment is sufficient, otherwise use full options version:
allocateGraphicsMemory(size_t size, size_t alignment,
 bool forcePin, bool uncacheable)

Change-Id: I2da891f372ee181253cb840568a61b33c0d71fc9
2018-07-11 15:48:05 +02:00
Mrozek, Michal 92266e4ad1 Disable stateless to statefull with offset optimization on BDW.
- BDW doesn't support this optimization

Change-Id: Ic88556214c8d9a14ddb093b7c25587575e616f83
2018-07-10 17:49:55 +02:00
Artur Harasimiuk 26ffab8a0c improve kernel data parameter ULTs:
- add assert to check size() of patchInfo.dataParameterBuffers
- add test case to ensure that unknown parameter is not added
- move one test case from TEST_P -> TEST_F. no need to be TEST_P as
  GetParam() is not used

Change-Id: I9ff753601ac1d4f2484cf13f5fa6b728b0dcd4a2
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-06-29 12:50:49 +02:00
Kamil Diedrich 5186474ef5 return CL_BUILD_NONE when clGetProgramBuildInfo is called
return CL_BUILD_NONE from clGetProgramBuildInfo (CL_PROGRAM_BUILD_STATUS)
when clCreateProgramWithBinary was called and no build has been performed
on the specified program object for device.

Change-Id: Ib59dd07671a69ab1325c6c51f28e9dd550d5e5bf
2018-06-29 06:56:45 +02:00
Mrozek, Michal b7545f1401 Decrement context ref count as a last action in program destructor.
- There are various calls to device inside destructor.
- Memory manager is protected via device , which is protected by context.
- If context is destroyed it means that device may be destroyed, which means
that memory manager may be destroyed and we have a seg fault.

Change-Id: I2cb6a69790f53bf2c9fba89160078b009e105574
2018-06-28 09:01:51 +02:00
Artur Harasimiuk 75ab0c6fe1 Switch clang-format to 6.0
Change-Id: Id96d1f47fb3d479d10d1022f1259dc030a148192
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-06-14 09:45:00 +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
Zdunowski, Piotr 157ffbceb5 Revert "Builtins increase context refcount."
This reverts commit 39d55e5257.

Change-Id: Ib5b38e5a508c5e56e61c7f0ac0b5b8a965d6170d
2018-05-28 16:35:45 +02:00
Zdunowski, Piotr 39d55e5257 Builtins increase context refcount.
Change-Id: I146852092e1cb374b816875ae9a90ac03a8f205e
2018-05-23 17:56:20 +02:00
Mrozek, Michal d2817427af Remove createInternalGraphicsAllocation function.
- Route directly to allocate32BitGraphicsMemory

Change-Id: Ia6872bae655c530ff06b0ec270f419ca91d005ce
2018-05-21 04:11:43 +02:00
Hoppe, Mateusz b59a5f1910 Source Level Debugger - adding notifications
- notifySourceCode, notifyKernelDebugData, notifyDeviceDestruction
- added processDebugData method in Program
- change options when SLD is active
- add space at the beginning of extension list options

Change-Id: Iac1e52f849544dbfda62407e112cde83fa94e3ad
2018-05-11 13:12:36 +02:00
Hoppe, Mateusz 2e46129d53 Source Level Debugger: initialization & notify new device
- add source level debugger to device
- load isDebuggerActive function from library
- rename interface to sourceLevelDebuggerInterface in SLD
- add DebugData to KernelInfo with kernel debug data

Change-Id: I2643ee633f8dc5c97e8bbdc9d4e7977ddcbf440d
2018-05-09 13:42:34 +02:00
Artur Harasimiuk 5fbdad88c6 refactor config.h usage
- add defines to command line
- remove most occurences of include "config.h"

Change-Id: I19d65d83c895fc6143d319d057a50e5ae3e78830
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-26 10:02:15 +02:00
Hoppe, Mateusz 81362d5b7d Source Level Debugger: add generating debug data in cloc
- generate debug data to .dbg file in cloc
- generate debug kernel for ults with "-g" option
in addition to "-cl-kernel-debug-enable"
- append "-g" option for compilation and build of
programs with kernel debugging enabled to make
compiler generate debug data

Change-Id: I09401f84be6e09da167194a44d1b9a7f2bfb622d
2018-04-18 17:14:15 +02:00
Chodor, Jaroslaw 614b69a3bf Adding support for get_image_num_mip_levels
* patch token decoding
* crossthread data patching

* additionally, fixing nasty ODR violation in VA tests
  (note : ODR = One Definition Rule)

Change-Id: I9803ed599826c97359349d2b8fa0d86e46cb33ea
2018-04-06 11:04:29 +02:00
Zdunowski, Piotr 5946a2cd15 Fix printf issue with printing pointers from 32bit kernel on 64bit system.
Change-Id: I77771b4ebe6c4335d51dc1834f0b8f9df2a069a4
2018-04-05 17:12:33 +02:00
Mateusz Jablonski 835a1da175 Update kernel allocation when substitute kernel heap
Change-Id: Iee02a93d4e10c7b32fae56ffa61c90d8617d6ec9
2018-04-05 10:49:40 +02:00
Mateusz Jablonski 79a0e3253e Enable transforming image 3d to image 2d array
Change-Id: I8fdc6899780481bdebeaf858a330e9dea822bda3
2018-04-05 09:10:54 +02:00
Zdunowski, Piotr 2cbb76ac88 Fix for reading pointers from printf surface on 32bit configurations.
Change-Id: I2b7511b33de6f20f612e87a7f32dd6fd5356b55a
2018-03-28 14:22:09 +02:00
Mrozek, Michal 09923fcb39 [17/n] Internal 4GB allocator.
- Make sure that blocks ISA is made resident
- both blocked & non blocked path
- fix a bug where private surface was not made resident in blocked path.

Change-Id: Ie564595b176b94ecc7c79d7efeae20598c5874fb
2018-03-27 10:33:22 +02:00
Hoppe, Mateusz 7f32eb06d1 Kernel Source Level debugger support 4/n
- adding DebugSurface allocation and setup
- unit tests refactors:
  - mock kernel with kernel debug option
  - separating fixtures to headers
  - added helper for getting internal-options kernels
    filenames

Change-Id: I7b6f4d46e2ab7cff0da8d5212483f44ae0d4be31
2018-03-26 15:02:42 +02:00
Mateusz Jablonski 575d1bf381 Cmake refactor part 20
set global properties with runtime sources, libult sources and
os interface tests

Change-Id: I9a84edf2f021b4581a16c19c7dbb0b2f94c33f4d
2018-03-23 15:51:12 +01:00
Hoppe, Mateusz 18eb0b5e64 Kernel Source Level debugger support 2/n
- adding kernel debug option to build program
- program tests refactor
- pregenerated debug kernel for ULTs

Change-Id: I00152639148fd48c4f709dc7cd9c46392df567c8
2018-03-19 10:26:45 +01:00
Mrozek, Michal bd0362990b [16/n] Internal 4GB allocator.
- Make sure that kernel allocation is deleted asynchronously.

Change-Id: Ia98ae9fdbd56c7de82f92d62e0395ef181ebceef
2018-03-15 10:40:39 +01:00
Hoppe, Mateusz cc6fa3d1e1 Kernel source debugging support 1/n
- new patch token
- program debug compilation flag
- sip kernel new methods for querying bti and debug
surface size

Change-Id: Icaddd15f269c4b76efdf926f2e346aa61cbaae02
2018-03-13 08:01:29 +01:00
Mrozek, Michal 38c352d044 [12/n] Internal 4GB allocator
- allocate graphics allocation for sip.

Change-Id: I18f12251d3ce812d53cc1c8c78079a9ba3fd3b3d
2018-03-09 14:19:06 +01:00
Mrozek, Michal 2bb64b2d11 [11/n] Allocate graphics allocations during processKernel.
- This ensures each kernel has ISH set up after it is created.
- refactor freeBlockPrivateSurfaces to freeBlockResources, this is to properly
clean allocations for blocks
- Add method cleanCurrentKernelInfo to avoid code duplication in KernelInfo
cleanup

Change-Id: I01f155d434579fe5ce2675bc4e89b04628ef8158
2018-03-09 11:13:08 +01:00
Mrozek, Michal 2ac12afe58 Remove unused variable
Change-Id: I2274844129072beb03e41029ad526a9e765911b1
2018-03-08 12:24:06 +01:00
Mateusz Jablonski d1aa5f978d Cmake refactor part 6
Add macro to add all subdirectories
Add macro to create project source tree based on target sources
Small cleanup runtime/CMakeLists.txt

Change-Id: I9b99145c544f648c4c3fe7421752d0c5d9504edf
2018-03-02 00:39:41 +01:00
Mrozek, Michal 7f7daef49c Avoid default parameter to program constructor.
Change-Id: I75e9a619131f7d8721416cf18d87418568d04f25
2018-02-28 16:56:07 +01:00
Mrozek, Michal f90ebac12a Clean obsolete code.
Change-Id: I9551f7217924c7ea8f44a3322fc3096252c4d6f7
2018-02-23 08:10:12 +01:00
hjnapiat 5909a6b3d3 Add support for GT-Pin Callbacks [3/n]
Change-Id: Iea4b49efc9a666fde310ece15a9c69686d22f627
2018-02-19 10:43:19 +01:00
Dale Stimson 4e6fe62eb6 Convert FALLTHROUGH comments to C++17 [[fallthrough]] attribute
Use conditionals and a macro to avoid provoking compilers that do
not support this attribute.

Adds a macro named CPP_ATTRIBUTE_FALLTHROUGH which is invoked right
before a following case statement to declare that the intent is to
fall through.  Example:

    ...
    case xxx:
       ...
       CPP_ATTRIBUTE_FALLTHROUGH;
    case yyy:
    ...

The gcc/clang alternative of adding comments that contain "FALLTHROUGH"
suffers from the problem that *by default* ccache strips the comments
so that they are not present for the real compilation.

Change-Id: I77ddeb7dae46db8398b014a93f6a71bedc64ada9
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
2018-02-14 07:08:00 -08:00
Mateusz Jablonski ea021f8d69 Cmake refactor part 1: fix dependencies with including os_inc.h
Remove some not needed includes

Change-Id: I158ad663ccfcec4822e3768df9d05090c5e096f9
2018-02-08 09:40:40 +01:00
Mateusz Jablonski b027a82442 Cmake refactor part 2:
Move defining runtime sources into cmake files in subdirectories

Change-Id: Ic83c12fee65e04d19e7c8e1f88b939f03af7fa28
2018-02-05 13:40:46 +00:00
Mrozek, Michal 9f048c8ce7 Add flag -fpreserve-vec3-type to internal options.
This flags informs compiler to not promote vec3 to vec4.

Change-Id: I98d04954ccf07c625c64831087adf1d5abd38bf5
2018-01-31 12:36:24 +01:00
hjnapiat 5b0ebe25d5 Add support for GT-Pin Callbacks [2/n]
Change-Id: Ibdb76361be2a0e48888b46e9ed6dfe6b0ed49862
2018-01-24 16:25:02 +01:00
Mrozek, Michal 0066daf495 Add support for deletion of allocations that may be in use by GPU.
- fix deletion of constant program surface
- fix deletion of global program surface
- move program_data tests to shared code
- make program_data tests SKU agnostic

Change-Id: Icf3e9fd035416072699336c4f86e49703ef48cc5
2018-01-19 12:34:49 +01:00
Mrozek, Michal 292d6c9bed Do not force stateless when m32 flag is passed.
Change-Id: I1915ffc82c35aa9ffe3fd4b108f717318fd1a67c
2018-01-19 07:57:35 +01:00
Koska, Andrzej be0306ca68 Adding support for passing proper extensions list from cloc to compilers
Change-Id: I89249cd6ccae9996cd33d7ba26007c778207f028
2018-01-17 12:47:44 +01:00
Mrozek, Michal ee250be942 Fix num thread per slice computation.
- It should use thread count not EU count.
- change variable name to reflect that we work on sublices.
- fix test description, add missing test
- change hasBarrier variable to be boolean

Change-Id: I627bdf17b661d2f9b5eb3d8cd6ca53eba5d46b81
2018-01-16 13:06:31 +01:00
Brandon Fliflet 7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00