platform/upstream/mesa.git
3 years agofrontend/dri: plumb loader image cleanup callback
David Stevens [Thu, 26 Nov 2020 04:15:55 +0000 (13:15 +0900)]
frontend/dri: plumb loader image cleanup callback

Signed-off-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7805>

3 years agodri: add image cleanup callback to loader extensions
David Stevens [Thu, 26 Nov 2020 05:03:16 +0000 (14:03 +0900)]
dri: add image cleanup callback to loader extensions

The callback may be used by dri drivers to perform cleanup when images
are destroyed. It is added to the dri2 and image loader extensions.

Signed-off-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7805>

3 years agoegl/android: don't pass loaderPriv in get_front_bo
David Stevens [Thu, 26 Nov 2020 09:29:31 +0000 (18:29 +0900)]
egl/android: don't pass loaderPriv in get_front_bo

This is a noop, as no loader extensions pass a __DRIimage's
loader_private data back to the loader.

Signed-off-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7805>

3 years agozink: Fix typos.
Vinson Lee [Sat, 12 Dec 2020 02:41:39 +0000 (18:41 -0800)]
zink: Fix typos.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8071>

3 years agogallium: Add optional pipe_context to flush_frontbuffer
Jesse Natalie [Thu, 10 Dec 2020 18:50:54 +0000 (10:50 -0800)]
gallium: Add optional pipe_context to flush_frontbuffer

It's hooked up in all the pipe wrapper drivers, and all the
frontends except a couple places in glx/xlib.

This enables a more efficient path for drivers which use
swrast's Present, but hardware rendering (e.g. d3d12, zink).

Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Marek Ol\9aák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8045>

3 years agoaco: allow divergent mbcnt_amd masks
Rhys Perry [Mon, 14 Dec 2020 13:18:39 +0000 (13:18 +0000)]
aco: allow divergent mbcnt_amd masks

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

3 years agoaco: fix mbcnt_amd with wave32
Rhys Perry [Mon, 14 Dec 2020 13:18:25 +0000 (13:18 +0000)]
aco: fix mbcnt_amd with wave32

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

3 years agoxmlconfig: Disable WITH_XMLCONFIG on Windows
James Park [Mon, 7 Dec 2020 18:36:05 +0000 (10:36 -0800)]
xmlconfig: Disable WITH_XMLCONFIG on Windows

This change was stomped by recent refactor.

Fixes: 1618bd1bee6 ("xmlconfig: Add unit tests for recent bugs in the driconf rewrite.")
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7975>

3 years agoglx: fix spelling issues
Andrii Simiklit [Mon, 7 Dec 2020 11:03:09 +0000 (13:03 +0200)]
glx: fix spelling issues

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7965>

3 years agoglx: lets compare drawing command sizes using MIN3
Andrii Simiklit [Mon, 7 Dec 2020 10:50:28 +0000 (12:50 +0200)]
glx: lets compare drawing command sizes using MIN3

It has to fix coverity issue CID1470555:
```
481        if (bufSize > __GLX_RENDER_CMD_SIZE_LIMIT) {
482           bufSize = __GLX_RENDER_CMD_SIZE_LIMIT;
483        }
484        if (bufSize > __GLX_MAX_RENDER_CMD_SIZE) {
>>>     CID 1470555:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "bufSize = 64000;".
485           bufSize = __GLX_MAX_RENDER_CMD_SIZE;
486        }
```

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7965>

3 years agoaco/spill: only prevent rematerializable vars from being DCE'd if they haven't been...
Daniel Schürmann [Fri, 11 Dec 2020 18:37:50 +0000 (19:37 +0100)]
aco/spill: only prevent rematerializable vars from being DCE'd if they haven't been renamed

The small DCE of the spiller only removes the original instructions
of rematerialized variables in case they are unused. If a variable
has been renamed, it cannot match any original instruction anymore.
Thus, the lookup is then unnecessary and can be omitted.

No fossil-db changes.

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

3 years agoaco: fix DCE of rematerializable phi operands
Daniel Schürmann [Fri, 11 Dec 2020 13:30:30 +0000 (14:30 +0100)]
aco: fix DCE of rematerializable phi operands

Otherwise, if a phi gets spilled, the operand might be considered unused.

Fixes: d48d72e98af9436babeeb3a94b312f94bc582b36 ('aco: Initial commit of independent AMD compiler')

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

3 years agoradv: advertise VK_KHR_fragment_shading_rate on GFX10.3+
Samuel Pitoiset [Mon, 30 Nov 2020 17:54:06 +0000 (18:54 +0100)]
radv: advertise VK_KHR_fragment_shading_rate on GFX10.3+

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

3 years agoaco: implement a workaround for gl_FragCoord.z with VRS on GFX10.3
Samuel Pitoiset [Thu, 10 Dec 2020 20:47:23 +0000 (21:47 +0100)]
aco: implement a workaround for gl_FragCoord.z with VRS on GFX10.3

