mesa.git
14 months agofreedreno/registers: SC_WAIT_WC is not a6xx
Rob Clark [Tue, 18 Aug 2020 21:00:42 +0000 (14:00 -0700)]
freedreno/registers: SC_WAIT_WC is not a6xx

I think this is probably only a2xx, but it was masking
WRITE_PRIMITIVE_COUNTS on a6xx.

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

14 months agonir/opt_remove_phis: optimize out phis with undef
Rhys Perry [Mon, 17 Aug 2020 11:18:24 +0000 (12:18 +0100)]
nir/opt_remove_phis: optimize out phis with undef

This removes some phis that loop unrolling can create.

fossil-db (Navi):
Totals from 349 (0.26% of 135946) affected shaders:
SpillSGPRs: 52 -> 41 (-21.15%)
CodeSize: 3179968 -> 3169920 (-0.32%); split: -0.33%, +0.01%
Instrs: 626965 -> 624712 (-0.36%); split: -0.37%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6348>

14 months agoegl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage
Eric Engestrom [Fri, 22 May 2020 23:45:42 +0000 (01:45 +0200)]
egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage

Passes all of `dEQP-EGL.functional.swap_buffers_with_damage.*`:

    Passed:        36/54 (66.7%)
    Failed:        0/54 (0.0%)
    Not supported: 18/54 (33.3%)
    Warnings:      0/54 (0.0%)
    Waived:        0/54 (0.0%)

The "not supported" ones are the `preserve_buffer_*` tests, which is not
supported on X11/DRI3.

Cc: 20.2 <mesa-stable>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3030
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6132>

14 months agoegl/x11_dri3: enable & require xfixes 2.0
Eric Engestrom [Sat, 8 Aug 2020 17:21:58 +0000 (19:21 +0200)]
egl/x11_dri3: enable & require xfixes 2.0

Cc: 20.2 <mesa-stable>
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6132>

14 months agoci: Run deqp-gles2 on RadeonSI
Tomeu Vizoso [Wed, 19 Aug 2020 07:55:47 +0000 (09:55 +0200)]
ci: Run deqp-gles2 on RadeonSI

We have one more DUT in the Collabora lab, use it to run GLES2 tests.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6385>

14 months agopan/mdg: Fix auxiliary load/store swizzle packing
Alyssa Rosenzweig [Fri, 14 Aug 2020 15:03:46 +0000 (11:03 -0400)]
pan/mdg: Fix auxiliary load/store swizzle packing

It needs to respect the existing swizzle, as well as the type size.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopan/mdg: Fix printing of r26 ld/st sources post-RA
Alyssa Rosenzweig [Fri, 14 Aug 2020 15:02:47 +0000 (11:02 -0400)]
pan/mdg: Fix printing of r26 ld/st sources post-RA

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopan/mdg: Identify barrier out-of-order field
Alyssa Rosenzweig [Thu, 13 Aug 2020 21:14:58 +0000 (17:14 -0400)]
pan/mdg: Identify barrier out-of-order field

All barrier types are implied regardless, this is an optimization for
out-of-order.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopan/mdg: Handle 32-bit offsets from store_shared
Alyssa Rosenzweig [Thu, 13 Aug 2020 22:56:40 +0000 (18:56 -0400)]
pan/mdg: Handle 32-bit offsets from store_shared

Implicitly zero-extended for the 64-bit address.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopan/mdg: Ensure barrier op is set on texture
Alyssa Rosenzweig [Thu, 13 Aug 2020 21:15:11 +0000 (17:15 -0400)]
pan/mdg: Ensure barrier op is set on texture

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes: 92c808cd475 ("pan/mdg: eliminate references to ins->texture.op")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopanfrost: Fix shared memory size computation
Alyssa Rosenzweig [Thu, 13 Aug 2020 22:11:12 +0000 (18:11 -0400)]
panfrost: Fix shared memory size computation

