Alyssa Rosenzweig
a976101da5
nir/opcodes: Reword confusing comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10578 >
2021-05-03 12:51:47 +00:00
Samuel Pitoiset
12a00da800
radv/winsys: fix executing huge secondary command buffers on GFX6
...
If the secondary has a list of CS buffers, it should be copied to
the primary.
Fixes dEQP-VK.api.command_buffers.record_many_draws_secondary_2.
Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10547 >
2021-05-03 12:59:21 +02:00
Samuel Pitoiset
92f5ab55f4
radv/winsys: add GFX6_MAX_CS_SIZE instead of using a magic value
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10547 >
2021-05-03 12:58:32 +02:00
Tony Wasserka
741e84f554
aco/spill: Fix improper handling of exec phis
...
The "continue" was placed in the wrong loop, leading to exec being
counted as a spilled register when it wasn't.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: a56ddca4e8 ('aco: make all exec accesses non-temporaries')
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4533
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10486 >
2021-05-03 10:31:07 +00:00
Karol Herbst
0c591ace9e
nvc0: fix implicit-fallthrough gcc warning
...
gcc warning:
../src/gallium/drivers/nouveau/nvc0/nvc0_screen.c: In function ‘nvc0_screen_get_compute_param’:
../src/gallium/drivers/nouveau/nvc0/nvc0_screen.c:623:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
623 | switch (obj_class) {
| ^~~~~~
../src/gallium/drivers/nouveau/nvc0/nvc0_screen.c:634:4: note: here
634 | case PIPE_COMPUTE_CAP_MAX_PRIVATE_SIZE: /* l[] */
| ^~~~
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10544 >
2021-05-03 10:21:05 +00:00
Karol Herbst
99d4b13a32
nv50/query: fix stringop-overflow gcc warning
...
gcc warning:
../src/gallium/drivers/nouveau/nv50/nv50_query_hw_metric.c: In function ‘nv50_hw_metric_get_query_result’:
../src/gallium/drivers/nouveau/nv50/nv50_query_hw_metric.c:140:26: warning: ‘sm11_hw_metric_calc_result’ accessing 64 bytes in a region of size 32 [-Wstringop-overflow=]
140 | *(uint64_t *)result = sm11_hw_metric_calc_result(hq, res64);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/gallium/drivers/nouveau/nv50/nv50_query_hw_metric.c:140:26: note: referencing argument 2 of type ‘uint64_t *’ {aka ‘long unsigned int *’}
../src/gallium/drivers/nouveau/nv50/nv50_query_hw_metric.c:105:1: note: in a call to function ‘sm11_hw_metric_calc_result’
105 | sm11_hw_metric_calc_result(struct nv50_hw_query *hq, uint64_t res64[8])
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10544 >
2021-05-03 10:21:05 +00:00
Icecream95
64246c3ae4
panfrost: Split panfrost_batch_submit to prevent stack overflows
...
panfrost_batch_submit can recurse to hundreds of levels to submit
dependencies, so split the actual submit code from the dependency
recursion, saving over a kilobyte of stack space per recursion
level. Enforce this with ATTRIBUTE_NOINLINE.
Use ATTRIBUTE_NOINLINE on panfrost_batch_submit itself as well to
prevent GCC from inlining the function into itself, which would use a
few hundred bytes of stack.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10574 >
2021-05-03 08:58:58 +00:00
Samuel Pitoiset
8b31092bcd
radv: only keep concurrent MSAA images compressed if TC-compat CMASK
...
Otherwise, we need a FMASK_DECOMPRESS which is only supported
on the gfx queue.
Fixes rendering with Forza Horizon 4 on Polaris10.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10482 >
2021-05-03 08:38:31 +00:00
Samuel Pitoiset
80f55e5163
radv: check if DCC is enabled when resolving different levels
...
Fixes an assertion triggered by new CTS:
dEQP-VK.renderpass2.suballocation.multisample_resolve.*_resolve_level_*
Looks like the driver should pass a range to radv_layout_dcc_compressed().
Cc: 21.1 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10502 >
2021-05-03 08:23:54 +02:00
Timothy Arceri
40c93e2f45
util: disable glthread in CSGO
...
Users have reported a rise in trust factor problems [1] since using
mesa builds containing 6f2017205e . Until we confirm its not a problem
disable glthread.
[1] https://github.com/ValveSoftware/csgo-osx-linux/issues/2630
Fixes: 6f2017205e ("dri: enable glthread + radeonsi workaround for CS:GO")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4710
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10540 >
2021-05-03 05:40:19 +00:00
Alyssa Rosenzweig
080b05e29e
asahi: Add Gallium driver
...
Forked from noop, with some code from Panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:54:05 -04:00
Alyssa Rosenzweig
0ad6bacb73
asahi: Add vertex formats table
...
This all gets lowers anyway so it's not entirely clear if this is the
best approach, but these map formats that have native device_load
encodings. (and don't need shader unpack code)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:22 -04:00
Alyssa Rosenzweig
13f5b17078
asahi: Add some magic IOGPU routines
...
These turned out to be software defined structures consumed by the macOS
kernel (specifically, by IOGPUCommandQueue). I'm a bit bothered by the
sheer amount of random hex flying about, though Hector made some
progress on deciphering the structure. Nevertheless there's some comfort
knowing it's not actual hardware magic.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:22 -04:00
Alyssa Rosenzweig
7949fa4f9f
asahi: Add uniform upload routines
...
Effectively everything is treated as a sysval.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:22 -04:00
Alyssa Rosenzweig
c6cde558b5
asahi: Add pool data structure
...
Lifted from Panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:22 -04:00
Alyssa Rosenzweig
26b19bda30
asahi: Add device abstraction
...
Over IOKit or DRM, primarily for memory allocation. Common between
Gallium and Vulkan.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:21 -04:00
Alyssa Rosenzweig
67dd70395f
asahi: Add tiling routines
...
For the 64x64 Morton order pattern we know how to use for textures and
framebuffers. (AGX also supports a framebuffer compression scheme. This
is not that.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:21 -04:00
Alyssa Rosenzweig
a426abcb46
asahi: Add command buffer decode helpers
...
Forked from Panfrost's pandecode. Like pandecode, most of the
heavylifting is generated with GenXML, so this is relatively simple.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:21 -04:00
Alyssa Rosenzweig
55c0956fd0
asahi: Add (clean room) IOKit uABI header
...
This only builds on macOS (depends on IOKit), where it is required for
command buffer submission and tracing the Metal blob.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:21 -04:00
Alyssa Rosenzweig
b67f148db7
asahi: Add a GenXML fork
...
Via Panfrost via v3d via Intel. Sour dough!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:21 -04:00
Alyssa Rosenzweig
0f556dbdc0
asahi: Add allocation data structure
...
Something half-way between what IOKit (macOS) and DRM (Linux) want.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:20 -04:00
Alyssa Rosenzweig
cad54e2721
asahi: Add command buffer XML definitions
...
Formatted for GenXML. Incomplete and probably riddled with errors, but a
good start.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:20 -04:00
Alyssa Rosenzweig
8cca28c9f1
asahi: Add hexdump utility
...
Used in our decoder.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:20 -04:00
Alyssa Rosenzweig
87ad9439d3
agx: Support bcsel
...
We're already using cmpsel in lots of places, pipe through the real
thing!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:20 -04:00
Alyssa Rosenzweig
e36a7f08df
agx: Pack cmpsel
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:19 -04:00
Alyssa Rosenzweig
d3abe997ca
agx: Add b2i implementation
...
Another icmpsel variant.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:19 -04:00
Alyssa Rosenzweig
80edb8124d
agx: Implement b2f
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:19 -04:00
Alyssa Rosenzweig
5a5abdc8d8
agx: Support 1-bit booleans
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:19 -04:00
Alyssa Rosenzweig
9201d31eac
agx: Add min/max support
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:19 -04:00
Alyssa Rosenzweig
9f55538834
agx: Pack texture ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:18 -04:00
Alyssa Rosenzweig
257a8cc111
agx: Emit texture ops
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:18 -04:00
Alyssa Rosenzweig
d555849c3c
agx: Add agx_tex_dim helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:18 -04:00
Alyssa Rosenzweig
1455f33f9b
agx: Implement vertex_id
...
Preloaded to r5 in vertex shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:18 -04:00
Alyssa Rosenzweig
7566466354
agx: Lower load_attr to device memory accesses
...
This is pretty annoying but not as catastrophic as I feared... at least,
until we need to support indirect access, non-native formats, or instancing.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:17 -04:00
Alyssa Rosenzweig
1c6f34f611
agx: Set flag on last st_vary instruction
...
Not sure what the point is but let's match the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:17 -04:00
Alyssa Rosenzweig
033d4d09fc
agx: Implement load_ubo/kernel_input
...
Lower to a read from global memory at a base address specified in a
sysval.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:17 -04:00
Alyssa Rosenzweig
1f23e9c06e
agx: Add sysval management helper
...
Will be used for lowering UBO loads, among other applications.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:17 -04:00
Alyssa Rosenzweig
77e7168ae2
agx: Implement limited case of i2i16/i2i32 as iadd
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:17 -04:00
Alyssa Rosenzweig
e444e3450d
agx: Propagate immediates
...
8-bit integers can be inlined to immediates on integer ops. Likewise,
floats with simple representations can be converted to 8-bit minifloats
and inlined on float ops.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:16 -04:00
Alyssa Rosenzweig
b077a73bfe
agx: Propagate fmov backwards as well
...
Primarily for fsat. Also folds conversions but this is more of an
accident, and it doesn't do so optimally (due to the f2f16/f2f32
orientation issue outlined in the pass comments).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:16 -04:00
Alyssa Rosenzweig
0f58e8dabe
agx: Add dead code eliminator
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:16 -04:00
Alyssa Rosenzweig
28801b4849
agx: Add forward optimizing pass for fmov
...
Explain the ideas behind our SSA-based optimizer (inspired by ACO's,
thank you to Daniel Schuermann for discussing this with me in the
context of Bifrost), and implement the subset needed to propagate
abs/neg through.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:16 -04:00
Alyssa Rosenzweig
e50bae00f4
agx: Add 32-bit bitwise shifts
...
Only ishr has an actual native instruction, the others are special cases
of the bitfield insertion/extraction ops.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:16 -04:00
Alyssa Rosenzweig
17bb5a067a
agx: Add saturated integer add/subtract support
...
Just a flag on the regular iadd instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:15 -04:00
Alyssa Rosenzweig
86ae965ea4
agx: Add iadd/imad integer arithmetic
...
Lots of optimizations will be possible later on.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:15 -04:00
Alyssa Rosenzweig
0c21513693
agx: Add bitwise operations
...
This get translated to bitop with the corresponding truth table with
some builder syntax sugar.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:15 -04:00
Alyssa Rosenzweig
c06dcaf0a0
agx: Implement native int->float conversions
...
This time 8, 16, and 32-bit sources are supported natively, but not
64-bit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:15 -04:00
Alyssa Rosenzweig
2126848771
agx: Implement native float->int conversions
...
No 8-bit or 64-bit yet since those need lowerings.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:14 -04:00
Alyssa Rosenzweig
8191adb0d9
agx: Add minifloat tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:14 -04:00
Alyssa Rosenzweig
c89ab07996
agx: Add 8-bit AGX minifloat routines
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10582 >
2021-05-02 17:41:14 -04:00