Without it, FragCoord.z will have the value of one of the fine pixels
instead of the center of the coarse pixel.

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

3 years agoradv/llvm: implement a workaround for gl_FragCoord.z with VRS on GFX10.3
Samuel Pitoiset [Fri, 11 Dec 2020 07:46:19 +0000 (08:46 +0100)]
radv/llvm: implement a workaround for gl_FragCoord.z with VRS on GFX10.3

Without it, FragCoord.z will have the value of one of the fine pixels
instead of the center of the coarse pixel.

It's only enabled for RADV.

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

3 years agoradv: track if VRS is enabled to apply a workaround on GFX10.3
Samuel Pitoiset [Fri, 11 Dec 2020 12:35:45 +0000 (13:35 +0100)]
radv: track if VRS is enabled to apply a workaround on GFX10.3

On some chips, gl_FragCoord.z has to be adjusted.

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

3 years agoaco: implement fragment shading rate
Samuel Pitoiset [Mon, 23 Nov 2020 15:01:00 +0000 (16:01 +0100)]
aco: implement fragment shading rate

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

3 years agoradv/llvm: implement fragment shading rate
Samuel Pitoiset [Thu, 26 Nov 2020 16:37:38 +0000 (17:37 +0100)]
radv/llvm: implement fragment shading rate

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

3 years agoradv: implement VK_KHR_fragment_shading_rate
Samuel Pitoiset [Thu, 26 Nov 2020 16:39:53 +0000 (17:39 +0100)]
radv: implement VK_KHR_fragment_shading_rate

Only supported on GFX10.3+. Attachment Fragment Shading Rate is
for later.

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

3 years agoradv: add VK_KHR_fragment_shading_rate but leave it disabled
Samuel Pitoiset [Tue, 20 Oct 2020 13:11:00 +0000 (15:11 +0200)]
radv: add VK_KHR_fragment_shading_rate but leave it disabled

To declare new prototypes.

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

3 years agoamd/registers: add missing VRS registers
Samuel Pitoiset [Mon, 23 Nov 2020 16:59:10 +0000 (17:59 +0100)]
amd/registers: add missing VRS registers

These register definitions are copied from AMDVLK because they
aren't even in the kernel.

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

3 years agoaco: don't create dead exec mask phis on merge blocks
Daniel Schürmann [Fri, 11 Dec 2020 16:44:19 +0000 (17:44 +0100)]
aco: don't create dead exec mask phis on merge blocks

Avoids some unnecessary exec copies and allows for a bit more
jump threading.

Totals from 112 (0.08% of 139391) affected shaders (NAVI10):
SpillSGPRs: 3084 -> 3050 (-1.10%)
CodeSize: 2657516 -> 2652376 (-0.19%)
Instrs: 492074 -> 490824 (-0.25%)
Cycles: 40369704 -> 40317052 (-0.13%)
VMEM: 24212 -> 24128 (-0.35%)
SClause: 12018 -> 12010 (-0.07%)
Copies: 72950 -> 72275 (-0.93%)
Branches: 13249 -> 12701 (-4.14%)

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

3 years agoetnaviv: remove imm_ prefix from etna_shader_uniform_info members
Christian Gmeiner [Wed, 18 Nov 2020 14:54:16 +0000 (15:54 +0100)]
etnaviv: remove imm_ prefix from etna_shader_uniform_info members

This prefix is meaningless.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8062>

3 years agoetnaviv: rename from immedaite to uniform in some places
Christian Gmeiner [Wed, 18 Nov 2020 14:36:03 +0000 (15:36 +0100)]
etnaviv: rename from immedaite to uniform in some places

This naming change should clarify what we are actually doing here.

We are defining/managing what data is stored in the GPUs
uniform data storage area. A shader can access this area with
the ETNA_RGROUP_UNIFORM register group.

In this uniform data area we need to store const buffer data and
own immediate/constant data.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8062>

3 years agoradv: fix access to uninitialized radeon_bo_metadata
Simon Ser [Thu, 3 Dec 2020 15:03:15 +0000 (16:03 +0100)]
radv: fix access to uninitialized radeon_bo_metadata

If the image tiling is set to VK_IMAGE_TILING_LINEAR,
buffer_set_metadata will read an uninitialized radeon_bo_metadata.

Signed-off-by: Simon Ser <contact@emersion.fr>
Fixes: d5fd8cd46eee ("radv: Allow non-dedicated linear images and buffer.")
Cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7898>

3 years agost/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT
Mike Blumenkrantz [Sat, 12 Dec 2020 00:00:23 +0000 (19:00 -0500)]
st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT

the code here tries to be too smart and only use a geometry shader if there's
actually multiple layers being uploaded, but the fragment shader also unconditionally
reads gl_Layer as long as the pipe cap for gs is set, which means that
in the case when the gs is dynamically disabled due to uploading a
single-layer surface, the fs has no input to read for gl_Layer and everything breaks

always using a gs isn't ideal, but it's considerably more work to manage multiple
fs variants based on layer usage

