Commit Graph

400 Commits

Author SHA1 Message Date
Artur Harasimiuk
a66a92af57 use ImageBase when loading dependency
Change-Id: I8033ffcc9391ea809964f3cd3cd60da0c01fe156
2018-03-07 14:23:30 +01:00
Artur Harasimiuk
3297cd8342 add function to properly load dependency
Change-Id: I0cec677ae19fa6525890c9b0abe0601a0c11e7df
2018-03-06 23:47:53 +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
Dunajski, Bartosz
d9dd68a8ef Remove copy constructor for GraphicsAllocation
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Artur Harasimiuk
9e9876cd17 remove unused field
Change-Id: I280be1b690f826ad63f77943f3fb54d6da2bd65b
2018-03-01 09:14:07 +01:00
mplewka
8ace8f8256 Provide smaller surface size for tests
Change-Id: I3f08b85c17ee89f710a449dea3d71c9ecba5b44e
2018-02-28 14:04:23 +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
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
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
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
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
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
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
Zdanowicz, Zbigniew
75a902bf2c Wddm freeGraphicsMemory should handle null GraphicsAllocation same as Drm
Change-Id: Idafdaf654f630d41b890f87c6e8c14833b18f714
2018-01-18 08:24:07 +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
Mrozek, Michal
42798fcae0 Revert "Add Unrecoverable if GraphicsAllocation in use is being destroyed."
This reverts commit 920d952a4a.

Change-Id: Ib14743e37545776ebf1b6e782daceb436d280f9b
2018-01-15 14:43:11 +01:00
Mrozek, Michal
920d952a4a Add Unrecoverable if GraphicsAllocation in use is being destroyed.
Change-Id: Ie224ac4d098678a99da0a8c084f02740f323c475
2018-01-12 15:22:15 +01:00
Mateusz Jablonski
502e9c2d15 Async deleter: move releasing cpu/gpu pointers to main thread
Change-Id: I3c3c9fb6200c38ecf1fc8910380531d6a5f1e875
2018-01-12 13:16:59 +01:00
Dunajski, Bartosz
97021d74a8 Ftr/Wa table separation
Change-Id: I21034f6ec09d8b91dd6cd16135fbe5a19298dcad
2018-01-11 08:55:06 +01:00
Zdanowicz, Zbigniew
8efafc1efb Adjust default engine type according to feature availability
Change-Id: I1645dfabe69a7697c1e17950c4d82e77f98984bf
2018-01-10 13:53:15 +01:00
Mateusz Jablonski
4f884496a6 Some minor fixes:
- Fix SUPPORT_X and TESTS_X flags in cmake
  Previously it was possible to enable TESTS_X with disabled SUPPORT_X

- Remove genX dirs from include paths

Change-Id: I70aa6ee4df6cc1ca641cce2e99b66f92f99fd4e1
2018-01-10 12:56:40 +01:00
Dunajski, Bartosz
11e7a5f1d9 Pass FtrWddm2GpuMmu flag to GMM
Change-Id: Ie52f1889a2ce1ab7abab8ac39a5dc6f0e60c6bcf
2018-01-09 13:04:34 +01:00
Mateusz Jablonski
f12b5861fd Drain deferred deletions when cannot allocate memory for tiled image
Change-Id: I68b15269da4b5a58e02571a9c594c52b9a95edeb
2018-01-09 09:20:10 +01:00
Chodor, Jaroslaw
c838a7dfc6 Refactoring preemption fixture
Change-Id: I7f520a591a251d68fb3443d221ab8b628a450398
2018-01-08 15:43:32 +01:00
Zdanowicz, Zbigniew
21f92d8258 Add preemption WA to make CSR surface uncacheable
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Zdanowicz, Zbigniew
5cfb102359 Add Preemption WA waModifyVFEStateAfterGPGPUPreemption for WALKER replay issue
Change-Id: I046e7296157b4b527ad65733ea417fbc364aac9c
2018-01-02 17:45:40 +01:00
Zdunowski, Piotr
b006972d07 Improve error handling for shared handles in wddm.
Change-Id: I93d33d89cb4b6333924c362b54e0638174e44091
2017-12-29 16:10:16 +01:00
Hoppe, Mateusz
a9f30a5059 Fix for Execution model PageFaults
- adding PC with MediaStateClear and MEDIA_VFE_STATE in
EMCleanupSection

Change-Id: I0ee0e121bc2fcc09ac79cb3b601591247326482a
2017-12-22 11:49:56 +01:00
Brandon Fliflet
7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00