Commit Graph

45 Commits

Author SHA1 Message Date
Artur Harasimiuk 12b7c551d8 use ADAPTER_INFO in one method only
size of structure can vary. Create single point of conversion to extract
required data and store them in Neo specific structures.

Change-Id: I822ec633014aa7394cbd626ecbc275e32e61cf60
2018-03-09 12:30:05 +01:00
Mateusz Jablonski a8b5a66439 Cmake refactor part 12
igdrcl_tests: define os_interface sources in subdirectories

Change-Id: Ibbf1754bf7a095f22ad152db709614f7e40ed2fb
2018-03-08 22:55:07 +01:00
Artur Harasimiuk 3297cd8342 add function to properly load dependency
Change-Id: I0cec677ae19fa6525890c9b0abe0601a0c11e7df
2018-03-06 23:47:53 +01:00
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
Artur Harasimiuk 8781bd518e remove some redunant casts in setAdapterInfo
Change-Id: I96bc52e6870346d35209b345362d4ddd951f90b4
2018-03-06 09:09:04 +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
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
Mrozek, Michal 52cdb7e57d [2/n] Internal 4GB allocator
- Add test for new parameter to mapGpuVirtualAddress

Change-Id: Ie374981fb58892e974efb80ba944419564422d98
2018-02-28 10:04:53 +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
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 006e86d7a6 move mocks to igdrcl_mocks target
Change-Id: I6d9f87fc415ff70261344105e8808c6e91a960bd
2018-02-21 23:36:31 +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
Milczarek, Slawomir 5c746131f1 HW CSR with AUB dump to operate on real device (HW Info)
This commit ensures AUB files to be dumped for real device
in the configuration CSR HW + CSR AUB.

Change-Id: I7b5f740440aae062d2f5ad7ad8b9c3b4f2207ddd
2018-02-19 13:11:43 +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
Mrozek, Michal acb044dce3 Fix DC flush programming in non concurrent scenarios.
-If out of order flag was disabled then pipe control was not having dc flush.
-This could led to a batch buffer that doesn't end with dc flush.
-This change adds differentiation between pipe controls that may be erased and
pipe controls that are used as a part of epilogue command

Change-Id: Ic9c970c75c89ff524a0e40506eff6dd097760145
2018-02-15 09:42:11 +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
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
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
Dunajski, Bartosz 8b9713582a Aux programming fixes + ULT improvements
- Dont program clear color aux params for multisampled images (depth or MCS)
- Mock Gmm PageTable manager default actions
- Local Wddm for WddmCsr tests to make expects on creation
- Set Gmm PageTable manager for Wddm Memory Manager tests without WddmCsr

Change-Id: I8ccfddb06340bc81184e07eff5a7078756d28571
2018-01-18 14:40:56 +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
Artur Harasimiuk 3883f790cc Instrumentation refactoring
Use bool instead of int where it should be.
Tweak naming.
Removed unused members

Change-Id: I468be28d78e9da7c7fa1632e362ed077929fb91a
2018-01-16 16:15: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
Milczarek, Slawomir 7c42353c4c Add support for batched dispatch to userspace AUBs
This commit as aimed to add support for batched dispatch,
but doesn't make it the default mode for AubCSR yet.

Change-Id: I4dc366ec5f01adf2c4793009da2100ba0230c60a
2018-01-12 15:40:56 +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
Dunajski, Bartosz 11e7a5f1d9 Pass FtrWddm2GpuMmu flag to GMM
Change-Id: Ie52f1889a2ce1ab7abab8ac39a5dc6f0e60c6bcf
2018-01-09 13:04:34 +01:00
Zdanowicz, Zbigniew 6cf7ac41c2 Mock call should follow GDI call convention
Change-Id: Ibd217539c091e972bcc079b086f6aadb9ae18d22
2018-01-09 09:29:54 +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
Zdanowicz, Zbigniew 21f92d8258 Add preemption WA to make CSR surface uncacheable
Change-Id: Ia468c6f5df16522c3bc9aae22802895f2badc431
2018-01-05 22:44:26 +01:00
Zdunowski, Piotr b006972d07 Improve error handling for shared handles in wddm.
Change-Id: I93d33d89cb4b6333924c362b54e0638174e44091
2017-12-29 16:10:16 +01:00
Brandon Fliflet 7e9ad41290 Initial commit
Change-Id: I4bf1707bd3dfeadf2c17b0a7daff372b1925ebbd
2017-12-21 00:45:38 +01:00