Age | Commit message (Collapse) | Author |
|
The separation of testcases with and without subtests in the build
system was used in the past, but now both are handled the same
way. Merge them together and finally forget about the difference
between TESTS_progs and TESTS_progs_M.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
The tests listed in XFAIL_TESTS have moved to lib/tests quite a while
ago.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
These ones demonstrate fence usage and also mixing them with
data dependencies.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
It was the only one with no randomness.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Simulates a single decoder feeding multiple processing and
encoding pipelines.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
VCS2 needs to be redirected to BCS in the remapping mode
otherwise the update will get missed.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
So gem_wsim can be driven in it.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
For time being just displays the saturation finding steps.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Maximum has to be larger than minimum and all values positive.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
An approximation of in kernel balancing where balancing
decision is postponed to just before submitting the batch
for execution.
This is implemented by waiting on data dependencies in
userspace before submitting each batch.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
This one assigns VCS engines for each created context in a round-
robin fashion. By default each client starts the assignment from
the first engine.
In global mode the engines are assigned in the round-robin fashion
between all the clients - which is identical to the i915 behaviour.
Important difference is that doing it from gem_wsim means the
assignment always start from a known point so the run-to-run
behaviour is identical and repeatable, contrary to when i915 round-
robin assignment is used.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Also check that the usage makes sense.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
|
|
This successfully catches vc4's lack of dmabuf fencing.
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
ffs() was used in couple of places without explicitly including
strings.h. On a few libc implementation this is done implicitly through
other headers, but let's do not rely on that behavior.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Same as in other benchmarks using them, as not every system is updated
with libdrm having those defines.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Unfortunately <signal.h> is included through some obscure dependencies
when using bionic, so we have a name clash on signal().
Changed the test function name to fence_signal() to avoid this, but left
the test cases names unchanged.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Currently whole igt_kms.c is disabled while compiling on Android without
cairo, so this tests does not compile.
There should be cleaner a way to disable only cairo dependant parts
which should allow us to enable at least some of the KMS tests, but
that's a bigger rework for another time.
v2: simplified #ifs on CAIRO/ANDROID (P. Latvala)
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Add dependency on libz instead of doing path magic.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Use drm stubs that sit under lib/stubs.
Also drop strange, nonexistent additions to LOCAL_C_INCLUDES.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Newer Android's build system complains about unused files if we leave
those there.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
On Android libkmod.h is nested under libkmod directory, so we should
include appropriately.
Also we need to link with it.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
It does not build on Android with top libdrm.
Temporary hax.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Those tools does not build on Android due to "Linux-only" dependencies.
Let's blacklist them for now.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Makefile.sources are included 1:1 in Android.mk files, and are not
parsed by automake. And yet those had some automake conditional logic.
Moving it to .am file is enough for now.
Also igt_chamelium.h included config.h without proper "HAVE_CONFIG_H"
guard, and the file itself was included unconditionally.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
|
|
Android does not have procps and it's not easy to compile it as a
dependency.
We can provide alternative, "naive" implementation that just shells out
to external commands (i.e. pkill and lsof) in case we do not have the
library.
v2: have separate functions for naive impls (J. Nikula)
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
We define gettid() using syscall() because glibc does not provide a
wrapper.
Android's bionic got the syscall covered though.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
We have a lot of `#ifdef HAVE_UDEV` and ` #if HAVE_UDEV` all over the
place, but ifdef and if have a slightly different semantics.
Let make it consistent by using #ifdefs only.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Using `libdrm/` impairs compatibility with android build system and
pkg-config manages -I for us on regular distros.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
This appears to be required on SNB, or else we miss a lot of interrupts.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
i915 connector properties have been converted to atomic, so
all properties can now be set.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This will force less watermarks to be allcoated to the sprite plane,
making it easy to hit a underrun!
Unfortunately the FIFO underrun wasprevented by skl_plane_downscale_amount,
but fixed with Ville's patch series.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This makes kms_rotation_crc also test a case where a small strip is
tested on the top or left side of the screen. It allows us to ensure
more accurately that the rotation is shown correctly on the screen.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
No functional changes yet, just making sure that it works
as expected.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Changed the "%2X" to "%02X", to prevent padding with spaces, which
breaks qemu command line arguments when first RANDOM is <0x10.
Signed-off-by: Sarvela Tomi P <tomi.p.sarvela@intel.com>
Signed-off-by: Terrence Xu <terrence.xu@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Create crtc/connector combinations based on actual adapter
information obtained from drmModeRes.
Also set MAX_CRTCs to 6 for AMD GPUs.
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
|
|
IVB+ have the cursor "FBC" feature, meaning they support a
somewhat limited form of non-square cursors. Let's test that.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
gem_execbuf_wr was duplicated in multiple places.
Moving everything to lib/
Signed-off-by: Lukasz Fiedorowicz <lukasz.fiedorowicz@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
AM_PROG_FLEX macro will set the LEX variable using the missing
script when the flex is not present. This will confuse the
configure.ac check, which expects the AC_PROG_FLEX behaviour,
and will so fail to detect the missing flex:
AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc],
[enable_assembler=yes],
[enable_assembler=no])
This is because AM_PROG_LEX sets the LEX variable to
"${SHELL} /home/sc/intel-gpu-tools/build-aux/missing flex",
while AC_PROG_LEX would set it to ":".
If for some reason we really need to keep AM_PROG_LEX,
alternative fix could be something like this placed before
the above AS_IF check:
AC_MSG_CHECKING([checking for working flex])
if ! eval "$LEX --version >/dev/null 2>&1"; then
AC_MSG_RESULT([failed])
LEX=:
else
AC_MSG_RESULT([pass])
fi
Note the evil eval needed to recursively expand variables.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Just recently I once again made the mistake of thinking we could do a
plain mutex_lock() inside i915_gem_shrink(). However, such a lock is
liable to cyclic deadlocks between multiple relcaimers. This can be
reported by lockdep, but we need contention in the shrinker for it to
spot this particular mistake. The easiest way to explicit cause
contention is via concurrent calls to debugfs/i915_drop_caches whilst
the GPU is busy.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Plus a help text correction and calibration speed-up in
-R and -T modes.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Record it within this script since trace.pl added support.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
New option (-w) allows direct pass-through to gem_wsim for cases
when heterogenous workloads, or even additional parameters to
gem_wsim need to be tested.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Merge and flatten all the engine timelines to produce an
aggregate stat.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
In addition:
* optimize saturation point finding
* fix wps target modes
* always use -R, it is pointless not to
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
In this mode ('-G' on the command line) all balancing operations
are routed via the first client so the complete balancing state
is shared. In other words the overall balancing behaviours is
like there is only one client submitting the aggregate workload.
This can help with the observed metrics and lead to better
balancing decisions in a lot of cases.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Refactoring for upcoming changes.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|