Add a capability for AUB subcapture feature to dump into several files
and read file name from the outside (via regkey and env variable).
Change-Id: I2d5f7945cfbc740b0316fe23b8c5ae9fd698ac57
- Required for next changes -> moving tag from device to csr
- It is not allocated by Memory Manager which causes a lot of problems
when csr tries later to delete it with memory manager.
Change-Id: I060516b0ec3ec6617319720c22cd3c129c10bffc
This code is an infrastructure for special debug purpose that allow measure
execution time of any hardware command.
Change-Id: Id12a7979d204734a0c4a6c4700e427b65ac2397f
- 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
- change GraphicsAllocatoin::AllocationType to scoped enumeration
so that ALLOCATION_TYPE_ prefix in every enum value can be removed
- all accesses are typed (example AllocationType::IMAGE)
- Rename allocationType to AllocationUsage to eliminate confusion
with multiple AllocationType enums / types
Change-Id: I16003297ecfcb0aaa5779ad00706c5d983914bbe
- makeCoherent should be called after TBX finished processing
- this is when tagAddress is updated with taskCount
makeCoherent is called from makeNonResident which is invoked just
after flush and may happen before TBX server finished processing
leading to invalid data to be read back to CPU accessible memory
- this fix adds waiting for taskCount to blocking calls for TBX CSR
before calling makeNonResident on surfaces to guarantee correct data
from TBX server is ready.
Change-Id: I498a5454e0826eec2a5413a08880af40268550e1
- move AUBDumpToggleCaptureOnOff from HKLM to HKCU without admin rights
- fix AUB subcapture in toggle mode to call make resident in standalone mode
Change-Id: Ia6971921f33bb9ca63112790af870217da8a1585
This commit adds a capability to selectively enable/disable AUB capture,
i.e. by toggling the registry key from the outside or specifying the filter
with a kernel name and/or kernel start index and kernel end index.
Change-Id: Ib5d39c21863fbc4a95aa73c949b9779ff993de0f
- 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
- Change dirty state helpers to work on IndirectHeaps.
- Instead of comparing size in bytes and cpu pointers, compare gpu base
address and size of the heap in pages
- That allows to not have dirty flag for heaps that are coming from 4GB
allocator.
Change-Id: I0ff81e3c0945b32e4f872a100cd10b332b27ed24
- Rename misnamed test function
- Adjust 2 tests, so they use CSR size getters instead of hardcoded values
- Move getSizeRequiredPreambleCS() into CommandStreamReceiverHw class
- Improve PreambleHelper size estimating
Change-Id: I3f292d50e08f3d10d190c9f8722e1f0498481154
-This is required to enable N:1 submission model.
-If heaps are coming from different command queues that always
mean that STATE_BASE_ADDRESS needs to be reloaded
-In order to not emit any non pipelined state in CSR, this change
moves the ownership of IndirectHeap to one centralized place which is
CommandStreamReceiver
-This way when there are submissions from multiple command queues then
they reuse the same heaps, therefore preventing SBA reload
Change-Id: I5caf5dc5cb05d7a2d8766883d9bc51c29062e980
- Internal allocations may now coexists with non internal on reusable list.
- Caller now specifies if internal allocation is needed.
- If criteria are not met , then allocation is not returned.
Change-Id: I7da3a4f944768b7c8a873e44fd47248f1d76bf9e
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
- 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
- Decission about timeout enabling and value moved out of CSR
- Timeout multiplier is no longer Linux specific
Change-Id: I6858fe2f811ef13802b95e0470e310210a9dea8b