Gert Wollny
36fa612228
r600/sfn: clean up multi-sample texture load
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
2362986e79
r600/sfn: remove find_msb lowering in driver
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
6bcc2defa9
r600/sfn: force dual source blend output handling in some cases
...
If an output has a dual source index > 0 then we need to emit both
outputs, even if the number of outputs is larger than the number
of active outputs.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
40fdf1be46
r600/sfn: remove old deref code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
84f5b15978
r600/sfn: lowered FS output IO
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
3bbc078025
r600/sfn: lower VS IO and drop old deref code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
65bec7ab0a
r600/sfn: drop the local register mep
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
46beb625b9
r600/sfn: switch assembler creation to use visitor
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
d45c8bf8d9
r600/sfn: fix some formatting
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
56e4a46510
r600/sfn: remove extra parameter from alu assemebly emission
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
a976a50958
r600/sfn: Add skelton for visitor pattern
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Gert Wollny
829028babc
r600/sfn: Make some value pool functions private
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9874 >
2021-03-28 09:27:48 +00:00
Rob Clark
ea2c47390a
util/primconvert: Handle indirect and multi-draw
...
Indirect handling was completely missing. And even though we have to
emulate multi-draw, this pushes it out of the fast/hot path in the
driver's draw_vbo()
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
180ca32bb2
freedreno: Don't handle multi-draw in indirect case
...
num_draws is only applicable to direct draws, so we can simplify things
a bit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
0254e513f2
virgl: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
6a2634e9be
v3d: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
fc0c3e22c9
vc4: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c9137bd118
tegra: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
dc0140dd60
svga: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
ed1ac41887
softpipe: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
9407126313
r600: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
0634abbeb7
r300: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
e200da1f02
nouveau: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c6ecf1ce65
llvmpipe: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
c75838de66
lima: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
615cff4fa0
iris: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
bd46ef14eb
i915: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
e6148a2724
etnaviv: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
935f2c0ba4
d3d12: Use util_draw_multi() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9742 >
2021-03-27 19:30:04 +00:00
Rob Clark
3afde83c41
freedreno/a6xx: Fix obsolete comment
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9864 >
2021-03-27 19:13:45 +00:00
Rob Clark
c14e059d9f
freedreno/a6xx: Fix indirect+patches draws
...
Without TC, we'd get draw->count==0.. which is obviously not correct.
With TC we get random garbage for draw->count. Which turns into
exciting things like trying to allocate multi-gigabyte buffers for
tess param/factor buffers.
But we can just tell the CP to split up large tess draws, and put an
upper bound on the tess param/factor buffer sizes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9864 >
2021-03-27 19:13:45 +00:00
Rob Clark
c6fbbbbf70
ci: Disable panfrost t760
...
The runners appear to be down at the moment.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9872 >
2021-03-27 18:16:48 +00:00
Tapani Pälli
10cdfce14e
intel/common: disable batch decoder on Android platform
...
when building with Meson. It requires libexpat that is not available
on Android and we want to avoid it.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9848 >
2021-03-27 19:26:22 +02:00
Gert Wollny
4b1217146d
r600: Handle negate of second operator in TGSI_OPCODE_UADD
...
nir_to_tgsi lowers nir_op_isub to UADD and the negate source mod
on the second operator. Since r600 doesn't support source mods
for integers but support SUB_INT we switch the opcode and clear the
negate flag.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9579 >
2021-03-27 16:25:23 +00:00
Erik Faye-Lund
b307927303
zink: remove no-longer-needed clipdist1 patching
...
Since the last round of enhanced layout packing, it seems like this code
is no longer needed. This allows us to use the HANDLE_EMIT_BUILTIN()
macro, which simplifies things further.
It would have been incorrect anyway, because it's the only code that
uses the location directly as an index. All other locations multiplies
it by four first.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9860 >
2021-03-27 08:39:00 +00:00
Mauro Rossi
b95c62545a
android: amd/addrlib: define endianess to build
...
Fixes the following building error:
In file included from external/mesa/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp:36:
external/mesa/src/amd/addrlib/src/chip/gfx9/gfx9_gb_reg.h:43:2: error: "BIGENDIAN_CPU or LITTLEENDIAN_CPU must be defined"
^
NOTE: Android ABI specifies Little Endian for arm and x86 targets
Fixes: 3616e02ef3 ("amd/addrlib: define endianess differently")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9869 >
2021-03-27 01:54:49 +01:00
Mike Blumenkrantz
ba8ddc0c68
zink: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9852 >
2021-03-26 21:34:50 +00:00
Mike Blumenkrantz
90632ae7b3
lavapipe: stop tracking draw start/count on rendering state
...
this is garbage data for indirect draws and irrelevant for the rest
Fixes: 448e60314a ("lavapipe: add transform feedback support")
Fixes: 1cd455b17b ("gallium: extend draw_vbo to support multi draws")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9852 >
2021-03-26 21:34:50 +00:00
Eric Anholt
1e8792ea5f
freedreno/a6xx: Use the frontend userclip lowering.
...
This ends up being way more piglit-conformant than our backend lowering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9815 >
2021-03-26 20:51:18 +00:00
Eric Anholt
683d3972a6
nir: Update clip_distance_array_size in clip lowering.
...
If we've added the array, then we should update the info. This is the
value that gallium drivers setting !PIPE_CAP_CLIP_PLANES have to use in
place of rasterizer->clip_planes_enabled.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9815 >
2021-03-26 20:51:18 +00:00
Lionel Landwerlin
6d72f404df
intel/nullhw: fix build
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4507
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9849 >
2021-03-26 20:12:40 +00:00
Lionel Landwerlin
5e1f5f6a7b
gitlab-ci: fix vulkan build layer enabling
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 54fe5b0482 ("meson: switch vulkan layer to list of choices")
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9858 >
2021-03-26 19:53:39 +00:00
Bas Nieuwenhuizen
a7c0cf500b
radv: Enable DCC for image stores on GFX10.
...
Since image stores can now compress and we can't track image stores
this also stops using predication for DCC decompression.
In GFX10 this was benchmarked to be faster. For GFX10.3 the microbenchmarks
are not as possible though I haven't tested any games, so this is not enabled
there yet.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6796 >
2021-03-26 16:16:24 +00:00
Bas Nieuwenhuizen
6c92bf2951
radv: Use 8x8 meta compute workgroups.
...
For 16x16 we get 4 16x4 waves, which is bad for DCC image stores.
The workgroup size doesn't really matter for speed, the important
part is the number of waves, which should stay constant here.
(Though some optimization would be nice, but out of scope for this
patch)
The compute DCC compress shader still uses 16x16 due to functional
requirements (and we're sure it won't write with DCC compression ...)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6796 >
2021-03-26 16:16:24 +00:00
Alejandro Piñeiro
ce98967274
v3dv: define a default attribute values with float type
...
We are providing a BO with the default attribute values for the
GL_SHADER_STATE_RECORD, that contains 16 vec4. Such default value for
each vec4 is (0, 0, 0, 1). As the attribute format could be int or
float, the "1" value needs to take into account the attribute format.
But in the practice, the most common case is all floats. So we create
one default attribute values BO assuming that all attributes will be
floats, and we store it at v3dv_device and only create a new one if a
int format type is defined. That allows to reduce the amount of BOs
needed.
Note that we could still try to reduce the amount of BOs used by the
pipelines if we create a bigger BO, and we just play with the
offsets. But as mentioned, that's not the usual, and would add an
extra complexity,so it is not a priority right now.
This makes the following test passing when disabling the pipeline
cache support:
dEQP-VK.api.object_management.max_concurrent.graphics_pipeline
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9845 >
2021-03-26 15:00:05 +00:00
Tony Wasserka
8557ac9a12
aco/isel: Add documentation for (u)int64->f16 conversion
...
The upper 32 bits are truncated before converting, which still produces
correct results since they never meaningfully contribute to the result.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9597 >
2021-03-26 14:39:23 +00:00
Tony Wasserka
b5be03f39f
aco/isel: Fix large inputs being truncated in int32->f16 conversions
...
The previous code produced incorrect results for inputs outside the
range [INT16_MIN, INT16_MAX].
A problematic case is e.g. i2f16 32768, which previously would be
converted to -32768.0 instead of returning the exactly representable
floating point result.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9597 >
2021-03-26 14:39:23 +00:00
Tony Wasserka
4ce8e422e3
aco/isel: Add documentation and asserts for convert_int
...
This function has evolved to be a generic helper function used throughout
the file, so having those assumptions written down explicitly and document
unsupported edge cases should help prevent incorrect use.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9597 >
2021-03-26 14:39:23 +00:00
Tony Wasserka
1e03796fa4
aco/isel: Don't request sign extension when truncating signed integers
...
This doesn't change semantics but allows us to reject this potentially
ambiguous configuration in convert_int in a later change.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9597 >
2021-03-26 14:39:23 +00:00
Tony Wasserka
3a2b055726
aco/isel: Fix i64/u64->float32 conversion for large inputs
...
Previously, inputs such as 0x100000000 would have their upper 32-bits
ignored despite being representable by 32-bit floats.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9597 >
2021-03-26 14:39:23 +00:00