Commit Graph

44 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
mplewka
8ace8f8256 Provide smaller surface size for tests
Change-Id: I3f08b85c17ee89f710a449dea3d71c9ecba5b44e
2018-02-28 14:04:23 +01:00
Zdanowicz, Zbigniew
45dedb37f3 For HostPtr surfaces of enqueue calls use GPU address
Change-Id: I67bf5076d23d43438f5e82c5cb6cbd3b9ed2f152
2018-02-14 15:44:27 +01:00
Zdanowicz, Zbigniew
5a175cf1cf Override engine type used by device in Device ctor
AUB tests do not use DeviceFactory class to create Device objects but still
need to have a functionality to override default engine type

Change-Id: I6841cb0a9c5726ac4308c742c78cf7a61829f168
2018-02-12 16:50:35 +01:00
Mrozek, Michal
006d248de6 Always set DisableGpuTimeout.
Reg key for preemption may not be available, this doesn't mean that
preemption is off.

Change-Id: If7c8a8228fbfa9f01f95d61d4134bd398e4079f6
2018-02-06 19:21:06 +01:00
Mrozek, Michal
e6603a56f4 Create sip kernel when device is created
- This moves expensive sip kernel creation outside of enqueueNDRangeKernel

Change-Id: I4d09df46d993fa8f751468ed3adcff056e05ce13
2018-01-30 16:49:01 +01:00
Zdanowicz, Zbigniew
e42d43953d Restrict system memory allocations to certain address range
Change-Id: Ibe8c1183368ce48f2c820d0f1a71f0b15703ffcd
2018-01-26 15:16:41 +01:00
Zdanowicz, Zbigniew
8c43b674ff Create all GPU bound allocations using memory manager
Change-Id: I2e88b8ee7c3a2b4e2c3fc2c887bfcb68e35ef539
2018-01-23 16:11:15 +01:00
Mrozek, Michal
ae1213a98d Fix use after free problem.
- freeGraphicsMemory checks for command stream receiver in device and
uses it if it is present.

Change-Id: I8e3f2202dc694bd8903b04780e550dc1fd115ef4
2018-01-18 12:04:46 +01:00
Mrozek, Michal
e923c2211b Add Unrecoverable if GraphicsAllocation in use is being destroyed.
Change-Id: I74a54ef023c62e12d711db07d79942166e002188
2018-01-17 18:36:33 +01:00
Zdanowicz, Zbigniew
602474f868 Command streamers should use device default engine type
Change-Id: I7286f15ba78001729ea489a43576d96f109d44f0
2018-01-16 22:37:44 +01:00
Zdanowicz, Zbigniew
474b6a2a23 Enable Mid-Thread preemption for Gen9
Change-Id: Iacec1c8fa899d4fbf0cbb9cc292990546871ca6a
2018-01-16 12:55:35 +01:00
Mrozek, Michal
af77720f9c Fix resource destruction scheme on device closure.
- Call waitForTaskCountAndCleanAllocationList with latest flushed task count
to reflect what was actually sent to HW.

- refactor cleanAllocationList to waitForTaskCountAndCleanAllocationList

Change-Id: I5301185c5fce212e39eb017b952b43c279559cf4
2018-01-15 18:45:48 +01:00
Zdanowicz, Zbigniew
21f92d8258 Add preemption WA to make CSR surface uncacheable
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Brandon Fliflet
7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00