Fixes: c99f2fe70ec ("st/mesa: implement PBO upload for multiple layers")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8067>

3 years agozink: really fix direct image mapping offset (I mean it this time)
Mike Blumenkrantz [Sat, 12 Dec 2020 16:59:40 +0000 (11:59 -0500)]
zink: really fix direct image mapping offset (I mean it this time)

I got confused and:
* used the vkformat instead of the pipe format for getting format description
* incorrectly calculated bpp

but this time it's definitely 100% fixed I promise

Fixes: 456b57802ea ("zink: fix direct image mapping offset")

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

3 years agoci: skip failing test on lavapipe
Simon Ser [Sun, 13 Dec 2020 10:04:58 +0000 (11:04 +0100)]
ci: skip failing test on lavapipe

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8077>

3 years agozink: fix property detection
Hoe Hao Cheng [Sun, 13 Dec 2020 05:03:34 +0000 (13:03 +0800)]
zink: fix property detection

yikes, that's a bad typo right there

Fixes: a103666b ("zink: decouple features and enabling conditions in zink_device_info.py")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8076>

3 years agomesa: Remove cmd_size < 0 check.
Vinson Lee [Thu, 10 Dec 2020 02:51:16 +0000 (18:51 -0800)]
mesa: Remove cmd_size < 0 check.

