Emma Anholt
95c3445258
nir: Use find_state_var in lower_atomics_to_ssbo.
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111 >
2023-06-01 23:57:32 +00:00
Emma Anholt
1746413dd7
mesa: Use find_state_var in lower_builtin.
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23111 >
2023-06-01 23:57:32 +00:00
Jesse Natalie
5a914dcd6a
d3d12: Support PIPE_CAP_VS_LAYER_VIEWPORT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377 >
2023-06-01 23:39:41 +00:00
Jesse Natalie
f622b3072d
microsoft/compiler: Viewport/layer as input to GS/HS needs to set feature bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377 >
2023-06-01 23:39:41 +00:00
Jesse Natalie
764e39be36
microsoft/compiler: Fix usage of type var in semantic asserts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377 >
2023-06-01 23:39:41 +00:00
Jesse Natalie
d100ddd8d7
microsoft/compiler: Fix the int->uint pass for arrayed I/O
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23377 >
2023-06-01 23:39:41 +00:00
Jesse Natalie
0596304d62
dzn: Don't lower away mediump
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344 >
2023-06-01 23:01:04 +00:00
Jesse Natalie
3b0cc6e204
spirv2dxil: Enable mediump
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344 >
2023-06-01 23:01:04 +00:00
Jesse Natalie
ea68135ed1
microsoft/compiler: Handle mediump
...
Instead of treating all 16-bit values as "native 16-bit types,"
differentiate between concrete casts and mediump casts, where the
former requires native 16-bit types, and the latter only requires
DXIL min-precision. Additionally, UBO/SSBO loads/stores require
native 16-bit types.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344 >
2023-06-01 23:01:04 +00:00
Jesse Natalie
7371c9a2a8
microsoft/compiler: Always set support_16bit_alu
...
This just affects some nir opts. If we're lowering 16bit ops anyway,
the optimization doesn't matter.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344 >
2023-06-01 23:01:04 +00:00
Jesse Natalie
2d3fbb44f4
nir: Add preserve_mediump as a shader compiler option
...
The DXIL backend would like to distinguish between casts to 16-bit
that must cast, vs those that may. If a shader only ever produces
16-bit types from mediump casts and ALU ops on those values, then
the resulting shader can be annotated with DXIL's min-precision
qualifier, basically telling the driver to use 16-bit precision if
it's faster for them. If it uses concrete 16-bit casts, or loads/
stores to externally-visible memory, then it must use the "native"
16-bit flag, which is not supported on all hardware.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23344 >
2023-06-01 23:01:04 +00:00
Emma Anholt
cb965b207e
zink: Use PIPE_CAP_FS_POINT_IS_SYSVAL.
...
This better matches up to how spirv treats the value.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950 >
2023-06-01 22:27:08 +00:00
Emma Anholt
bc773b795c
nir/lower_texcoord_replace: Flag SYSTEM_VALUE_POINT_COORD read when we load it.
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950 >
2023-06-01 22:27:08 +00:00
Emma Anholt
0e943bc3f2
glsl: Allow invariant flags on sysvals, such as gl_PointCoord.
...
When you set PIPE_CAP_FS_POINT_IS_SYSVAL, we'd fall out of
is_allowed_invariant(), despite it being allowed on special builtins.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22950 >
2023-06-01 22:27:08 +00:00
Dave Airlie
c58518226b
gallium/nir/tgsi: add various support for task/mesh bits
...
these translators are used by llvmpipe so need to be updated
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:57 +00:00
Dave Airlie
8fd1aad8f8
gallium/cso: add task/mesh shaders to the cso cache
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:57 +00:00
Dave Airlie
b02fba337f
d3d12: don't report mesh/task limits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:57 +00:00
Dave Airlie
ece1cb8c6b
svga: don't report mesh/task shader limits
...
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:57 +00:00
Dave Airlie
31db515e03
radeonsi: don't report shader params for task/mesh
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
fd1ff352dd
crocus: don't report mesh/task limits
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
7b547ccb9a
iris: don't return shader params for task/mesh.
...
These should be reported as 0 for cso
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
2b3514966d
gallium: add task/mesh shader entrypoints in context
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
2e8991733a
freedreno: don't report task/mesh.
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
564094b3ce
gallium: add a new PIPE_SHADER_MESH_TYPES
...
This adds a new limit, changing PIPE_SHADER_TYPES seems frought
with danger and very tricky. Currently only lava/llvmpipe plan to
offer task/mesh in GL land, so let's limit the fallout for now.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
96b38883df
gallium: expand pipe_grid_info to handle task/mesh.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Dave Airlie
0602108c38
gallium: add task/mesh shader query types to stats interface.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23291 >
2023-06-01 21:50:56 +00:00
Karol Herbst
97c48edac0
rusticl/device: limit MAX_PARAMETER_SIZE to 32k
...
There is no good reason of having it too big and radeonsi returns an
absurd high value through PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE.
This speeds up the CTS testing this device limit.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23378 >
2023-06-01 21:35:00 +00:00
Kenneth Graunke
2d9a3bb093
intel/compiler: Fix a fallthrough in components_read() for atomics
...
In commit 284f0c9a57 I refactored the
handling of the data source to just call a helper rather than special
casing opcodes with 0 or 2 sources. Unfortunately, I also dropped the
"else return 1", creating a fallthrough for all sources other than
SURFACE_LOGICAL_SRC_ADDRESS and SURFACE_LOGICAL_SRC_DATA.
The case below happened to return the correct value for all cases except
SURFACE_LOGICAL_SRC_SURFACE, which has been returning 2 instead of 1
since that commit.
Restore the else case. Thanks to Marcin Ślusarz for catching this.
Fixes: 284f0c9a57 ("intel/compiler: Add an lsc_op_num_data_values() helper")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23347 >
2023-06-01 21:06:57 +00:00
Rob Clark
c5bac3164a
freedreno/a6xx: Enable gl46
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
c32c5a7749
freedreno/a6xx: GL_ARB_pipeline_statistics_query
...
Handle the other pipeline stats counters in order to implement
GL_ARB_pipeline_statistics_query. Note that this does away with
collecting *all* the counters if DEBUG_COUNTERS is enabled, other-
wise it was getting over-complicated.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
8192498530
freedreno: Handle compute queries
...
Compute stage can have queries too. We need to handle that.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
d52e9097e1
freedreno/a6xx: Handle nested pipeline stats queries
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
a475b7f66d
freedreno/a6xx: Split primitives and pipeline-stats queries
...
They are really two completely different things.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
5fdd3a8d55
freedreno/a6xx: GL_ARB_transform_feedback_overflow_query
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
f8036c3b54
freedreno/a6xx: Remove primitives_relocw()
...
These days we don't track read vs write relocs, so it is the same thing
as primitives_reloc()
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:59 +00:00
Rob Clark
98c4b86694
freedreno/a6xx: Fix xfb stream configuration
...
Also, only emit PC_SO_STREAM_CNTL for tess shaders, to align with how
turnip does it.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:58 +00:00
Rob Clark
973e1d4555
freedreno/a6xx: Add missing cap
...
Fixes wrong value reported for GL_MAX_VERTEX_STREAMS.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:58 +00:00
Rob Clark
ed7a1a5e5a
freedreno/a6xx: Stop using fd_wfi()
...
This was originally intended for earlier gens where certain draw-time
state needed a WFI (because it wasn't banked, etc). This isn't the case
on a6xx. So just directly emit WFIs where they are needed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:58 +00:00
Rob Clark
d17610898d
freedreno/a6xx: Clean up open coded flushes
...
Migrate more code to fd6_emit_flushes().
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23301 >
2023-06-01 20:37:58 +00:00
Georg Lehmann
79821d7afb
aco: p_start_linear_vgpr doesn't always need exec mask
...
Foz-DB Navi21:
Totals from 1605 (1.21% of 132657) affected shaders:
CodeSize: 14023700 -> 14020320 (-0.02%)
Instrs: 2589881 -> 2589052 (-0.03%)
Latency: 22478420 -> 22473359 (-0.02%)
InvThroughput: 3851237 -> 3851092 (-0.00%)
Copies: 215316 -> 215438 (+0.06%); split: -0.39%, +0.44%
Allows more vcmpx usage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23302 >
2023-06-01 20:18:23 +00:00
Lionel Landwerlin
018e306b8e
intel/fs: fix a couple of descriptor mistakes
...
I found those issues while testing DOOM eternal and Ian also ran into
it with other shaders.
We write the desc register in SIMD1 exec_all, so all the data is in
the first component. We need to make sure to pass that component in
the lower SEND instructions.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Tested-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23354 >
2023-06-01 19:53:41 +00:00
Rhys Perry
27047e11fb
radv: allow wave32 for geometry shaders
...
Because is_ngg wasn't set early enough, radv_get_wave_size() would always
return 64.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23336 >
2023-06-01 19:20:50 +00:00
Marek Olšák
7d066330e0
ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015 >
2023-06-01 18:46:20 +00:00
Marek Olšák
3f7ddaf281
radv: implement setting a custom pitch to any multiple of 256B on gfx10.3+
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015 >
2023-06-01 18:46:20 +00:00
Marek Olšák
4ffa45689f
radeonsi: implement setting a custom pitch to any multiple of 256B on gfx10.3+
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015 >
2023-06-01 18:46:20 +00:00
Marek Olšák
10c45fcc3f
ac/nir: handle DEPTH as PITCH in ac_nir_lower_resinfo
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015 >
2023-06-01 18:46:20 +00:00
Marek Olšák
d715631623
ac/surface: fix is_linear for stencil-only surfaces
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23015 >
2023-06-01 18:46:20 +00:00
Marek Olšák
4ce5f31877
amd/addrlib: add ADDR_FMT_BG_RG_16_16_16_16
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23339 >
2023-06-01 17:59:39 +00:00
Marek Olšák
9ddff6063f
amd/addrlib: switch the license to the SPDX identifier MIT
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23339 >
2023-06-01 17:59:39 +00:00
Eric Engestrom
539f2419ae
ci/b2c: also detect non-soft GPU hangs with AMDGPU
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23358 >
2023-06-01 16:12:44 +00:00