mesa.git
4 years agoturnip: fix update_stencil_mask
Jonathan Marek [Sun, 21 Jun 2020 03:34:53 +0000 (23:34 -0400)]
turnip: fix update_stencil_mask

The previous value was not being cleared, resulting in some dynamic stencil
state failures. Fixes these two tests:

dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1

Fixes: 233610f8cf8d8810 ("turnip: refactor draw states and dynamic states")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586>

4 years agoturnip: fix empty scissor case
Jonathan Marek [Sun, 21 Jun 2020 03:20:32 +0000 (23:20 -0400)]
turnip: fix empty scissor case

Fixes these two tests:
dEQP-VK.draw.scissor.empty_dynamic_scissor_first_draw
dEQP-VK.draw.scissor.empty_static_scissor

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5586>

4 years agofreedreno: handle batch flush in resource tracking
Rob Clark [Wed, 24 Jun 2020 18:28:32 +0000 (11:28 -0700)]
freedreno: handle batch flush in resource tracking

In rare cases, we can get into situations where the tracking of read/
written resources triggers a flush of the current batch.

To handle that, (1) take a reference to the current batch, so it doesn't
disappear under us, and (2) check after resource tracking whether the
current batch was flushed.  If it is, we have to re-do the resource
tracking, but since we have a fresh batch, it should not get flushed the
second time around.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3160
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634>

4 years agofreedreno: split out batch clear tracking helper
Rob Clark [Wed, 24 Jun 2020 16:31:03 +0000 (09:31 -0700)]
freedreno: split out batch clear tracking helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634>

4 years agofreedreno: split out batch draw tracking helper
Rob Clark [Wed, 24 Jun 2020 16:23:50 +0000 (09:23 -0700)]
freedreno: split out batch draw tracking helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634>

4 years agofreedreno: make foreach_bit() declare it's cursor
Rob Clark [Wed, 24 Jun 2020 16:06:50 +0000 (09:06 -0700)]
freedreno: make foreach_bit() declare it's cursor

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5634>

4 years agoturnip: implement VK_EXT_vertex_attribute_divisor
Jonathan Marek [Wed, 24 Jun 2020 23:56:01 +0000 (19:56 -0400)]
turnip: implement VK_EXT_vertex_attribute_divisor

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5640>

4 years agodocs: fix 20.1.2 relnotes
Eric Engestrom [Wed, 24 Jun 2020 23:48:24 +0000 (01:48 +0200)]
docs: fix 20.1.2 relnotes

I manually converted them from html and didn't double-check the
result...

Fixes: e94f81e9df8f038813a4 ("docs: Add release notes for 20.1.2")
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5639>

4 years agodocs: update calendar and link releases notes for 20.1.2
Eric Engestrom [Wed, 24 Jun 2020 22:58:56 +0000 (00:58 +0200)]
docs: update calendar and link releases notes for 20.1.2

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5638>

4 years agodocs: Add release notes for 20.1.2
Eric Engestrom [Wed, 24 Jun 2020 21:44:30 +0000 (23:44 +0200)]
docs: Add release notes for 20.1.2

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5638>

4 years agofreedreno/ir3: switch PIPE_CAP_TGSI_TEXCOORD
Rob Clark [Sun, 21 Jun 2020 20:26:57 +0000 (13:26 -0700)]
freedreno/ir3: switch PIPE_CAP_TGSI_TEXCOORD

We don't really need the varying remapping, and it seems to somehow
happen twice when shader-cache comes into the picture.  But we can
just choose not to have this problem.

Now that everything is using the ir3_point_sprite() helper, we can
flip this pipe cap without it being a massive flag-day.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno: convert builtin blit VS prog to ureg builder
Rob Clark [Mon, 22 Jun 2020 18:54:43 +0000 (11:54 -0700)]
freedreno: convert builtin blit VS prog to ureg builder

The correct varying semantic to use depends on PIPE_CAP_TGSI_TEXCOORD.
To handle this transition switch it over to ureg builder, and query the
pipe-cap to choose the appropriate semantic.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/a3xx: use point-coord helper
Rob Clark [Mon, 22 Jun 2020 15:47:33 +0000 (08:47 -0700)]
freedreno/a3xx: use point-coord helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/a4xx: use point-coord helper
Rob Clark [Mon, 22 Jun 2020 15:46:35 +0000 (08:46 -0700)]
freedreno/a4xx: use point-coord helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/a5xx: use point-coord helper
Rob Clark [Mon, 22 Jun 2020 15:45:13 +0000 (08:45 -0700)]
freedreno/a5xx: use point-coord helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/a6xx: use point-coord helper
Rob Clark [Mon, 22 Jun 2020 15:43:17 +0000 (08:43 -0700)]
freedreno/a6xx: use point-coord helper

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/a6xx: de-duplicate vinterp/vpsrepl state building
Rob Clark [Mon, 22 Jun 2020 15:39:12 +0000 (08:39 -0700)]
freedreno/a6xx: de-duplicate vinterp/vpsrepl state building

