Jason Ekstrand
3be0be7d54
nir: Split nir_index_vars into two functions
...
We also very slightly change the semantics. It no longer is one index
per list for global variables and is a single index over-all.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
86c9303814
nir/split_vars: Add mode checks to list walks
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
2f6c263cc3
st/nir: Rework fixup_varying_slots
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
4c3a30393d
nir/linking: Rework some internal helpers
...
Instead of taking a variable list, take a nir_shader and mode.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
caab46c1e9
nir: Take a shader and variable mode in nir_assign_io_var_locations
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
964c1c4b87
nir: Take a nir_shader and variable mode in assign_var_locations
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
6f6f7a34c5
nir: Add and use a nir_variable_list_for_mode helper
...
We also add a new list iterator which takes a modes bitfield and
automatically figures out which list to use. In the future, this
iterator will work for multiple modes but today it assumes a single mode
thanks to the behavior of nir_variable_list_for_mode. This also doesn't
work for function_temp variables.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
e3e1c50067
nir: Add a nir_foreach_gl_uniform_variable helper for GL linking
...
There are a bunch of cases where we really do want to walk the list that
is nir->uniforms because we want all things declared "uniform" in the
GLSL. Add a helper for this but restrict it to the GL linking code.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
feb32f898c
nir: Add a nir_foreach_uniform_variable helper
...
This one's a bit more complex because it filters off only those
variables with mode == nir_var_uniform. As such, it's not exactly a
drop-in replacement for nir_foreach_variable(var, &nir->uniforms).
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
92dcda5ce9
nir: Add a nir_foreach_function_temp_variable helper
...
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:58 +00:00
Jason Ekstrand
2956d53400
nir: Add nir_foreach_shader_in/out_variable helpers
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Jason Ekstrand
9bf8572222
nir/dead_variables: Respect the modes passed to remove_dead_vars
...
For the most part, this doesn't actually matter today. We already only
call remove_dead_vars on the lists that are specified in the modes. The
only functional change here is for the uniform, mem_ubo, and mem_ssbo
modes because they share a list. If nir_remove_dead_variables is called
with a mode of nir_var_uniform, it will no longer remove UBOs or SSBOs,
for instance.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Jason Ekstrand
5746af4446
nir: Take a mode in remove_unused_io_vars
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966 >
2020-07-29 17:38:57 +00:00
Frank Binns
fd91744bd4
docs: change "Fixes:" tag example to match git fixes output
...
The "Fixes:" tag example has the commit title in double quotes, whereas the
suggested git fixes alias, a couple of lines below, also adds some outer
parenthesis.
Although there doesn't appear to be a consistent format for the "Fixes:" tag,
other than it should be a git commit sha followed by the commit title, the
information in the docs should at least be consistent. As the "Fixes:" tag was
inspired by the Linux kernel, which does have parenthesis, update the example to
match the git fixes output.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6106 >
2020-07-29 15:25:24 +00:00
Rob Clark
aa89693c02
freedreno/rnn: add schema validation
...
Now that all the schema validation issues are fixed, enable xml
validation according to stylesheet in rnn.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
3169b8c645
freedreno/rnn: schema updates for dynamic/irregular offsets
...
Really we want to require one-of offset/offsets/doffsets.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
c537947145
freedreno/registers/mdp5: fix validation error
...
Empty enums are not allowed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
0586238036
freedreno/rnn: fix use-group
...
The schema describes the attribute as "ref" rather than "name". Which
makes more sense.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
14a7ca577f
freedreno/rnn: allow name to be optional in arrays
...
We are using unnamed arrays to describe repeating portions of a pm4
packet. So allow the name to be optional. Instead of just using
the empty-string hack, drop the attribute.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
e801069c1e
freedreno/rnn: add "addvariant" to schema
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
b0e3ef5a25
freedreno/rnn: describe copyright element in schema
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
09a3a2cfe9
freedreno/registers/adreno_pm4: fix validation errors
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
c61ad1f542
freedreno/registers/a4xx: fix validation error
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
17997d5c5a
freedreno/registers/a2xx: fix validation error
...
And bonus whitespace fix.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
64f1122168
freedreno/rnn: add variants/varset to domain
...
We have already been using this to describe pm4 packets that are
specific to certain generations.
Maybe we should introduce a new "packet" element type instead. But
first lets just get validation working with what we already use.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
7b76e5f3a4
freedreno/rnn: relax Hexadecimal to HexOrNumber
...
We are already using non-hex offsets to describe pm4 packet payloads.
Let's just permit this in the schema, rather than updating all the xml
to use hex.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
cb3ed4600e
freedreno/rnn: add radix/align
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
83bc96b555
freedreno/rnn: add high/low/pos to registers
...
This was added recently in rnn, but the schema was not updated.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
61ae65a73d
freedreno/rnn: add relaxed boolean type
...
In the schema, boolean means strictly "true" or "false". But rnn
parsing code was looking for "yes"/"1"/"no"/"0". So split the
difference, and add a relaxed boolean type, and update rnn to also
accept "true" or "false".
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
e3958ef83a
freedreno/rnn: update schema for 'pos'
...
Ideally we'd like to express that *either* 'high' + 'low' OR 'pos' is
required, but it doesn't appear that this is possible. But the rnn
parsing code should still enforce this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
dfe9746be0
freedreno/rnn: rename schema file
...
All of the xml references rules-ng.xsd, not rules-ng-ng.xsd
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
5a8d19ca14
freedreno/rnn: add error helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
3a910839ba
freedreno/rnn: split out helper to find files
...
So we can re-use it to locate the schema file.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Rob Clark
751af16e1d
freedreno/tools: check rnn parse status
...
Don't silently ignore issues.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107 >
2020-07-29 14:30:35 +00:00
Tomeu Vizoso
6c8b921572
ci: Build kernels and rootfs for x86 devices
...
For testing Mesa on LAVA devices with the amd64 architecture, build
kernels and rootfs in the same way as we do for arm64 and armhf.
Also add a few trivial jobs for a specific AMD Chromebook.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
5d0ba8b183
ci: Split building of libdrm to its own script
...
As we are doing that in several places already and we'll need to build
in others as well.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
8a8afcbe40
ci: Don't ship vk-build-programs after building dEQP
...
As it's not needed at runtime.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
5262cd8be5
ci: Fix URL for glslang
...
master-tot doesn't have that zip file any more, but the just made
release still does.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903 >
2020-07-29 12:41:45 +00:00
Tomeu Vizoso
745540378c
ci: Print load stats after running dEQP
...
So we can get an idea if what are the bottlenecks when looking for
opportunities to speed things up.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6101 >
2020-07-29 14:26:02 +02:00
Tomeu Vizoso
735ad2d211
ci: Always print status code of HTTP uploads in tracie
...
I'm seeing occasional unexpected 403 errors when uploading artifacts.
Print the response in case MinIO is telling us why.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Rohan Garg <rohan.garg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6101 >
2020-07-29 14:25:30 +02:00
Connor Abbott
903a7d0f87
freedreno: Add trace for CP_DRAW_INDIRECT_MULTI
...
Test the indirect count case. This is recorded with turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
85e4305235
freedreno/cffdec: Handle CP_DRAW_INDIRECT_MULTI like other draws
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
4b940532fb
freedreno/rnn: Support stripes in rnndec_decodereg
...
We'll need this for finding where INDIRECT/STRIDE are in
CP_DRAW_INDIRECT_MULTI, since they are in different locations in each
variant.
This is tricky because we need to bubble up success/failure to the upper
levels, and 0 could be a valid offset if the stripe is inside an array
or in a packet. Hence we refactor tryreg to return success/failure
separately, although I stopped short of modifying rnndec_decodereg
itself.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Connor Abbott
9a1924d55a
tu: Dump CP_DRAW_INDIRECT_MULTI draw BO's
...
These will be decoded by cffdump.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6104 >
2020-07-29 10:51:28 +00:00
Chris Forbes
c7626ac8ba
bifrost: Fix packing of ADD_FEXP2_FAST
...
This was being packed as 1-src and so the Src1 was not set up properly.
It only worked by accident.
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6111 >
2020-07-28 14:46:41 -07:00
Chris Forbes
a618631f2d
bifrost: Honor src swizzle in special math ops
...
Most ops use the common handling in emit_alu in order to convert NIR
sources to bifrost sources, but the "special" math op lowering handrolls
the conversion (due to needing to reference the same source multiple
times).
Unfortunately, that handrolled lowering did not consider that there
might be a non-identity swizzle on the source. In this case we would
reference the wrong component of the source and generate garbage.
Fixes all but two of the remaining failures on G31 in:
dEQP-GLES2.functional.shaders.operator.exponential.*highp*
The following tests are still broken due to some other issue:
dEQP-GLES2.functional.shaders.operator.exponential.exp2.highp_float_fragment
dEQP-GLES2.functional.shaders.operator.exponential.exp2.highp_vec2_fragment
Signed-off-by: Chris Forbes <chrisforbes@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6108 >
2020-07-28 13:45:20 -07:00
Daryl W. Grunau
a400c2ff22
prevent multiply defined symbols
...
Without this patch applied gcc@10.1.0 fails to compile with the following
error (note mesa@18.3.6 but the latest release also posseses this problem):
ld: ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_symbol.o):/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/galli um/auxiliary/util/u_debug_symbol.c:273: multiple definition of `symbols_hash'; ../../../../src/gallium/auxiliary/.libs/libgallium.a(u_debug_stack.o):/tmp/spa ck/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/auxiliary/util/u_debug_stack.c:49: first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [libGL.la] Error 1
make[4]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium/targets/libgl-xlib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src/gallium'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/spack/spack-stage/spack-stage-mesa-18.3.6-be7kyg2dyxwktir3zrai27n6a6coadab/spack-src/src'
make: *** [all-recursive] Error 1
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3298
Cc: mesa-stable
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6053 >
2020-07-28 20:17:52 +00:00
Marek Olšák
b11ebbe2f6
amd: enable displayable DCC for everything newer than Navi1x
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00
Marek Olšák
abed921ce7
amd: add support for Navy Flounder
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00
Marek Olšák
037b84df11
amd: rename SIENNA -> SIENNA_CICHLID
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6100 >
2020-07-28 19:47:10 +00:00