summaryrefslogtreecommitdiff
path: root/docs/gallium
Commit message (Collapse)AuthorAgeFilesLines
* docs/gallium: Clarify PIPE_CAP_CLIP_PLANESAxel Davy2023-05-081-1/+1
| | | | | | | | | 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>
* docs/tgsi: use \ll and \gg for left and right shiftErik Faye-Lund2023-05-051-36/+36
| | | | | | | | This renders a bit cleaner. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: fixup latex for TEX and TEX2Erik Faye-Lund2023-05-051-4/+4
| | | | | | | | | We need to excape the underscores for shadow_ref, as well as escape non-math symbols. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: do not use math-block for non-latexErik Faye-Lund2023-05-051-1/+1
| | | | | | | | | This block isn't valid latex, so let's just use a pseudocode-block like we do elsewhere here. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: use math-notations for conditionalsErik Faye-Lund2023-05-051-6/+20
| | | | | | | | | These are math-blocks, which is supposed to use math-notation for conditionals. So let's change it to math notation. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: wrap overly long linesErik Faye-Lund2023-05-051-15/+35
| | | | | | | | | While we're at it, use some alignment so the equations still reads reasonably. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: fixup bad latexErik Faye-Lund2023-05-051-3/+10
| | | | | | | | | | It's better to split these two equations in two than to try to write extra text that needs lots of escaping. This fixes the LaTeX rendering to be somewhat readable. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: fix bad latexErik Faye-Lund2023-05-051-0/+3
| | | | | | | | | We need empty spaces here, otherwise LaTeX thinks it's one equation, and puts it all back onto one line. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs/tgsi: fix up indentErik Faye-Lund2023-05-051-1180/+1172
| | | | | | | | | | | | | | | | | | There's a mixture of indent styles here, with either two or three spaces. We have standardized on three spaces for .rst-files in the editorconfig, so let's apply that. While we're at it, make sure math-blocks are indented into their opcode-block. While the result might look the same most of the time, this matters when we have textual explaination following math-blocks, like we have in a few caess. If we don't indent the math there, we end up with having to unindent the text following the math-block for it not to count as a part of the math block, which looks very confusing when reading the source code. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21893>
* docs: correct spelling of "source"Erik Faye-Lund2023-04-261-1/+1
| | | | | Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286>
* docs: codepath -> code-pathErik Faye-Lund2023-04-261-1/+1
| | | | | | | 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>
* docs: backfacing -> back-facingErik Faye-Lund2023-04-261-1/+1
| | | | | | | 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>
* docs/gallium: Note samplers are not used for txfAlyssa Rosenzweig2023-04-071-5/+6
| | | | | | | | | | | | | Now that PIPE_CAP_TEXTURE_BUFFER_SAMPLER is gone, txf does not require samplers for any texture on any Gallium driver. NIR already requires drivers to ignore sampler_index for non-sampler operation (mainly txf), and nowadays all Gallium drivers ingest NIR. So, document that samplers aren't bound for txf (etc) as part of the Gallium frontend-driver contract. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Suggested-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22223>
* gallium: Remove PIPE_CAP_TEXTURE_BUFFER_SAMPLERAlyssa Rosenzweig2023-04-072-8/+4
| | | | | | | | | | | | | 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 d5d3f77e4ac ("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>
* tgsi: Drop TGSI_OPCODE_DFRACEXP.Emma Anholt2023-04-061-15/+1
| | | | | | | | | | This is no longer emitted by nir_to_tgsi, so let's drop it. This unlocks some more TGSI DCE, since now all instructions have a single dest, but that's a project for another day. 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>
* glsl: Drop PIPE_SHADER_CAP_DFRACEXP_DLDEXP_SUPPORTED.Emma Anholt2023-04-061-2/+0
| | | | | | | | | 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>
* glsl: Retire ldexp lowering in favor of the nir lowering flag.Emma Anholt2023-04-061-1/+0
| | | | | | | | 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>
* gallium: Modify default path for DMABUF to use DRMLucas Fryzek2023-03-311-0/+5
| | | | | | | | | | | | | 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>
* docs: drop reference to modindexErik Faye-Lund2023-03-291-1/+0
| | | | | | | We don't render such a page, so there's no point in linking to it. Acked-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22022>
* docs/gallium: Fix typosHarri Nieminen2023-03-283-4/+4
| | | | | | Found by codespell Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22149>
* st/mesa, iris: Add optional CPU-based ASTC void extent denorm flushingKenneth Graunke2023-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* gallium: Add new caps ↵Antonio Gomes2023-03-071-0/+6
| | | | | | PIPE_CAP_LINEAR_IMAGE_(PITCH_ALIGNMENT|BASE_ADDRESS_ALIGNMENT) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20378>
* docs: Document the implicit barriers around blitsNanley Chery2023-02-101-2/+4
| | | | | | | | We're going to use resource_copy_region to copy from a resource that has been written to with imageStore. Make it clear that this is safe. Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19827>
* gallium: add PIPE_CAP_NULL_TEXTURESMike Blumenkrantz2023-02-051-0/+1
| | | | | | | | | | 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>
* gallium: Add cap to request state validation for all dirty stateGert Wollny2023-01-121-0/+1
| | | | | | | | | | | | | | | | | | | 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>
* docs/gallium: Explain that MSAA transfer_map must be supported.Emma Anholt2023-01-061-0/+5
| | | | | | | | It's called this way in various drivers, and is an established part of the transfer_map interface. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20523>
* glthread,gallium: add a CAP to disable glBufferSubData optimization in glthreadMarek Olšák2023-01-011-0/+1
| | | | | | | it regresses performance on iris Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20379>
* docs: move generic gallium envvars to root docErik Faye-Lund2022-11-151-52/+1
| | | | | | | | | | | It makes little sense to document the gallium envvars in multiple places. Let's merge them all into the root envvar document. This also moves GALLIUM_OVERRIDE_CPU_CAPS to toe root envvars doc, as it's more generic than just LLVMpipe. Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19593>
* docs: remove duplicate envvarsErik Faye-Lund2022-11-151-36/+0
| | | | | | | | | These envvars are also documented in the "envvars" document, which is more prominent. Let's just drop these duplicate definitions to avoid confusion. Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19593>
* docs: drop custom envvar directiveErik Faye-Lund2022-11-151-20/+20
| | | | | | | | | | | | | The custom envvar directive is strange. It overloads the global namespace, where there's already a well-known envvar directive, but the envvar role won't resolve to envvars defined using the custom directive. It's not really critical to declare the type and default value here, and many descriptions already include this. Let's just use the plain one, and let the description take care of the details where needed. Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19593>
* docs: properly nest envvar descriptionsErik Faye-Lund2022-11-151-25/+25
| | | | | | | | These were not nested properly, making the definitions not part of the definition lists. Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19593>
* docs/tgsi: xDArray -> xD_ARRAYErik Faye-Lund2022-11-151-3/+3
| | | | | | | | This matches what we have in tgsi_strings.c, as well as the non-constant part of the corresponding enum tgsi_texture_type values. Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719>
* docs/gallium: move period out of quotesErik Faye-Lund2022-11-151-1/+1
| | | | | Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719>
* docs: lifecycle -> life cycleErik Faye-Lund2022-11-151-1/+1
| | | | | Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719>
* docs: un-committed -> uncommittedErik Faye-Lund2022-11-151-1/+1
| | | | | Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719>
* docs: IPE -> PIPEErik Faye-Lund2022-11-151-1/+1
| | | | | Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19719>
* docs: apply some redirectsErik Faye-Lund2022-11-104-5/+5
| | | | | | | | | | | | Here's a few redirects that we should apply, in case the redirects gets removed in the future. These are mostly of the 301 (moved permanently) kind, but also a few where the site probably *should* have used the permanent error-code. Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19574>
* docs: link to web.archive.org for dead linksErik Faye-Lund2022-11-101-1/+1
| | | | | Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19574>
* docs: use ext-role for GL / VK extensionsErik Faye-Lund2022-11-096-71/+77
| | | | | | | | | 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>
* docs: NV_gpu_shader4 -> NV_gpu_program4Erik Faye-Lund2022-11-091-1/+1
| | | | | | | | | There's no GL_NV_gpu_shader4 extension, and the TEX opcode is defined in NV_gpu_program4. Correct the mistake. 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>
* docs: feeddback -> feedbackErik Faye-Lund2022-11-091-1/+1
| | | | | | 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>
* docs: upgrade some links to httpsErik Faye-Lund2022-11-073-4/+4
| | | | | | | | | | | | We're in 2022 now, and HTTPS is available in a lot more places in the past. Let's upgrade some links, to protect the privacy of our readers. The links that are left either don't support HTTPS, or are simply dead and needs to be updated anyway. That's besides the scope of this merge-request, so I'm leaving that for someone else. Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19492>
* docs: eg -> e.g.Erik Faye-Lund2022-11-041-1/+1
| | | | | Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494>
* docs/gallium: glsl -> GLSLErik Faye-Lund2022-11-041-1/+1
| | | | | Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494>
* docs/gallium: fixup broken markupErik Faye-Lund2022-11-041-6/+8
| | | | | Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494>
* docs: use inline-code instead of default roleErik Faye-Lund2022-11-043-15/+15
| | | | | | | | | | | | | | | | | | | | A single backtick escaped string in Sphinx refers to the "default role" which is vague, and in practice ends up producing the HTML cite-element. That's almost certainly not what these uses wanted. A bunch of these would probably be better served using appropriate roles instead of inline-code markup, but this is almost certainly what was meant here instead. Let's not let perfect be the enemy of good here, and just do what was intended. Using the right roles everywhere is a big task. I usually don't do changes like these to the relnotes, but in this case there were a *single* article that had these mistakes. I assume that was an early bug in the script that generateg the relnotes. Let's patch it, so we don't get misrendering if we change the default-role. Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19494>
* docs/tgsi: quote literal numbersErik Faye-Lund2022-11-031-10/+10
| | | | | | | This makes them stand out a bit, and render using a monospace font. Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19460>
* docs/tgsi: mark pseudocode as suchErik Faye-Lund2022-11-031-3/+7
| | | | | | | This is more semantically strong. Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19460>
* docs/tgsi: always use uppercase for instruction namesErik Faye-Lund2022-11-031-6/+6
| | | | | | | This reads a bit cleaner. Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19460>
* docs/tgsi: use src1 instead of "second arg"Erik Faye-Lund2022-11-031-1/+1
| | | | | | | This is more consistent with what we do elsewhere here. Reviewed-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19460>