Commit Graph

123 Commits

Author SHA1 Message Date
Pawel Wilma
c4c35955d1 Debug option to flatten main and chained batch buffer in AUB dump.
New debug option FlattenBatchBufferForAUBDump has been added. When set it
modifies AUB dump in such way that commands from main and chained batch
buffer are dumped as single allocation. Commands from chained batch buffer are
dumped directly after commands from main batch buffer without
MI_BATCH_BUFFER_START. This feature also requires ImmediateDispatch mode which
can be forced using debug option CsrDispatchMode = 1.

Change-Id: I730760791693a748e7f4e1463ce8e7af94287b93
2018-03-06 12:26:50 +01:00
Mrozek, Michal
bee295415f Add debug flag to print driver diagnostics to cout.
- New registry flags can be used for applications that wants to dump driver
diagnostics without using any additional tools
- When flag is on , context is being created with driver diagnostics and
hint level is being set to debug variable
- If application is already using driver diagnostics the hint level is
overwritten

Change-Id: I9912c0a7e8f23adb8372997144e5b75f9cc05b1d
2018-03-05 09:18:10 +01:00
Artur Harasimiuk
f1f9fba509 use ADAPTER_INFO in Wddm only
do all transform and conversion in enumAdapters and return HardwareInfo.
the ADAPTER_INFO structure may vary and SkuInfoTransfer is responsible
to copy/deduce required flags, it can be done as a part of enumAdapter.

Change-Id: Iad6fd5f7094f591a0175025c9ec33a96e55ebdc9
2018-03-02 09:45:03 +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
b2f964dcf2 [6/n] Internal 4GB allocator
-Use GPU address to program command buffer in WDMM.

Change-Id: Iea6e423ccb18a09b4969a10cf2bd44d7a6af6629
2018-03-01 21:50:14 +01:00
Woloszyn, Wojciech
5c8cd51fc8 Use allocateGraphicsMemoryForImage for mipmaps
Change-Id: I0cd740ca4c8286fb73f766b74abc50ed53cfc9d0
2018-03-01 20:39:15 +01:00
Mrozek, Michal
3e3c6c28c7 Change default value of UseNoRingFlushesKmdMode to true.
Change-Id: I7c7246aeebb2815262cb2cd4731aabb2d74a3002
2018-03-01 17:25:38 +01:00
Slawomir Milczarek
f217c9198c Add support for resource lock / unlock on Linux OS
This commit fixes the issue with image contents writes
in the configuration of CSR HW with AUB dump.

Change-Id: Id0c4f36d4f9eee5175267384d42cb75bf41062f3
2018-03-01 15:01:49 +01:00
Dunajski, Bartosz
d9dd68a8ef Remove copy constructor for GraphicsAllocation
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Mrozek, Michal
0b8234117b Add support for createInternalGraphicsAllocation in DRM
Change-Id: I84090dfc4774506dee993e9c0c78c336367c43fd
2018-03-01 11:30:38 +01:00
Artur Harasimiuk
9e9876cd17 remove unused field
Change-Id: I280be1b690f826ad63f77943f3fb54d6da2bd65b
2018-03-01 09:14:07 +01:00
Mrozek, Michal
0b6acb4d7a [3/n] Internal 4GB allocator.
-Do not create allocator 32 bit with every DRM memory manager
-This is not needed for apps that do not use this.
-Add allocation of allocator to setForce32BitAddressing

Change-Id: I836b60f6b74eecf678cc9d56851797d0db176107
2018-02-28 16:54:49 +01:00
Mateusz Jablonski
cb37fb97a3 Rename DebugVariables.def to DebugVariables.inl
Append this file to project source tree

Change-Id: I1d1f8538f6d28abd053a3106f9ffe4b955530416
2018-02-28 14:18:14 +01:00
mplewka
8ace8f8256 Provide smaller surface size for tests
Change-Id: I3f08b85c17ee89f710a449dea3d71c9ecba5b44e
2018-02-28 14:04:23 +01:00
Mrozek, Michal
0e3f2bf361 [4/n] Internal 4GB allocator
-Allocate internal 4GB allocator when DRM memory manager is created.

