Eric Engestrom
d61dc62c59
docs: fix invalid expression in new pipe cap
...
Fixes: 89dad5618d ("gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32247 >
2024-11-20 12:54:28 +00:00
Marek Olšák
4da5b11ca9
nir: add nir_io_separate_clip_cull_distance_arrays to replace PIPE_CAP
...
to make the flag available in NIR passes
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
89dad5618d
gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER
...
It's required by the latest IO refactoring.
screen.rst explains it and it's not pretty. It can be argued that
finalize_nir shouldn't exist.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32175 >
2024-11-18 11:25:18 +00:00
Mike Blumenkrantz
d008aaa6da
gallium: rework vbuf alignment pipe caps
...
this consolidates 4 pipe caps into 1 using an enum
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Neha Bhende <neha.bhende@broadcom.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31482 >
2024-10-07 13:09:59 +00:00
Mike Blumenkrantz
3b99f9bc0e
mesa: support OVR_multiview2
...
this reuses the same pipe cap to indicate that
both extensions are supported
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31128 >
2024-09-18 13:07:41 +00:00
Mike Blumenkrantz
5c5763f6a8
gallium: add PIPE_CAP_MULTIVIEW
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31128 >
2024-09-18 13:07:41 +00:00
Daniel Stone
ebd45f0e64
docs/gallium: Fix broken GL extension link
...
The :ext: macro doesn't know that astc_ldr is actually defined in the
astc_hdr spec doc.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31111 >
2024-09-12 19:07:44 +00:00
David Rosca
1d71557397
docs: Remove OMX frontend
...
Acked-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30865 >
2024-09-09 18:14:49 +00:00
Eric Engestrom
10bc4cc480
docs: Fix linkcheck failures
...
This job has been failing for a while. Make it not fail.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31059 >
2024-09-09 12:54:34 +00:00
Qiang Yu
661b9061d4
gallium: add caps for KHR_shader_subgroup
...
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30610 >
2024-08-26 10:46:16 +08:00
Louis-Francis Ratté-Boulianne
a4a51f22b1
gallium: add PIPE_CAP_ASTC_DECODE_MODE and expose extension
...
mesa will expose GL_EXT_texture_compression_astc_decode_mode
extension if the cap is enabled by the driver.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30560 >
2024-08-20 05:36:15 +00:00
Rhys Perry
57080749f7
gallium: remove PIPE_CAP_SHADER_CAN_READ_OUTPUTS
...
nir_lower_io_to_temporaries is now done for all stages except TCS, and
nir_lower_io_to_temporaries with a TCS is a no-op.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25590 >
2024-07-10 19:11:38 +00:00
Karol Herbst
0fa4eaf6f6
gallium: add PIPE_CAP_TEXTURE_SAMPLER_INDEPENDENT
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362 >
2024-06-26 10:04:02 +00:00
Erik Faye-Lund
f7ed909761
docs: edgeflag -> edge flag
...
This is how we usually spell it, and also how the OpenGL specification
spells it. Let's be consistent.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29879 >
2024-06-25 10:51:26 +00:00
Mike Blumenkrantz
2e5d49b3dd
gallium: delete PIPE_CAP_NIR_COMPACT_ARRAYS
...
this is now nir_shader_compiler_options::compact_arrays
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28601 >
2024-04-12 18:43:48 +00:00
Eric Engestrom
13b88747d4
docs: fix inline c identifier reference -> inline code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28499 >
2024-04-01 21:18:37 +00:00
Antonio Gomes
12f1a4c311
gallium: Add new PIPE_CAP_CL_GL_SHARING
...
We have a situation where some drivers have all the required features,
but they are not working with gl_sharing, so we end up advertising it
wrongly. Add this cap to ensure this driver was tested to work with
cl_khr_gl_sharing.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26071 >
2024-02-23 13:29:00 +00:00
Timothy Arceri
1098afd7fb
gallium: add PIPE_CAP_FP16 for AMD_gpu_shader_half_float
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540 >
2024-02-12 13:23:14 +00:00
Marek Olšák
7a7285bc69
gallium: add PIPE_CAP_PERFORMANCE_MONITOR for GL_AMD_performance_monitor
...
Use a CAP instead of guessing it. radeonsi won't expose it.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26262 >
2023-11-28 17:34:26 +00:00
Marek Olšák
6073a149b9
gallium/docs: make CAP doc order match definition order
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26262 >
2023-11-28 17:34:26 +00:00
Eric Anholt
aed6a39c10
glsl: Retire dround lowering.
...
We have competent lowering in NIR already available.
Drivers exposing CAP_DOUBLES but not SHADER_CAP_DROUND:
- d3d12 (NIR lowers ~0 if the underlying impl doesn't do floats)
- svga (Now sets the NIR lowering options)
- softpipe (Doesn't do GL4 so you can't use doubles anyway)
- llvmpipe (Lowers dround_even in NIR and passees the rest through
successfully)
- zink (NIR lowers ~0 if the underlying impl doesn't do floats,
otherwise passes things through successfully, except needed
dround_even lowering to avoid lavapipe regression with
native doubles)
- r600 (sets NIR rounding lowering flags, and lowers all fsign)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777 >
2023-10-24 00:16:30 +00:00
Eric Anholt
b1b0ebba1e
glsl: Remove int64 div/mod lowering.
...
Most drivers that can expose GL4 were claiming the cap anyway (llvmpipe,
softpipe, zink, iris, nvc0, radeonsi, r600, freedreno, d3d12), and just
doing lowering in NIR if nessary.
crocus was only claiming the cap for gen8, but the backend compiler
enables NIR lowering regardless.
svga is the only other GL4 driver that didn't set it, and we can just set
the NIR lowering flag.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25777 >
2023-10-24 00:16:30 +00:00
Rob Clark
5cccd6d689
mesa: Implement MESA_texture_const_bandwidth
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9891
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464 >
2023-10-14 17:28:28 +00:00
Lucas Fryzek
6b2fa965c6
gallium: Remove PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND
...
Since the mesa state tracker can promote RGB texture formats
to RGBA texture formats (among other formats) without exposing
any of that information to a driver, it is more desirable to
have the behaviour of `PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND`
be the default. This avoids rendering bugs where an application
sets `DST_ALPHA` blending on a format where there is no alpha
channel, that has been promoted to a format that actually has an
alpha channel. The driver can instead rely on the common code
in the state tracker to convert the blending parameter to one
that reflects the limitations of the application requested format,
as long as `PIPE_CAP_INDEP_BLEND_FUNC` is supported.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24044 >
2023-07-11 15:52:08 +00:00
Italo Nicola
a1eabeff66
gallium: remove PIPE_CAP_CLEAR_TEXTURE
...
ARB_clear_texture is now implemented in common code.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23735 >
2023-07-10 15:23:06 +00:00
Karol Herbst
a8df5cfa3a
gallium: change PIPE_COMPUTE_CAP_SUBGROUP_SIZE to a bitfield of sizes
...
This will be required for `cl_intel_required_subgroup_size`, but it
already helps implementing OpenCL subgroups as this allows us to check
with every subgroup size when implementing
`CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT`.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893 >
2023-07-07 12:27:35 +00:00
Karol Herbst
f0b2944a0b
gallium: add PIPE_COMPUTE_CAP_MAX_SUBGROUPS
...
This is required for enabling OpenCL subgroups.
Signed-off-by: Karol Herbst <git@karolherbst.de >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893 >
2023-07-07 12:27:35 +00:00
norablackcat
660f2eabe1
gallium: add PIPE_CAP_TIMER_RESOLUTION
...
Reviewed by Marek Olšák
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23703 >
2023-06-22 09:08:33 +00:00
Emma Anholt
0ac9541804
gallium: Drop PIPE_SHADER_CAP_PREFERRED_IR.
...
Now everyone's saying NIR, and doing any NTT internally. The only returns
of TGSI were in gallivm_get_shader_param() and
tgsi_exec_get_shader_param(), but the drivers were returning NIR instead
of calling down to them.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23114 >
2023-06-12 17:37:54 +00:00
Yonggang Luo
070d02b04b
docs: Update document about pipe_prim_type with mesa_prim
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369 >
2023-06-03 03:29:03 +00:00
Axel Davy
f0e9c225d8
docs/gallium: Clarify PIPE_CAP_CLIP_PLANES
...
Drivers with PIPE_CAP_CLIP_PLANES set to 0,
such as zink, ignore clip_plane_enable.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22644 >
2023-05-08 21:41:21 +00:00
Erik Faye-Lund
9b1a99c89e
docs: codepath -> code-path
...
This is consistent with how we spell this elsewhere in the docs.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
dc788aaa6f
docs: backfacing -> back-facing
...
This is consistent with how the OpenGL spec spells it.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Alyssa Rosenzweig
6ba29d37c8
gallium: Remove PIPE_CAP_TEXTURE_BUFFER_SAMPLER
...
No more users. It was already not respected by rusticl so you couldn't set it if
you wanted OpenCL support. I regret introducing the CAP in the first place, and
no more drivers should use it.
Reverts d5d3f77e4a ("gallium: Add new cap PIPE_CAP_TEXTURE_BUFFER_SAMPLER").
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22223 >
2023-04-07 01:15:41 +00:00
Emma Anholt
ba5bc2677f
glsl: Drop PIPE_SHADER_CAP_DFRACEXP_DLDEXP_SUPPORTED.
...
All drivers should now be using the appropriate NIR lowering, so we can
drop this pile of code.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22083 >
2023-04-06 02:32:01 +00:00
Emma Anholt
2a33ea95d6
glsl: Retire ldexp lowering in favor of the nir lowering flag.
...
Compilers need to set the nir flag anyway for vulkan, so just pass ldexp
through to NIR and let that handle it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22083 >
2023-04-06 02:32:00 +00:00
Lucas Fryzek
cffa67af01
gallium: Modify default path for DMABUF to use DRM
...
Modify the code path taken in `u_pipe_screen_get_param_defaults`
to call DRM to check if `PIPE_CAP_DMABUF` is supported. This is
required for overriding the behavior in `dri2_init_screen_extensions`
to support importing DMA bufs on drivers that don't support DRM, by
simply changing how `PIPE_CAP_DMABUF` is handled in their driver.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21654 >
2023-03-31 13:39:07 +00:00
Harri Nieminen
c9378106ed
docs/gallium: Fix typos
...
Found by codespell
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22149 >
2023-03-28 02:31:05 +00:00
Kenneth Graunke
b6878d456f
st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushing
...
Intel Gen9 GPUs have hardware ASTC support, but have a bug where they
don't handle denormalized values in void extent blocks correctly. This
isn't that hard to work around - on upload, we can detect such blocks,
and flush any denorms to zero. Because we're altering the data behind
the application's back, and applications can theoretically ask to
download the original unaltered image data, we unfortunately need to
maintain shadow copies of the data.
To make sure that we don't accidentally skip the void-extent flushing
via any fast-upload paths, and support download correctly, we plug this
into the st/mesa compressed texture format fallback paths, which store
a CPU copy of the original image data, and upload altered data.
This is unfortunately common code for what's likely to be a single
driver's issue (on a single generation), but it beats replicating an
entire framework we already have inside the driver.
Fixes dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.*
using iris on Intel Gen9 GPUs.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4167
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21943 >
2023-03-17 21:30:48 +00:00
Antonio Gomes
010c18c443
gallium: Add new caps PIPE_CAP_LINEAR_IMAGE_(PITCH_ALIGNMENT|BASE_ADDRESS_ALIGNMENT)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20378 >
2023-03-07 18:24:56 +00:00
Mike Blumenkrantz
2127287d4d
gallium: add PIPE_CAP_NULL_TEXTURES
...
this allows drivers to indicate that they support sampling from null
textures instead of using fallback textures
for now, this is only used for depth-based fallback textures
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21072 >
2023-02-05 13:32:02 +00:00
Gert Wollny
153af03b94
gallium: Add cap to request state validation for all dirty state
...
With aaa4b0e6 state validation is no longer called for all changed states,
but only for states that will be active with a new shader program.
Not all drivers support this and might prefer if the state validation
is emitted for all states that might be changed. So add a cap that the
driver can signal one or the other preference, and default to the new
behavior.
Fixes: aaa4b0e6
st/mesa: move check_program_state code into _mesa_update_state
v2: - Rename cap and and invert its meaning, query the cap
only once and store it in st, handle the mask update
when updating the shader i.e. not in st_validate_state (Marek)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20493 >
2023-01-12 08:34:49 +00:00
Marek Olšák
b9caddb4a7
glthread,gallium: add a CAP to disable glBufferSubData optimization in glthread
...
it regresses performance on iris
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20379 >
2023-01-01 16:00:07 -05:00
Erik Faye-Lund
306a8379ca
docs: lifecycle -> life cycle
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719 >
2022-11-15 10:01:15 +00:00
Erik Faye-Lund
18fcd3c47c
docs: un-committed -> uncommitted
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719 >
2022-11-15 10:01:15 +00:00
Erik Faye-Lund
ba78af66c6
docs: use ext-role for GL / VK extensions
...
This makes sure that we generate proper links to all of these
extensions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19594 >
2022-11-09 16:10:55 +00:00
Erik Faye-Lund
b51d1af1c1
docs: feeddback -> feedback
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19594 >
2022-11-09 16:10:55 +00:00
Erik Faye-Lund
ebf33212ed
docs: eg -> e.g.
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494 >
2022-11-04 16:38:06 +00:00
Erik Faye-Lund
e082cff56b
docs/gallium: glsl -> GLSL
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494 >
2022-11-04 16:38:06 +00:00
Erik Faye-Lund
45b4f82091
docs/gallium: fixup broken markup
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494 >
2022-11-04 16:38:06 +00:00