When we flip the texcoord patch, we'll setup PNTC input slot in the
pre-built interp stateobj, rather than this being a draw-time (slow-
path) built stateobj.  But rather than duplicate more of the slow-
path logic, refactor it out into a helper that is reused in both
cases.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agofreedreno/ir3: add helper to determine point-coord inputs
Rob Clark [Mon, 22 Jun 2020 15:24:55 +0000 (08:24 -0700)]
freedreno/ir3: add helper to determine point-coord inputs

This will simplify a bit the logic for setting up vinterp/vprepl in the
driver backend, and also avoid it being a flag-day when we switch the
texcoord pipe cap.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5595>

4 years agoturnip: move some logic out of create_render_pass_common
Jonathan Marek [Sat, 13 Jun 2020 02:12:51 +0000 (22:12 -0400)]
turnip: move some logic out of create_render_pass_common

CreateRenderPass2 is the common path now, it doesn't make sense to have a
create_render_pass_common. Rename it to tu_render_pass_gmem_config and
move logic not related to gmem config out of it.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451>

4 years agoturnip: use RenderPassCreateInfo for render_pass_add_implicit_deps
Jonathan Marek [Sat, 13 Jun 2020 02:05:26 +0000 (22:05 -0400)]
turnip: use RenderPassCreateInfo for render_pass_add_implicit_deps

This gets rid of the some unnecessary values that were stored in
tu_render_pass for this. It also makes the render_pass_add_implicit_deps
more generic, with very few references to the tu_render_pass.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451>

4 years agoturnip: replace a memset(0) with zalloc in CreateRenderPass
Jonathan Marek [Sat, 13 Jun 2020 01:43:24 +0000 (21:43 -0400)]
turnip: replace a memset(0) with zalloc in CreateRenderPass

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451>

4 years agoturnip: translate CreateRenderPass to CreateRenderPass2
Jonathan Marek [Sat, 13 Jun 2020 01:19:20 +0000 (21:19 -0400)]
turnip: translate CreateRenderPass to CreateRenderPass2

It doesn't cut down the code size by much, and might not be the ideal for
performance (unless the compiler is unexpectedly smart), but makes it
easier to maintain (no modifying the same code in two places) and will
allow some simplifications since we wont have to worry about trying to
share code between the two versions.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5451>

4 years agoturnip: implement depthBounds
Jonathan Marek [Tue, 23 Jun 2020 22:45:32 +0000 (18:45 -0400)]
turnip: implement depthBounds

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5628>

4 years agofreedreno/registers: a6xx depth bounds test registers
Jonathan Marek [Tue, 23 Jun 2020 22:44:42 +0000 (18:44 -0400)]
freedreno/registers: a6xx depth bounds test registers

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5628>

4 years agoaco: remove outdated assert in handle_operands()
Rhys Perry [Tue, 16 Jun 2020 13:58:15 +0000 (14:58 +0100)]
aco: remove outdated assert in handle_operands()

"target" is no longer expected to be completely inside "swap".

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5626>

4 years agoaco: ignore blocked registers when checking edges in get_reg_impl()
Rhys Perry [Wed, 24 Jun 2020 12:23:12 +0000 (13:23 +0100)]
aco: ignore blocked registers when checking edges in get_reg_impl()

If the only two registers available are consecutive and used by killed
operands, both of them will be blocked and fail the edge check.

Totals from 903 (0.66% of 135946) affected shaders:
VGPRs: 30892 -> 30884 (-0.03%)
CodeSize: 1584468 -> 1584044 (-0.03%); split: -0.05%, +0.02%
MaxWaves: 14374 -> 14378 (+0.03%)
Instrs: 306482 -> 306399 (-0.03%); split: -0.06%, +0.03%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5626>

4 years agoradv: fix checking the return value of cs_finalize()
Samuel Pitoiset [Wed, 24 Jun 2020 13:38:19 +0000 (15:38 +0200)]
radv: fix checking the return value of cs_finalize()

