docs: use inline-code instead of default role
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>
This commit is contained in:

committed by
Marge Bot

parent
779b4639b7
commit
5525d0b196
@@ -34,7 +34,7 @@ initramfs) for trace replay testing. Given that we need networking already, and
|
||||
our dEQP/Piglit/etc. payload is large, we use NFS from the x86 runner system
|
||||
rather than initramfs.
|
||||
|
||||
See `src/freedreno/ci/gitlab-ci.yml` for an example of fastboot on DB410c and
|
||||
See ``src/freedreno/ci/gitlab-ci.yml`` for an example of fastboot on DB410c and
|
||||
DB820c (freedreno-a306 and freedreno-a530).
|
||||
|
||||
Requirements (Servo)
|
||||
@@ -74,7 +74,7 @@ call "servo"::
|
||||
dhcp-option=tag:cheza1,option:root-path,/srv/nfs/cheza1
|
||||
dhcp-option=tag:cheza2,option:root-path,/srv/nfs/cheza2
|
||||
|
||||
See `src/freedreno/ci/gitlab-ci.yml` for an example of Servo on cheza. Note
|
||||
See ``src/freedreno/ci/gitlab-ci.yml`` for an example of Servo on cheza. Note
|
||||
that other Servo boards in CI are managed using LAVA.
|
||||
|
||||
Requirements (POE)
|
||||
@@ -124,12 +124,12 @@ With that set up, you should be able to power on/off a port with something like:
|
||||
Note that the "1.3.6..." SNMP OID changes between switches. The last digit
|
||||
above is the interface id (port number). You can probably find the right OID by
|
||||
google, that was easier than figuring it out from finding the switch's MIB
|
||||
database. You can query the POE status from the switch serial using the `show
|
||||
power inline` command.
|
||||
database. You can query the POE status from the switch serial using the ``show
|
||||
power inline`` command.
|
||||
|
||||
Other than that, find the dnsmasq/tftp/NFS setup for your boards "servo" above.
|
||||
|
||||
See `src/broadcom/ci/gitlab-ci.yml` and `src/nouveau/ci/gitlab-ci.yml` for an
|
||||
See ``src/broadcom/ci/gitlab-ci.yml`` and ``src/nouveau/ci/gitlab-ci.yml`` for an
|
||||
examples of POE for Raspberry Pi 3/4, and Jetson Nano.
|
||||
|
||||
Setup
|
||||
|
@@ -59,7 +59,7 @@ The CI replays application traces with various drivers in two different jobs. Th
|
||||
job replays traces listed in ``src/<driver>/ci/traces-<driver>.yml`` files and if any
|
||||
of those traces fail the pipeline fails as well. The second job replays traces listed in
|
||||
``src/<driver>/ci/restricted-traces-<driver>.yml`` and it is allowed to fail. This second
|
||||
job is only created when the pipeline is triggered by `marge-bot` or any other user that
|
||||
job is only created when the pipeline is triggered by ``marge-bot`` or any other user that
|
||||
has been granted access to these traces.
|
||||
|
||||
A traces YAML file also includes a ``download-url`` pointing to a MinIO
|
||||
@@ -199,7 +199,7 @@ apt cache, and other such common pitfalls of building Docker images).
|
||||
When running a container job, the templates will look for an existing
|
||||
build of that image in the container registry under
|
||||
``MESA_IMAGE_TAG``. If it's found it will be reused, and if
|
||||
not, the associated `.gitlab-ci/containers/<jobname>.sh`` will be run
|
||||
not, the associated ``.gitlab-ci/containers/<jobname>.sh`` will be run
|
||||
to build it. So, when developing any change to container build
|
||||
scripts, you need to update the associated ``MESA_IMAGE_TAG`` to
|
||||
a new unique string. We recommend using the current date plus some
|
||||
|
@@ -18,8 +18,8 @@ Linux mainline, that is why Mesa has its own kernel version which should be used
|
||||
as the base for newer kernels.
|
||||
|
||||
So, one should base the kernel uprev from the last tag used in the Mesa CI,
|
||||
please refer to `.gitlab-ci/container/gitlab-ci.yml` `KERNEL_URL` variable.
|
||||
Every tag has a standard naming: `vX.YZ-for-mesa-ci-<commit_short_SHA>`, which
|
||||
please refer to ``.gitlab-ci/container/gitlab-ci.yml`` ``KERNEL_URL`` variable.
|
||||
Every tag has a standard naming: ``vX.YZ-for-mesa-ci-<commit_short_SHA>``, which
|
||||
can be created via the command:
|
||||
|
||||
:code:`git tag vX.YZ-for-mesa-ci-$(git rev-parse --short HEAD)`
|
||||
@@ -28,7 +28,7 @@ Building Kernel
|
||||
---------------
|
||||
|
||||
When Mesa CI generates a new rootfs image, the Linux Kernel is built based on
|
||||
the script located at `.gitlab-ci/container/build-kernel.sh`.
|
||||
the script located at ``.gitlab-ci/container/build-kernel.sh``.
|
||||
|
||||
Updating Kconfigs
|
||||
^^^^^^^^^^^^^^^^^
|
||||
@@ -36,7 +36,7 @@ Updating Kconfigs
|
||||
When a Kernel uprev happens, it is worth compiling and cross-compiling the
|
||||
Kernel locally, in order to update the Kconfigs accordingly. Remember that the
|
||||
resulting Kconfig is a merge between *Mesa CI Kconfig* and *Linux tree
|
||||
defconfig* made via `merge_config.sh` script located at Linux Kernel tree.
|
||||
defconfig* made via ``merge_config.sh`` script located at Linux Kernel tree.
|
||||
|
||||
Kconfigs location
|
||||
"""""""""""""""""
|
||||
@@ -70,9 +70,9 @@ Development routine
|
||||
|
||||
1. Compile the newer kernel locally for each platform.
|
||||
2. Compile device trees for ARM platforms
|
||||
3. Update Kconfigs. Are new Kconfigs necessary? Is CONFIG_XYZ_BLA deprecated? Does the `merge_config.sh` override an important config?
|
||||
3. Update Kconfigs. Are new Kconfigs necessary? Is CONFIG_XYZ_BLA deprecated? Does the ``merge_config.sh`` override an important config?
|
||||
4. Push a new development branch to `Kernel repository`_ based on the latest kernel tag used in GitLab CI
|
||||
5. Hack `build-kernel.sh` script to clone kernel from your development branch
|
||||
5. Hack ``build-kernel.sh`` script to clone kernel from your development branch
|
||||
6. Update image tags. See `Updating image tags`_
|
||||
7. Run the entire CI pipeline, all the automatic jobs should be green. If some job is red or taking too long, you will need to investigate it and probably ask for help.
|
||||
|
||||
@@ -80,7 +80,7 @@ When the Kernel uprev is stable
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. Push a new tag to Mesa CI `Kernel repository`_
|
||||
2. Update KERNEL_URL `debian/x86_test-gl` job definition
|
||||
2. Update KERNEL_URL ``debian/x86_test-gl`` job definition
|
||||
3. Open a merge request, if it is not opened yet
|
||||
|
||||
Tips and Tricks
|
||||
@@ -107,15 +107,15 @@ Bare-metal custom kernels
|
||||
Some CI jobs have support to plug in a custom kernel by simply changing a variable.
|
||||
This is great, since rebuilding the kernel and rootfs may takes dozens of minutes.
|
||||
|
||||
For example, Freedreno jobs `gitlab.yml` manifest support a variable named
|
||||
`BM_KERNEL`. If one puts a gz-compressed kernel URL there, the job will use that
|
||||
kernel to boot the Freedreno bare-metal devices. The same works for `BM_DTB` in
|
||||
For example, Freedreno jobs ``gitlab.yml`` manifest support a variable named
|
||||
``BM_KERNEL``. If one puts a gz-compressed kernel URL there, the job will use that
|
||||
kernel to boot the Freedreno bare-metal devices. The same works for ``BM_DTB`` in
|
||||
the case of device tree binaries.
|
||||
|
||||
Careful reading of the job logs
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Sometimes a job may turn to red for reasons unrelated to the kernel update, e.g.
|
||||
LAVA `tftp` timeout, problems with the freedesktop servers etc.
|
||||
LAVA ``tftp`` timeout, problems with the freedesktop servers etc.
|
||||
So it is important to see the reason why the job turned red, and retry it if an
|
||||
infrastructure error has happened.
|
||||
|
@@ -32,7 +32,7 @@ Simulating CI trace job
|
||||
|
||||
Sometimes it's useful to be able to test traces on your local machine instead of the Mesa CI runner. To simulate the CI environment as closely as possible.
|
||||
|
||||
Download the YAML file from your driver's `ci/` directory and then change the path in the YAML file from local proxy or MinIO to the local directory (url-like format ``file://``)
|
||||
Download the YAML file from your driver's ``ci/`` directory and then change the path in the YAML file from local proxy or MinIO to the local directory (url-like format ``file://``)
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@@ -16,7 +16,7 @@ Tests
|
||||
Render tests design
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
It is worth noting that `rendertests.txt` can bring some detail about each test
|
||||
It is worth noting that ``rendertests.txt`` can bring some detail about each test
|
||||
expectation, so each test can have a max pixel error count, to tell SkQP that it
|
||||
is OK to have at most that number of errors for that test. See also:
|
||||
https://github.com/google/skia/blob/c29454d1c9ebed4758a54a69798869fa2e7a36e0/tools/skqp/README_ALGORITHM.md
|
||||
@@ -26,29 +26,29 @@ https://github.com/google/skia/blob/c29454d1c9ebed4758a54a69798869fa2e7a36e0/too
|
||||
Location
|
||||
^^^^^^^^
|
||||
|
||||
Each `rendertests.txt` and `unittest.txt` file must be located inside a specific
|
||||
Each ``rendertests.txt`` and ``unittest.txt`` file must be located inside a specific
|
||||
subdirectory inside SkQP assets directory.
|
||||
|
||||
+--------------+--------------------------------------------+
|
||||
| Test type | Location |
|
||||
+==============+============================================+
|
||||
| Render tests | `${SKQP_ASSETS_DIR}/skqp/rendertests.txt` |
|
||||
+--------------+--------------------------------------------+
|
||||
| Unit tests | `${SKQP_ASSETS_DIR}/skqp/unittests.txt` |
|
||||
+--------------+--------------------------------------------+
|
||||
+--------------+---------------------------------------------+
|
||||
| Test type | Location |
|
||||
+==============+=============================================+
|
||||
| Render tests | ``${SKQP_ASSETS_DIR}/skqp/rendertests.txt`` |
|
||||
+--------------+---------------------------------------------+
|
||||
| Unit tests | ``${SKQP_ASSETS_DIR}/skqp/unittests.txt`` |
|
||||
+--------------+---------------------------------------------+
|
||||
|
||||
The `skqp-runner.sh` script will make the necessary modifications to separate
|
||||
`rendertests.txt` for each backend-driver combination. As long as the test files are located in the expected place:
|
||||
The ``skqp-runner.sh`` script will make the necessary modifications to separate
|
||||
``rendertests.txt`` for each backend-driver combination. As long as the test files are located in the expected place:
|
||||
|
||||
+--------------+----------------------------------------------------------------------------------------------+
|
||||
| Test type | Location |
|
||||
+==============+==============================================================================================+
|
||||
| Render tests | `${MESA_REPOSITORY_DIR}/src/${GPU_DRIVER}/ci/${GPU_VERSION}-${SKQP_BACKEND}_rendertests.txt` |
|
||||
+--------------+----------------------------------------------------------------------------------------------+
|
||||
| Unit tests | `${MESA_REPOSITORY_DIR}/src/${GPU_DRIVER}/ci/${GPU_VERSION}_unittests.txt` |
|
||||
+--------------+----------------------------------------------------------------------------------------------+
|
||||
+--------------+------------------------------------------------------------------------------------------------+
|
||||
| Test type | Location |
|
||||
+==============+================================================================================================+
|
||||
| Render tests | ``${MESA_REPOSITORY_DIR}/src/${GPU_DRIVER}/ci/${GPU_VERSION}-${SKQP_BACKEND}_rendertests.txt`` |
|
||||
+--------------+------------------------------------------------------------------------------------------------+
|
||||
| Unit tests | ``${MESA_REPOSITORY_DIR}/src/${GPU_DRIVER}/ci/${GPU_VERSION}_unittests.txt`` |
|
||||
+--------------+------------------------------------------------------------------------------------------------+
|
||||
|
||||
Where `SKQP_BACKEND` can be:
|
||||
Where ``SKQP_BACKEND`` can be:
|
||||
|
||||
- gl: for GL backend
|
||||
- gles: for GLES backend
|
||||
@@ -61,9 +61,9 @@ Example file
|
||||
|
||||
src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt
|
||||
|
||||
- GPU_DRIVER: `freedreno`
|
||||
- GPU_VERSION: `freedreno-a630`
|
||||
- SKQP_BACKEND: `gl`
|
||||
- GPU_DRIVER: ``freedreno``
|
||||
- GPU_VERSION: ``freedreno-a630``
|
||||
- SKQP_BACKEND: ``gl``
|
||||
|
||||
.. _rendertests-design:
|
||||
|
||||
@@ -79,10 +79,10 @@ the SkQP debugging.
|
||||
Maintaining SkQP on Mesa CI
|
||||
---------------------------
|
||||
|
||||
SkQP is built alongside with another binary, namely `list_gpu_unit_tests`, it is
|
||||
located in the same folder where `skqp` binary is.
|
||||
SkQP is built alongside with another binary, namely ``list_gpu_unit_tests``, it is
|
||||
located in the same folder where ``skqp`` binary is.
|
||||
|
||||
This binary will generate the expected `unittests.txt` for the target GPU, so
|
||||
This binary will generate the expected ``unittests.txt`` for the target GPU, so
|
||||
ideally it should be executed on every SkQP update and when a new device
|
||||
receives SkQP CI jobs.
|
||||
|
||||
@@ -90,12 +90,12 @@ receives SkQP CI jobs.
|
||||
|
||||
2. Run SkQP job
|
||||
|
||||
3. If there is a failing or crashing unit test, remove it from the corresponding `unittests.txt`
|
||||
3. If there is a failing or crashing unit test, remove it from the corresponding ``unittests.txt``
|
||||
|
||||
4. If there is a crashing render test, remove it from the corresponding `rendertests.txt`
|
||||
4. If there is a crashing render test, remove it from the corresponding ``rendertests.txt``
|
||||
|
||||
5. If there is a failing render test, visually inspect the result from the HTML report
|
||||
- If the render result is OK, update the max error count for that test
|
||||
- Otherwise, or put `-1` in the same threshold, as seen in :ref:`rendertests-design`
|
||||
- Otherwise, or put ``-1`` in the same threshold, as seen in :ref:`rendertests-design`
|
||||
|
||||
6. Remember to put the new tests files to the locations cited in :ref:`test-location`
|
||||
|
@@ -94,10 +94,10 @@ where each can or cannot be used are listed.
|
||||
|
||||
Starting with the 2.4.20 Linux kernel, each thread is allocated an area
|
||||
of per-thread, global storage. Variables can be put in this area using
|
||||
some extensions to GCC that called `ELF TLS`. By storing the dispatch table
|
||||
some extensions to GCC that called ``ELF TLS``. By storing the dispatch table
|
||||
pointer in this area, the expensive call to ``pthread_getspecific`` and
|
||||
the test of ``_glapi_Dispatch`` can be avoided. As we don't support for
|
||||
Linux kernel earlier than 2.4.20, so we can always using `ELF TLS`.
|
||||
Linux kernel earlier than 2.4.20, so we can always using ``ELF TLS``.
|
||||
|
||||
The dispatch table pointer is stored in a new variable called
|
||||
``_glapi_tls_Dispatch``. A new variable name is used so that a single
|
||||
|
@@ -150,15 +150,15 @@ within the compiler.
|
||||
Fragment shader
|
||||
```````````````
|
||||
|
||||
In the fragment shader, coefficient registers, identified by the prefix `cf`
|
||||
In the fragment shader, coefficient registers, identified by the prefix ``cf``
|
||||
followed by a decimal index, act as opaque handles to varyings. For flat
|
||||
shading, coefficient registers may be loaded into general registers with the
|
||||
`ldcf` instruction. For smooth shading, the coefficient register corresponding
|
||||
``ldcf`` instruction. For smooth shading, the coefficient register corresponding
|
||||
to the desired varying is passed as an argument to the "iterate" instruction
|
||||
`iter` in order to "iterate" (interpolate) a varying. As perspective correct
|
||||
``iter`` in order to "iterate" (interpolate) a varying. As perspective correct
|
||||
interpolation also requires the W component of the fragment coordinate, the
|
||||
coefficient register for W is passed as a second argument. As an example, if
|
||||
there's a single varying to interpolate, an instruction like `iter r0, cf1, cf0`
|
||||
there's a single varying to interpolate, an instruction like ``iter r0, cf1, cf0``
|
||||
is used.
|
||||
|
||||
Iterator
|
||||
|
@@ -165,12 +165,12 @@ Meta Instructions
|
||||
|
||||
**collect**
|
||||
Groups registers which need to be assigned to consecutive scalar
|
||||
registers, for example `sam` (texture fetch) src instructions (see
|
||||
registers, for example ``sam`` (texture fetch) src instructions (see
|
||||
`register groups`_) or array element dereference
|
||||
(see `relative addressing`_).
|
||||
|
||||
**split**
|
||||
The counterpart to **collect**, when an instruction such as `sam`
|
||||
The counterpart to **collect**, when an instruction such as ``sam``
|
||||
writes multiple components, splits the result into individual
|
||||
scalar components to be consumed by other instructions.
|
||||
|
||||
|
@@ -96,19 +96,19 @@ Environment variables
|
||||
yet use AVX instructions.
|
||||
``GALLIUM_OVERRIDE_CPU_CAPS``
|
||||
Override CPU capabilities for LLVMpipe and Softpipe, possible values for x86:
|
||||
`nosse`
|
||||
`sse`
|
||||
`sse2`
|
||||
`sse3`
|
||||
`ssse3`
|
||||
`sse4.1`
|
||||
`avx`
|
||||
``nosse``
|
||||
``sse``
|
||||
``sse2``
|
||||
``sse3``
|
||||
``ssse3``
|
||||
``sse4.1``
|
||||
``avx``
|
||||
``GALLIUM_NOSSE``
|
||||
Deprecated in favor of `GALLIUM_OVERRIDE_CPU_CAPS`,
|
||||
use `GALLIUM_OVERRIDE_CPU_CAPS=nosse` instead.
|
||||
Deprecated in favor of ``GALLIUM_OVERRIDE_CPU_CAPS``,
|
||||
use ``GALLIUM_OVERRIDE_CPU_CAPS=nosse`` instead.
|
||||
``LP_FORCE_SSE2``
|
||||
Deprecated in favor of `GALLIUM_OVERRIDE_CPU_CAPS`
|
||||
use `GALLIUM_OVERRIDE_CPU_CAPS=sse2` instead.
|
||||
Deprecated in favor of ``GALLIUM_OVERRIDE_CPU_CAPS``
|
||||
use ``GALLIUM_OVERRIDE_CPU_CAPS=sse2`` instead.
|
||||
|
||||
Linux
|
||||
~~~~~
|
||||
|
@@ -54,7 +54,7 @@ Chat
|
||||
----
|
||||
|
||||
Panfrost developers and users hang out on IRC at ``#panfrost`` on OFTC. Note
|
||||
that registering and authenticating with `NickServ` is required to prevent
|
||||
that registering and authenticating with ``NickServ`` is required to prevent
|
||||
spam. `Join the chat. <https://webchat.oftc.net/?channels=#panfrost>`_
|
||||
|
||||
drm-shim
|
||||
|
@@ -299,7 +299,7 @@ development.
|
||||
|
||||
Developers with NDA access with Broadcom or Raspberry Pi can
|
||||
potentially get access to "simpenrose", the C software simulator of
|
||||
the GPU. The Mesa driver includes a backend (`vc4_simulator.c`) to
|
||||
the GPU. The Mesa driver includes a backend (``vc4_simulator.c``) to
|
||||
use simpenrose from an x86 system with the i915 graphics driver with
|
||||
all of the VC4 rendering commands emulated on simpenrose and memcpyed
|
||||
to the real GPU.
|
||||
|
@@ -215,7 +215,7 @@ that wrap calls to NIR lowering/optimizations.
|
||||
|
||||
:envvar:`NIR_DEBUG`
|
||||
a comma-separated list of debug options to apply to NIR
|
||||
shaders. Use `NIR_DEBUG=help` to print a list of available options.
|
||||
shaders. Use ``NIR_DEBUG=help`` to print a list of available options.
|
||||
:envvar:`NIR_SKIP`
|
||||
a comma-separated list of optimization/lowering passes to skip.
|
||||
|
||||
@@ -553,17 +553,17 @@ Rusticl environment variables
|
||||
|
||||
:envvar:`RUSTICL_DEVICE_TYPE`
|
||||
allows to overwrite the device type of devices. Possible values are
|
||||
`accelerator`, `cpu`, `custom` and `gpu`
|
||||
``accelerator``, ``cpu``, ``custom`` and ``gpu``
|
||||
:envvar:`RUSTICL_CL_VERSION`
|
||||
overwrites the auto detected OpenCL version of all devices. Specified as
|
||||
`major.minor`.
|
||||
``major.minor``.
|
||||
:envvar:`RUSTICL_ENABLE`
|
||||
a comma-separated list of drivers to enable CL on. An optional list of
|
||||
comma-separated integers can be passed per driver to specify which devices
|
||||
to enable. Examples:
|
||||
|
||||
- `RUSTICL_ENABLE=iris` (enables all iris devices)
|
||||
- `RUSTICL_ENABLE=iris:1,radeonsi:0,2` (enables second iris and first
|
||||
- ``RUSTICL_ENABLE=iris`` (enables all iris devices)
|
||||
- ``RUSTICL_ENABLE=iris:1,radeonsi:0,2`` (enables second iris and first
|
||||
and third radeonsi device)
|
||||
|
||||
Nine frontend environment variables
|
||||
@@ -574,18 +574,18 @@ Nine frontend environment variables
|
||||
|
||||
:envvar:`NINE_DEBUG`
|
||||
a comma-separated list of named flags that do debugging things.
|
||||
Use `NINE_DEBUG=help` to print a list of available options.
|
||||
Use ``NINE_DEBUG=help`` to print a list of available options.
|
||||
|
||||
:envvar:`NINE_FF_DUMP`
|
||||
a boolean, which dumps shaders generated by a fixed function (FF).
|
||||
|
||||
:envvar:`NINE_SHADER`
|
||||
a comma-separated list of named flags, which do alternate shader handling.
|
||||
Use `NINE_SHADER=help` to print a list of available options.
|
||||
Use ``NINE_SHADER=help`` to print a list of available options.
|
||||
|
||||
:envvar:`NINE_QUIRKS`
|
||||
a comma-separated list of named flags that do various things.
|
||||
Use `NINE_DEBUG=help` to print a list of available options.
|
||||
Use ``NINE_DEBUG=help`` to print a list of available options.
|
||||
|
||||
Softpipe driver environment variables
|
||||
-------------------------------------
|
||||
@@ -666,14 +666,14 @@ VC4 driver environment variables
|
||||
|
||||
:envvar:`VC4_DEBUG`
|
||||
a comma-separated list of named flags, which do various things. Use
|
||||
`VC4_DEBUG=help` to print a list of available options.
|
||||
``VC4_DEBUG=help`` to print a list of available options.
|
||||
|
||||
|
||||
V3D/V3DV driver environment variables
|
||||
-------------------------------------
|
||||
|
||||
:envvar:`V3D_DEBUG`
|
||||
a comma-separated list of debug options. Use `V3D_DEBUG=help` to
|
||||
a comma-separated list of debug options. Use ``V3D_DEBUG=help`` to
|
||||
print a list of available options.
|
||||
|
||||
|
||||
@@ -773,8 +773,8 @@ RADV driver environment variables
|
||||
The supported values are 2x2, 1x2, 2x1 and 1x1. Only for testing purposes.
|
||||
|
||||
:envvar:`RADV_FORCE_VRS_CONFIG_FILE`
|
||||
similar to `RADV_FORCE_VRS` but allow to configure from a file. If present,
|
||||
this supersedes `RADV_FORCE_VRS`.
|
||||
similar to ``RADV_FORCE_VRS`` but allow to configure from a file. If present,
|
||||
this supersedes ``RADV_FORCE_VRS``.
|
||||
|
||||
:envvar:`RADV_PERFTEST`
|
||||
a comma-separated list of named flags, which do various things:
|
||||
@@ -816,7 +816,7 @@ RADV driver environment variables
|
||||
force anisotropy filter (up to 16)
|
||||
|
||||
:envvar:`RADV_THREAD_TRACE`
|
||||
enable frame based SQTT/RGP captures (e.g. `export RADV_THREAD_TRACE=100`
|
||||
enable frame based SQTT/RGP captures (e.g. ``export RADV_THREAD_TRACE=100``
|
||||
will capture the frame #100)
|
||||
|
||||
:envvar:`RADV_THREAD_TRACE_BUFFER_SIZE`
|
||||
@@ -831,17 +831,17 @@ RADV driver environment variables
|
||||
|
||||
:envvar:`RADV_THREAD_TRACE_TRIGGER`
|
||||
enable trigger file based SQTT/RGP captures (e.g.
|
||||
`export RADV_THREAD_TRACE_TRIGGER=/tmp/radv_sqtt_trigger` and then
|
||||
`touch /tmp/radv_sqtt_trigger` to capture a frame)
|
||||
``export RADV_THREAD_TRACE_TRIGGER=/tmp/radv_sqtt_trigger`` and then
|
||||
``touch /tmp/radv_sqtt_trigger`` to capture a frame)
|
||||
|
||||
:envvar:`RADV_RRA_TRACE`
|
||||
enable frame based Radeon Raytracing Analyzer captures
|
||||
(e.g. `export RADV_RRA_TRACE=100` will capture the frame #100)
|
||||
(e.g. ``export RADV_RRA_TRACE=100`` will capture the frame #100)
|
||||
|
||||
:envvar:`RADV_RRA_TRACE_TRIGGER`
|
||||
enable trigger file based RRA captures (e.g.
|
||||
`export RADV_RRA_TRACE_TRIGGER=/tmp/radv_rra_trigger` and then
|
||||
`touch /tmp/radv_rra_trigger` to capture a frame)
|
||||
``export RADV_RRA_TRACE_TRIGGER=/tmp/radv_rra_trigger`` and then
|
||||
``touch /tmp/radv_rra_trigger`` to capture a frame)
|
||||
|
||||
:envvar:`RADV_RRA_TRACE_VALIDATE`
|
||||
enable validation of captured acceleration structures. Can be
|
||||
|
@@ -30,7 +30,7 @@ performed on all render targets.
|
||||
The blend_enable flag is ignored for all render targets when logical
|
||||
operations are enabled.
|
||||
|
||||
For a source component `s` and destination component `d`, the logical
|
||||
For a source component ``s`` and destination component ``d``, the logical
|
||||
operations are defined as taking the bits of each channel of each component,
|
||||
and performing one of the following operations per-channel:
|
||||
|
||||
|
@@ -304,7 +304,7 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_DEPTH_BOUNDS_TEST``: Whether bounds_test, bounds_min, and
|
||||
bounds_max states of pipe_depth_stencil_alpha_state behave according
|
||||
to the GL_EXT_depth_bounds_test specification.
|
||||
* ``PIPE_CAP_TEXTURE_QUERY_SAMPLES``: Whether the `TXQS` opcode is supported
|
||||
* ``PIPE_CAP_TEXTURE_QUERY_SAMPLES``: Whether the ``TXQS`` opcode is supported
|
||||
* ``PIPE_CAP_FORCE_PERSAMPLE_INTERP``: If the driver can force per-sample
|
||||
interpolation for all fragment shader inputs if
|
||||
pipe_rasterizer_state::force_persample_interp is set. This is only used
|
||||
@@ -319,9 +319,9 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS``:
|
||||
Whether copying between compressed and plain formats is supported where
|
||||
a compressed block is copied to/from a plain pixel of the same size.
|
||||
* ``PIPE_CAP_CLEAR_TEXTURE``: Whether `clear_texture` will be
|
||||
* ``PIPE_CAP_CLEAR_TEXTURE``: Whether ``clear_texture`` will be
|
||||
available in contexts.
|
||||
* ``PIPE_CAP_CLEAR_SCISSORED``: Whether `clear` can accept a scissored
|
||||
* ``PIPE_CAP_CLEAR_SCISSORED``: Whether ``clear`` can accept a scissored
|
||||
bounding box.
|
||||
* ``PIPE_CAP_DRAW_PARAMETERS``: Whether ``TGSI_SEMANTIC_BASEVERTEX``,
|
||||
``TGSI_SEMANTIC_BASEINSTANCE``, and ``TGSI_SEMANTIC_DRAWID`` are
|
||||
@@ -373,7 +373,7 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_CULL_DISTANCE``: Whether the driver supports the arb_cull_distance
|
||||
extension and thus implements proper support for culling planes.
|
||||
* ``PIPE_CAP_CULL_DISTANCE_NOCOMBINE``: Whether the driver wants to skip
|
||||
running the `nir_lower_clip_cull_distance_arrays` pass in order to get
|
||||
running the ``nir_lower_clip_cull_distance_arrays`` pass in order to get
|
||||
VARYING_SLOT_CULL_DIST0 slot variables.
|
||||
* ``PIPE_CAP_PRIMITIVE_RESTART_FOR_PATCHES``: Whether primitive restart is
|
||||
supported for patch primitives.
|
||||
@@ -403,7 +403,7 @@ The integer capabilities:
|
||||
filled in.
|
||||
* ``PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME``: Whether GL_ARB_transform_feeddback2
|
||||
is supported, including pausing/resuming queries and having
|
||||
`count_from_stream_output` set on indirect draws to implement
|
||||
``count_from_stream_output`` set on indirect draws to implement
|
||||
glDrawTransformFeedback. Required for OpenGL 4.0.
|
||||
* ``PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS``: Whether interleaved stream
|
||||
output mode is able to interleave across buffers. This is required for
|
||||
@@ -608,7 +608,7 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_SYSTEM_SVM``: True if all application memory can be shared with the GPU without explicit mapping.
|
||||
* ``PIPE_CAP_VIEWPORT_MASK``: Whether ``TGSI_SEMANTIC_VIEWPORT_MASK`` and ``TGSI_PROPERTY_LAYER_VIEWPORT_RELATIVE`` are supported (see GL_NV_viewport_array2).
|
||||
* ``PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE``: Whether mapping a buffer as unsynchronized from any thread is safe.
|
||||
* ``PIPE_CAP_GLSL_ZERO_INIT``: Choose a default zero initialization some glsl variables. If `1`, then all glsl shader variables and gl_FragColor are initialized to zero. If `2`, then shader out variables are not initialized but function out variables are.
|
||||
* ``PIPE_CAP_GLSL_ZERO_INIT``: Choose a default zero initialization some glsl variables. If ``1``, then all glsl shader variables and gl_FragColor are initialized to zero. If ``2``, then shader out variables are not initialized but function out variables are.
|
||||
* ``PIPE_CAP_BLEND_EQUATION_ADVANCED``: Driver supports blend equation advanced without necessarily supporting FBFETCH.
|
||||
* ``PIPE_CAP_NIR_ATOMICS_AS_DEREF``: Whether NIR atomics instructions should reference atomics as NIR derefs instead of by indices.
|
||||
* ``PIPE_CAP_NO_CLIP_ON_COPY_TEX``: Driver doesn't want x/y/width/height clipped based on src size when doing a copy texture operation (eg: may want out-of-bounds reads that produce 0 instead of leaving the texture content undefined)
|
||||
@@ -616,14 +616,14 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_DEVICE_PROTECTED_SURFACE``: Whether the device support protected / encrypted content.
|
||||
* ``PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0``: The state tracker is encouraged to upload constants into a real buffer and bind it into constant buffer 0 instead of binding a user pointer. This may enable a faster codepath in a gallium frontend for drivers that really prefer a real buffer.
|
||||
* ``PIPE_CAP_GL_CLAMP``: Driver natively supports GL_CLAMP. Required for non-NIR drivers with the GL frontend. NIR drivers with the cap unavailable will have GL_CLAMP lowered to txd/txl with a saturate on the coordinates.
|
||||
* ``PIPE_CAP_TEXRECT``: Driver supports rectangle textures. Required for OpenGL on `!prefers_nir` drivers. If this cap is not present, st/mesa will lower the NIR to use normal 2D texture sampling by using either `txs` or `nir_intrinsic_load_texture_scaling` to normalize the texture coordinates.
|
||||
* ``PIPE_CAP_TEXRECT``: Driver supports rectangle textures. Required for OpenGL on ``!prefers_nir`` drivers. If this cap is not present, st/mesa will lower the NIR to use normal 2D texture sampling by using either ``txs`` or ``nir_intrinsic_load_texture_scaling`` to normalize the texture coordinates.
|
||||
* ``PIPE_CAP_SAMPLER_REDUCTION_MINMAX``: Driver supports EXT min/max sampler reduction.
|
||||
* ``PIPE_CAP_SAMPLER_REDUCTION_MINMAX_ARB``: Driver supports ARB min/max sampler reduction with format queries.
|
||||
* ``PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART``: Driver requests all draws using a non-fixed restart index to be rewritten to use a fixed restart index.
|
||||
* ``PIPE_CAP_SUPPORTED_PRIM_MODES``: A bitmask of the ``pipe_prim_type`` enum values that the driver can natively support.
|
||||
* ``PIPE_CAP_SUPPORTED_PRIM_MODES_WITH_RESTART``: A bitmask of the ``pipe_prim_type`` enum values that the driver can natively support for primitive restart. Only useful if ``PIPE_CAP_PRIMITIVE_RESTART`` is also exported.
|
||||
* ``PIPE_CAP_PREFER_BACK_BUFFER_REUSE``: Only applies to DRI_PRIME. If 1, the driver prefers that DRI3 tries to use the same back buffer each frame. If 0, this means DRI3 will at least use 2 back buffers and ping-pong between them to allow the tiled->linear copy to run in parallel.
|
||||
* ``PIPE_CAP_DRAW_VERTEX_STATE``: Driver supports `pipe_screen::create_vertex_state/vertex_state_destroy` and `pipe_context::draw_vertex_state`. Only used by display lists and designed to serve vbo_save.
|
||||
* ``PIPE_CAP_DRAW_VERTEX_STATE``: Driver supports ``pipe_screen::create_vertex_state/vertex_state_destroy`` and ``pipe_context::draw_vertex_state``. Only used by display lists and designed to serve vbo_save.
|
||||
* ``PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS``: Driver prefers varyings to be aligned to power of two in a slot. If this cap is enabled, vec4 varying will be placed in .xyzw components of the varying slot, vec3 in .xyz and vec2 in .xy or .zw
|
||||
* ``PIPE_CAP_MAX_SPARSE_TEXTURE_SIZE``: Maximum 1D/2D/rectangle texture image dimension for a sparse texture.
|
||||
* ``PIPE_CAP_MAX_SPARSE_3D_TEXTURE_SIZE``: Maximum 3D texture image dimension for a sparse texture.
|
||||
@@ -632,7 +632,7 @@ The integer capabilities:
|
||||
* ``PIPE_CAP_QUERY_SPARSE_TEXTURE_RESIDENCY``: TRUE if shader sparse texture sample instruction could also return the residency information.
|
||||
* ``PIPE_CAP_CLAMP_SPARSE_TEXTURE_LOD``: TRUE if shader sparse texture sample instruction support clamp the minimal lod to prevent read from un-committed pages.
|
||||
* ``PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER``: TRUE if the driver allows the "draw out of order" optimization to be enabled. See _mesa_update_allow_draw_out_of_order for more details.
|
||||
* ``PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT``: Maximum bound constant buffer size in bytes. This is unsigned integer with the maximum of 4GB - 1. This applies to all constant buffers used by UBOs, unlike `PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE`, which is specifically for GLSL uniforms.
|
||||
* ``PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT``: Maximum bound constant buffer size in bytes. This is unsigned integer with the maximum of 4GB - 1. This applies to all constant buffers used by UBOs, unlike ``PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE``, which is specifically for GLSL uniforms.
|
||||
* ``PIPE_CAP_HARDWARE_GL_SELECT``: Enable hardware accelerated GL_SELECT for this driver.
|
||||
* ``PIPE_CAP_DEVICE_PROTECTED_CONTEXT``: Whether the device supports protected / encrypted context which can manipulate protected / encrypted content (some devices might need protected contexts to access protected content, whereas ``PIPE_CAP_DEVICE_PROTECTED_SURFACE`` does not require any particular context to do so).
|
||||
|
||||
|
@@ -2974,16 +2974,16 @@ Functions
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
:math:`|x|` Absolute value of `x`.
|
||||
:math:`|x|` Absolute value of ``x``.
|
||||
|
||||
:math:`\lceil x \rceil` Ceiling of `x`.
|
||||
:math:`\lceil x \rceil` Ceiling of ``x``.
|
||||
|
||||
clamp(x,y,z) Clamp x between y and z.
|
||||
(x < y) ? y : (x > z) ? z : x
|
||||
|
||||
:math:`\lfloor x\rfloor` Floor of `x`.
|
||||
:math:`\lfloor x\rfloor` Floor of ``x``.
|
||||
|
||||
:math:`\log_2{x}` Logarithm of `x`, base 2.
|
||||
:math:`\log_2{x}` Logarithm of ``x``, base 2.
|
||||
|
||||
max(x,y) Maximum of x and y.
|
||||
(x > y) ? x : y
|
||||
@@ -2997,7 +2997,7 @@ Functions
|
||||
|
||||
pop() Pop from stack.
|
||||
|
||||
:math:`x^y` `x` to the power `y`.
|
||||
:math:`x^y` ``x`` to the power ``y``.
|
||||
|
||||
push(x) Push x on stack.
|
||||
|
||||
|
@@ -82,10 +82,10 @@ The structure of any given tiling format is represented by ISL using the
|
||||
.. doxygenstruct:: isl_tile_info
|
||||
:members:
|
||||
|
||||
The `isl_tile_info` structure has two different sizes for a tile: a logical
|
||||
The ``isl_tile_info`` structure has two different sizes for a tile: a logical
|
||||
size in surface elements and a physical size in bytes. In order to determine
|
||||
the proper logical size, the bits-per-block of the underlying format has to be
|
||||
passed into `isl_tiling_get_info`. The proper way to compute the size of an
|
||||
passed into ``isl_tiling_get_info``. The proper way to compute the size of an
|
||||
image in bytes given a width and height in elements is as follows:
|
||||
|
||||
.. code-block:: c
|
||||
|
@@ -11,8 +11,8 @@ be aware of.
|
||||
- Mesa has a number of build-time dependencies. Most dependencies, including
|
||||
Meson itself, are available in `homebrew <https://brew.sh>`_, which has a
|
||||
Mesa package for reference. The exception seems to be Mako, a Python module
|
||||
used for templating, which you can install as `pip3 install mako`.
|
||||
- macOS is picky about its build-time environment. Type `brew sh` before
|
||||
used for templating, which you can install as ``pip3 install mako``.
|
||||
- macOS is picky about its build-time environment. Type ``brew sh`` before
|
||||
building to get the Homebrew dependencies in your path.
|
||||
|
||||
Mesa's default builds with the Apple GLX uses Mesa as a front for the
|
||||
|
@@ -94,7 +94,7 @@ Bug fixes
|
||||
- Substance Painter 6.1.3 black glitches on Radeon RX570
|
||||
- vkCmdCopyImage broadcasts subsample 0 of MSAA src into all subsamples of dst on RADV
|
||||
- Crash in ruvd_end_frame when calling vaBeginPicture/vaEndPicture without rendering anything
|
||||
- X-Plane 11 Installer crashes on startup since `glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins`
|
||||
- X-Plane 11 Installer crashes on startup since ``glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins``
|
||||
- Horizon Zero Dawn graphics corruption with with radv
|
||||
- Amber test opt_peel_loop_initial_if: Assertion failed
|
||||
- Dirt Rally: Flickering glitches on certain foliage since Mesa 20.1.0 caused by MSAA
|
||||
@@ -122,7 +122,7 @@ Bug fixes
|
||||
- Mesa 20.2.0-rc1 fails to build for AMD
|
||||
- Assertion failure compiling shader from Zigguart
|
||||
- Panfrost locks for waiting fence when running Source engine games
|
||||
- ci: `-Dtools=panfrost` should be build-tested
|
||||
- ci: ``-Dtools=panfrost`` should be build-tested
|
||||
- panfrost: Register allocation fails for Firefox WebRender shaders
|
||||
- VRAM leak with vuilkan external memory + opengl memory objects
|
||||
- [vulkan/build] Recent build system changes made VK_EXT_acquire_xlib_display unnecessarily depend on GBM
|
||||
@@ -147,7 +147,7 @@ Bug fixes
|
||||
- SPIR-V parsing fails in src/compiler/spirv/vtn_cfg.c
|
||||
- Weird GLSL bug
|
||||
- iris driver is broken in Freedesktop 19.08
|
||||
- LLVM not properly shutdown in `si_pipe.c`?
|
||||
- LLVM not properly shutdown in ``si_pipe.c``?
|
||||
- Panfrost: add current status to docs/features.txt
|
||||
- Opengl incorrect rendering on yuzu Amd
|
||||
- RADV: VK_ACCESS_MEMORY_READ/WRITE_BIT is not implemented
|
||||
@@ -227,7 +227,7 @@ Bug fixes
|
||||
- finish converting from fnv1a to xxhash
|
||||
- Hang in iris_dri in kitty
|
||||
- Setting twice value to output_stream in radv_nir_to_llvm.c
|
||||
- Overwriting value of `jit_tex->sample_stride` in lp_setup.c
|
||||
- Overwriting value of ``jit_tex->sample_stride`` in lp_setup.c
|
||||
- [AMDGPU][OpenGL] apitrace of kernel/firmware crash that requires a reboot
|
||||
- Flickering in Superposition benchmark
|
||||
- Double lock in fbobject.c
|
||||
@@ -320,7 +320,7 @@ Alyssa Rosenzweig (475):
|
||||
- pan/mdg: Rename .one to .sat_signed
|
||||
- pan/mdg: Move constant switch opts to algebraic pass
|
||||
- pan/mdg: Drop forever todo
|
||||
- pan/mdg: Drop `opt` in name of midgard_opt_cull_dead_branch
|
||||
- pan/mdg: Drop ``opt`` in name of midgard_opt_cull_dead_branch
|
||||
- pan/mdg: Enable nir_opt_algebraic_distribute_src_mods
|
||||
- panfrost: Update dEQP expectation list
|
||||
- panfrost: Setup gl_FragCoord as sysval on Bifrost
|
||||
@@ -509,7 +509,7 @@ Alyssa Rosenzweig (475):
|
||||
- pan/bi: Remove comment about old scheduler design
|
||||
- pan/bi: Move bi_registers to common IR structures
|
||||
- pan/bi: Move bi_registers to bi_bundle
|
||||
- pan/bi: Drop `struct` from bi_registers
|
||||
- pan/bi: Drop ``struct`` from bi_registers
|
||||
- pan/bi: Add FILE* argument to bi_print_registers
|
||||
- pan/bi: Move bi_flip_ports out of port assignment
|
||||
- pan/bi: Document constant count invariant
|
||||
@@ -1878,7 +1878,7 @@ Eric Engestrom (146):
|
||||
- cut 20.1 branch
|
||||
- docs: update calendar for 20.1.0-rc2
|
||||
- post_version.py: fix branch name construction for release candidates
|
||||
- post_version.py: invert `is_point` into `is_first_release` to make its purpose clearer
|
||||
- post_version.py: invert ``is_point`` into ``is_first_release`` to make its purpose clearer
|
||||
- post_version.py: stop adding release candidates to the index and relnotes
|
||||
- docs: update calendar for 20.1.0-rc3
|
||||
- gitlab-ci: exclude scripts that don't affect the build
|
||||
@@ -1888,7 +1888,7 @@ Eric Engestrom (146):
|
||||
- util/rand_xor: extend the urandom path to all non-Windows platforms
|
||||
- docs: update calendar for 20.1.0-rc4
|
||||
- anv: pass the fd directly to anv_gem_reg_read()
|
||||
- anv: replace magic `| 1` with already #define'd name
|
||||
- anv: replace magic ``| 1`` with already #define'd name
|
||||
- anv: disable VK_EXT_calibrated_timestamps when the timestamp register is unreadable
|
||||
- git_sha1_gen.py: fix out-of-date comment
|
||||
- git_sha1_gen.py: fix code style
|
||||
@@ -1933,15 +1933,15 @@ Eric Engestrom (146):
|
||||
- docs: publish our release maintainers' keys
|
||||
- docs: remind release maintainers to sign the tarballs and publish their key
|
||||
- docs: suggest alternative installation methods for meson
|
||||
- docs: stop considering `Cc: mesa-stable` as an email address
|
||||
- docs: stop considering ``Cc: mesa-stable`` as an email address
|
||||
- docs: reword "sending a patch revision" to "updating a merge request"
|
||||
- docs: drop `git sendemail` instructions
|
||||
- docs: prefer `Fixes:` over `Cc: mesa-stable`
|
||||
- docs: drop ``git sendemail`` instructions
|
||||
- docs: prefer ``Fixes:`` over ``Cc: mesa-stable``
|
||||
- docs: add some formatting to the "backport merge request" option
|
||||
- docs: reword a sentence a bit
|
||||
- docs: make it clear that the tags needs to be in the commit message
|
||||
- docs: move `Fixes:` tag explanation to its own section
|
||||
- docs: move "stable" tag explanation next to `Fixes:`
|
||||
- docs: move ``Fixes:`` tag explanation to its own section
|
||||
- docs: move "stable" tag explanation next to ``Fixes:``
|
||||
- driconf: drop 28% catalan translation
|
||||
- driconf: drop 15% german translation
|
||||
- driconf: drop 26% spanish translation
|
||||
@@ -1965,14 +1965,14 @@ Eric Engestrom (146):
|
||||
- docs: update calendar and link releases notes for 20.1.3
|
||||
- docs: fix a bunch of typos
|
||||
- egl: always compile surfaceless
|
||||
- vulkan: automatically compile the `display` platform when available
|
||||
- vulkan: automatically compile the ``display`` platform when available
|
||||
- meson: move xlib-lease block further down
|
||||
- egl: automatically compile the `drm` platform when available
|
||||
- introduce `commit_in_branch.py` script to help devs figure this out
|
||||
- egl: automatically compile the ``drm`` platform when available
|
||||
- introduce ``commit_in_branch.py`` script to help devs figure this out
|
||||
- bin/gen_release_notes.py: drop new_features.txt when we release XX.Y.0
|
||||
- egl/wayland: add missing newline between functions
|
||||
- glx: drop always-true #ifdef
|
||||
- docs/submittingpatches: add more than one `Cc: mesa-stable` example to the examples list
|
||||
- docs/submittingpatches: add more than one ``Cc: mesa-stable`` example to the examples list
|
||||
- meson/intel: add missing dep on git_sha1.h
|
||||
- meson: fix android vulkan build
|
||||
- egl: inline fallback for create_pixmap_surface
|
||||
@@ -2009,7 +2009,7 @@ Eric Engestrom (146):
|
||||
- egl: const _eglDriver
|
||||
- egl/haiku: drop overwritten preset of EGL version
|
||||
- egl: consistently use dri2_egl_display() helper macro
|
||||
- meson: fix `-D xlib-lease=auto` detection
|
||||
- meson: fix ``-D xlib-lease=auto`` detection
|
||||
- docs: add release notes for 20.1.5
|
||||
- docs: update calendar and link releases notes for 20.1.5
|
||||
- pick-ui: specify git commands in "resolve cherry pick" message
|
||||
@@ -3471,7 +3471,7 @@ Michel Dänzer (38):
|
||||
- gitlab-ci: Install g++-mingw-w64-x86-64-win32 instead of mingw-w64
|
||||
- Revert "ac,radeonsi: fix compilations issues with LLVM 11"
|
||||
- Revert "gallium/gallivm: fix compilation issues with llvm 11"
|
||||
- gitlab-ci: Enable -Werror in `meson-s390x` job
|
||||
- gitlab-ci: Enable -Werror in ``meson-s390x`` job
|
||||
- gitlab-ci: Also list arm/x86_build in needs: of test jobs
|
||||
- gitlab-ci: x86_test-base image as common base for x86_test-gl/vk
|
||||
- gitlab-ci: Pull in GCC 9 from Debian testing in x86_test-gl/vk images
|
||||
@@ -4608,7 +4608,7 @@ Timothy Arceri (69):
|
||||
- nv30: add missing fallthrough comment
|
||||
- meson: turn on Wimplicit-fallthrough project wide
|
||||
- nouveau: fix pointer-sign warning
|
||||
- gitlab-ci: Enable -Werror in `meson-classic` job
|
||||
- gitlab-ci: Enable -Werror in ``meson-classic`` job
|
||||
- r600/radeonsi: silence zero-length-bounds gcc warnings
|
||||
- radeonsi: fix SI_NUM_ATOMS
|
||||
- iris: fix maybe-uninitialized warning for initial_state variable
|
||||
@@ -4624,7 +4624,7 @@ Timothy Arceri (69):
|
||||
- etnaviv: add missing fallthrough comments
|
||||
- lima: add missing fallthrough comments
|
||||
- lima: add missing break
|
||||
- gitlab-ci: Enable -Werror in `meson-gallium` job
|
||||
- gitlab-ci: Enable -Werror in ``meson-gallium`` job
|
||||
|
||||
Timur Kristóf (4):
|
||||
|
||||
|
@@ -26,7 +26,7 @@ The root base struct for all Vulkan objects is
|
||||
the Vulkan API *must* inherit from :cpp:struct:`vk_object_base` by having a
|
||||
:cpp:struct:`vk_object_base` or some struct that inherits from
|
||||
:cpp:struct:`vk_object_base` as the driver struct's first member. Even
|
||||
though we have `container_of()` and use it liberally, the
|
||||
though we have ``container_of()`` and use it liberally, the
|
||||
:cpp:struct:`vk_object_base` should be the first member as there are a few
|
||||
places, particularly in the logging framework, where we use void pointers
|
||||
to avoid casting and this only works if the address of the driver struct is
|
||||
|
@@ -246,7 +246,7 @@ Entrypoint lookup
|
||||
|
||||
Implementing ``vkGet*ProcAddr()`` is quite complicated because of the
|
||||
Vulkan 1.2 rules around exactly when they have to return ``NULL``. When a
|
||||
client calls `vkGet*ProcAddr()`, we go through a three step process resolve
|
||||
client calls ``vkGet*ProcAddr()``, we go through a three step process resolve
|
||||
the function pointer:
|
||||
|
||||
1. A static (generated at compile time) hash table is used to map the
|
||||
@@ -256,8 +256,8 @@ the function pointer:
|
||||
checks against the enabled core API version and extensions. We use an
|
||||
index into the entrypoint table, not the dispatch table, because the
|
||||
rules for when an entrypoint should be exposed are per-entrypoint. For
|
||||
instance, `vkBindImageMemory2` is available on Vulkan 1.1 and later but
|
||||
`vkBindImageMemory2KHR` is available if VK_KHR_bind_memory2 is enabled.
|
||||
instance, ``vkBindImageMemory2`` is available on Vulkan 1.1 and later but
|
||||
``vkBindImageMemory2KHR`` is available if VK_KHR_bind_memory2 is enabled.
|
||||
|
||||
3. A compaction table is used to map from the entrypoint table index to
|
||||
the dispatch table index and the function is finally fetched from the
|
||||
|
@@ -19,7 +19,7 @@ NULL or point to valid and properly populated memory.
|
||||
|
||||
When creating a pipeline, the
|
||||
:cpp:func:`vk_graphics_pipeline_state_fill()` function can be used to
|
||||
gather all of the state from the core structures as well as various `pNext`
|
||||
gather all of the state from the core structures as well as various ``pNext``
|
||||
chains into a single state structure. Whenever an extension struct is
|
||||
missing, a reasonable default value is provided whenever possible.
|
||||
|
||||
|
Reference in New Issue
Block a user