Based on core count. Also, avoid some of the more complex programming
and stick to powers-of-two for now.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agopanfrost: Fix WRITES_GLOBAL bit
Alyssa Rosenzweig [Thu, 13 Aug 2020 23:08:38 +0000 (19:08 -0400)]
panfrost: Fix WRITES_GLOBAL bit

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes: dce7722ef89 ("panfrost: Handle writes_memory correctly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6321>

14 months agoandroid: freedreno: Another build fix
Roman Stratiienko [Tue, 4 Aug 2020 10:45:39 +0000 (13:45 +0300)]
android: freedreno: Another build fix

During build on Android 10, build error occurred:

'''
[ 26% 456/1718] Gen Header: libfreedreno_registers_32 <= a3xx.xml.h
FAILED: out/target/product/pinephone/gen/STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/adreno/a3xx.xml.h
/bin/bash -c "PATH=/usr/bin:\$PATH python3 external/mesa3d/src/freedreno/registers/gen_header.py external/mesa3d/src/freedreno/registers/adreno/a3xx.xml > out/target/product/pinephone/gen/STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/adreno/a3xx.xml.h"
Traceback (most recent call last):
  File "external/mesa3d/src/freedreno/registers/gen_header.py", line 470, in <module>
    main()
  File "external/mesa3d/src/freedreno/registers/gen_header.py", line 446, in main
    xml_file = sys.argv[2]
IndexError: list index out of range
'''

Align build rules with meson fixes it.

Fixes: 62ebd342 ("freedreno/registers: split header build into subdirs")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6170>

14 months agoradv: restrict exported symbols with static llvm
Emil Velikov [Thu, 6 Aug 2020 08:14:07 +0000 (09:14 +0100)]
radv: restrict exported symbols with static llvm

Like the gallium --version-script magic but for radv.

The long term goal is to make LLVM support optional, remove it even, so
let's keep the hunk in an if block.

v2: fold if checks (Eric)
v3 (Tomeu): Remove spaces within [] (Dylan)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6203>

14 months agofreedreno: Destroy syncobj too when destroying fence
Eduardo Lima Mitev [Wed, 19 Aug 2020 07:57:33 +0000 (09:57 +0200)]
freedreno: Destroy syncobj too when destroying fence

This is a missing part of freedreno EXT_semaphore support,
recently merged as part of series adding EXT_external_objects. This hunk was
actually lost due to a mistake on my side while doing a rebase.

Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6383>

14 months agogitlab-ci: reorder container_post_build call for arm64_test image
Andres Gomez [Mon, 17 Aug 2020 09:53:35 +0000 (12:53 +0300)]
gitlab-ci: reorder container_post_build call for arm64_test image

And remove a redundant call to ccache --show-stats

Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6343>

14 months agogitlab-ci: reuse container_post_build when building the test images
Andres Gomez [Mon, 17 Aug 2020 09:49:52 +0000 (12:49 +0300)]
gitlab-ci: reuse container_post_build when building the test images

Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6343>

14 months agopanfrost: Hoist assert from bind to create
Alyssa Rosenzweig [Fri, 14 Aug 2020 22:34:56 +0000 (18:34 -0400)]
panfrost: Hoist assert from bind to create

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Remove useless comment
Alyssa Rosenzweig [Fri, 14 Aug 2020 22:33:11 +0000 (18:33 -0400)]
panfrost: Remove useless comment

Less than useless, actually - it's not even factually correct.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Hoist add_fbo_bo call
Alyssa Rosenzweig [Fri, 14 Aug 2020 22:31:05 +0000 (18:31 -0400)]
panfrost: Hoist add_fbo_bo call

Move it to batch initialization, to take it out of the clear/draw path.
This should make sense - as soon as the batch is created, we need to
hold the refference. Functionally there shouldn't be unused batches
floating around anyway.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Drop QUADS primitive convert
Alyssa Rosenzweig [Fri, 14 Aug 2020 22:27:32 +0000 (18:27 -0400)]
panfrost: Drop QUADS primitive convert

Even Bifrost retains QUADS support.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Drop panfrost_invalidate_frame
Alyssa Rosenzweig [Fri, 14 Aug 2020 22:22:36 +0000 (18:22 -0400)]
panfrost: Drop panfrost_invalidate_frame

Only used to initialize active_queries once at context initialization,
then unneeded.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Drop ZSA null checks in draws
Alyssa Rosenzweig [Fri, 14 Aug 2020 21:56:09 +0000 (17:56 -0400)]
panfrost: Drop ZSA null checks in draws

Likewise.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Drop rasterizer null checks in draw calls
Alyssa Rosenzweig [Fri, 14 Aug 2020 21:50:44 +0000 (17:50 -0400)]
panfrost: Drop rasterizer null checks in draw calls

rasterizer must be non-null when draw_vbo is called (indeed, we assert
this there), so anything in the per-draw graphics path can safely assume
we have a rasterizer object bound.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agopanfrost: Decontextualize rasterizer
Alyssa Rosenzweig [Fri, 14 Aug 2020 21:38:36 +0000 (17:38 -0400)]
panfrost: Decontextualize rasterizer

Tightens the scope.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6327>

14 months agoradv: track and report if a logical device is lost
Samuel Pitoiset [Mon, 13 Jul 2020 11:59:48 +0000 (13:59 +0200)]
radv: track and report if a logical device is lost

This currently covers two situations where it's obvious that
the GPU hung:

1) when wait-of-idle doesn't finish in a finite time
2) when a CS submission is cancelled by the kernel

