Commit Graph

74 Commits

Author SHA1 Message Date
Mrozek, Michal
1599ea800e Pass execution environment to command stream receiver.
Change-Id: I598f67f8b005b5ce8249b638e080657eb6dc3547
2018-08-08 17:10:39 +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
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
a906ddaa66 Make gmm client context non-static member
Construct platform and initialize gmm in each test

Change-Id: I4f209369e77213420308f31f911b7a569ea93283
2018-07-27 00:16:30 +02:00
Jobczyk, Lukasz
eebb919c18 Move SourceLevelDebugger ownership to execution environment
Change-Id: I7fc6fd1cde2e450dbd41a164f915373e80a4aaf8
2018-07-25 10:32:29 +02:00
Mrozek, Michal
366a12e3ce Move setting external memory managers to mock layers.
Change-Id: I335fd35269da9093c9e744c2735215e8d561098c
2018-07-20 12:09:48 +02:00
Mrozek, Michal
f487ce11a2 Limit device usage in memory manager.
Change-Id: I488574dc2b2878b640f0bac2b23bd9a6a265f0e2
2018-07-19 18:27:42 +02:00
Mateusz Jablonski
36db75da28 Create gmm client context wrapper, reduce mock_gmm
Change-Id: I4eec4366afeb175fea4bf7934e3046b50fe30fe9
2018-07-17 11:46:04 +02:00
Mrozek, Michal
f59c191915 Refactor parts of createDeviceImpl.
- Move portions of code to dedicated methods.

Change-Id: I9abec23785f3f3201dce42a7a840ca4a450c4cc1
2018-07-17 09:46:45 +02:00
Mrozek, Michal
fb67598ff2 Remove tag allocation from device
Change-Id: I9f463ee7d8f21722f8c0b343200a3b5125c02ab7
2018-07-16 14:54:16 +02:00
Mrozek, Michal
f6dc90c903 Move destruction of command stream receiver to execution environment.
- remove other explicit resets, no longer needed.
- change the order of destruction, command stream receiver needs to be
destroyed prior to memory manager.

Change-Id: I3c5db46db15a2cb7dc9f6fdb0e06441806fbd9f2
2018-07-16 13:20:25 +02:00
Mrozek, Michal
0abacce160 Move tag allocation destruction to command stream receiver.
Change-Id: I657df755c6cdd695103769a45a8dce749f7bd545
2018-07-16 13:12:53 +02:00
Zdanowicz, Zbigniew
51421ec0b9 Add experimental command buffer
This code is an infrastructure for special debug purpose that allow measure
execution time of any hardware command.

Change-Id: Id12a7979d204734a0c4a6c4700e427b65ac2397f
2018-07-13 12:09:14 +02:00
Mrozek, Michal
dc19b018b7 Move memory manager destruction outside of device scope.
Change-Id: Id012b176e99d5fffe39fe91fb54d2d774468a2c1
2018-07-12 11:50:26 +02:00
Dunajski, Bartosz
85d7081beb Enable 64kb pages when its allowed by platform
Change-Id: I10f02bd83beabeff929e16c7293324b81bfed054
2018-07-12 08:43:51 +02:00
Mrozek, Michal
7735fb5767 Move memory manager ownership to execution environment.
Change-Id: Ib743b04139a6572da65eeffa6cd3e13db4bd9098
2018-07-12 08:23:05 +02:00
Hoppe, Mateusz
0c094c05e5 Limit scheduler kernel GWS to one workgroup in SimulationMode
- add ftrSimulationMode to FeatureTable
- set GWS in computeGws() when isSimulation() is true

Change-Id: Id3fb55ada4c8c5d8216a2b89d0878dc5cd1697ad
2018-07-11 17:20:24 +02:00
Mrozek, Michal
a126b290b8 Move ownership of command stream receiver to execution environment.
Change-Id: Ibf924347e79f0c6e61141542c7e4c97c7a27e88d
2018-07-11 17:07:22 +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
4fb02f2e99 Ensure that every device has execution environment.
Change-Id: I77a203fb5ffd2c6a9309091f5e048f71c58c4c04
2018-07-11 12:53:18 +02:00
Mateusz Jablonski
94dbdb602d Add instance of gmm helper to execution environment
Change-Id: I1b044611fbad91fbb681ba233938f41502f29056
2018-07-06 08:48:19 +02:00
Mrozek, Michal
ad96adfcef Remove isRootDevice logic.
- Our device are always root devices.

Change-Id: I057485cda9fba2988b0910f5349f7ced527abe29
2018-06-29 11:22:41 +02:00
Dunajski, Bartosz
5408913d38 Set HwInfo to GmmHelper on Device creation
This allows querying HwInfo from code that doesnt have access to Device

Change-Id: I0084f824f557cd85c2fdfbf0ff2ec71118e9af2e
2018-06-29 11:02:52 +02:00
Mrozek, Michal
415623b08f Remove default parameter.
Change-Id: I7da92801c7fa45b66bb7d770154d901bd3af9f5c
2018-06-28 14:47:20 +02:00
Mrozek, Michal
a95cca71e4 Device now adds dependencies on ExecutionEnvironment
- This allows for ExecutionEnvironment to live longer then platform after
its global destruction
- Device adds references to ExecutionEnvironment after creation
- When device is destroyed it removes the dependency causing the cleanup
- Platform upon destruction no longer destroys the device, but decrements
the internal ref count.

