platform/upstream/mesa.git
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>

3 years agolavapipe: interpret inputRate as an enum-value
Erik Faye-Lund [Fri, 4 Dec 2020 18:45:00 +0000 (19:45 +0100)]
lavapipe: interpret inputRate as an enum-value

This isn't an integer, it's an enum, We need to support
VK_EXT_vertex_attribute_divisor if we want to support using values other
than 0 and 1 here.

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

3 years agolavapipe: don't copy pNext
Dave Airlie [Mon, 7 Dec 2020 23:35:01 +0000 (09:35 +1000)]
lavapipe: don't copy pNext

We have to ignore unknown structs, so don't init the deep copy pNext
with the src.

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

3 years agolavapipe: split out pipeline struct duplication to a macro.
Dave Airlie [Mon, 7 Dec 2020 23:34:14 +0000 (09:34 +1000)]
lavapipe: split out pipeline struct duplication to a macro.

This just pulls a common pattern into a macro.

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

3 years agolavapipe: use ralloc for pipeline copies.
Dave Airlie [Mon, 7 Dec 2020 22:31:58 +0000 (08:31 +1000)]
lavapipe: use ralloc for pipeline copies.

We have to store every struct that is in the pipeline for processing
later, use ralloc to make freeing this mess easier.

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

3 years agoiris: Drop res variable in resolve_sampler_views
Nanley Chery [Tue, 8 Dec 2020 18:32:29 +0000 (10:32 -0800)]
iris: Drop res variable in resolve_sampler_views

Instead of storing isv->res in a local variable, just use it directly to
increase consistency with similar field accesses.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7996>

3 years agoiris: Fix resource ptr in resolve_sampler_views
Nanley Chery [Tue, 8 Dec 2020 18:27:14 +0000 (10:27 -0800)]
iris: Fix resource ptr in resolve_sampler_views

Use the sampler view's iris_resource instead of its pipe_resource. For
stencil views of a depth-stencil resource, this enables the stencil
resource to cause a depth cache flush when needed.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3287
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7996>

3 years agosoftpipe: Fix swizzled texture gather of int textures.
Eric Anholt [Wed, 9 Dec 2020 19:33:16 +0000 (11:33 -0800)]
softpipe: Fix swizzled texture gather of int textures.

We need to pick 1u vs 1.0f based on the type of the texture, just like for
normal samples.  Move the decision up to the create_sampler_view, and use
that value from both sampler paths.

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

3 years agoradeonsi: use a C++ template to decrease draw_vbo overhead by 13 %
Marek Olšák [Wed, 26 Aug 2020 04:16:23 +0000 (00:16 -0400)]
radeonsi: use a C++ template to decrease draw_vbo overhead by 13 %

With GALLIUM_THREAD=0 to disable draw merging.

Before:
   1, DrawElements ( 1 VBO| 0 UBO|  0    ) w/ no state change,                 8736

After:
   1, DrawElements ( 1 VBO| 0 UBO|  0    ) w/ no state change,                10059

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

3 years agoradeonsi: rename si_state_draw.c to .cpp
Marek Olšák [Wed, 26 Aug 2020 02:51:03 +0000 (22:51 -0400)]
radeonsi: rename si_state_draw.c to .cpp

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

3 years agoradeonsi: resolve a tricky C++ failure with goto jumping over initializations
Marek Olšák [Wed, 26 Aug 2020 02:35:29 +0000 (22:35 -0400)]
radeonsi: resolve a tricky C++ failure with goto jumping over initializations

C++ doesn't allow jumping over variable initializations, so we have to use
a macro.

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

3 years agoradeonsi: fix future C++ compile failures and warnings
Marek Olšák [Wed, 26 Aug 2020 02:30:55 +0000 (22:30 -0400)]
radeonsi: fix future C++ compile failures and warnings

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

3 years agoradeonsi: allow including a few files from C++
Marek Olšák [Wed, 26 Aug 2020 02:50:30 +0000 (22:50 -0400)]
radeonsi: allow including a few files from C++

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

3 years agoamd/llvm: fix C++ compile failures
Marek Olšák [Wed, 26 Aug 2020 02:29:15 +0000 (22:29 -0400)]
amd/llvm: fix C++ compile failures

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

3 years agogallium/util: allow including a few files in C++
Marek Olšák [Wed, 26 Aug 2020 02:49:31 +0000 (22:49 -0400)]
gallium/util: allow including a few files in C++

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

3 years agocompiler: fix glsl_types.h compile failures when including as C++ in drivers
Marek Olšák [Wed, 26 Aug 2020 02:28:23 +0000 (22:28 -0400)]
compiler: fix glsl_types.h compile failures when including as C++ in drivers

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

3 years agoac/llvm: handle no_(un)signed_wrap NIR flags
Marek Olšák [Wed, 9 Dec 2020 00:25:51 +0000 (19:25 -0500)]
ac/llvm: handle no_(un)signed_wrap NIR flags

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>

3 years agoac: unify shader arguments that are duplicated
Marek Olšák [Tue, 8 Dec 2020 23:51:57 +0000 (18:51 -0500)]
ac: unify shader arguments that are duplicated

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7939>

3 years agoradeonsi: move si_llvm_compiler_shader and deps into si_shader_llvm.c
Marek Olšák [Fri, 4 Dec 2020 17:34:55 +0000 (12:34 -0500)]
radeonsi: move si_llvm_compiler_shader and deps into si_shader_llvm.c

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

3 years agoradeonsi: move si_build_main_function into si_shader_llvm.c
Marek Olšák [Fri, 4 Dec 2020 17:17:45 +0000 (12:17 -0500)]
radeonsi: move si_build_main_function into si_shader_llvm.c

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

3 years agoradeonsi: move si_create_function into si_shader_llvm.c
Marek Olšák [Fri, 4 Dec 2020 17:17:45 +0000 (12:17 -0500)]
radeonsi: move si_create_function into si_shader_llvm.c

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

3 years agoradeonsi: split ac_shader_args initialization from LLVM code
Marek Olšák [Fri, 4 Dec 2020 16:22:14 +0000 (11:22 -0500)]
radeonsi: split ac_shader_args initialization from LLVM code

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

3 years agoac: add shader return values into ac_shader_args
Marek Olšák [Fri, 4 Dec 2020 16:19:16 +0000 (11:19 -0500)]
ac: add shader return values into ac_shader_args

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

3 years agoac: correct ac_shader_args types, remove sgpr_count
Marek Olšák [Fri, 4 Dec 2020 16:17:58 +0000 (11:17 -0500)]
ac: correct ac_shader_args types, remove sgpr_count

sgpr_count is unused. The size of the others is too small.

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

3 years agoradeonsi: fix a crash in si_fence_server_sync
Marek Olšák [Wed, 9 Dec 2020 19:41:13 +0000 (14:41 -0500)]
radeonsi: fix a crash in si_fence_server_sync

Fixes: 1f31a216640 - radeonsi: remove SDMA support

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