There is still probably some other situations that aren't yet handled.

According to the Vulkan spec, some operations should return
VK_ERROR_DEVICE_LOST when the corresponding logical device is
known to be lost.

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/5878>

14 months agoci: Update kernel used in LAVA to 5.8-based drm-misc
Tomeu Vizoso [Tue, 18 Aug 2020 09:20:20 +0000 (11:20 +0200)]
ci: Update kernel used in LAVA to 5.8-based drm-misc

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6371>

14 months agoci: Fix URL to imagediff page in traces dashboard
Tomeu Vizoso [Wed, 5 Aug 2020 09:56:06 +0000 (11:56 +0200)]
ci: Fix URL to imagediff page in traces dashboard

It has been updated recently.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Reviewed-By: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6185>

14 months agoci: Test Panfrost with more traces
Tomeu Vizoso [Wed, 5 Aug 2020 08:52:19 +0000 (10:52 +0200)]
ci: Test Panfrost with more traces

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Reviewed-By: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6185>

14 months agoci: Split traces.yml file per driver
Tomeu Vizoso [Wed, 5 Aug 2020 08:17:26 +0000 (10:17 +0200)]
ci: Split traces.yml file per driver

As drivers have been tested with more and more traces, the yml file is
becoming a bit unwieldy. As more drivers are going to be tested with
traces, and more traces will be used, split them in per-driver files so
the size stays manageable.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Reviewed-By: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6185>

14 months agollvmpipe/nir: lower some more packing at nir level.
Dave Airlie [Tue, 18 Aug 2020 19:15:50 +0000 (05:15 +1000)]
llvmpipe/nir: lower some more packing at nir level.

Fixes:
dEQP-VK.glsl.builtin.function.pack_unpack.*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agollvmpipe: lower mul 2x32_64
Dave Airlie [Tue, 18 Aug 2020 19:14:16 +0000 (05:14 +1000)]
llvmpipe: lower mul 2x32_64

Fixes:
dEQP-VK.glsl.builtin.function.integer.umulextended*
dEQP-VK.glsl.builtin.function.integer.imulextended*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agollvmpipe: lower cs local index from id
Dave Airlie [Tue, 7 Apr 2020 01:13:38 +0000 (11:13 +1000)]
llvmpipe: lower cs local index from id

Fixes:
dEQP-VK.glsl.atomic_operations.*_shared

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallivm/nir: split tex/sampler indirect offsets
Dave Airlie [Fri, 19 Jun 2020 07:00:46 +0000 (17:00 +1000)]
gallivm/nir: split tex/sampler indirect offsets

vulkan has these separate, should be fine for GL as well as
the values will be the same anyways.

Fixes:
dEQP-VK.binding_model.shader_access.secondary_cmd_buf.uniform_texel_buffer.*
dEQP-VK.binding_model.descriptorset_random.sets4.noarray.ubolimitlow.sbolimitlow.sampledimglow.outimgtexlow.noiub.uab.vert.noia*
dEQP-VK.binding_model.descriptor_copy.graphics.uniform_texel_buffer.*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallivm/nir: fixup compact TCS variable storage.
Dave Airlie [Tue, 7 Apr 2020 01:11:51 +0000 (11:11 +1000)]
gallivm/nir: fixup compact TCS variable storage.

This fixes a lot of tessellation shaders, since tess factors
get emitted with spir-v now.

Fixes a bunch of:
dEQP-VK.tessellation*
along with 7000 others.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallium/nir/tgsi: add support for compact variables
Dave Airlie [Mon, 17 Aug 2020 04:52:04 +0000 (14:52 +1000)]
gallium/nir/tgsi: add support for compact variables

vulkan tessellation uses compact variables for tess factors,
and trips over in the nir->tgsi info gathering, add support
to the info extraction for compact inputs and outputs.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agollvmpipe: lower uadd_carry/usub_borrow.
Dave Airlie [Mon, 17 Aug 2020 01:42:42 +0000 (11:42 +1000)]
llvmpipe: lower uadd_carry/usub_borrow.

Fixes:
dEQP-VK.glsl.builtin.function.integer.uaddcarry.*
dEQP-VK.glsl.builtin.function.integer.usubborrow.*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallivm/sample: fix lod query on array textures.
Dave Airlie [Mon, 17 Aug 2020 01:09:19 +0000 (11:09 +1000)]
gallivm/sample: fix lod query on array textures.