cmd_size was changed to size_t in commit 4b2445916e6 ("glthread:
change sizes to unsigned or size_t where needed").

Fix defect reported by Coverity Scan.

Macro compares unsigned to 0 (NO_EFFECT)
unsigned_compare: This less-than-zero comparison of an unsigned
value is never true. cmd_size < 0UL

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8024>

3 years agointel/genxml: Avoid generating identical 12.5 and 12 branches.
Vinson Lee [Wed, 9 Dec 2020 06:32:16 +0000 (22:32 -0800)]
intel/genxml: Avoid generating identical 12.5 and 12 branches.

Fix defects reported by Coverity Scan.

Identical code for different branches (IDENTICAL_BRANCHES)

identical_branches: The same code is executed regardless of
whether 0 is true, because the 'then' and 'else' branches are
identical. Should one of the branches be modified, or the entire
'if' statement replaced?

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8001>

3 years agomesa: Remove extra texObj.
Vinson Lee [Wed, 9 Dec 2020 06:04:53 +0000 (22:04 -0800)]
mesa: Remove extra texObj.

Fix defect reported by Coverity Scan.

Evaluation order violation (EVALUATION_ORDER)
write_write_typo: In texObj = texObj = _mesa_get_tex_unit(ctx, u)->CurrentTex[tgt], texObj is written twice with the same value.

Fixes: d0e18550e26 ("mesa: optimize saving/restoring bound textures for glPush/PopAttrib")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8000>

3 years agonir: Redefine start/end_ip of blocks to fix NIR-to-TGSI liveness bugs.
Eric Anholt [Fri, 11 Dec 2020 17:48:15 +0000 (09:48 -0800)]
nir: Redefine start/end_ip of blocks to fix NIR-to-TGSI liveness bugs.

With the block's end_ip accidentally being the ip of the next instruction,
contrary to the comment, you would end up doing end-of-block freeing early
and have the value missing when it came time to emit the next instruction.
Just expand the ips to have separate ones for start and end of block --
while it means that nir_instr->index is no longer incremented by 1 per
instruction, it makes sense for use in liveness because a backend is
likely to need to do other things at block boundaries (like emit the if
statement's code), and having an ip to identify that stuff is useful.

Fixes: a206b581578d ("nir: Add a block start/end ip to live instr index metadata.")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7658>

3 years agogallium/ntt: Drop reindexing of SSA defs and regs.
Eric Anholt [Fri, 13 Nov 2020 20:29:39 +0000 (12:29 -0800)]
gallium/ntt: Drop reindexing of SSA defs and regs.

It made the nir_print_shader() for NIR_TO_TGSI_DEBUG not match up with the
instructions being emitted, confusing me.  Given that I'm seeing only like
1/3 shrinking in the SSA indices, just drop the reindexing since it's not
doing much (and we don't store that much per SSA index).

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7658>

3 years agogallium/ntt: Don't manually reindex instrs.
Eric Anholt [Fri, 13 Nov 2020 20:25:36 +0000 (12:25 -0800)]
gallium/ntt: Don't manually reindex instrs.

Getting the live SSA defs will do it if necessary, and that liveness is
what we use the instr index for.  (We used to need to do it manually, and
cleanups for merging resulted in the index being treated as metadata).

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7658>

3 years agolavapipe: add support for VK_KHR_descriptor_update_template
Dave Airlie [Fri, 4 Dec 2020 00:25:32 +0000 (10:25 +1000)]
lavapipe: add support for VK_KHR_descriptor_update_template

Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7912>

3 years agolavapipe: add support for VK_KHR_push_descriptor
Dave Airlie [Fri, 4 Dec 2020 00:24:46 +0000 (10:24 +1000)]
lavapipe: add support for VK_KHR_push_descriptor

Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7912>

3 years agolavapipe: refactor descriptor set binding to support push later.
Dave Airlie [Fri, 4 Dec 2020 00:22:40 +0000 (10:22 +1000)]
lavapipe: refactor descriptor set binding to support push later.

This refactors the code push descriptor code so it can be reused
later for push descriptors.

Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7912>

3 years agogallium/u_threaded: fix pipe_resource leak for staging transfer
Pierre-Eric Pelloux-Prayer [Thu, 10 Dec 2020 13:35:34 +0000 (14:35 +0100)]
gallium/u_threaded: fix pipe_resource leak for staging transfer

In 2900f82e191 I mistakenly used tc_set_resource_reference in both
tc_transfer_unmap and tc_call_transfer_unmap.

This causes a leak because tc_call_transfer_unmap clears dst before
acquiring a reference, so it must only be used when initializing
tc_payloads.

This fixes the perf drop reported by Marek in MR 7098.

Fixes: 2900f82e191 ("gallium/u_threaded: fix staging and non-staging conflicts")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8035>

3 years agolima: add support for half float textures
Erico Nunes [Mon, 30 Nov 2020 00:39:26 +0000 (01:39 +0100)]
lima: add support for half float textures

Add support for the half float texel type and pixel types.
This enables the OES_texture_half_float extension.

Tested with piglit test oes_texture_float (half float and with linear
filtering) and passes all deqp half float related tests.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8020>

3 years agomesa: allow half float textures based on ARB_half_float_pixel
Erico Nunes [Wed, 9 Dec 2020 22:24:37 +0000 (23:24 +0100)]
mesa: allow half float textures based on ARB_half_float_pixel

In targets that support half float textures but not float textures (so
without ARB_texture_float), the previous logic did not allow for
enabling half float texture support in desktop OpenGL.
OES_texture_half_float is only valid for OpenGL ES 2.0 contexts, so
include ARB_half_float_pixel in the logic to cover OpenGL too.
Remove _mesa_is_gles3 from the check since in case of a gles3 context,
OES_texture_half_float is already assumed to be enabled.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8020>

3 years agozink: fix direct image mapping offset
Mike Blumenkrantz [Fri, 11 Dec 2020 15:53:53 +0000 (10:53 -0500)]
zink: fix direct image mapping offset

the x and y offsets here were improperly calculated without taking into account:
* layer/level offset
* x/y coord bpp

Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8058>

3 years agoCI: Add Windows source dependency map
Daniel Stone [Fri, 11 Dec 2020 10:41:32 +0000 (10:41 +0000)]
CI: Add Windows source dependency map

Now that we've soaked the Windows build in and it's working well,
restrict it to only running on given pipelines, albeit in a somewhat
surprising way.

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

3 years agonir: change return type to void
Christian Gmeiner [Fri, 11 Dec 2020 09:57:13 +0000 (10:57 +0100)]
nir: change return type to void

init_liveness_block(..) only gets called without using the
always true return value. Switch from bool to void.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8051>

3 years agoturnip: pCounterBufferOffsets can be NULL on vkCmd*TransformFeedbackEXT()
Samuel Iglesias Gonsálvez [Fri, 11 Dec 2020 14:53:50 +0000 (15:53 +0100)]
turnip: pCounterBufferOffsets can be NULL on vkCmd*TransformFeedbackEXT()

According to the spec for both vkCmd{Begin,End}TransformFeedbackEXT(),
if pCounterBufferOffsets is NULL, then it is assumed the offsets are
zero.

Fixes crash on dEQP-VK.transform_feedback.simple.backward_dependency_no_offset_array

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8057>

3 years agomesa: Remove silly "dummy_false" extension support
Adam Jackson [Thu, 10 Dec 2020 03:38:07 +0000 (22:38 -0500)]
mesa: Remove silly "dummy_false" extension support

This removes the memory of some old OES extensions from the table, which
seems to be harmless.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8037>

3 years agoaco/ra: use get_reg_specified() for p_extract_vector
Daniel Schürmann [Fri, 11 Dec 2020 08:23:04 +0000 (09:23 +0100)]
aco/ra: use get_reg_specified() for p_extract_vector

On GFX6/7, it might violate validation rules, otherwise.

Fixes: 51f4b22feec3720c89458094a3245efc984115ee ('aco: don't allow unaligned subdword accesses on GFX6/7')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8047>

3 years agoaco: Use program->num_waves as maximum in scheduler.
Timur Kristóf [Thu, 10 Dec 2020 17:54:43 +0000 (18:54 +0100)]
aco: Use program->num_waves as maximum in scheduler.

The scheduler doesn't take SGPR use into account, which can be
a limiting factor on older GPUs. This patch fixes a CTS test crash
on GFX6.

CC: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8040>

3 years agonir/opt_access: don't ignore infer_non_readable
Rhys Perry [Wed, 9 Dec 2020 22:45:35 +0000 (22:45 +0000)]
nir/opt_access: don't ignore infer_non_readable

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Fixes: d7d0b4445ae ("nir/opt_access: infer writeonly")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3959
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8018>

3 years agozink: replace old code with generated zink_instance
Hoe Hao Cheng [Thu, 26 Nov 2020 17:32:39 +0000 (01:32 +0800)]
zink: replace old code with generated zink_instance

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7800>

3 years agozink: hook zink_instance to build
Hoe Hao Cheng [Thu, 26 Nov 2020 17:29:37 +0000 (01:29 +0800)]
zink: hook zink_instance to build

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7800>

3 years agozink: generate instance creation code with a python script
Hoe Hao Cheng [Thu, 26 Nov 2020 16:53:54 +0000 (00:53 +0800)]
zink: generate instance creation code with a python script

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7800>

3 years agozink: factor out GET_PROC_ADDR and friends to zink_screen.h
Adam Jackson [Wed, 2 Dec 2020 22:28:06 +0000 (17:28 -0500)]
zink: factor out GET_PROC_ADDR and friends to zink_screen.h

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

3 years agozink: allow Extension/Version to be shared across files
Hoe Hao Cheng [Thu, 26 Nov 2020 16:50:59 +0000 (00:50 +0800)]
zink: allow Extension/Version to be shared across files

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7800>

3 years agomesa: check for extension instead of desktop GL
Erik Faye-Lund [Thu, 10 Dec 2020 11:10:37 +0000 (12:10 +0100)]
mesa: check for extension instead of desktop GL

If we ever decide to allow this extension for GLES, this will make life
easier.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8028>

3 years agomesa: do not allow es2-extension enums for es1
Erik Faye-Lund [Thu, 10 Dec 2020 11:10:12 +0000 (12:10 +0100)]
mesa: do not allow es2-extension enums for es1

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8028>

3 years ago.gitlab-ci: verify that Get-Content worked
Erik Faye-Lund [Fri, 11 Dec 2020 09:22:03 +0000 (10:22 +0100)]
.gitlab-ci: verify that Get-Content worked

This will hopefully prevent future breakages similar to what the
previous commit fixed.

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

3 years agogitlab-ci: copy piglit expected results to artifacts
Erik Faye-Lund [Fri, 11 Dec 2020 09:05:14 +0000 (10:05 +0100)]
gitlab-ci: copy piglit expected results to artifacts

I somehow missed this while reworking the CI bits to reduce bandwidth
usage. This emits an error on stdout, but doesn't actually fail the
tests.

Fixes: 195a001d736 ("gitlab-ci: do not clone git-repo for test-job")
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8052>

3 years agoandroid: fix build failure with libbacktrace
cheyang [Tue, 1 Dec 2020 06:41:08 +0000 (14:41 +0800)]
android: fix build failure with libbacktrace

because 848e7b94 commit cause.it  modify u_debug_stack_android.cpp
location from src/gallium/auxiliary/util to src/util but Android.mk
not modify

Fixes: 848e7b94 ("Move stack debug functions to src/util")
Signed-off-by: cheyang <cheyang@bytedance.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7851>

3 years agov3d: extend the list of formats supported by the TFU unit
Juan A. Suarez Romero [Thu, 10 Dec 2020 17:08:37 +0000 (18:08 +0100)]
v3d: extend the list of formats supported by the TFU unit

TFU can convert from these new formats, but can not autogenerate
mipmaps from them.

Hence we need to set what is the purpose to know if the formats are
supported or not.

v1:
 - Use the same and shorter variable name (Alejandro)

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8050>

3 years agopanfrost: Fix several depth/stencil format mappings
Boris Brezillon [Fri, 27 Nov 2020 20:03:36 +0000 (21:03 +0100)]
panfrost: Fix several depth/stencil format mappings

Stencil should always be loaded in component Y, even when the buffer
only contains stencil values. Patch the blit shaders accordingly, and
fix some format definitions.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>

3 years agogallium/util: Fix depth/stencil blit shaders
Boris Brezillon [Fri, 27 Nov 2020 12:07:21 +0000 (13:07 +0100)]
gallium/util: Fix depth/stencil blit shaders

When loading the depth, we want to store component X of the texel fetch
result into position.Z which can't be expressed without an extra MOV
unless the backend replicates the depth.

Stencil is always expected in the Y component, but some TGSI shaders
assume it will also be available in X, which only works if the backend
replicates the stencil value.

Let's fix those shaders so backend drivers are not forced to replicate
the depth/stencil values.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>

3 years agopanfrost: Reload depth/stencil when they are read
Boris Brezillon [Fri, 27 Nov 2020 19:51:18 +0000 (20:51 +0100)]
panfrost: Reload depth/stencil when they are read

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>

3 years agopanfrost: Force ->s_writeback_base to ->zs_writeback_base for Z24S8 buffers
Boris Brezillon [Sun, 22 Nov 2020 10:37:54 +0000 (11:37 +0100)]
panfrost: Force ->s_writeback_base to ->zs_writeback_base for Z24S8 buffers

Apparently this field is used even if the stencil is part of the ZS
buffer. Fixes a bunch of page faults on Bifrost.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>

3 years agopanfost: Fix depth/stencil writeback on Bifrost v7
Boris Brezillon [Thu, 26 Nov 2020 15:02:09 +0000 (16:02 +0100)]
panfost: Fix depth/stencil writeback on Bifrost v7

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>

3 years agopanfrost: Allow 2DMS arrays
Boris Brezillon [Thu, 10 Dec 2020 18:48:17 +0000 (19:48 +0100)]
panfrost: Allow 2DMS arrays

The midgard compiler has been fixed to handle texture operations on
2DMS arrays, and Bifrost already had this case handled properly. Relax
the assert.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8042>

3 years agopan/mdg: Fix texture handling for 2DMS arrays
Boris Brezillon [Thu, 10 Dec 2020 18:46:14 +0000 (19:46 +0100)]
pan/mdg: Fix texture handling for 2DMS arrays

While at it, move the coordinate building logic to a dedicated helper
and make it generalize it to handle 1D arrays too.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8042>

3 years agovulkan: Enable VK_KHR_performance_query on android
Hyunjun Ko [Fri, 13 Nov 2020 13:02:08 +0000 (13:02 +0000)]
vulkan: Enable VK_KHR_performance_query on android

The tests of this extension seem to be added to Android 11 CTS,
since they can be found on android-11-x branches.

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

3 years agointel/blorp: Drop support for STC_CCS resolves
Nanley Chery [Wed, 9 Dec 2020 23:11:45 +0000 (15:11 -0800)]
intel/blorp: Drop support for STC_CCS resolves

There are no users of this feature.

Reverts the following commits:

87c57b8dae954c7de6a499506a4161f69076ce67 (effectively)
53d472df24d4bc05359120df0615321318922d6d
9ab0e92cff8bb8336cebd9dc68d02d7451ad78e1

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8021>

3 years agoiris: Stop using blorp_hiz_stencil_op
Nanley Chery [Wed, 9 Dec 2020 21:20:26 +0000 (13:20 -0800)]
iris: Stop using blorp_hiz_stencil_op

Delete this function call for two reasons:

1. Calling blorp_hiz_stencil_op within iris_resolve_color seems out of
   place.
2. AFAICT, iris stopped doing STC_CCS resolves with commit
   5b82d8ce8bc681905a8902902fb89151ca32d6c9.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8021>

3 years agoCI: add lavapipe vulkan testing
Dave Airlie [Wed, 19 Aug 2020 03:32:24 +0000 (13:32 +1000)]
CI: add lavapipe vulkan testing

Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7952>

3 years agost/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().
Eric Anholt [Mon, 24 Aug 2020 18:14:52 +0000 (11:14 -0700)]
st/mesa: Replace mesa_to_tgsi() with prog_to_nir() and nir_to_tgsi().

This introduces NIR optimizations to ARB programs in all gallium drivers,
while deleting code.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7927>

3 years agoci: Make sure that osmesa stays warnings-clean in release builds.
Eric Anholt [Thu, 3 Dec 2020 01:10:27 +0000 (17:10 -0800)]
ci: Make sure that osmesa stays warnings-clean in release builds.

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

3 years agomesa: Retire classic OSMesa.
Eric Anholt [Wed, 3 Jul 2019 18:10:32 +0000 (11:10 -0700)]
mesa: Retire classic OSMesa.

The classic OSMesa renders directly into user memory using
src/mesa/swrast, while gallium OSMesa renders using softpipe or llvmpipe
and copies out at glFlush() time.  This would make gallium look like a
worse choice for OSMesa, except that swrast is:

1) Painfully slow to render compared to llvmpipe
2) Incorrect at derivatives
3) Limited to GL 2.1 instead of GL 4.6

In my survey of OSMesa users, debian was the remaining holdout with
classic OSMesa in use on hurd and some rare non-LLVM-supported
architectures (sh4, alpha, etc.).  As of today, they've switched to
softpipe-based gallium OSMesa for them.

To prevent people from running the wrong OSMesa (to the extent that
running OSMesa can ever be the right thing), delete the classic
version.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Closes: #320
Closes: #877
Closes: #2297
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>

3 years agodocs: Fix the documentation of the OSMesa path.
Eric Anholt [Thu, 3 Dec 2020 00:46:06 +0000 (16:46 -0800)]
docs: Fix the documentation of the OSMesa path.

Typo in gallium, along with the fact that gallium's osmesa installs to the
same directory as classic's.

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

3 years agoosmesa/test: Clear the stencil bits in the depth test.
Eric Anholt [Wed, 9 Dec 2020 18:04:10 +0000 (10:04 -0800)]
osmesa/test: Clear the stencil bits in the depth test.

Since the depth buffer starts out as a malloc, and we weren't clearing it,
you could get undefined values in your top 8 bits.  This should fix
intermittent failures of the depth test.

(Sadly, valgrind wasn't catching this, presumably because the 32-bit value
there *is* written, just some bits are left undef)

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1243>

3 years agoaco: Skip TCS s_barrier when VS outputs are not stored in the LDS.
Timur Kristóf [Mon, 23 Nov 2020 08:42:25 +0000 (09:42 +0100)]
aco: Skip TCS s_barrier when VS outputs are not stored in the LDS.

When VS outputs are known to be never stored in LDS, there is no
reason for HS waves to wait for all LS waves to complete. So, the
s_barrier between the LS and HS can be safely skipped.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7727>

3 years agoutil+treewide: container_of() cleanup
Rob Clark [Sat, 5 Dec 2020 19:56:45 +0000 (11:56 -0800)]
util+treewide: container_of() cleanup

Replace mesa's slightly different container_of() with one more aligned
to the linux kernel's version which takes a type as the 2nd param.  This
avoids warnings like:

  freedreno_context.c:396:44: warning: variable 'batch' is uninitialized when used within its own initialization [-Wuninitialized]

At the same time, we can add additional build-time type-checking asserts

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>

3 years agoutil: Allow STATIC_ASSERT() everywhere
Rob Clark [Sat, 5 Dec 2020 20:46:43 +0000 (12:46 -0800)]
util: Allow STATIC_ASSERT() everywhere

Remove -Werror=vla from c_msvc_compat_args so we can use STATIC_ASSERT()
in core code.  We have a CI job for this.

(And arguably we could probably just drop c_msvc_compat_args entirely.)

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>

3 years agoutil: Promote __builtin_types_compatible_p compat
Rob Clark [Sat, 5 Dec 2020 19:26:44 +0000 (11:26 -0800)]
util: Promote __builtin_types_compatible_p compat

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7941>

3 years agoswr: fix crashes caused by incorrectly reporting SSBO support
jzielins [Thu, 10 Dec 2020 11:15:33 +0000 (12:15 +0100)]
swr: fix crashes caused by incorrectly reporting SSBO support

Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8036>

3 years agoci: Only run the sanity job if there's a MR
Tomeu Vizoso [Thu, 10 Dec 2020 11:48:32 +0000 (12:48 +0100)]
ci: Only run the sanity job if there's a MR

As it will fail right away if there isn't, and that prevents the CI to
run on people's branches.

$ ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request.xml
ERROR: No open merge request against mesa/mesa with sha 9f6aba4be0ceb59d35732651cc44f676e93b70b5

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Fixes: d4151f2e ("ci: Run sanity job only in pre-merge pipelines")
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8032>

3 years agozink: remove useless import in zink_device_info.py
Hoe Hao Cheng [Thu, 26 Nov 2020 14:06:27 +0000 (22:06 +0800)]
zink: remove useless import in zink_device_info.py

Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>

3 years agozink: move blend_operation_advanced conditions to zink_device_info.py
Hoe Hao Cheng [Tue, 24 Nov 2020 17:56:56 +0000 (01:56 +0800)]
zink: move blend_operation_advanced conditions to zink_device_info.py

Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>

3 years agozink: decouple features and enabling conditions in zink_device_info.py
Hoe Hao Cheng [Tue, 24 Nov 2020 17:40:30 +0000 (01:40 +0800)]
zink: decouple features and enabling conditions in zink_device_info.py

replace `have_feature` with `conditions` and add `features=True`
to places where `have_feature` was used.

Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>

3 years agozink: define and use <%guard> helper in zink_device_info
Hoe Hao Cheng [Tue, 24 Nov 2020 17:01:52 +0000 (01:01 +0800)]
zink: define and use <%guard> helper in zink_device_info

this is an attempt to improve readability of the template code, with
the elimination of excessive whitespace as a bonus.

Acked-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7756>

3 years agoci: Move deploy stage to the end of the pipeline
Michel Dänzer [Sat, 5 Dec 2020 09:15:38 +0000 (10:15 +0100)]
ci: Move deploy stage to the end of the pipeline

This should make more important jobs visible without scrolling on
pipeline pages.

The deploy stage jobs only depend on the sanity job or none at all, so
this has no impact on when the former can run.

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

3 years agoci: Run sanity job only in pre-merge pipelines
Michel Dänzer [Thu, 3 Dec 2020 17:25:54 +0000 (18:25 +0100)]
ci: Run sanity job only in pre-merge pipelines

It's more of a nuisance than useful for forked branches.

This means the test-docs job can no longer have a direct dependency on
sanity for forked branches, so split it up into two jobs: one for
pre-merge pipelines, one for forked branches.

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

3 years agoegl/wayland: remove libwayland < 1.18 workaround
Simon Ser [Wed, 25 Nov 2020 13:07:34 +0000 (14:07 +0100)]
egl/wayland: remove libwayland < 1.18 workaround

Require libwayland 1.18 and remove the workaround for
WL_SHM_FORMAT_{A,X}BGR16161616F.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7771>

3 years agozink: use _mesa_pointer_set_create for simplicity
Erik Faye-Lund [Tue, 8 Dec 2020 11:43:32 +0000 (12:43 +0100)]
zink: use _mesa_pointer_set_create for simplicity

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7985>

3 years agozink: fail if set failed to create
Erik Faye-Lund [Tue, 8 Dec 2020 11:45:23 +0000 (12:45 +0100)]
zink: fail if set failed to create

Fixes: a03d17ede77 ("zink: refcount zink_gfx_program objects")

Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7985>

3 years agogallium/u_threaded: set has_user_indices = false for merged draws
Pierre-Eric Pelloux-Prayer [Wed, 9 Dec 2020 16:39:52 +0000 (17:39 +0100)]
gallium/u_threaded: set has_user_indices = false for merged draws

Fixes an assert when running this piglit test:
   arb_shader_draw_parameters-drawid-single-draw

Fixes: 351ba767afe ("gallium/u_threaded: set has_user_indices = false in the driver thread")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8004>

3 years agoradeonsi: fix si_get_draw_start_count count value
Pierre-Eric Pelloux-Prayer [Wed, 9 Dec 2020 12:51:48 +0000 (13:51 +0100)]
radeonsi: fix si_get_draw_start_count count value

Fixes: 0ce68852c1a ("radeonsi: implement multi_draw but supporting only 1 draw")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3932
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8004>

3 years agoci: .lava-test:amd64 template needs arm_build
Michel Dänzer [Wed, 9 Dec 2020 10:02:09 +0000 (11:02 +0100)]
ci: .lava-test:amd64 template needs arm_build

It uses the arm_build image, but didn't depend on the job which ensures
it exists. So jobs using the template could run before the arm_build job
had finished, and fail if the image didn't exist.

Fixes: 6c8b921572a5 "ci: Build kernels and rootfs for x86 devices"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3632
Reviewed-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8003>

3 years agodocs: Adapt to FDO_DISTRIBUTION_TAG → MESA_IMAGE_TAG rename
Michel Dänzer [Tue, 8 Dec 2020 16:22:28 +0000 (17:22 +0100)]
docs: Adapt to FDO_DISTRIBUTION_TAG → MESA_IMAGE_TAG rename

Fixes: 0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>

3 years agoci: Adapt armhf_test job to MESA_TEMPLATES_COMMIT related changes
Michel Dänzer [Tue, 8 Dec 2020 16:18:47 +0000 (17:18 +0100)]
ci: Adapt armhf_test job to MESA_TEMPLATES_COMMIT related changes

I missed this before somehow.

Fixes: 0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>

3 years agoci: Add .use-base-image template
Michel Dänzer [Mon, 7 Dec 2020 08:51:16 +0000 (09:51 +0100)]
ci: Add .use-base-image template

And use it in jobs for images using another Mesa image as their base.

Should fix the build of images which don't use another Mesa image as
their base (by no longer setting the FDO_BASE_IMAGE variable).

Fixes: 0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Acked-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>

3 years agoci: Move BASE_TAG expansion to FDO_BASE_IMAGE assignment
Michel Dänzer [Mon, 7 Dec 2020 08:35:53 +0000 (09:35 +0100)]
ci: Move BASE_TAG expansion to FDO_BASE_IMAGE assignment

This fixes the build of images which use another Mesa image as the base.

v2:
* Move $CI_REGISTRY_IMAGE expansion into FDO_BASE_IMAGE assignment as
  well (Dave Airlie)

Fixes: 0781d9825b31 "ci: Append $MESA_TEMPLATES_COMMIT to image tags"
Reported-by: Dave Airlie <airlied@redhat.com>
Acked-by: Eric Anholt <eric@anholt.net> # v1
Reviewed-by: Andres Gomez <agomez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7957>

3 years agoanv: fix calculation of buffer size in case dynamic size is used
Tapani Pälli [Wed, 4 Nov 2020 09:11:41 +0000 (11:11 +0200)]
anv: fix calculation of buffer size in case dynamic size is used

VK spec got clarification about the pSizes parameter.

Fixes set of new tests:
   dEQP-VK.pipeline.extended_dynamic_state*with_offset*

v2: move offset subtract to be part of size calculation (Jason)

CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3871
Fixes: b9a05447a19 ("anv: dynamic vertex input binding stride and size support")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7439>

3 years agolavapipe: implement VK_EXT_vertex_attribute_divisor (v2)
Erik Faye-Lund [Fri, 4 Dec 2020 19:21:51 +0000 (20:21 +0100)]
lavapipe: implement VK_EXT_vertex_attribute_divisor (v2)

This is more or less just compile-tested, but this seems about right to
me. I see the extension being supported when running on top of Zink,
which makes me happy enough for now ;)

v2: fixed up to copy the structs on pipeline create [airlied]
gallium doesn't support the 0 divisor case yet.

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