Change-Id: I072e81de219415a6c02ab1fd1b41b6a8338ee67c
2018-02-28 12:52:31 +01:00
Mrozek, Michal
19c68a608f [1/n] Internal 4GB allocator
- Add new entry point in memory manager for internal allocations.
- Route to allocate32BitGraphicsMemory
- Add new enum to control memory region
- Change mm to memoryManager

Change-Id: I2ee069aa9baf7f69f652022e026569ec4fdb9d77
2018-02-27 16:35:12 +01:00
Mateusz Jablonski
386675480f Cmake refactor part 5
Move os_interface and dll source files definition to cmake files
in subdirectories

Change-Id: I6baa5ac0cbc64d0a4a9fe9541f0c3b730c9a2119
2018-02-27 14:31:48 +01:00
Mrozek, Michal
cd747b7b8c Change notify delay to use microseconds.
- Microseconds offer better precision.
- Some workloads require threshold less then 1 millisecond to work
efficiently.

Change-Id: I1a565049340fb6eeebe5c0a61ededae9959daca8
2018-02-27 09:10:49 +01:00
Mrozek, Michal
e8f5f5286d Remove not used code.
Change-Id: I7a1453c816f775bbaa38c2db3f31d21dff36c344
2018-02-26 12:35:02 +01:00
Mrozek, Michal
3c230f6302 Align createContext & createDevice DisableGpuTimeout flags.
- Make sure we program the same value for both calls.

Change-Id: I11b26fb56e60fff8f379827f6f6424a387b005d3
2018-02-22 15:55:30 +01:00
Artur Harasimiuk
63732513bb enable instrumentation when available
use of instrumentation will be enabled:
- runtime capability set to True
- static library available during compilation
- device reports capability

Change-Id: I43286ebf1135f3a2ec6af924e27ece03042ac0ca
2018-02-21 17:48:08 +01:00
Mrozek, Michal
75d883c075 Do not use virtual functions in constructor.
Change-Id: Ic720843b3b290b234577e1bc4913dfc07a75733c
2018-02-21 10:26:17 +01:00
Artur Harasimiuk
f805bd9741 perfCounters: querySize now depends on gfx core
Change-Id: I7ad493f87debd1c2c642f695f0e836f010c2aa0c
2018-02-20 13:04:54 +01:00
Dunajski, Bartosz
1292c3d533 Improve thread arbitration policy programming
Change-Id: Ibd764352e14d1a5112034b1c5a1fc6d6d67ebac0
2018-02-20 11:05:54 +01:00
Mrozek, Michal
ca33e029b7 Fix profiling calculation for CPU profiling path.
-There was a precision problem with timestamp calculation, all math was using
integers which are not very precise in overflow scenarios
-Change the logic to use doubles and cast back to uint64_t at the end.

Change-Id: Ia08d504a90a43df7330f398af966535ed944650d
2018-02-19 19:08:23 +01:00
Artur Harasimiuk
c9180fec65 create infrastructure for gen specific performance counters
Change-Id: I6ef471ade14ce27b6e5949726b57453a6fe69abc
2018-02-16 12:13:30 +01:00
Mrozek, Michal
f9254c8de6 Add new performance flag to steer NoRingFlushes CreateContext flag.
Change-Id: I51426c1c51a1e4133f9bcc3127ecdc5af51048cd
2018-02-16 10:47:24 +01:00
Dunajski, Bartosz
87ed3d4fff Improve page table manager initialization
Change-Id: Ifdd74bf93a93fcdecaae5b1276c0fa83a9664987
2018-02-15 13:31:50 +01:00
Zdanowicz, Zbigniew
8a5b0ee518 Debug variable must override HardwareInfo capability at DeviceFactory
RT must override engineType at DeviceFactory, since Wddm CSR uses HardwareInfo
at its ctor.
AUB tests must override engineType at Device ctor since they bypass
DeviceFactory.

Change-Id: I73e4066e9b16aed0410fe39a82726d3baea2e67f
2018-02-14 17:29:30 +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
d6b5433f14 Lower Windows minimal address to 16kB
Change-Id: I138438943d438ace0b5d76e04f3af8d9541d532a
2018-02-12 18:04:56 +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
Hoppe, Mateusz
012b8bd73c Adding initial PreemptionMode::Initial
- account for initial setting (when set mode was equal to initial(Disabled))
estimate size in cmdStreamCS, program MMIO