The lod query doesn't take a layer, but the code tries to use one,
detect lodq and don't use a layer in those cases.

There appears to be no GL tests for this behaviour, but the vulkan
CTS hits it.

Fixes:
dEQP-VK.glsl.texture_functions.query.texturequerylod.*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallivm/nir: add imod support
Dave Airlie [Fri, 19 Jun 2020 07:07:31 +0000 (17:07 +1000)]
gallivm/nir: add imod support

Just adds support for the imod instruction

Fixes:
dEQP-VK.glsl.operator.binary_operator.mod.*

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agogallium/nir/tgsi: reindent some code in the nir->tgsi info (v2)
Dave Airlie [Tue, 18 Aug 2020 18:52:06 +0000 (04:52 +1000)]
gallium/nir/tgsi: reindent some code in the nir->tgsi info (v2)

v2: Eric pointed out some code changes snuck in here.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agollvmpipe/cs: update compute counters not fragment shader.
Dave Airlie [Fri, 19 Jun 2020 05:27:51 +0000 (15:27 +1000)]
llvmpipe/cs: update compute counters not fragment shader.

This was updating the wrong counters.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Fixes: a6f6ca37c82bb6810971 ("llvmpipe: add initial shader create/bind/destroy variants framework.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agovallium: fix input attachment lowering variable shadowing
Dave Airlie [Tue, 18 Aug 2020 05:17:57 +0000 (15:17 +1000)]
vallium: fix input attachment lowering variable shadowing

This caused a bunch of tests to crash due to pos being shadowed
wrongly.

Fixes:
dEQP-VK.binding_model.descriptor_copy.graphics.input_attachment*

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Fixes: b38879f8c5f57b7f1802 ("vallium: initial import of the vulkan frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6339>

14 months agofreedreno: support GL_EXT_semaphore
Hyunjun Ko [Sun, 19 Apr 2020 15:20:41 +0000 (17:20 +0200)]
freedreno: support GL_EXT_semaphore

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4565>

14 months agofreedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd
Eduardo Lima Mitev [Tue, 7 Apr 2020 06:54:16 +0000 (08:54 +0200)]
freedreno: Enable GL_EXT_memory_object and GL_EXT_memory_object_fd

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

14 months agofreedreno: Implement pipe screen's get_device/driver_uuid()
Eduardo Lima Mitev [Thu, 11 Jun 2020 16:54:10 +0000 (18:54 +0200)]
freedreno: Implement pipe screen's get_device/driver_uuid()

v2: Don't need to prefix included uuid headers path with
    'freedreno'. (Rob Clark)

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

14 months agofreedreno: implement pipe screen's resource_from_memobj
Eduardo Lima Mitev [Wed, 8 Apr 2020 11:59:48 +0000 (13:59 +0200)]
freedreno: implement pipe screen's resource_from_memobj

v2: Use 'prsc' and 'rsc', 'pmemobj' and 'memobj' for consistency with
    rest of the code. (Rob Clark)

v3: - Use the existing flag PIPE_BIND_LINEAR instead (Marek Olšák)
    - Assert that the resource is not intended for scanout (Rob Clark)
    - Use the fd_resource_allocate_and_resolve() helper (Rob Clark)
    - Check that bo's resolved size fit into memobj's bo size (Rob Clark)

v4: Don't steal memobj's bo, but share it instead by getting a new
ref. (Rob Clark)

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

14 months agofreedreno/layout: Move hard-coded minimum width for UBWC to a macro
Eduardo Lima Mitev [Wed, 13 May 2020 10:51:36 +0000 (12:51 +0200)]
freedreno/layout: Move hard-coded minimum width for UBWC to a macro

This will also allow reuse of the value later in this series.

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

14 months agofreedreno: Refactor fd_resource_create_with_modifiers() into a helper
Eduardo Lima Mitev [Tue, 18 Aug 2020 08:04:02 +0000 (10:04 +0200)]
freedreno: Refactor fd_resource_create_with_modifiers() into a helper

The helper just allocates and resolves layout, but does not deal with
scanout buffers nor allocation of the actual bo.

The resolved bo size is returned as an output argument.

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

14 months agofreedreno: Implement memory object create/destroy for GL_EXT_memory_object
Eduardo Lima Mitev [Tue, 7 Apr 2020 06:52:25 +0000 (08:52 +0200)]
freedreno: Implement memory object create/destroy for GL_EXT_memory_object

v2: Add implementation of fd_memobj_destroy() virtual func, which was newly
added.

v3: The memobj bo must be non-NULL and destroyed as part of memobj
destruction (instead of its reference being stolen). (Rob Clark)

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

14 months agost: Pass TextureTiling option from texture to memory obj
Eduardo Lima Mitev [Thu, 7 May 2020 15:28:44 +0000 (17:28 +0200)]
st: Pass TextureTiling option from texture to memory obj

If tiling is linear, also adds the corresponding pipe bind flag
to the resource template when creating a new resource from the
memory object.

Modified TexParameteri to update the TextureTiling option only when the
texObj is not immutable (before TexStorageMem*DEXT is called to create
the texture from external memory).

v2: Ensure that memory object is not NULL before setting the
TextureTiling option (fixes TexStorage*D).

v3: Also add flag PIPE_SHARED to bindings (needed for some gallium
drivers).

v4: Use PIPE_BIND_LINEAR instead of adding a new PIPE_RESOURCE_FLAG
(Marek Olšák)

Co-authored-by: Eduardo Lima Mitev <elima@igalia.com>
Co-authored-by: Eleni Maria Stea <estea@igalia.com>
Co-authored-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4565>

14 months agospirv: Don't emit RMW for vector indexing in shared or global
Jason Ekstrand [Mon, 17 Aug 2020 15:51:32 +0000 (10:51 -0500)]
spirv: Don't emit RMW for vector indexing in shared or global

Anything that fails the is_external_block check is getting the
vtn_local_load/store path which does read-modify-write which isn't
correct if the variable mode can be written cross-workgroup.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6372>

14 months agoradv: Fix handling of attribs 16-31.
Bas Nieuwenhuizen [Sat, 8 Aug 2020 22:51:15 +0000 (00:51 +0200)]
radv: Fix handling of attribs 16-31.

We really need to update the enum for consistency, but that involves
a bunch of GL & bitfield work which is error-prone, so since this is
a fix for stable lets do the simple things.

Confirmed that nothing in radv/aco/nir/spirv uses MAX_VERT_ATTRIB
except the one thing I bumped.

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

14 months agoradv: Override the uniform buffer offset alignment for World War Z.
Bas Nieuwenhuizen [Thu, 30 Jul 2020 00:49:33 +0000 (02:49 +0200)]
radv: Override the uniform buffer offset alignment for World War Z.

Game does the equivalent of a

ALIGN(..., minUniformBufferOffsetAlignment >> 4)

which breaks when said alignment is <16 with a SIGFPE.

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

14 months agodriconf: Support selection by Vulkan applicationName.
Bas Nieuwenhuizen [Thu, 30 Jul 2020 00:33:01 +0000 (02:33 +0200)]
driconf: Support selection by Vulkan applicationName.

This adds applicationName + version through like engineName.

Rationale: A game (World War Z) includes the store name in the
executable name, so has multiple executable names.

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

14 months agoegl/android: Add support for CrOS buffer info perform op
Kristian H. Kristensen [Tue, 11 Aug 2020 02:05:05 +0000 (19:05 -0700)]
egl/android: Add support for CrOS buffer info perform op

This uses a new gralloc perform op that returns the buffer info we
need.  No need to guess at formats, hard code offsets and recalculate
strides.  This also gives us the format modifier as well as aux planes
for compressed RGBA buffers.

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

14 months agoegl/android: Use droid_create_image_from_prime_fds() in get_back_bo()
Kristian H. Kristensen [Tue, 11 Aug 2020 01:44:34 +0000 (18:44 -0700)]
egl/android: Use droid_create_image_from_prime_fds() in get_back_bo()

This function wants to create a __DRIimage for an ANativeWindowBuffer,
which is mostly the same logic as when we create an EGLImage for an
ANativeWindowBuffer.  Reuse droid_create_image_from_prime_fds().

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

14 months agoegl/android: Move droid_create_image_from_prime_fds() function up
Kristian H. Kristensen [Tue, 11 Aug 2020 01:42:33 +0000 (18:42 -0700)]
egl/android: Move droid_create_image_from_prime_fds() function up

We'll use it for get_back_bo() next.

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

14 months agoegl/android: Simplify droid_create_image_from_name() path
Kristian H. Kristensen [Fri, 7 Aug 2020 00:39:47 +0000 (17:39 -0700)]
egl/android: Simplify droid_create_image_from_name() path

This can now return an __DRIimage which we'll wrap in the shared code
in dri2_create_image_android_native_buffer().

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

14 months agoegl/android: Drop unused ctx argument
Kristian H. Kristensen [Fri, 7 Aug 2020 00:29:35 +0000 (17:29 -0700)]
egl/android: Drop unused ctx argument

EGL_ANDROID_image_native_buffer requires the ctx argument to always be
NULL, so not point in passing it around.

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

14 months agoegl/android: Look up prime fds in droid_create_image_from_prime_fds()
Kristian H. Kristensen [Thu, 6 Aug 2020 23:45:28 +0000 (16:45 -0700)]
egl/android: Look up prime fds in droid_create_image_from_prime_fds()

We always need to look them up before calling this function, so move
the lookup into the function to consolidate the code.

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

14 months agoegl/android: Call createImageFromDmaBufs directly
Kristian H. Kristensen [Thu, 6 Aug 2020 23:38:28 +0000 (16:38 -0700)]
egl/android: Call createImageFromDmaBufs directly

Instead of building up EGL attribute lists and then having to parse
them again, call the DRI driver directly and then use the
dri2_create_image_from_dri() helper to wrap the __DRIimage in an
EGLImage.

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

14 months agofreedreno: Add afuc regression test
Connor Abbott [Tue, 18 Aug 2020 12:38:46 +0000 (14:38 +0200)]
freedreno: Add afuc regression test

a5xx is still TODO, but at least this is a start.

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

14 months agofreedreno/afuc: Install asm/disasm
Connor Abbott [Tue, 18 Aug 2020 12:37:13 +0000 (14:37 +0200)]
freedreno/afuc: Install asm/disasm

Make the name a bit longer, since when installed it's not tucked away
under afuc/ anymore.

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

14 months agofreedreno/afuc: Make 0 a valid number
Connor Abbott [Tue, 18 Aug 2020 12:36:37 +0000 (14:36 +0200)]
freedreno/afuc: Make 0 a valid number

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

14 months agofreedreno/afuc: Handle xmov modifiers
Connor Abbott [Mon, 17 Aug 2020 17:44:14 +0000 (19:44 +0200)]
freedreno/afuc: Handle xmov modifiers

Although it's kind-of similar to "(rptN)" in the shader ISA, I called it
"xmov" to make it clear that it's completely orthogonal to "(rep)",
although you certainly can use both modifiers on the same instruction.

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

14 months agofreedreno/afuc: Add iret
Connor Abbott [Mon, 17 Aug 2020 18:29:20 +0000 (20:29 +0200)]
freedreno/afuc: Add iret

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

14 months agofreedreno/afuc: Handle setsecure opcode
Connor Abbott [Mon, 17 Aug 2020 12:26:49 +0000 (14:26 +0200)]
freedreno/afuc: Handle setsecure opcode

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

14 months agofreedreno/afuc: Fix printing preemptleave on a5xx
Connor Abbott [Mon, 17 Aug 2020 12:11:39 +0000 (14:11 +0200)]
freedreno/afuc: Fix printing preemptleave on a5xx

This opcode is actually used on a5xx, but I'm not sure what it's for.

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

14 months agospirv: Add support for the CL Round instruction
Boris Brezillon [Tue, 28 Jul 2020 06:42:53 +0000 (08:42 +0200)]
spirv: Add support for the CL Round instruction

Add a round() implementation that's conformant with the CL spec.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6256>

14 months agomeson: Make some warnings handled as errors with MSVC
Gert Wollny [Thu, 23 Apr 2020 10:32:02 +0000 (12:32 +0200)]
meson: Make some warnings handled as errors with MSVC

We should really pass the right number and parameter types to
functions.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6227>

14 months agomeson: Add MSVC narrowing-int-to-char warnings
Daniel Stone [Mon, 6 Apr 2020 20:35:09 +0000 (21:35 +0100)]
meson: Add MSVC narrowing-int-to-char warnings

MSVC seems quite keen to warn us that we're narrowing an int into a
char, even if it fits entirely within range.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6227>

14 months agoRevert "CI: Disable Panfrost T720/T760 CI"
Tomeu Vizoso [Tue, 18 Aug 2020 12:37:27 +0000 (14:37 +0200)]
Revert "CI: Disable Panfrost T720/T760 CI"

This reverts commit 9ef192c100b4c4520c99a9948bf0cfbd52e363fc.

Revert "CI: Disable Panfrost T860 and AMD Stoney tests"

This reverts commit 3e447c1ad2d605bb234b43ef63c5d9ce53d9ff37.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6366>

14 months agogallium/aux: reorder vertex attributes in triangle fans according to PV
Gert Wollny [Tue, 14 Jul 2020 13:28:00 +0000 (15:28 +0200)]
gallium/aux: reorder vertex attributes in triangle fans according to PV

With triangle fans when "first vertex convention" is active the
provoking vertex is actually the second vertex so that the different
triangle can have different colors with flat shading. Take this into
account when re-ordering the vertex indices (as proposed by Erik)

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: translate primitive-restart values
Erik Faye-Lund [Thu, 25 Jun 2020 10:26:54 +0000 (12:26 +0200)]
gallium/indices: translate primitive-restart values

This adds a config-option to u_primconvert that translates primitive
restart values to the max-values for the index size. This allows us to
support arbitrary primitive-restart indices on hardware that only
supports fixed restart-indices.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: introduce u_primconvert_config
Erik Faye-Lund [Mon, 22 Jun 2020 13:05:17 +0000 (15:05 +0200)]
gallium/indices: introduce u_primconvert_config

This struct allows us to pass the configuration as a struct, which can
more easily be extended to take more arguemnts as long as we're careful
about zero-initialization.

We keep the old create-function, but implement it as a wrapper on top so
we don't have to update all existing call-sites right now.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: implement prim-restart for triangle fans
Erik Faye-Lund [Mon, 22 Jun 2020 18:13:45 +0000 (20:13 +0200)]
gallium/indices: implement prim-restart for triangle fans

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: use prim_restart-helper for polygon
Erik Faye-Lund [Mon, 22 Jun 2020 18:08:48 +0000 (20:08 +0200)]
gallium/indices: use prim_restart-helper for polygon

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: implement prim-restart for line-loops
Erik Faye-Lund [Mon, 22 Jun 2020 16:38:03 +0000 (18:38 +0200)]
gallium/indices: implement prim-restart for line-loops

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: generalize primitive-restart logic
Erik Faye-Lund [Thu, 18 Jun 2020 13:05:13 +0000 (15:05 +0200)]
gallium/indices: generalize primitive-restart logic

These blocks are all the same logic, but with a few details changed.
Let's add a parameterized version and add calls to that instead.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/indices: don't expand prim-type for 8-bit indices
Erik Faye-Lund [Mon, 22 Jun 2020 13:56:45 +0000 (15:56 +0200)]
gallium/indices: don't expand prim-type for 8-bit indices

Expanding the primitive-type has two undesirable effects:

1. It breaks primitive-restart. This is possible to fix by explicitly
   handling primitive-restart in more conversion routines. But
   u_indices_gen.py is kind of a mess, so it's not trivial as-is.
2. It changes the reported gl_VertexID.

While it might be possible to work around this in each driver, it seems
better to avoid this when we can.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agogallium/util: factor out primitive-restart rewriting logic
Erik Faye-Lund [Wed, 17 Jun 2020 13:52:05 +0000 (15:52 +0200)]
gallium/util: factor out primitive-restart rewriting logic

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>

14 months agospirv: Only require bare types to match when copying variables
Danylo Piliaiev [Mon, 17 Aug 2020 09:02:22 +0000 (12:02 +0300)]
spirv: Only require bare types to match when copying variables

OpCopyMemory doesn't care about mismatched decorations, only about
matching types.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3418
Fixes: bf1a1eed882980a1cd08482386e3a001ce64a5a4
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6344>

14 months agoglsl: fix crashes on out of bound matrix access using constant index
Marcin Ślusarz [Mon, 11 May 2020 21:26:40 +0000 (23:26 +0200)]
glsl: fix crashes on out of bound matrix access using constant index

Fixes these piglit tests:
- spec@glsl-1.20@execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-2
- spec@glsl-1.20@execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-4
- spec@glsl-1.20@execution@matrix-out-of-bounds-access@fs-mat4-out-of-bounds-5

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4998>

14 months agost/mesa: Replace UsesStreams by ActiveStreamMask for GS
Louis-Francis Ratté-Boulianne [Thu, 19 Mar 2020 08:59:27 +0000 (04:59 -0400)]
st/mesa: Replace UsesStreams by ActiveStreamMask for GS

Some drivers need to know which streams are used by a geometry
shader. Adding a mask of active streams makes the use of
UsesStreams superfluous as it's the equivalent of:

    ActiveStreamMask != (1 << 0)

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5984>

14 months agomeson: fix trivial s/dir/dri/ typo
Eric Engestrom [Mon, 17 Aug 2020 18:58:43 +0000 (20:58 +0200)]
meson: fix trivial s/dir/dri/ typo

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6354>

14 months agoCI: Disable Panfrost T720/T760 CI
Daniel Stone [Tue, 18 Aug 2020 10:16:31 +0000 (11:16 +0100)]
CI: Disable Panfrost T720/T760 CI

Lab maintenance has taken down more of the infrastructure than
originally planned; also disable these until it all comes back.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6362>

14 months agost/wgl: do not reject PFD_SUPPORT_GDI
Erik Faye-Lund [Fri, 12 Jun 2020 14:30:01 +0000 (16:30 +0200)]
st/wgl: do not reject PFD_SUPPORT_GDI

The WGL implementation is currently on top of GDI, so it supports GDI
just fine. No need to reject this.

Acked-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6217>

14 months agoCI: Skip another flaky GS test on softpipe
Daniel Stone [Mon, 17 Aug 2020 17:49:27 +0000 (18:49 +0100)]
CI: Skip another flaky GS test on softpipe

Seems like it has real issues with GS in general. Just skip it for now
due to random failures seen a couple of times in the wild over the past
couple of weeks.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6352>

14 months agoCI: Skip flaky CS test on VirGL
Daniel Stone [Mon, 17 Aug 2020 17:47:16 +0000 (18:47 +0100)]
CI: Skip flaky CS test on VirGL

We've seen this crash a few times over the past couple of weeks, but
haven't yet managed to reproduce locally and fix. In the meantime, just
skip.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6352>

14 months agoCI: Disable Panfrost T860 and AMD Stoney tests
Daniel Stone [Thu, 13 Aug 2020 13:12:54 +0000 (14:12 +0100)]
CI: Disable Panfrost T860 and AMD Stoney tests

Due to scheduled physical lab maintenance to prepare for expansion and
better shard our device types across redundant infrastructure, these
device types will be inaccessible for approx. 3 hours. Disable them
until they are back.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6302>

14 months agonir/vtn: Support OpOrdered and OpUnordered opcodes
Jesse Natalie [Wed, 24 Jun 2020 17:58:36 +0000 (10:58 -0700)]
nir/vtn: Support OpOrdered and OpUnordered opcodes

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir/vtn: Handle LessOrGreater deprecated opcode
Jesse Natalie [Tue, 23 Jun 2020 12:44:39 +0000 (05:44 -0700)]
nir/vtn: Handle LessOrGreater deprecated opcode

Reviewed-by Boris Brezillon <boris.brezillon@collabora.com>

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir/vtn: Support SpvOpIsFinite via fisfinite
Jesse Natalie [Tue, 23 Jun 2020 22:22:44 +0000 (15:22 -0700)]
nir/vtn: Support SpvOpIsFinite via fisfinite

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir: Add fisfinite op
Jesse Natalie [Tue, 23 Jun 2020 22:22:29 +0000 (15:22 -0700)]
nir: Add fisfinite op

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir/vtn: Support SpvOpIsNormal via fisnormal
Jesse Natalie [Mon, 8 Jun 2020 12:55:39 +0000 (05:55 -0700)]
nir/vtn: Support SpvOpIsNormal via fisnormal

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir: Add fisnormal op
Jesse Natalie [Mon, 8 Jun 2020 12:54:53 +0000 (05:54 -0700)]
nir: Add fisnormal op

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6355>

14 months agonir: Fix i64tof32 lowering
Boris Brezillon [Wed, 12 Aug 2020 12:28:48 +0000 (14:28 +0200)]
nir: Fix i64tof32 lowering

The round-to-nearest-even implementation found in lower_2f() is incorrect
for any value having a significand that is not directly representable
and whose non-representable part lies between 1 and half the minimum
representable value. In this case, the significand is rounded up instead
of being rounded down.

Fixes: 936c58c8fcce ("nir: Extend nir_lower_int64() to support i2f/f2i lowering")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Tested-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6290>

14 months agollvmpipe: enable GL 4.5
Dave Airlie [Mon, 20 Jul 2020 03:45:09 +0000 (13:45 +1000)]
llvmpipe: enable GL 4.5

This passes conformance on both the master and 4.6.0 (with patches)
branches. I'll be submitting results shortly from the 20.2.x branch
this lands in.

Cc: "20.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6044>

14 months agollvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit
Dave Airlie [Mon, 20 Jul 2020 03:41:34 +0000 (13:41 +1000)]
llvmpipe/blit: for 32-bit unorm depth blits just copy 32-bit

Don't have the shader do a 32-bit unorn to float conversion,
the values don't remain accurate then.

Fixes:
GTF-GL45.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality_multisampled_to_singlesampled_blit
for 32-bit unorm depth buffers.

Cc: "20.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6044>

14 months agocompiler/nir: Add new flags to lower pack/unpack split instructions
Boris Brezillon [Tue, 21 Apr 2020 11:41:41 +0000 (04:41 -0700)]
compiler/nir: Add new flags to lower pack/unpack split instructions

And add new rules to do this lowering in nir_opt_algebraic.py.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6309>