-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
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
Use conditionals and a macro to avoid provoking compilers that do
not support this attribute.
Adds a macro named CPP_ATTRIBUTE_FALLTHROUGH which is invoked right
before a following case statement to declare that the intent is to
fall through. Example:
...
case xxx:
...
CPP_ATTRIBUTE_FALLTHROUGH;
case yyy:
...
The gcc/clang alternative of adding comments that contain "FALLTHROUGH"
suffers from the problem that *by default* ccache strips the comments
so that they are not present for the real compilation.
Change-Id: I77ddeb7dae46db8398b014a93f6a71bedc64ada9
Signed-off-by: Dale Stimson <dale.b.stimson@intel.com>
because of deffered deletion some variables are dereferenced after
leaving test scope. this causes invalid stack memory accesses reported
by GCC 7.
Change-Id: I183be8ec3c815a41a75a1f71635d9afb560c7457
Simple set() is not enough because this variable is created with empty
value after cmake starts. We have to force setting value and store in
cache.
Change-Id: I0d018ebe3a9a0a65f6fae5313853857913d84bf7
- Curently each non-zerocopy CPU operation on map/unmap make a full copy
using hostPtr
- This commit adds functionality to select specific range of copy
- Multiple mapping with different size is not supported yet,
so copy will be made on full range for now. This is for future usage.
Change-Id: I7652e85482ba6fffb2474169447baf9b080dcd1e
-Do not flush dc for every command in batched mode
-Do that only in immediate mode
-For commands that needs DC do not noop pipe controls
-Ensure that each command buffer in batching mode ends with dc flush.
Change-Id: I3cd9d1831c19b69c66092687922f20df7e330245
some set() statements were constructed incorrectly. we shouldn't
dereference variable when setting its value
Change-Id: Idc9d60fa87a4364f2b2583d21d53cc0b6f5560d9
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
-For in order queue application can have fine grain granularity of completion
-For out of order queue application wants to execute workloads concurrently
-This change disables pipe control nooping for ioq calls when event returned.
Change-Id: Iaeaf677f768f7434b2efa1842b50653ab80777ad
- account for initial setting (when set mode was equal to initial(Disabled))
estimate size in cmdStreamCS, program MMIO
Change-Id: Ice218ae986583c8f3bab4f4f6979e38f03e30d7e
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
- This change enabled multiple independent command queues to execute
concurrently without stalling pipe controls in between
- This change removes L3 flushes between kernels
- Dependencies between commands are resolved via task level mechanism
- Out of order queues are not changing task level between submissions
- In order queues are increasing task level between submissions
- Whenever task level changes there is pipe control with cs stall emitted
between GPGPU_WALKERs
Change-Id: I558653b296424e4775d060df3072e2a50684b715
- Tag should be updated only as a part of epilogue.
- Level change should only emit pipe control with cs stall
Change-Id: I6e04f794641818b0d046523776d3ce87aec9f606
This commit adds support for Debug Assistance Functionality (DAF)
aka "Driver Aubcapture" to debug builds on Windows.
Change-Id: I7e859d32af17a6fcee23868392df6cd1390e4afd
- Fix a data race where setting flush stamp with default value was
setting the flushtamp to initialized state
Change-Id: Ifc6bdd341b5fe2f2cf4e28bbff271b9a90915db5
-Do not inc/dec reference count for flush stamps while used only for
update
-FlushStamp doesn't need to be atomic,replace with atomic bool flag
to prevent usage while uniinitialized
-Clean not needed private new
Change-Id: Idad2b318f988de1e7af7642047c67f931e9772aa