Change-Id: Ice218ae986583c8f3bab4f4f6979e38f03e30d7e
2018-02-08 16:21:52 +01:00
Zdanowicz, Zbigniew
a1db4ddd7a Retry Wddm mapGPUVA after failure when deferred deleter is set
mapGPUVA will fail when allocation is still in deferred deleter and using
the same base pointer to map, while there is no reserveGPUVA for SVM range.
In that case driver should drain deleter and retry mapGPUVA call

Change-Id: I4ded7d79e0cd935ec62d7fae785d66570c847535
2018-02-08 10:28:40 +01: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
Milczarek, Slawomir
12b437ddc8 Add DAF headers to manifest.yml and redefined headers search path in cmake
Change-Id: I8d399aa717d8274da3892c3229e6502ef601864b
2018-02-07 17:12:17 +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
Zdunowski, Piotr
1cfe5344fc Enable throttle hints extension.
Change-Id: I996fce8dbc792d77dc85df143ba5c0aa1cad83e5
2018-02-06 17:01:37 +01:00
Dunajski, Bartosz
bdee42ca16 devices.m separation for Linux
Change-Id: Ia8e430db4dfcefc1b19e23e9cd7113bf87f0a7af
2018-02-06 15:24:20 +01:00
Milczarek, Slawomir
89be67b570 Add support for DAF injection
This commit adds support for Debug Assistance Functionality (DAF)
aka "Driver Aubcapture" to debug builds on Windows.

Change-Id: I7e859d32af17a6fcee23868392df6cd1390e4afd
2018-02-05 16:08:52 +01:00
Zdanowicz, Zbigniew
292f8fae90 Use alignedSize for map range and to calculate trim budget
Change-Id: Iceaf5c1d7fd1abfa6bdb08c97a439dba3bbccdf4
2018-02-01 19:20:27 +01:00
Brandon Fliflet
e719ec4c47 disable dumping of buffers or images by regkey in AUBs
Change-Id: I0dc6cf5a9c4df3e2f2057870045a2f10a4a80720
2018-02-01 09:51:48 +01:00
Zdanowicz, Zbigniew
bf270c4643 Use reserved memory to map GPU VA when cpu memory doesnt meet restrictions
Change-Id: I9f255a3f2ce6b1c22110e7da6e90c013f1f598e6
2018-01-31 18:05:11 +01:00
Milczarek, Slawomir
7c038eb7a4 Add AUB generation in parallel to execution on GPU
This commit adds basic for parallel AUB generation and execution on GPU.

Change-Id: I3c77557a9578db05c87be6db7a5e3006f7c4b053
2018-01-29 17:24:26 +01:00
Zdanowicz, Zbigniew
e42d43953d Restrict system memory allocations to certain address range
Change-Id: Ibe8c1183368ce48f2c820d0f1a71f0b15703ffcd
2018-01-26 15:16:41 +01:00
Dunajski, Bartosz
3532c6373f D3D sharable 2D texture: Map Aux GpuVa and set renderCompressed if possible
Change-Id: I508965d07f456af74ecef6e980337f42f5967b43
2018-01-26 08:38:59 +01:00
Zdanowicz, Zbigniew
4ad96b75f5 Make base class for gmm_memory
Change-Id: I307f616be27d5fed126f0e36bff0d182ab7a8b53
2018-01-26 08:35:41 +01:00
Zdunowski, Piotr
0b6b12ea57 Globally enable priority hints extension.
Change-Id: I9f3b8d3cf1bedb41d9e0622ff514bf76b4518d8c
2018-01-24 20:07:31 +01:00
Mateusz Jablonski
8d68788807 Remove not used files
Change-Id: I3c232d09023b7a327a5857c46fb9dfdbe63cdb6e
2018-01-23 12:47:20 +01:00
Dunajski, Bartosz
3b626a0290 Force Disable ftrCompression on Linux
Change-Id: Ia5dc4b323571442ee52551d93869163fc3f45834
2018-01-18 09:16:28 +01:00