Dave Airlie [Fri, 7 Jan 2022 05:28:08 +0000 (15:28 +1000)]
glsl/fp64: move context.h dependent checks into main.
allows dropping context.h include.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 05:11:21 +0000 (15:11 +1000)]
glsl: move off mtypes.h in lots of places.
This moves to the new split out header files, should mean less recompiling
for unrelated changes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 05:08:46 +0000 (15:08 +1000)]
mtypes: move gl_shader_variable to shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 05:03:47 +0000 (15:03 +1000)]
mtypes: move bindless image/sampler objects to shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 05:01:47 +0000 (15:01 +1000)]
mtypes: move uniform shader types to shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:50:57 +0000 (14:50 +1000)]
mtypes: move transform feedback internal structs to shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:45:26 +0000 (14:45 +1000)]
mtypes: more gl_active_atomic_buffer to shader_types.h
allows dropping mtypes.h in glsl compiler
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:45:12 +0000 (14:45 +1000)]
mtypes: move gl_program to shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:26:08 +0000 (14:26 +1000)]
mtypes: move gl_linked_shader and gl_shader_program to new shader_types.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:23:06 +0000 (14:23 +1000)]
mesa: move ast_to_hir.cpp off mtypes.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:22:18 +0000 (14:22 +1000)]
glsl: move ast_function.cpp off mtypes.h
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:19:53 +0000 (14:19 +1000)]
glsl: avoid rebuilding builtin functions on mtypes.h changes.
Restrict to when shader types or consts change
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:19:29 +0000 (14:19 +1000)]
mesa: move some gl shader types to shader_types.h.
This moves some of these to further removes mtypes.h from the GLSL compiler.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:15:16 +0000 (14:15 +1000)]
glsl: remove some deps on mtypes.h.
This should reduce having to rebuild parts of the GLSL compiler
when mtypes.h changes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 04:12:43 +0000 (14:12 +1000)]
mesa/mtypes: move matrix enums to shader_enums.h
These are used in the compiler backend also.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Thu, 6 Jan 2022 22:21:15 +0000 (08:21 +1000)]
mtypes: split gl extensions and consts out into a separate header
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 03:31:55 +0000 (13:31 +1000)]
mesa: drop unused context parameter to shader program data reference.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Dave Airlie [Fri, 7 Jan 2022 03:05:09 +0000 (13:05 +1000)]
glsl/parser: extract consts/exts/api out of context at start.
This stores these pointers separately. in theory now gl_context
can be made more opaque later, if we split header files ups.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14437>
Simon McVittie [Mon, 8 Nov 2021 13:14:59 +0000 (13:14 +0000)]
meson: Try to link all-targets module if Gallium OpenCL is enabled
If we don't do this, and we are statically linking LLVM
(-Dshared-llvm=disabled) while using a version of LLVM compiled for a
general-purpose distribution, then the link fails with undefined
references to the functions called by LLVMInitializeAllTargets().
Using a version of LLVM that was built specifically for Mesa will
sometimes mask this: if the only backends built into LLVM are backends
that we specifically link anyway, then the link will succeed.
According to commit
80817b6e "meson: Adjust Clover's required LLVM
modules", all-targets is not available when using CMake to locate LLVM,
so make it optional rather than mandatory.
This partially reverts commit
80817b6e344258ac9b955f824ebf9019a0fc1610.
Resolves: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3962
Resolves: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5609
Signed-off-by: Simon McVittie <smcv@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13720>
Emma Anholt [Fri, 24 Dec 2021 01:28:40 +0000 (17:28 -0800)]
nir/opt_offsets: Use nir_ssa_scalar to chase offset additions.
For nir_to_tgsi, I want to be able to fold into the base from a vector
load_const, which the ad-hoc scalar chasing couldn't handle.
r300:
total instructions in shared programs: 1278731 -> 1256502 (-1.74%)
instructions in affected programs: 457909 -> 435680 (-4.85%)
total flowcontrol in shared programs: 8316 -> 8313 (-0.04%)
flowcontrol in affected programs: 5 -> 2 (-60.00%)
total temps in shared programs: 213687 -> 213774 (0.04%)
temps in affected programs: 13140 -> 13227 (0.66%)
total consts in shared programs: 952850 -> 949929 (-0.31%)
consts in affected programs: 386352 -> 383431 (-0.76%)
Fixes: #5781
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Emma Anholt [Sun, 26 Dec 2021 17:07:32 +0000 (09:07 -0800)]
nir_to_tgsi: Use nir_opt_offsets for load_ubo_vec4.
This helps non-native-integers hardware where relative addressing of UBOs
has a constant offset field, and having addressing math (particularly for
D3D9) emitted as ALU ops ends up running us out of constants. For
native-integers drivers (such as softpipe), the possible-overflow check
typically triggers and we end up not folding.
r300:
total instructions in shared programs: 1279167 -> 1278731 (-0.03%)
instructions in affected programs: 50834 -> 50398 (-0.86%)
total temps in shared programs: 213736 -> 213687 (-0.02%)
temps in affected programs: 598 -> 549 (-8.19%)
total consts in shared programs: 952973 -> 952850 (-0.01%)
consts in affected programs: 26776 -> 26653 (-0.46%)
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Emma Anholt [Tue, 11 Jan 2022 18:23:51 +0000 (10:23 -0800)]
nir/opt_offsets: Also apply the max offset to top-level constant folding.
nir_to_tgsi wants this for disabling folding into shared var accesses at
all.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Emma Anholt [Thu, 30 Dec 2021 00:50:06 +0000 (16:50 -0800)]
nir/opt_offsets: Disable unsigned wrap checks on non-native-integers HW.
Since we don't have 32-bit ints, these checks for 32-bit unsigned wrapping
don't help and just reduce optimization opportunities (particularly for
DX9 addressing math).
Doesn't affect any current consumers.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Emma Anholt [Thu, 23 Dec 2021 23:21:30 +0000 (15:21 -0800)]
nir: Add a .base field to nir_load_ubo_vec4.
This lets nir-to-tgsi fold the constant offset of addressing calculations
into the CONST[] reference, which is important for D3D9-era compatibility:
HW of that age has limited uniform space, and if we do the addressing math
as math in the shader for dynamic indexing, the nir_load_consts end up
taking up uniforms we don't have available.
r300:
total instructions in shared programs: 1279699 -> 1279167 (-0.04%)
instructions in affected programs: 134796 -> 134264 (-0.39%)
total instructions in shared programs: 1279699 -> 1279167 (-0.04%)
instructions in affected programs: 134796 -> 134264 (-0.39%)
total temps in shared programs: 213912 -> 213736 (-0.08%)
temps in affected programs: 2166 -> 1990 (-8.13%)
total consts in shared programs: 953237 -> 952973 (-0.03%)
consts in affected programs: 45980 -> 45716 (-0.57%)
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Emma Anholt [Thu, 23 Dec 2021 23:28:06 +0000 (15:28 -0800)]
nir/lower_dynamic_bo_access: Use copy_inst_indices for our cloned instrs.
The ad-hoc index duplication was missing setup of things like the ACCESS
or RANGE_BASE fields.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14309>
Dave Airlie [Wed, 19 Jan 2022 03:30:29 +0000 (13:30 +1000)]
intel/brw: drop gl header from the brw backend.
This shouldn't be used anywhere now once we drop the GLbitfield64 types.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
Dave Airlie [Wed, 19 Jan 2022 03:23:32 +0000 (13:23 +1000)]
nir: remove gl.h include from nir headers.
This saves a lot of pointless gl.h includes across the board,
it moves the one place that needs GLenum into a separate file
only used in those passes that require it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
Dave Airlie [Wed, 19 Jan 2022 07:42:04 +0000 (17:42 +1000)]
includes: add windows lean and mean guard.
When we drop gl.h some files pick up windows.h from here
without lean/mean and it causes conflicts.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
Dave Airlie [Wed, 19 Jan 2022 03:17:27 +0000 (13:17 +1000)]
mesa/*: add a shader primitive type to get away from GL types.
This creates an internal shader_prim enum, I've fixed up most
users to use it instead of GL types.
don't store the enum in shader_info as it changes size, and confuses
other things.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
Dave Airlie [Wed, 19 Jan 2022 01:43:15 +0000 (11:43 +1000)]
mesa/*: use an internal enum for tessellation primitive types.
To avoid dragging gl.h into places it has no business being,
defined tessellation primitive mode to an enum.
This has a lot of fallout all over the place.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14605>
Stefan Brüns [Fri, 14 Jan 2022 12:49:49 +0000 (13:49 +0100)]
llvmpipe: Add get_{driver,device}_uuid implementations
Commit
9da15aa3aa94 ("llvmpipe: enable EXT_memory_object(_fd)") enabled
the extension, but left this unimplemented.
Leaving this unimplemented causes segfaults for anyone trying to retrieve
the UUIDs, as the calling code in the state tracker does not check if the
function is implemented. This affects e.g. current Wine versions.
Set the UUID to all zeros. Although this slightly violates the vulkan
specification (since 1.2.146), the UUIDs have to match the ones from
lavapipe (lvp_get_physical_device_properties_1_1).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5865
Fixes:
9da15aa3aa94 ("llvmpipe: enable EXT_memory_object(_fd)")
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Dave Airlie airlied@redhat.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14558>
Dave Airlie [Mon, 15 Nov 2021 03:02:29 +0000 (13:02 +1000)]
amd: move uvd decode definitions to common place
This just makes sharing these easier later.
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14607>
Dave Airlie [Fri, 5 Nov 2021 03:52:57 +0000 (13:52 +1000)]
amd: move vcn decoding regs + structs to a common file.
This just moves the main regs + fw interface structs to a new shared
file.
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14607>
Guilherme Gallo [Mon, 17 Jan 2022 02:52:16 +0000 (23:52 -0300)]
ci: freedreno: Update a530 dEQP fail expectation list
The test
`KHR-GLES31.core.shader_storage_buffer_object.basic-stdLayout_UBO_SSBO-case2-cs`
was failing even before the kernel uprev
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14548>
Guilherme Gallo [Wed, 12 Jan 2022 17:49:10 +0000 (14:49 -0300)]
ci: Uprev Kernel to v5.16
Changes in freedreno devices:
- Adding CONFIG_DRM_PANEL_EDP, split from CONFIG_DRM_PANEL_SIMPLE
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14548>
Alex Xu (Hello71) [Thu, 2 Dec 2021 23:34:56 +0000 (18:34 -0500)]
meson: tlsdesc: minor reformatting, add comments
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14027>
Samuel Pitoiset [Wed, 19 Jan 2022 09:35:56 +0000 (10:35 +0100)]
radv: fix missing destroy for the overallocation mutex
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14611>
Samuel Pitoiset [Wed, 19 Jan 2022 13:37:54 +0000 (14:37 +0100)]
vulkan/runtime: fix accessing NULL pointers detected by UBSAN
Fixes:
7a84314c12a ("vulkan/runtime: Add sparse bind support.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14619>
Marcin Ślusarz [Thu, 8 Jul 2021 09:09:35 +0000 (11:09 +0200)]
Add new rules to .gitattributes
This will make sure that all source files have native line endings
when checked out locally.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11779>
Marcin Ślusarz [Wed, 19 Jan 2022 10:55:54 +0000 (11:55 +0100)]
radv/ci: add line endings exception for files generated with wine
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11779>
Marcin Ślusarz [Wed, 19 Jan 2022 10:53:39 +0000 (11:53 +0100)]
ci/windows: normalize line endings
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11779>
Marcin Ślusarz [Wed, 19 Jan 2022 10:52:10 +0000 (11:52 +0100)]
microsoft/compiler: normalize line endings
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11779>
Marcin Ślusarz [Thu, 8 Jul 2021 09:54:31 +0000 (11:54 +0200)]
freedreno/rnn: normalize line endings in rules-ng.xsd
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11779>
Rhys Perry [Tue, 18 Jan 2022 13:29:59 +0000 (13:29 +0000)]
aco: use p_extract for SGPR nir_op_unpack_half_2x16_split_y
fossil-db (Sienna Cichlid):
Totals from 7264 (5.40% of 134627) affected shaders:
VGPRs: 548152 -> 548184 (+0.01%)
SpillSGPRs: 7615 -> 7607 (-0.11%)
CodeSize:
71025152 ->
70993036 (-0.05%); split: -0.05%, +0.00%
Instrs:
13386799 ->
13298580 (-0.66%); split: -0.66%, +0.00%
Latency:
177464497 ->
177091693 (-0.21%); split: -0.21%, +0.00%
InvThroughput:
32185148 ->
32151873 (-0.10%); split: -0.10%, +0.00%
VClause: 233167 -> 233166 (-0.00%); split: -0.00%, +0.00%
SClause: 468423 -> 468426 (+0.00%); split: -0.00%, +0.01%
Copies: 950727 -> 942753 (-0.84%); split: -0.85%, +0.02%
Branches: 455919 -> 455901 (-0.00%); split: -0.01%, +0.00%
fossil-db (Vega):
Totals from 7264 (5.39% of 134762) affected shaders:
SGPRs: 738800 -> 738816 (+0.00%)
VGPRs: 550264 -> 550344 (+0.01%)
SpillSGPRs: 11149 -> 11157 (+0.07%)
CodeSize:
67487104 ->
67466772 (-0.03%); split: -0.03%, +0.00%
Instrs:
13142106 ->
13061767 (-0.61%)
Latency:
209278575 ->
208438854 (-0.40%); split: -0.40%, +0.00%
InvThroughput:
81486405 ->
81265773 (-0.27%); split: -0.27%, +0.00%
VClause: 222293 -> 222291 (-0.00%); split: -0.00%, +0.00%
SClause: 447783 -> 447800 (+0.00%); split: -0.00%, +0.01%
Copies: 1243760 -> 1238842 (-0.40%); split: -0.43%, +0.03%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14592>
Matti Hamalainen [Wed, 12 May 2021 10:07:23 +0000 (13:07 +0300)]
aux/trace: cosmetic cleanup
Fix up some function argument indentation alignments and
adjust few other small cosmetics.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14398>
Matti Hamalainen [Wed, 12 May 2021 09:52:58 +0000 (12:52 +0300)]
aux/trace: implement missing trace calls
Some call traces (resource_from_handle, resource_get_handle and
resource_get_param) were TODO, so implement them while we are here.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14398>
Matti Hamalainen [Thu, 9 Dec 2021 18:38:17 +0000 (20:38 +0200)]
aux/trace: print enum names instead of integer values in gallium traces
Having only magic constants instead of human-readable strings in
traces not only hinders readability, but also may affect trace
comparision of old and new traces if new enums have been added
or modified (thus possibly changing the values of existing ones.)
So we implement printing of enum names as strings instead.
In order to have those strings, we need to add some new helper
functions, which we will automatically generate from header file
src/gallium/include/pipe/p_defines.h via a new Python script
enums2names.py.
We also bolt this all into the Meson build system.
Link: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4609
Signed-off-by: Matti Hamalainen <ccr@tnsp.org>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14398>
Lionel Landwerlin [Sat, 8 Jan 2022 11:52:27 +0000 (13:52 +0200)]
genxml: reduce amount of generated code
$ wc -l build/src/intel/genxml/genX_bits.h
250581 build/src/intel/genxml/genX_bits.h (before)
5748 build/src/intel/genxml/genX_bits.h (after)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14469>
Lionel Landwerlin [Mon, 17 Jan 2022 12:02:30 +0000 (14:02 +0200)]
anv: fix missing descriptor copy of bufferview/surfacestate content
When doing copies of descriptors from one set to another, that contain
either a UNIFORM_BUFFER or STORAGE_BUFFER, both the buffer view &
surface state are allocated from the source descriptor. Therefore we
need to copy their content otherwise we could run into lifecycle
issues when the source descriptor is destroyed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14585>
Lionel Landwerlin [Wed, 19 Jan 2022 09:03:39 +0000 (11:03 +0200)]
intel/dev: fix ppipe_mask computation
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
e86ce98c6a08 ("intel/devinfo: deal with i915 topology query change")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14608>
Thomas H.P. Andersen [Tue, 18 Jan 2022 23:59:39 +0000 (00:59 +0100)]
meson: add check kwarg to run_command
run_command will change the default for the check arg to true
in the future. If it is true then meson will exit if the command
fails. It must be false here as we check the return code to
provide a meaningful error message.
With meson 0.61 we get the following warning:
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in future releases of meson.
See also: https://github.com/mesonbuild/meson/issues/9300
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14602>
Mike Blumenkrantz [Tue, 18 Jan 2022 20:28:07 +0000 (15:28 -0500)]
zink: add deqp ci baseline for nv
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14603>
Mike Blumenkrantz [Tue, 18 Jan 2022 20:27:19 +0000 (15:27 -0500)]
zink: update nv ci baseline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14603>
Mike Blumenkrantz [Thu, 4 Nov 2021 16:33:45 +0000 (12:33 -0400)]
lavapipe: replace hard pointer calcs in push descriptors with ptralloc
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13678>
Mike Blumenkrantz [Thu, 4 Nov 2021 16:33:45 +0000 (12:33 -0400)]
lavapipe: replace hard pointer calcs in dynamic render with ptralloc
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13678>
Mike Blumenkrantz [Thu, 4 Nov 2021 16:23:05 +0000 (12:23 -0400)]
util: add ptralloc
many times it will be the case that an allocation for a block of data
needs to be done in one alloc() call such that the members of a struct as well
as some extra trailing data are all in the same allocation like
```
struct Test {
unsigned a[4];
unsigned c;
};
unsigned *b; //ptr to uint[8]
```
should be allocated as a single block of (13 * sizeof(unsigned)) memory using
C pointer offsets to allocate the memory as
```
| Test | b |
```
with something like
```
struct Test *t = malloc(sizeof(struct Test) + (8 * sizeof(unsigned)));
```
and then set `b` with
```
t->b = ((uint8_t*)t) + sizeof(struct Test);
```
this is annoying, awful to read, and (at least for dum-dums like me) prone to errors,
however, so having some utility functions which can deliver the same
functionality with better readability helps out this case by transforming it to
```
unsigned *b;
void **ptrs[] = {(void*)&b};
size_t sizes[] = {8 * sizeof(unsigned));
struct Test *t = ptralloc(sizeof(struct Test), 1, sizes, ptrs);
```
where `b` is now set to the appropriate offset in memory
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13678>
Kenneth Graunke [Tue, 14 Dec 2021 23:25:26 +0000 (15:25 -0800)]
iris: Do primitive ID overrides in 3DSTATE_SBE not SBE_SWIZ
Broadwell introduced new fields in 3DSTATE_SBE which allow us to ask
the hardware to override Primitive ID for us, rather than requiring us
to turn on attribute swizzling and specify per-attribute overrides in
3DSTATE_SBE_SWIZ. We unconditionally enable attribute swizzling today,
but this is a step toward letting us think about disabling it in the
future.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14210>
Kenneth Graunke [Wed, 15 Dec 2021 08:53:49 +0000 (00:53 -0800)]
iris: Use prog_data->inputs rather than shader info in SBE code.
This should be the same thing, but requires looking up less data.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14210>
Kenneth Graunke [Wed, 15 Dec 2021 08:35:40 +0000 (00:35 -0800)]
intel/fs: Reuse the same FS input slot for VUE header fields.
VARYING_SLOT_{VIEWPORT,LAYER,PSIZ} all live in the same VUE header slot,
and the FS is already set up to read the x/y/z/w component of that vec4.
However, we were setting up the SBE to pass each of those items as a
separate FS input, so hypothetically if a shader read all three, we
would burn 3 FS inputs with redundant data. Not only was this passing
extra data to the FS, but it would count as extra input slots for the
"Do we have 16 or fewer attributes?" check for using SBE swizzling to
rearrange them in a convenient manner.
Now we make them share a single FS attribute and only count them once.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14210>
Emma Anholt [Sun, 26 Dec 2021 17:23:39 +0000 (09:23 -0800)]
r300: Add consts (uniforms) count to the shader-db output.
This is one of the critical metrics for this driver.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14600>
Emma Anholt [Sun, 26 Dec 2021 17:20:17 +0000 (09:20 -0800)]
r300: Drop unused r300_get_stats() call.
Unused since we switched to shader-db.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14600>
Jordan Justen [Sat, 30 Oct 2021 10:25:09 +0000 (03:25 -0700)]
intel/gem: Return length from intel_i915_query_alloc
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Fri, 7 Jan 2022 01:30:21 +0000 (17:30 -0800)]
intel/dev: Recalculate max_cs_threads after applying hwconfig changes
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Sat, 30 Oct 2021 20:41:38 +0000 (13:41 -0700)]
intel/dev: Apply settings from hwconfig if devinfo::apply_hwconfig is set
During debug builds, if apply_hwconfig is not set, then the devinfo
value will be compared with the hwconfig value. If they don't match
then a warning message will be logged to stderr.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Sat, 8 Jan 2022 08:13:34 +0000 (00:13 -0800)]
intel/dev: Set intel_device_info::apply_hwconfig for DG2
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Sat, 8 Jan 2022 08:01:55 +0000 (00:01 -0800)]
intel/dev: Add intel_device_info::apply_hwconfig
This will be used to conditionally use hwconfig values to update
intel_device_info at runtime.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Fri, 7 Jan 2022 01:25:46 +0000 (17:25 -0800)]
intel/dev: Print urb size with intel_dev_info
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Sat, 30 Oct 2021 20:41:38 +0000 (13:41 -0700)]
intel/dev: Add intel_print_hwconfig_table()
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Sat, 30 Oct 2021 10:25:09 +0000 (03:25 -0700)]
intel/dev: Add intel_hwconfig_types.h from random post on the internet
There is no spec for any of this, but we'll need this to interpret a
blob that the kernel is giving us.
Ref: https://lists.freedesktop.org/archives/intel-gfx/2021-September/277488.html
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Tue, 2 Nov 2021 00:22:51 +0000 (17:22 -0700)]
anv,blorp,crocus,i965,iris: Use devinfo->max_threads_per_psd for gfx8+
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Jordan Justen [Tue, 2 Nov 2021 00:20:20 +0000 (17:20 -0700)]
intel/dev: Add max_threads_per_psd field to devinfo for gfx8+
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13866>
Pavel Ondračka [Tue, 18 Jan 2022 15:58:36 +0000 (16:58 +0100)]
r300: fix translate_LRP
This was broken by
7daba1fe6544309b02d09e0710a9159049fb8cfa
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14596>
Neha Bhende [Thu, 16 Dec 2021 23:33:25 +0000 (15:33 -0800)]
svga: enable GL43 on SVGA GL43 capable device
This patch enables GL43 feature for VMware's future GL43 capable
SVGA device.
Tested with various GL43 apps.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 23:07:58 +0000 (15:07 -0800)]
svga: add GL43 resource validation at draw time
This patch adds GL43 tracked states stack and supports GL43 resource
validation at draw time. This patch is squash of in house patches
to support GL43 on VMware driver.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 22:52:26 +0000 (14:52 -0800)]
svga: shader translation for compute, image views and shader buffers
This patch handles shader translation for compute, image views and shader
buffers and updates the corresponding shader compile keys.
It also includes support of using shader raw buffer for shader buffer used
as constant buffer.
This patch is squash of numerous in house patches.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
v2: As pointed out by Thomas, fix revert of
64292c0f caused by this patch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 00:36:39 +0000 (16:36 -0800)]
svga: Add support for compute shader, shader buffers and image views
This commit is squash of commits which handles resource creation and management
for compute shader, shader buffers and image views. It creates uavs for shader
buffers and image views.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 01:01:56 +0000 (17:01 -0800)]
tgsi: Add hw_atomic_declared in tgsi_info
This patch also adds hw_atomic_declared info in tgsi_info.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 00:44:44 +0000 (16:44 -0800)]
svga: Add utility to check for GL43 support
GL43 support in SVGA driver requires vmwgfx kernel version 2.20 and
GL43 capable SVGA device.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Neha Bhende [Thu, 16 Dec 2021 00:40:01 +0000 (16:40 -0800)]
svga: Add GL43 commands support
This patch updates SVGA header files and adds support for uav related commands.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14270>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:58:44 +0000 (13:58 -0500)]
zink: enable EXT_external_objects pipe caps
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:57:59 +0000 (13:57 -0500)]
zink: implement external memory object resource handling
this is super simple and can almost fully reuse the existing codepaths
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:57:00 +0000 (13:57 -0500)]
zink: implement GL semaphores
this is basically just a wrapper around vulkan semaphores, so it maps
fairly well
the existing fence function was a big ??? and should never have been triggered
like it was
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:56:03 +0000 (13:56 -0500)]
zink: add driver/device uuid screen hooks
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:55:21 +0000 (13:55 -0500)]
zink: add VK_KHR_external_memory_capabilities to instance exts
the props for this are weird so they have to be fetched "manually"
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Mike Blumenkrantz [Tue, 11 Jan 2022 18:54:49 +0000 (13:54 -0500)]
zink: add VK_KHR_external_semaphore_fd to device exts
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14498>
Jordan Justen [Fri, 5 Nov 2021 07:18:35 +0000 (00:18 -0700)]
iris: Use mi_builder for load/store reg/mem/imm functions
Ref:
06cf838cbdc ("intel/mi_builder: Support gen11 command-streamer based register offsets")
Ref:
6ffdcc335ee ("iris: Use mi_builder in iris_load_indirect_location()")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14340>
Jordan Justen [Fri, 5 Nov 2021 06:07:26 +0000 (23:07 -0700)]
iris: Use mi_builder to set 3DPRIM registers for draws
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14340>
Dave Airlie [Thu, 30 Dec 2021 23:42:11 +0000 (09:42 +1000)]
crocus: only clamp point size on last stage.
This fixes a regression in tests that pass unclamped point size
values between stages.
This keeps xfb broken since the real way it should work is to have
the hw clamp after xfb, but this seems the least evil path.
Fixes:
3077d9685682 ("crocus: Clamp VS point sizes to the HW limits as required.")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14359>
Dave Airlie [Thu, 30 Dec 2021 23:41:33 +0000 (09:41 +1000)]
intel/compiler: add clamp_pointside to vs/tcs/tes keys.
This will be used by crocus and iris to clamp pointsizes only
on the last stage of the shader compile.
Fixes:
3077d9685682 ("crocus: Clamp VS point sizes to the HW limits as required.")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14359>
Dave Airlie [Wed, 29 Dec 2021 00:34:45 +0000 (10:34 +1000)]
mesa/st: get rid of ST_CALLOC_STRUCT use CALLOC_STRUCT
Just tie in the CALLOC_STRUCT/FREE mechanism.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14325>
Dave Airlie [Tue, 28 Dec 2021 23:41:01 +0000 (09:41 +1000)]
mesa/st/perfmon: rebalance CALLOC_STRUCT/FREE
this was using FREE but ST_CALLOC_STRUCT, so fix the other way.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14325>
Dave Airlie [Tue, 28 Dec 2021 23:37:37 +0000 (09:37 +1000)]
mesa: rebalance the CALLOC_STRUCT/FREE force.
There were some CALLOC_STRUCT that were using free, rebalance this.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14325>
Dave Airlie [Tue, 28 Dec 2021 23:36:56 +0000 (09:36 +1000)]
mesa/program: don't use CALLOC_STRUCT for instructions.
Figuring out the frees here was too much for me.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14325>
Cristian Ciocaltea [Tue, 18 Jan 2022 08:14:47 +0000 (10:14 +0200)]
freedreno/ci: Fix dEQP tests expectations on A530
Add a new entry to the 'fails' list.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Tue, 18 Jan 2022 07:48:28 +0000 (09:48 +0200)]
panfrost/ci: Fix piglit tests expectations on G52
Remove the successful tests from the 'fails' list.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Tue, 18 Jan 2022 07:43:15 +0000 (09:43 +0200)]
iris/ci: Fix piglit tests expectations on amly
Found two tests that started to show a flaky behavior, although they are
not detected as such by the test runner. Depending on their presence in
the 'fails' list, they are reported as "UnexpectedPass" or "Fail".
Let's fix this by moving them to the 'flaky' list.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Mon, 17 Jan 2022 22:25:56 +0000 (00:25 +0200)]
iris/ci: Fix whl dEQP expectations
Remove the successful tests from the 'fails' list.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Tue, 4 Jan 2022 21:15:19 +0000 (23:15 +0200)]
virgl/ci: Fix identification of dEQP binary paths
In some cases the file paths passed to crosvm for execution do not point
to dEQP binaries, but can be wrapper scripts, like deqp-runner.sh.
Detect such cases and skip changing the working directory.
Additionally, use the POSIX compliant command substitution syntax
instead of the obsolete variant based on backquotes.
Fixes:
81f25d8f276 ("virgl/ci: Run each dEQP instance in its own VM")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Tue, 4 Jan 2022 16:56:46 +0000 (18:56 +0200)]
virgl/ci: Do not hide crosvm output messages
In some corner cases like the kernel oops, we do not get the relevant
log messages from crosvm process to help with debugging.
Note there is currently a double redirection of its stdout stream, but
the content eventually ends up in /dev/null.
Let's fix this by redirecting both stdout and stderr streams to a
dedicated file, to avoid clobbering the output from the script/program
running inside crosvm. This is particularly required for the scenario
that involves deqp-runner starting crosvm via a *.toml suite.
Additionally, drop the unnecessary usage of 'stdbuf' and set the 'quiet'
kernel command-line parameter to get rid of the noise generated during
crosvm boot process.
Although not directly related, do some cleanup by removing the
temporary folder on script exit.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>
Cristian Ciocaltea [Tue, 4 Jan 2022 11:20:59 +0000 (13:20 +0200)]
virgl/ci: Prevent static link of virglrenderer inside crosvm
Ensure virglrenderer library is built before crosvm in order to allow
dynamic linking. This is needed for the scenarios where a different
virglrenderer library must be provided before launching crosvm, e.g.:
the upcoming Virgl CI solution that shares Mesa CI containers.
Additionally, this provides the virgl_test_server binary which is
required by piglit-runner.sh and deqp-runner.sh scripts when using
the virpipe Gallium driver.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14413>