cs_finalize() now returns a Vulkan error code and VK_SUCCESS is 0.

Fixes: 64a92ef7a26 ("radv/winsys: Distinguish device/host memory errors.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5629>

4 years agogitlab-ci: update the list of expected failures for Pitcairn
Samuel Pitoiset [Wed, 24 Jun 2020 12:30:46 +0000 (14:30 +0200)]
gitlab-ci: update the list of expected failures for Pitcairn

These tests have been fixed as part of
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5625>

4 years agoradv: Make radv_alloc_shader_memory static.
Bas Nieuwenhuizen [Tue, 23 Jun 2020 23:28:54 +0000 (01:28 +0200)]
radv: Make radv_alloc_shader_memory static.

Just a cleanup.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578>

4 years agoradv/winsys: Distinguish device/host memory errors.
Bas Nieuwenhuizen [Sun, 21 Jun 2020 17:36:16 +0000 (19:36 +0200)]
radv/winsys: Distinguish device/host memory errors.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578>

4 years agoradv: Handle mmap failures.
Bas Nieuwenhuizen [Sat, 20 Jun 2020 19:12:01 +0000 (21:12 +0200)]
radv: Handle mmap failures.

Which can happen if we have to many mmaps active in the process.

CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578>

4 years agoradv/winsys: Deal with realloc failures in BO lists.
Bas Nieuwenhuizen [Sat, 20 Jun 2020 18:34:59 +0000 (20:34 +0200)]
radv/winsys: Deal with realloc failures in BO lists.

Otherwise if realloc fails we silently try to use it. Make recording fail instead.

CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5578>

4 years agoaco: improve vectorization of 8/16-bit loads/stores
Rhys Perry [Mon, 25 May 2020 14:36:12 +0000 (15:36 +0100)]
aco: improve vectorization of 8/16-bit loads/stores

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: fix when sub-dword create_vector operand cannot be placed perfectly
Rhys Perry [Tue, 23 Jun 2020 18:19:00 +0000 (19:19 +0100)]
aco: fix when sub-dword create_vector operand cannot be placed perfectly

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: don't allow partial copies on GFX6/7
Daniel Schürmann [Tue, 23 Jun 2020 09:19:27 +0000 (10:19 +0100)]
aco: don't allow partial copies on GFX6/7

These are not supported due to missing SDWA instructions

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: align swap operations to 4 bytes on GFX6/7
Daniel Schürmann [Tue, 23 Jun 2020 10:55:34 +0000 (11:55 +0100)]
aco: align swap operations to 4 bytes on GFX6/7

GFX6/7 can only swap full registers

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: don't create byte-aligned short loads
Rhys Perry [Thu, 11 Jun 2020 14:38:07 +0000 (15:38 +0100)]
aco: don't create byte-aligned short loads

The ISA docs don't seem to say if this is allowed, so just assume short
loads require short alignment.

In practice, the only situation this should affect are byte-aligned u8vec2
loads.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: add missing bld.scc() in byte_align_scalar()
Rhys Perry [Tue, 26 May 2020 16:45:56 +0000 (17:45 +0100)]
aco: add missing bld.scc() in byte_align_scalar()

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: don't store byte-aligned short stores
Rhys Perry [Tue, 26 May 2020 15:43:05 +0000 (16:43 +0100)]
aco: don't store byte-aligned short stores

The ISA docs don't seem to say if this is allowed, so just assume short
stores require short alignment.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: fix copy+paste error in split_buffer_store
Rhys Perry [Tue, 26 May 2020 15:33:12 +0000 (16:33 +0100)]
aco: fix copy+paste error in split_buffer_store

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoradv/aco,aco: allow SMEM SSBO loads on GFX6/7
Rhys Perry [Mon, 25 May 2020 13:49:53 +0000 (14:49 +0100)]
radv/aco,aco: allow SMEM SSBO loads on GFX6/7

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: allow SMEM for some sub-dword accesses
Rhys Perry [Mon, 25 May 2020 13:47:25 +0000 (14:47 +0100)]
aco: allow SMEM for some sub-dword accesses

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoaco: only use SMEM if we can prove it's safe
Rhys Perry [Fri, 22 May 2020 16:55:15 +0000 (17:55 +0100)]
aco: only use SMEM if we can prove it's safe

Totals from 26 (0.02% of 127638) affected shaders:
SGPRs: 1680 -> 1664 (-0.95%)
VGPRs: 1492 -> 1504 (+0.80%)
CodeSize: 233140 -> 233016 (-0.05%); split: -0.09%, +0.04%
Instrs: 47121 -> 47114 (-0.01%); split: -0.08%, +0.06%
VMEM: 4930 -> 4655 (-5.58%); split: +0.12%, -5.70%
SMEM: 2030 -> 2001 (-1.43%); split: +3.79%, -5.22%
VClause: 891 -> 947 (+6.29%)
SClause: 876 -> 816 (-6.85%)
Copies: 4734 -> 4716 (-0.38%); split: -0.40%, +0.02%
Branches: 2048 -> 2047 (-0.05%)
PreSGPRs: 1400 -> 1396 (-0.29%)
PreVGPRs: 1440 -> 1443 (+0.21%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoradv: fix image variable types in meta shaders
Rhys Perry [Mon, 15 Jun 2020 16:37:52 +0000 (17:37 +0100)]
radv: fix image variable types in meta shaders

We write to these variables using image intrinsics.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agospirv: set variables to restrict by default
Rhys Perry [Thu, 21 May 2020 19:08:37 +0000 (20:08 +0100)]
spirv: set variables to restrict by default

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>

4 years agoandroid: freedreno/ir3: simplify generated sources rules
Mauro Rossi [Sat, 20 Jun 2020 18:47:05 +0000 (20:47 +0200)]
android: freedreno/ir3: simplify generated sources rules

Simplification and alignment with meson's sources generation rules

Changelog:
- move rules from src/gallium/drivers/freedreno/Android.gen.mk to Android.ir3.mk
- simplify LOCAL_GENERATED_SOURCES based on $(ir3_GENERATED_FILES)
- remove includes of src/gallium/drivers/freedreno/Android.gen.mk
- remove src/gallium/drivers/freedreno/Android.gen.mk

Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580>

4 years agoandroid: freedreno/ir3: add missing generated sources and rules
Mauro Rossi [Sat, 20 Jun 2020 17:07:44 +0000 (19:07 +0200)]
android: freedreno/ir3: add missing generated sources and rules

Changelog:
- Makefile.sources: add ir3_lexer.c and ir3_parser.{c,h} generated sources
- Android.ir3.mk: add the necessary generated sources rules
- Android.ir3.mk: add the necessary include paths
- src/gallium/drivers/freedreno/Android.gen.mk: generate only ir3_nir_{imul,trig}.c for the moment

Fixes the following building error:

target  C: libfreedreno_ir3 <= external/mesa/src/freedreno/ir3/ir3_assembler.c
FAILED: out/target/product/x86_64/obj/STATIC_LIBRARIES/libfreedreno_ir3_intermediates/ir3/ir3_assembler.o
...
external/mesa/src/freedreno/ir3/ir3_assembler.c:28:10: fatal error: 'ir3_parser.h' file not found
         ^~~~~~~~~~~~~~
1 error generated.

Fixes: 1e8808a4a0f ("freedreno/ir3: refactor out helper to compile shader from asm")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580>

4 years agoandroid: freedreno: add fd5_layout.c to Makefile.sources
Mauro Rossi [Sat, 20 Jun 2020 16:22:31 +0000 (18:22 +0200)]
android: freedreno: add fd5_layout.c to Makefile.sources

Fixes the following building error:

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so
...
ld.lld: error: undefined symbol: fdl5_layout
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)

Fixes: a1a739995ba ("freedreno/a5xx: Move resource layout to fdl.")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Acked-by: Rob Clark <robdclark@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5580>

4 years agovulkan/wsi/x11: Ensure we create at least minImageCount images.
Bas Nieuwenhuizen [Sat, 28 Mar 2020 21:43:32 +0000 (22:43 +0100)]
vulkan/wsi/x11: Ensure we create at least minImageCount images.

Doom Eternal happily creates a swapchain with 2 images for IMMEDIATE...

This fixes a 10% performance issues with Doom Eternal for me.

Since the game only sets a minImageCount increasing till our own minimum
is totally okay.

CC: <stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2684
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3156
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4368>

4 years agozink: clamp VkImageCreateInfo.arrayLayers to 1 for image resource creation
Mike Blumenkrantz [Fri, 29 May 2020 18:38:02 +0000 (14:38 -0400)]
zink: clamp VkImageCreateInfo.arrayLayers to 1 for image resource creation

this is required by spec, so we can generally assume that any time it's 0 here
this is the result of us being lazy elsewhere in the zink driver when we're
manually creating this sort of buffer

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5614>

4 years agogitlab-ci: update the list of expected CTS failures for RADV/ACO
Samuel Pitoiset [Fri, 19 Jun 2020 13:18:27 +0000 (15:18 +0200)]
gitlab-ci: update the list of expected CTS failures for RADV/ACO

Based on Vulkan CTS 1.2.3.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5593>

4 years agonir: Fix divergence analysis for tessellation input/outputs
Kenneth Graunke [Tue, 5 May 2020 18:03:12 +0000 (11:03 -0700)]
nir: Fix divergence analysis for tessellation input/outputs

The load_per_vertex_{input,output} intrinsics simply mean that they're
reading an arrayed input/output, which have one element per invocation.
Most accesses to those use gl_InvocationID as the subscript.  However,
it's totally possible to read any element of the array.  For example,
an evaluation shader might read gl_in[2].gl_Position, or a control
shader might read output[0].

For threads processing a single patch, an input/output load is
convergent if and only if both sources (the per-vertex-array subscript
and the offset) are convergent.  For threads processing multiple
patches, we continued to mark them divergent.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5613>

4 years agointel: Disable loading drivers on DG1 devices for now
Kenneth Graunke [Tue, 23 Jun 2020 21:04:42 +0000 (14:04 -0700)]
intel: Disable loading drivers on DG1 devices for now

Kernel support for DG1 has not yet been merged upstream; per our
long-standing DRM subsystem policy, we should not enable the platform
in userspace until the kernel patches are merged and functional.

We will re-enable this in the future.  In the meantime, we retain all
of the infrastructure and code for the platform so that we can continue
developing DG1 support in upstream.

See a discussion here:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4956#note_547775

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5617>

4 years agoCI: Disable Panfrost Mali-T820, Lima Mali-400 and Lima Mali-450 jobs
Kenneth Graunke [Wed, 24 Jun 2020 02:23:32 +0000 (19:23 -0700)]
CI: Disable Panfrost Mali-T820, Lima Mali-400 and Lima Mali-450 jobs

The runners appear to be unhealthy.  Disable for now so people can merge
patches for other drivers in the meantime.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5619>

4 years agoiris/compute: Split out iris_load_indirect_location
Jordan Justen [Wed, 13 Feb 2019 19:10:39 +0000 (11:10 -0800)]
iris/compute: Split out iris_load_indirect_location

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571>

4 years agoiris: Split walker and state update into iris_upload_gpgpu_walker
Jordan Justen [Wed, 13 Feb 2019 02:11:16 +0000 (18:11 -0800)]
iris: Split walker and state update into iris_upload_gpgpu_walker

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571>

4 years agoanv/cmd_buffer: Split GPGPU_WALKER out to emit_gpgpu_walker
Jordan Justen [Wed, 14 Nov 2018 19:41:23 +0000 (11:41 -0800)]
anv/cmd_buffer: Split GPGPU_WALKER out to emit_gpgpu_walker

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571>

4 years agoanv/pipeline: Split VFE/INTERFACE_DESCRIPTOR out to emit_media_cs_state
Jordan Justen [Wed, 14 Nov 2018 18:49:05 +0000 (10:49 -0800)]
anv/pipeline: Split VFE/INTERFACE_DESCRIPTOR out to emit_media_cs_state

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5571>

4 years agoturnip: use pipeline cs for shader programs instead of separate bo
Jonathan Marek [Tue, 23 Jun 2020 14:37:56 +0000 (10:37 -0400)]
turnip: use pipeline cs for shader programs instead of separate bo

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5606>

4 years agoturnip: fix ts_cs_memory typo
Jonathan Marek [Tue, 23 Jun 2020 14:37:18 +0000 (10:37 -0400)]
turnip: fix ts_cs_memory typo

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5606>

4 years agofreedreno: Handle DRM_FORMAT_MOD_INVALID in shared code
Kristian H. Kristensen [Tue, 23 Jun 2020 17:39:14 +0000 (10:39 -0700)]
freedreno: Handle DRM_FORMAT_MOD_INVALID in shared code

layout_resource_for_modifier() needs to handle DRM_FORMAT_MOD_INVALID
as well, since src/gallium/frontends/dri/dri2.c uses this to indicate
"no modifier" when it's called through the older non-modifier entry
points.

This is similar to 334788d4 ("freedreno: allow INVALID modifier") but
for the generic implementation.

Fixes: 98910626 ("freedreno/a6xx: Implement layout for DRM_FORMAT_MOD_QCOM_COMPRESSED")
Closes: #3154
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5611>

4 years agointel/eu: Add the RNDU opcode
Jason Ekstrand [Thu, 22 Aug 2019 16:15:50 +0000 (11:15 -0500)]
intel/eu: Add the RNDU opcode

We don't want to use it on gen5 and earlier because only RNDD can be
done with a single instruction and we can implement RNDU(x) as -RNDD(-x)
so it's better to just do that when we have the instruction.  On gen6
and above, we may as well just use the right instruction.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/eu: Set the right subnr for ALIGN16 destinations
Jason Ekstrand [Thu, 17 Oct 2019 14:54:02 +0000 (09:54 -0500)]
intel/eu: Set the right subnr for ALIGN16 destinations

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/eu: Add a brw_urb_dest_msg_type helper
Jason Ekstrand [Thu, 12 Sep 2019 18:23:46 +0000 (13:23 -0500)]
intel/eu: Add a brw_urb_dest_msg_type helper

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/eu: Add a brw_urb_desc helper
Kenneth Graunke [Fri, 9 Aug 2019 02:16:32 +0000 (19:16 -0700)]
intel/eu: Add a brw_urb_desc helper

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/compiler: Expose brw_texture_offset to C
Jason Ekstrand [Tue, 13 Aug 2019 16:08:40 +0000 (11:08 -0500)]
intel/compiler: Expose brw_texture_offset to C

Some day we probably want to move it out of brw_shader if we're going to
share it with IBC but that can be another day.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/fs: Move more prog_data setup into populate_wm_prog_data
Jason Ekstrand [Thu, 24 Oct 2019 22:31:18 +0000 (17:31 -0500)]
intel/fs: Move more prog_data setup into populate_wm_prog_data

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/fs: Break wm_prog_data setup into a helper
Jason Ekstrand [Thu, 18 Jul 2019 14:23:47 +0000 (09:23 -0500)]
intel/fs: Break wm_prog_data setup into a helper

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agointel/fs: Expose a couple of NIR lowering helpers
Jason Ekstrand [Thu, 18 Jul 2019 14:23:23 +0000 (09:23 -0500)]
intel/fs: Expose a couple of NIR lowering helpers

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5596>

4 years agoiris: Delete useless #define
Kenneth Graunke [Mon, 22 Jun 2020 22:49:31 +0000 (15:49 -0700)]
iris: Delete useless #define

When I was bringing up the driver, I had BLORP use #ifdefs for
softpin-mode vs. relocation-mode.  That all got reworked during
review, but apparently this #define is still kicking around,
even though nothing uses it.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5610>

4 years agonir: only uniforms with dynamically_uniform offset are dynamically_uniform
Jose Maria Casanova Crespo [Wed, 17 Jun 2020 00:30:23 +0000 (02:30 +0200)]
nir: only uniforms with dynamically_uniform offset are dynamically_uniform

Previously all nir_intrinsic_load_uniform that were used as sources were
considered to be dynamically_uniform but when offsets of load_uniform
are indirect it can not be determined.

This fixes artefacts in Google Maps 3D view in V3D.

Fixes: 886d46b08971 ("nir: Add a function to determine if a source is dynamically uniform")
Reviewed-by: Neil Roberts <nroberts@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5587>

4 years agobin/symbols-check: explain C++ symbols workaround
Eric Engestrom [Fri, 19 Jun 2020 10:44:41 +0000 (12:44 +0200)]
bin/symbols-check: explain C++ symbols workaround

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5556>

4 years agoturnip: implement CmdDrawIndirectByteCountEXT
Jonathan Marek [Sat, 20 Jun 2020 19:09:05 +0000 (15:09 -0400)]
turnip: implement CmdDrawIndirectByteCountEXT

Fixes these deqp tests:
dEQP-VK.transform_feedback.simple.backward_dependency*
dEQP-VK.transform_feedback.simple.draw_indirect*

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579>

4 years agoturnip: enable VK_EXT_index_type_uint8
Jonathan Marek [Sat, 20 Jun 2020 19:02:10 +0000 (15:02 -0400)]
turnip: enable VK_EXT_index_type_uint8

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579>

4 years agoturnip: refactor CmdDraw* functions (and a few fixes)
Jonathan Marek [Mon, 22 Jun 2020 16:47:47 +0000 (12:47 -0400)]
turnip: refactor CmdDraw* functions (and a few fixes)

This cleans up the CmdDraw* functions to be more straightforward. And a few
fixes applied while going through it:
* Fix indirect draw commands not adding the buffer->bo_offset, and ignoring
 drawCount/stride parameters (deqp tests not testing indirect draws very
 much apparently).
* Fixed a potential issue with RESTART_INDEX + secondary command bufs.
* Add missing logic for 8-bit indices

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
# Conflicts:
# src/freedreno/vulkan/tu_cmd_buffer.c

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579>

4 years agoturnip: rework streamout state and add missing counter buffer read/writes
Jonathan Marek [Sat, 20 Jun 2020 17:46:01 +0000 (13:46 -0400)]
turnip: rework streamout state and add missing counter buffer read/writes

Rework the streamout state and at the same time fix some issues, the
biggest one being to actually use the counter buffers instead of ignoring
them completely.

(note it appears the dEQP tests are bad and able to pass with the previous
broken behavior of not ever reading/writing from the counter buffers)

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5579>

4 years agodocs: add planning for 20.2
Eric Engestrom [Wed, 27 May 2020 23:40:11 +0000 (01:40 +0200)]
docs: add planning for 20.2

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5239>

4 years agodocs: add some padding to the release calendar
Eric Engestrom [Wed, 17 Jun 2020 22:10:51 +0000 (00:10 +0200)]
docs: add some padding to the release calendar

This extra padding allows for `-rcX` suffixes.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5239>

4 years agoci: remove some freedreno a6xx skips
Rob Clark [Sat, 20 Jun 2020 16:21:02 +0000 (09:21 -0700)]
ci: remove some freedreno a6xx skips

These don't seem to be flakey anymore.  I did still see a flake with
dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array so
I put that one back in.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5577>

4 years agodriconf: add workarounds for SPECviewperf13
Marek Olšák [Sat, 13 Jun 2020 21:19:51 +0000 (17:19 -0400)]
driconf: add workarounds for SPECviewperf13

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5459>

4 years agoglsl,driconf: add allow_glsl_120_subset_in_110 for SPECviewperf13
Marek Olšák [Sat, 13 Jun 2020 21:18:34 +0000 (17:18 -0400)]
glsl,driconf: add allow_glsl_120_subset_in_110 for SPECviewperf13

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5459>

4 years agoradeonsi: replace ctx->screen with sscreen in si_flush_gfx_cs
Marek Olšák [Tue, 16 Jun 2020 18:39:04 +0000 (14:39 -0400)]
radeonsi: replace ctx->screen with sscreen in si_flush_gfx_cs

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5506>

4 years agoradeonsi: don't wait for idle at the end of gfx IBs
Marek Olšák [Mon, 4 May 2020 21:41:41 +0000 (17:41 -0400)]
radeonsi: don't wait for idle at the end of gfx IBs

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5506>

4 years agogitlab-ci: stop testing RADV with LLVM
Samuel Pitoiset [Thu, 18 Jun 2020 10:28:42 +0000 (12:28 +0200)]
gitlab-ci: stop testing RADV with LLVM

ACO is going to be our default compiler soon and it seems useless
to waste CI resources for LLVM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5543>

4 years agoaco: fix printing ASM on GFX6-7 again
Samuel Pitoiset [Mon, 22 Jun 2020 11:33:21 +0000 (13:33 +0200)]
aco: fix printing ASM on GFX6-7 again

Checking errno is actually wrong because it's only updated if
popen() fails (ie. NULL). One solution is to check if the first
line is empty.

Fixes: c95d258d1bc ("aco: fix printing ASM on GFX6-7 if clrxdisasm is not found")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5591>

4 years agogitlab-ci: Update CTS runner
Tomeu Vizoso [Mon, 15 Jun 2020 13:39:40 +0000 (15:39 +0200)]
gitlab-ci: Update CTS runner

We need a newer version to be able to successfully run the OpenGL suites
in dEQP.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494>

4 years agogitlab-ci: Test virgl with Khronos' OpenGL CTS
Tomeu Vizoso [Wed, 13 May 2020 07:46:06 +0000 (09:46 +0200)]
gitlab-ci: Test virgl with Khronos' OpenGL CTS

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494>

4 years agogitlab-ci: Add manual tests for Virgl using GLES on the host
Tomeu Vizoso [Tue, 12 May 2020 08:18:48 +0000 (10:18 +0200)]
gitlab-ci: Add manual tests for Virgl using GLES on the host

The ones that run automatically will use big GL on the host.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494>

4 years agogitlab-ci: Run more dEQP tests for virgl
Tomeu Vizoso [Tue, 12 May 2020 08:03:25 +0000 (10:03 +0200)]
gitlab-ci: Run more dEQP tests for virgl

Llvmpipe seems to have become faster, and we can run more tests while
still being under 5 minutes per job.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5494>

4 years agoglthread: handle ARB_vertex_attrib_binding
Marek Olšák [Sat, 30 May 2020 21:42:46 +0000 (17:42 -0400)]
glthread: handle ARB_vertex_attrib_binding

This handles ARB_vertex_attrib_binding for vertex uploads correctly.
Before this, the extension might have led to crashes if non-VBO vertex
attribs were present.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303>

4 years agoglthread: rename non_vbo_attrib_mask -> user_buffer_mask, attribs -> buffers
Marek Olšák [Sun, 31 May 2020 02:39:54 +0000 (22:39 -0400)]
glthread: rename non_vbo_attrib_mask -> user_buffer_mask, attribs -> buffers

just a cleanup, no change in behavior

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303>

4 years agoglapi: fix incorrect param names in ARB_vertex_attrib_binding functions
Marek Olšák [Sat, 30 May 2020 21:21:32 +0000 (17:21 -0400)]
glapi: fix incorrect param names in ARB_vertex_attrib_binding functions

no change in behavior

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5303>

4 years agoac/nir: fix 64-bit division for GL CTS
Marek Olšák [Wed, 17 Jun 2020 19:25:28 +0000 (15:25 -0400)]
ac/nir: fix 64-bit division for GL CTS

This fixes: KHR-GL45.gpu_shader_fp64.builtin.mod_*

Fixes: ba2ec1f3 "ac/nir: use llvm.amdgcn.rcp in ac_build_fdiv()"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5531>

4 years agoradeonsi: compact MRTs to save PS export memory space
Marek Olšák [Wed, 17 Jun 2020 22:04:53 +0000 (18:04 -0400)]
radeonsi: compact MRTs to save PS export memory space

If there are holes between color outputs (e.g. a shader exports MRT1, but
not MRT0), we can remove the holes by moving higher MRTs lower.

The hardware will remap the MRTs to their correct locations if we remove
holes in SPI_SHADER_COL_FORMAT but not CB_SHADER_MASK.

This is a performance optimization, but MRTs with holes are pretty rare,
so there is most likely no effect on any app.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5535>

4 years agoanv: Bump the advertised patch version to 145
Jason Ekstrand [Mon, 22 Jun 2020 21:15:02 +0000 (16:15 -0500)]
anv: Bump the advertised patch version to 145

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5597>

4 years agovulkan: Update Vulkan XML and headers to 1.2.145
Jason Ekstrand [Mon, 22 Jun 2020 21:12:39 +0000 (16:12 -0500)]
vulkan: Update Vulkan XML and headers to 1.2.145

Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5597>

4 years agodocs: cat maintainer keys to a single file
Eric Engestrom [Fri, 19 Jun 2020 22:35:58 +0000 (00:35 +0200)]
docs: cat maintainer keys to a single file

The original issue asked for all the keys in a single file, but I didn't
do that because it's much easier to manage and verify the keys as
separate files, but sphinx doesn't provide a way to expose a folder so
we'd need to create an index.html and have it list all the keys
manually, which is very error prone.

At this point, we might as well just concatenate the keys and expose
a single file, so let's do that.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5568>

4 years agodocs: drop deleted file from extra sphinx files
Eric Engestrom [Fri, 19 Jun 2020 22:41:53 +0000 (00:41 +0200)]
docs: drop deleted file from extra sphinx files

Fixes: 3e37b7e6bbad007c168a ("docs: remove plain-text copy of versions.rst")
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5567>

4 years agoanv: Make use of devinfo has_aux_map field
Jordan Justen [Sat, 14 Mar 2020 08:02:00 +0000 (01:02 -0700)]
anv: Make use of devinfo has_aux_map field

Reworks:
 * Use device rather than physical_device for info. (Lionel)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5572>

4 years agoiris: Make use of devinfo has_aux_map field
Jordan Justen [Sat, 14 Mar 2020 08:01:35 +0000 (01:01 -0700)]
iris: Make use of devinfo has_aux_map field

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5572>