Connor Abbott
e781cc7025
tu: Expose shaderStorageImage*WithoutFormat
...
We don't use the format anymore in the backend, except determining the
number of components, and we fallback to 4 there if it's not specified.
So we should be safe to enable this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00
Connor Abbott
37054a3ef5
ir3: Don't use the format to get the image type
...
Use the sampler type instead, which was recently plumbed through core
NIR, for load/store and the right type for atomics. This removes the
last hard dependency on the image format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00
Connor Abbott
6ebc20fd88
tu: Expose shaderImageGatherExtended
...
This just allows textureGather() to have offsets, which we already
supported in ir3.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00
Connor Abbott
205f4e9a57
tu: Expose shaderStorageImageExtendedFormats
...
We already supported all the formats on the list, so it's trivial to
enable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6800 >
2020-09-22 14:54:40 +00:00
Gert Wollny
5d3a72cd61
r600/sfn: Be a bit more verbose when logging skipped FS outputs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
2abb9e5ac0
r600/sfn: Acquire the number of FS outputs and the write_all info early
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
c2c5f71e96
r600/sfn: Take dual source blending output indices into account
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
44b45a3864
r600/sfn: Handle number of color outputs taking dual source blending into account
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
234891cc04
r600/sfn: Keep info about dual-source blend in FS
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
0a59530d0d
r600/sfn: Sort the outputs of the FS according to data index
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
a57f2d0cfa
r600: Add flag for dual-source blending to shader key
...
Otherwise the number of outputs and the output data index can't be
interpreted correctly.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
1625a9b9ae
r600/sfn: remove a useless if-condition
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
4f4e90bfbb
r600/sfn: run late algebraic optimizations
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Gert Wollny
8a9876a29a
r600/sfn: use cnde instead of cnde_int
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6814 >
2020-09-22 14:32:45 +00:00
Michael Tretter
952cf95f8b
etnaviv: fix comment for source of etna_mesa_debug
...
The file and the environment variables have different names than
described in the comment. Fix the comment to avoid confusion.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6661 >
2020-09-22 14:24:25 +00:00
Jason Ekstrand
9750164c09
nir: Rename get_buffer_size to get_ssbo_size
...
This makes it explicit that this intrinsic is only for SSBOs. For the
v3dv driver, we'll be adding a get_ubo_size intrinsic and we want to be
able to distinguish between the two.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6812 >
2020-09-22 13:34:12 +00:00
Rhys Perry
f100cf0d30
aco: stop multiplying driver_location by 4
...
This didn't really serve any purpose, doesn't match how FS inputs are
currently done, and prevented us from using
nir_io_add_const_offset_to_base in the future.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Rhys Perry
fd872c3cf7
aco: remove dead indirect fs input loading
...
It's asserted that the visit_load_input code isn't reached. It also didn't
handle divergent indexing and this situation should have been lowered
anyway.
I think this used to be needed to pass a dEQP-VK.glsl.indexing.* test, but
it doesn't seem needed anymore.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Rhys Perry
7f51a0c670
aco: use nir's constant source helpers more
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Rhys Perry
430cc90071
aco: use nir_get_io_offset_src() in visit_load_input()
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Rhys Perry
9bba79088d
aco: use io semantics to get an intrinsic's slot
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Timur Kristóf
d58a1a87cc
aco: Use NIR IO semantics for tess factor IO locations.
...
Previously we relied on looping over the NIR output variables
to remember the driver location of the tess factors, now use
the new NIR IO semantics instead.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6689 >
2020-09-22 12:38:43 +00:00
Lionel Landwerlin
10540c2f6f
anv: implement VK_KHR_copy_commands2
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6801 >
2020-09-22 11:37:12 +00:00
Lionel Landwerlin
4c1c546fa3
vulkan: bump headers/registry to 1.2.154
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6801 >
2020-09-22 11:37:12 +00:00
Danylo Piliaiev
f2b17dec12
nir/lower_samplers: Clamp out-of-bounds access to array of samplers
...
Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:
"In the subsections described above for array, vector, matrix and
structure accesses, any out-of-bounds access produced undefined
behavior.... Out-of-bounds reads return undefined values, which
include values from other variables of the active program or zero."
Robustness extensions suggest to return zero on out-of-bounds
accesses, however it's not applicable to the arrays of samplers,
so just clamp the index.
Otherwise instr->sampler_index or instr->texture_index would be out
of bounds, and they are used as an index to arrays of driver state.
E.g. this fixes such dereference:
if (options->lower_tex_packing[tex->sampler_index] !=
in nir_lower_tex.c
CC: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428 >
2020-09-22 09:06:52 +00:00
Danylo Piliaiev
0ba82f78a5
nir/large_constants: Eliminate out-of-bounds writes to large constants
...
Out-of-bounds writes could be eliminated per spec:
Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:
"In the subsections described above for array, vector, matrix and
structure accesses, any out-of-bounds access produced undefined
behavior.... Out-of-bounds writes may be discarded or overwrite
other variables of the active program."
Fixes: 1235850522
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428 >
2020-09-22 09:06:52 +00:00
Danylo Piliaiev
66669eb529
nir/lower_io: Eliminate oob writes and return zero for oob reads
...
Out-of-bounds writes could be eliminated per spec:
Section 5.11 (Out-of-Bounds Accesses) of the GLSL 4.60 spec says:
"In the subsections described above for array, vector, matrix and
structure accesses, any out-of-bounds access produced undefined
behavior....
Out-of-bounds writes may be discarded or overwrite
other variables of the active program.
Out-of-bounds reads return undefined values, which
include values from other variables of the active program or zero."
GL_KHR_robustness and GL_ARB_robustness encourage us to return zero
for reads.
Otherwise get_io_offset would return out-of-bound offset which may
result in out-of-bound loading/storing of inputs/outputs,
that could cause issues in drivers down the line.
E.g. this fixes such dereference:
int vue_slot = vue_map->varying_to_slot[intrin->const_index[0]];
in brw_nir.c
CC: <mesa-stable@lists.freedesktop.org >
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6428 >
2020-09-22 09:06:52 +00:00
Marek Olšák
8e1193b8d3
radeon: rename RADEON_TRANSFER_* -> RADEON_MAP_*
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749 >
2020-09-22 03:20:54 +00:00
Marek Olšák
31765340fd
gallium: rename transfer flags -> map flags in comments
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749 >
2020-09-22 03:20:54 +00:00
Marek Olšák
3586068557
gallium: rename pipe_transfer_usage -> pipe_map_flags
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749 >
2020-09-22 03:20:54 +00:00
Marek Olšák
22253e6b65
gallium: rename PIPE_TRANSFER_* -> PIPE_MAP_*
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749 >
2020-09-22 03:20:54 +00:00
Marek Olšák
44f1b1be7a
radeonsi: add 16-bit ALU vectorization
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Marek Olšák
6702e542cf
radeonsi: don't scalarize 16-bit vec2 ALU opcodes
...
prerequisite for enabling vectorization, so that we don't scalarize
and vectorize at the same time, causing an infinite loop.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Marek Olšák
e823742e9f
radeonsi: vectorize IO for better ALU vectorization
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Marek Olšák
98a52fecda
radeonsi: implement 16-bit FS color outputs
...
This removes type conversions from 16 bits to 32 bits in the main function
and then back to 16 bits in the epilog.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Marek Olšák
d3c63d6f60
radeonsi: set flags for FP16 in shaders
...
v2: remove the enablement code
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Marek Olšák
c5277f035e
radeonsi: don't lower pack for better 16-bit vectorization
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Daniel Schürmann
581a3516dc
ac/nir: implement nir_op_[un]pack_[64/32]_*
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6622 >
2020-09-22 02:44:53 +00:00
Vinson Lee
3022cf3bac
glsl: Initialize ir_constant member const_elements in all constructors.
...
Fix defects reported by Coverity Scan.
Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member const_elements is not
initialized in this constructor nor in any functions that it calls.
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6770 >
2020-09-21 18:29:46 -07:00
Vinson Lee
a5967f308c
pan/bi: Fix typo.
...
Fix defect reported by Coverity Scan.
Same on both sides (CONSTANT_EXPRESSION_RESULT)
pointless_expression: The expression src0_u8 || src0_u8 does not
accomplish anything because it evaluates to either of its
identical operands, src0_u8.
Fixes: 2ff53879f2
("pan/bi: Use new packing")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6780 >
2020-09-21 18:03:45 -07:00
Bas Nieuwenhuizen
ade72e677b
st/mesa: Deal with empty textures/buffers in semaphore wait/signal.
...
The actual texture might not have been created yet.
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3257
CC: mesa-stable
Acked-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/6788 >
2020-09-22 00:14:55 +00:00
Eric Anholt
08add9f61c
turnip/kgsl: Associate fences with submits.
...
This fixes all the I was seeing in the multiview tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4479 >
2020-09-21 22:51:05 +00:00
Kristian H. Kristensen
e80758405c
turnip: Add kgsl backend
...
Lacking a bit around fences and wsi integration, but there's enough
here to actually drive the GPU.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4479 >
2020-09-21 22:51:05 +00:00
Lionel Landwerlin
cc3bf00cc2
intel/compiler: fixup Gen12 workaround for array sizes
...
We didn't handle the case of NULL images/textures for which we should
return 0.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 397ff2976b
("intel: Implement Gen12 workaround for array textures of size 1")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3522
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6729 >
2020-09-21 21:20:09 +00:00
Adam Jackson
54b9013e4c
wsi/x11: Create a present queue for VK_PRESENT_MODE_FIFO_RELAXED_KHR
...
This activates the target_msc computation that we'd otherwise be using
if we were just FIFO; otherwise we'd always set target_msc = 0 and it'd
act like IMMEDIATE.
Fixes: 77d2562793
"wsi/x11: Hook up VK_PRESENT_MODE_FIFO_RELAXED_KHR"
Fixes : mesa/mesa#3512
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6804 >
2020-09-21 15:48:22 -04:00
Thong Thai
26a83bef7b
gallium/auxiliary/vl: Include src region in scale_y calculation
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3521
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6736 >
2020-09-21 18:59:36 +00:00
Thong Thai
9a4daac0bb
frontends/va: Enabled packed headers for H.264 encoder
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4184 >
2020-09-21 18:45:35 +00:00
Thong Thai
7b9414f23f
radeon: Pass HEVC encode crop parameters to the encoder
...
Signed-off-by: Thong Thai <thong.thai@amd.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2351
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4184 >
2020-09-21 18:45:35 +00:00
Thong Thai
245f619411
gallium: Parse packed HEVC SPS encode header for crop parameters
...
The crop / conformance window parameters are set by ffmpeg but they only
seem to be made available in packed headers. This commit copies the H265
header parsing code from st/omx (planning in the future to move this
code to a common place to be shared by the different state trackers) in
order to grab the crop parameters
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4184 >
2020-09-21 18:45:35 +00:00
Gert Wollny
0a3f92bcc6
r600/sfn: Fix typo in comment
...
Thanks Stanislav Jakúbek for ponting it out.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6787 >
2020-09-21 17:16:54 +00:00