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
Rhys Perry
ccfe9813fb
aco: create acq+rel barriers instead of acq/rel
...
NIR doesn't have atomic loads/stores, so we have to workaround that with
this for dEQP-VK.memory_model.* to pass.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
3d9eb17d5d
aco: improve workgroup-scope and lower vmem/smem barriers
...
No fossil-db changes on Navi.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
3af2b9e3de
aco: improve sync_info for TCS output stores
...
Stop scheduling them as SSBO stores.
No fossil-db changes on Navi.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
8a16498cc6
aco: use storage_scratch
...
fossil-db (Navi):
Totals from 9 (0.01% of 114665) affected shaders:
VMEM: 14456 -> 15312 (+5.92%)
VClause: 336 -> 327 (-2.68%)
Helps 9 Dark Souls 3 shaders a little.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
46c4b25623
aco: enable value numbering of s_buffer_load_*
...
fossil-db (Navi):
Totals from 33 (0.03% of 114665) affected shaders:
SGPRs: 2176 -> 2152 (-1.10%)
VGPRs: 1572 -> 1564 (-0.51%)
CodeSize: 115988 -> 115472 (-0.44%)
Instrs: 21459 -> 21385 (-0.34%)
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
2adb337256
nir,radv/aco: add and use pass to lower make available/visible barriers
...
Lower them to ACCESS_COHERENT to simplify the backend and
probably give better performance than invalidating or writing back the
entire L0/L1 cache.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
7a61480613
aco: consider intrinsic access in visit_{load,store}_image
...
radv_nir_lower_memory_model will use this.
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
cd392a10d0
radv/aco,aco: use scoped barriers
...
fossil-db (Navi):
Totals from 109 (0.08% of 132058) affected shaders:
SGPRs: 5416 -> 5424 (+0.15%)
CodeSize: 460500 -> 460508 (+0.00%); split: -0.07%, +0.07%
Instrs: 87278 -> 87272 (-0.01%); split: -0.09%, +0.09%
Cycles: 2241996 -> 2241852 (-0.01%); split: -0.04%, +0.04%
VMEM: 33868 -> 35539 (+4.93%); split: +5.14%, -0.20%
SMEM: 7183 -> 7184 (+0.01%); split: +0.36%, -0.35%
VClause: 1857 -> 1882 (+1.35%)
SClause: 2052 -> 2055 (+0.15%); split: -0.05%, +0.19%
Copies: 6377 -> 6380 (+0.05%); split: -0.02%, +0.06%
PreSGPRs: 3391 -> 3392 (+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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
d1f992f3c2
aco: rework barriers and replace can_reorder
...
fossil-db (Navi):
Totals from 273 (0.21% of 132058) affected shaders:
CodeSize: 937472 -> 936556 (-0.10%)
Instrs: 158874 -> 158648 (-0.14%)
Cycles: 13563516 -> 13562612 (-0.01%)
VMEM: 85246 -> 85244 (-0.00%)
SMEM: 21407 -> 21310 (-0.45%); split: +0.05%, -0.50%
VClause: 9321 -> 9317 (-0.04%)
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/4905 >
2020-07-28 16:56:34 +00:00
Rhys Perry
1bbb64f300
aco: add missing add_to_hazard_query
...
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/4905 >
2020-07-28 16:56:34 +00:00
Chris Forbes
1882b1e5a7
bifrost: Add support for nir_op_iabs
...
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/6098 >
2020-07-28 15:40:00 +00:00
Lionel Landwerlin
1cdd161a30
anv: fix descriptor set free
...
Once we start going through the free list of the descriptor set pool,
we might use a free entry larger than the descriptor set we want to
allocate. When we free that descriptor set, we use the size of the set
rather than the size of the entry that was picked. This leads to leaks
of some amount of descriptor set pool.
This fix saves the size of the entry in the descriptor set so we know
what amount of the pool needs to freed.
v2: Don't bother adding a new size field
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Cc: <mesa-stable@lists.freedesktop.org >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3324
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6084 >
2020-07-28 14:51:15 +00:00
Yevhenii Kolesnikov
845a50ee25
nine: fix incorrect calculation of layer count for 3D textures
...
Volume textures don't have a concept of "layers"
v1: set last_layer to zero for 3D textures (Axel Davy)
Cc: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5808 >
2020-07-28 13:48:10 +00:00
Icecream95
d136fa17ac
panfrost: Allow PIPE_TEXTURE_1D_ARRAY textures
...
Fixes a crash with wined3d.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6085 >
2020-07-28 13:30:32 +00:00
Marcin Ślusarz
884718313c
i965: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL
...
Otherwise mesa will crash in glEndPerfQueryINTEL because OA BO is NULL.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6094 >
2020-07-28 10:44:41 +00:00
Marcin Ślusarz
627c01977c
iris: propagate error from gen_perf_begin_query to glBeginPerfQueryINTEL
...
Otherwise mesa will crash in glEndPerfQueryINTEL because OA BO is NULL.
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6094 >
2020-07-28 10:44:41 +00:00
Connor Abbott
0f9131d096
freedreno/rnn: Return success when parsing addvariant
...
This was missed when I initially added addvariant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
aa6fbdd248
freedreno/ci: add a2xx trace to CI job
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
18bc5a81a7
freedreno: deduplicate a2xx disasm
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
f39afda1a7
freedreno: move a2xx disasm out of gallium
...
So that it can be reused by the decode tools.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
f7bd3456d7
freedreno: deduplicate a3xx+ disasm
...
Merge the extra tracking that is useful for generating stats from asm
(as opposed to ir), and for guestimating things like inputs and outputs
(mostly useful for r/e) into ir3's version and drop cffdec's version.
There is a small change in disasm output for the decode tools, in that
it no longer prints the used consts, but rather just the max accessed
const. This is the more useful piece of information, and avoids making
the shared regmask type big enough to deal with the const reg file.
Additional error checking for invalid regids causes crashdec to bail
out sooner when decoding memory that *might* hold valid instructions.
Also, crashdec no longer prints stats, because stats aren't very useful
when trying to decode random instruction memory (which might or might
not be valid instructions).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
6b379a4cb4
freedreno: drop shader_t
...
When this code was outside of the mesa tree, we needed our own enum.
Now we can use a common one, to simplify deduplicating the disasm
code.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
bb98b71893
freedreno/ir3: split out regmask
...
To unify the ir3 disasm code, we need to add in the regmask based
register tracking from cffdec's version of the disassembler. Split
out regmask (or at least the part that doesn't depend on ir3) so
it can be shared.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
ddcee248ad
freedreno: add CI for envytools tools
...
This also tunes `.freedreno-rules` a bit so that it isn't triggered by
various tools that don't effect the driver build.
The .gitlab-ci directory is kept separate from the toplevel one so that
updates to (for example) reference decode output do not trigger all the
other-driver jobs to run.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
b62e4a8e9e
freedreno/afuc: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
5125b4bc69
freedreno/decode: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
cbbaafdf72
freedreno/rnn: warnings cleanup
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
536f43cb96
freedreno: slurp in afuc
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
1ea4ef0d3b
freedreno: slurp in decode tools
...
cffdump, crashdec, etc
At this point there is some duplication with other files in-tree (ie.
a2xx and a3xx+ disassembly), which will be cleaned up in a later commit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
7c0bd8429f
freedreno: slurp in rnn
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
b721d336da
freedreno: slurp in rnndb
...
Pull in all of $envytools/rnndb (including display, etc) from envytools
commit 6ccdda33ac4d88e19d2a70e1b4edaaab5ec4b026
This changes the directory structure to match the organization in the
envytools tree.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Rob Clark
7de0842d42
freedreno: make gen_header.py check parent directory
...
With the next commit, the xml files will be no longer be all in the same
directory. But checking up a single directory level to resolve import
will be sufficient.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6070 >
2020-07-28 09:45:08 +00:00
Bas Nieuwenhuizen
05b2783270
radv: Fix host->host signalling with legacy timeline semaphores.
...
Fixes: 88d41367b8
"radv: Add timelines with a VK_KHR_timeline_semaphore impl."
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Andres Rodriguez <andresx7@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6097 >
2020-07-28 09:33:59 +00:00
Dave Airlie
9746e84a7e
radv: cleanup locking around timeline waiting.
...
Just noticed in passing that this looked extra complicated,
Bas said it was for legacy design reasons, so clean it up.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6099 >
2020-07-28 12:31:30 +10:00
Chris Forbes
a0a70879c5
bifrost: Add support for nir_op_imul
...
Unfortunately this doesn't map nicely to the existing instruction
classes, so we'll make a new one for now.
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/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
718d444e51
bifrost: Add support for nir_op_uge
...
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/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
946ff9b439
bifrost: Add support for nir_op_ishl
...
Bifrost's bitwise ops include the shift capability. Previously we had
hardcoded the shift to zero in all cases.
There's room in future to emit slightly better code if a shift and a
bitwise operation can be folded together, but not going after that for
now.
This change also removes the separate BI_SHIFT instruction class as
BI_BITWISE can cover both cases.
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/6091 >
2020-07-28 01:13:09 +00:00
Chris Forbes
539ea08736
bifrost: Add support for nir_op_inot
...
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/6091 >
2020-07-28 01:13:09 +00:00
Caio Marcelo de Oliveira Filho
12dd5455f4
spirv: Handle most execution modes earlier
...
For convenience in e68871f6a4
("spirv: Handle constants and types
before execution modes") we moved all execution mode parsing after the
constants and types, so that those using OpExecutionModeId could be
handled together.
Later in 84781e1f1d
("spirv/nir: keep track of SPV_KHR_float_controls
execution modes") we had to parse certain non-ID execution modes
before handling constants.
Instead of handling just the float controls related execution modes
early, handle all modes that don't need an ID. This is a more
"natural" split and will allow other type handling to rely on
execution mode in the future.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6062 >
2020-07-27 17:10:23 +00:00
Chris Forbes
ef781880eb
bifrost: Add lowering for b2i32
...
Since the bool representation is 0/~0, we can convert to int
just by &1.
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/6079 >
2020-07-27 16:53:52 +00:00