Remove needless checks for module and cmdList.
Add explicit check for surfaceState in setArgImageWithMipLevel.
Explicitly initialize WddmResidencyController::csr.
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
Related-To: NEO-12434 , NEO-11755
When OOM was triggered from KMD then reiterate
over allocations again since allocations which
should be resident could be evicted during trim process.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Completion data can't be updated when makeResident fails
Resources could have updated state but paging fence remains the same.
Wait on paging fence during freeing these resources might result in hang.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Related-To: NEO-11755
Removing trim candidate list reduces overhead
caused by residency handling. Allocations required
for eviction are placed in eviction container managed
by CSR.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Related-To: NEO-12197
Currently for new resources user thread must wait before submitting
actual workload. With this commit, instead of waiting on user thread,
request is sent to background ULLS controller thread and additional
semaphore is programmed. ULLS controller will perform actual wait
and signal semaphore when paging fence reaches required value.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Discarding RAII lock returned from function almost always
is a bug. This change introduces usage of [[no_discard]]
attribute from C++17 to prevent such misues.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>