Change-Id: I22593ea44b2b50e3416575a9e97e3ce0a1f8b5c0
2018-06-27 16:37:29 +02:00
Mrozek, Michal
3e65a39c62 Move device name to device scope.
Change-Id: If7df4c8f97fa6b0c6f9449ae6802386c639241c2
2018-06-21 17:53:42 +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
Koska, Andrzej
d74e179aee Decrease maxMemAllocSize for BDW to 2040MB
Change-Id: I239fc513c829589f4f457ac23b49c302712f8db8
2018-06-12 13:40:58 +02:00
Dunajski, Bartosz
bd16f4bf2b Improve scratch allocation size calculation
Change-Id: I627bea89ce31e7110976cb88f9e9266e08af590a
2018-06-06 16:27:48 +02:00
Zdanowicz, Zbigniew
e6a9d30951 Add debug flag to override fp64 capabilities
Change-Id: I5078aaaeeb58b4821e7c9ae4b01e0a8261a5c8da
2018-06-06 16:12:37 +02:00
Hoppe, Mateusz
a9566e0c05 Return true in Device::isSimulation() when AUB or TBX CSR is selected
- when CSR is set to AUB or TBX (with AubDump) Device should
return true in isSimulation(). This method is used to set flag
m_IsSimulation in deviceQueue which is used by scheduler kernel

Change-Id: Ibdf07d4c940335fb0bb8448071b66d47e9391d71
2018-06-06 14:24:24 +02:00
Hoppe, Mateusz
c104db1d5e Source Level Debugger - disable support on BDW
- suppress Gmock warning in DeviceWithSourceLevelDebugger test

Change-Id: Iab9190d3fd7a17741baf87ebe1fbc7244631653b
2018-05-23 17:23:40 +02:00
Hoppe, Mateusz
47f1abe543 Source Level Debugger fixes
when SLD is active:
- make Sip Kernel Resident
- program GPGPU_CSR_BASE_ADDRESS
- Disable Preemption

- adjust getDebuggerOption input param,
value passed has to be at least 2 bytes in size
change unit test behaviour accordingly

Change-Id: I4ec87d0e8dfcf02437fdeeffc5363314eea5dd07
2018-05-14 15:51:32 +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
Dunajski, Bartosz
d71b46bdae Use configure_file for NEO_DRIVER_VERSION instead of source file property
Change-Id: I76888a7eb2a2c6e228306b5c740c55c6abff93da
2018-04-27 10:13:28 +02:00
Mateusz Jablonski
abbc0a5471 Compile kernels per platform type (core/lp)
compiled kernels are in (binary dir)/(family name with type) folder

Change-Id: Ied1827ab7f4ecc5c1de4c3535b1c0ba3b5cd86ee
2018-04-26 16:47:15 +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
Artur Harasimiuk
75d497a9a9 separate BuiltinDispatchInfoBuilder from built_ins.h
We don't need BuiltinDispatchInfoBuilder in every place where built ins
are used. specifically in .cpp files generated from kernel binary.

Change-Id: Ie739951cdc93873993f78ad14cee656122af51fd
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-19 12:32:13 +02:00
mplewka
079f94cd2d Refactor ult for preemption enabling
Refactoring in ULTs around preemption:
    -refactoring ULTS to not fail with default preemption mode
    -fixing ULT memory leaks observed after enabling preemption
    -mocking getSipKernel in ULTs (to minimize ULT execution time)

Change-Id: I194b56173d7cb23aae94eeeca60051759c817e10
2018-04-16 12:55:30 +02:00
Hoppe, Mateusz
e898b9e218 Source Level Debugger: SIP programming in preamble
- program SIP_STATE when either MidThread preemption is enabled
or kernel debugging is active
- device creates correct sip based on preemption mode and
active kernel debugging

Change-Id: I3e43b66ad00d24c2389fa4fc766dd47044b6af80
2018-04-13 14:40:08 +02:00
Chodor, Jaroslaw
d516cd6edc Don't expose mipmaps on 1.2 devices
Change-Id: Id7949266f29ef06ae71c88725298822055ca7c13
2018-04-13 11:22:33 +02:00
Mateusz Jablonski
881895bd2a Stop querying gpu frequency during each profiling data calculation
change type of profiling timer resolution in device info to double

Change-Id: I41a67ecf61cd3bdc5a997b1f083b9998063f4f7f
2018-04-11 12:00:41 +02:00
Hoppe, Mateusz
9a86f86a24 Source Level Debugger device debugger active flag
- device flag indicating if debugger is active
- when active, proper sip kernels must be used

Change-Id: I678367cdf8fab5d4b5770e3f471246ff6d6bd112
2018-04-09 14:02:45 +02:00
Zdanowicz, Zbigniew
50ef7c0000 Adjust default engine type in Linux
Change-Id: I2cc7e4078e830f0844d6dc6fe7b4bfcdf92b0095
2018-03-29 22:56:34 +02:00
Artur Harasimiuk
7039ababb9 fix stringification of NEO_DRIVER_VERSION
use preprocessor sequence to convert define value to stirng:
 #define q(a) #a
 #define tostr(b) q(b)

Change-Id: If0a9ccfcc543523309be4995c05125bf8fbf2081
2018-03-29 09:23:24 +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
Mrozek, Michal
8254d6a081 Ensure that submissions are flushed prior to csr destruction.
Change-Id: Ie04de561d3d295f40f55a19f01274d873d259abd
2018-03-12 12:54:47 +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
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