platform/upstream/mesa.git
2 years agomesa: track format swizzles on teximage objects
Mike Blumenkrantz [Mon, 1 Aug 2022 14:00:01 +0000 (10:00 -0400)]
mesa: track format swizzles on teximage objects

this will only very rarely change, so stop calculating it during sampler update

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

2 years agozink: add a driver workaround for broken L4A4 on nvidia
Mike Blumenkrantz [Wed, 3 Aug 2022 20:33:10 +0000 (16:33 -0400)]
zink: add a driver workaround for broken L4A4 on nvidia

KHR-GLES2.core.internalformat.copy_tex_image.luminance4_alpha4_oes,Fail
KHR-GLES2.core.internalformat.texture2d.luminance_alpha_unsigned_byte_luminance4_alpha4_oes,Fail

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

2 years agozink: support emulating alpha formats using new border color quirk
Mike Blumenkrantz [Tue, 2 Aug 2022 12:34:12 +0000 (08:34 -0400)]
zink: support emulating alpha formats using new border color quirk

this works for texturing only because swizzles can be used

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

2 years agozink: handle emulated alpha format clears
Mike Blumenkrantz [Tue, 2 Aug 2022 12:33:02 +0000 (08:33 -0400)]
zink: handle emulated alpha format clears

technically zink doesn't support this, but mesa/st doesn't care what drivers
support for clears

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

2 years agozink: reject native blits for emulated alpha formats
Mike Blumenkrantz [Tue, 2 Aug 2022 12:31:56 +0000 (08:31 -0400)]
zink: reject native blits for emulated alpha formats

these need u_blitter

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

2 years agozink: add some format functions for emulating alpha formats
Mike Blumenkrantz [Tue, 2 Aug 2022 12:31:33 +0000 (08:31 -0400)]
zink: add some format functions for emulating alpha formats

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

2 years agozink: stop modifying samplerview swizzle on base struct
Mike Blumenkrantz [Thu, 21 Jul 2022 16:59:19 +0000 (12:59 -0400)]
zink: stop modifying samplerview swizzle on base struct

this gets (stupidly?) checked in mesa/st, so changing it might trigger
erroneous asserts

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

2 years agoutil/format: handle SRGB in util_format_luminance_to_red()
Mike Blumenkrantz [Wed, 20 Jul 2022 20:29:43 +0000 (16:29 -0400)]
util/format: handle SRGB in util_format_luminance_to_red()

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

2 years agogallium: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_ALPHA_NOT_W
Mike Blumenkrantz [Thu, 21 Jul 2022 15:42:28 +0000 (11:42 -0400)]
gallium: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_ALPHA_NOT_W

mesa/gallium and util_format have different handling of alpha channels:
* mesa/gallium always uses w for the alpha swizzle
* util_format uses the actual component

for drivers which need to use the latter handling, this quirk will use the right
border color

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

2 years agogallium: convert PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE to enum
Mike Blumenkrantz [Thu, 21 Jul 2022 14:15:56 +0000 (10:15 -0400)]
gallium: convert PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE to enum

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

2 years agomesa/st: use plumbed value for srgb_skip_decode in sampler conversion
Mike Blumenkrantz [Thu, 21 Jul 2022 15:41:55 +0000 (11:41 -0400)]
mesa/st: use plumbed value for srgb_skip_decode in sampler conversion

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

2 years agomesa/st: plumb glsl130_or_later through sampler creation
Mike Blumenkrantz [Thu, 21 Jul 2022 13:55:44 +0000 (09:55 -0400)]
mesa/st: plumb glsl130_or_later through sampler creation

no functional changes

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

2 years agomesa/st: add ignore_srgb_decode param to st_convert_sampler
Mike Blumenkrantz [Thu, 21 Jul 2022 13:27:30 +0000 (09:27 -0400)]
mesa/st: add ignore_srgb_decode param to st_convert_sampler

same as st_get_texture_sampler_view_from_stobj, no functional changes

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

2 years agomesa: require render target bind for A/L/I in format selection
Mike Blumenkrantz [Tue, 2 Aug 2022 13:24:35 +0000 (09:24 -0400)]
mesa: require render target bind for A/L/I in format selection

these are required framebuffer formats in certain versions of GL,
so don't create a texture that can't later be bound to a framebuffer

see also spec@!opengl 3.0@required-texture-attachment-formats

cc: mesa-stable

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

2 years agomesa: fix blending when using luminance/intensity emulation
Mike Blumenkrantz [Tue, 9 Aug 2022 20:56:08 +0000 (16:56 -0400)]
mesa: fix blending when using luminance/intensity emulation

neither of these have a real alpha channel, so reuse the xrgb blend
clamping here to ensure the "right" alpha value is used

cc: mesa-stable

fixes:
spec@arb_texture_float@fbo-blending-formats

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

2 years ago.mailmap: change spelling for Constantine Kharlamov
Konstantin Kharlamov [Wed, 10 Aug 2022 00:20:19 +0000 (03:20 +0300)]
.mailmap: change spelling for Constantine Kharlamov

The officially used spelling is Konstantin and I've been using it
everywhere for quite some time, so let's change it here as well

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974>

2 years agomeson: remove source_root() call in main meson.build
Konstantin Kharlamov [Tue, 9 Aug 2022 23:53:18 +0000 (02:53 +0300)]
meson: remove source_root() call in main meson.build

source_root function is deprecated in Meson version 0.56.0, so let's use
instead a current_source_dir() function, available in all Meson
versions.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974>

2 years agomeson: remove source_root() call in nir compiler path
Konstantin Kharlamov [Tue, 9 Aug 2022 23:04:51 +0000 (02:04 +0300)]
meson: remove source_root() call in nir compiler path

source_root function is deprecated in Meson version 0.56.0, so let's use
instead a current_source_dir() function, available in all Meson
versions. This also allows to deduplicate some code by declaring
commonly used string at the top meson.build file.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974>

2 years agoloader/dri3: remove a no-op free call
Konstantin Kharlamov [Tue, 9 Aug 2022 22:24:39 +0000 (01:24 +0300)]
loader/dri3: remove a no-op free call

When modifiers == NULL, the free(modifiers) is a no-op, so we can just
remove it

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974>

2 years agoloader/dri3: simplify check for reply
Konstantin Kharlamov [Tue, 9 Aug 2022 22:18:16 +0000 (01:18 +0300)]
loader/dri3: simplify check for reply

if reply == NULL, the call `free(reply)` is a no-op, so we can have a
single check instead of two.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974>

2 years agoisl: fix bug where sb.MOCS is not being set
sjfricke [Wed, 10 Aug 2022 12:15:27 +0000 (21:15 +0900)]
isl: fix bug where sb.MOCS is not being set

Currently the sb.MOCS is being reset to zero after struct init.

Signed-off-by: sjfricke <spencerfricke@gmail.com>
Fixes: c27fcb1d3ba ("isl: Fill in MOCS for NULL depth, stencil, and HiZ buffers.")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17985>

2 years agoglsl: add check for too large atomic counter buffer offset
Tapani Pälli [Fri, 5 Aug 2022 08:00:27 +0000 (11:00 +0300)]
glsl: add check for too large atomic counter buffer offset

Fixes upcoming CTS test for atomic counter buffer offsets.

   "It's being clarified that placing an atomic counter into
    a buffer at such an offset that the buffer is too large
    results in a compilation error."

https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3124

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17905>

2 years agopvr: fix memleak in error paths
Eric Engestrom [Fri, 12 Aug 2022 08:31:20 +0000 (09:31 +0100)]
pvr: fix memleak in error paths

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18027>

2 years agoAndroid.mk: Disable lmsensors
Alessandro Astone [Thu, 7 Jul 2022 08:34:37 +0000 (10:34 +0200)]
Android.mk: Disable lmsensors

Meson might incorrectly enable sensors if it detects lmsensors
on the host system.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6805
Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17391>

2 years agoutil/xmlconfig: allow drivers to override option values
Marek Olšák [Wed, 10 Aug 2022 00:41:01 +0000 (20:41 -0400)]
util/xmlconfig: allow drivers to override option values

This corrects the issue that we can't have DRI_CONF_MESA_GLTHREAD(false)
in gallium and then DRI_CONF_MESA_GLTHREAD(true) in drivers.

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

2 years agoglthread: add missing code for GL_ARB_sparse_texture
Marek Olšák [Wed, 10 Aug 2022 01:23:22 +0000 (21:23 -0400)]
glthread: add missing code for GL_ARB_sparse_texture

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

2 years agoglthread: track glBindFramebufferEXT, not just glBindFramebuffer
Marek Olšák [Tue, 9 Aug 2022 23:46:37 +0000 (19:46 -0400)]
glthread: track glBindFramebufferEXT, not just glBindFramebuffer

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

2 years agoglthread: track GL_READ_FRAMEBUFFER bindings too
Marek Olšák [Tue, 9 Aug 2022 23:45:08 +0000 (19:45 -0400)]
glthread: track GL_READ_FRAMEBUFFER bindings too

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

2 years agoglthread: call _mesa_glthread_DeleteBuffers unconditionally
Marek Olšák [Tue, 9 Aug 2022 23:15:35 +0000 (19:15 -0400)]
glthread: call _mesa_glthread_DeleteBuffers unconditionally

Deleted buffers were not unbound in glthread.

Fixes: 4fa24747b9089b - glthread: call _mesa_glthread_BindBuffer unconditionally

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

2 years agoglthread: unbind framebuffers in glDeleteFramebuffers
Marek Olšák [Tue, 9 Aug 2022 23:10:35 +0000 (19:10 -0400)]
glthread: unbind framebuffers in glDeleteFramebuffers

Tests:
    dEQP-GLES2.functional.lifetime.delete_bound.framebuffer
    dEQP-GLES2.functional.state_query.integers.framebuffer_binding_getinteger

Fixes: e48f676835d - glthread: don't sync for more glGetIntegerv enums for glretrace

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

2 years agoglsl: allow image*Shadow keywords on ES and GLSL >= 420
Tapani Pälli [Fri, 5 Aug 2022 06:15:04 +0000 (09:15 +0300)]
glsl: allow image*Shadow keywords on ES and GLSL >= 420

These were not reserved keywords in GLSL ES and also allowed on
desktop GLSL after 420. New CTS compiler tests will test this.

https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3007

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17904>

2 years agointel/drm-shim: update shim to support DG2
Lionel Landwerlin [Thu, 11 Aug 2022 10:25:17 +0000 (13:25 +0300)]
intel/drm-shim: update shim to support DG2

We were missing :
  * GEM_CREATE_EXT (for local memory allocations)
  * MMAP_OFFSET (new version of mmap required on DG2)
  * GEOMETRY_SUBSLICE query (also required on DG2)

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

2 years agomesa/st: fix reference to nir->info after nir_to_tgsi
Charmaine Lee [Tue, 9 Aug 2022 01:02:30 +0000 (18:02 -0700)]
mesa/st: fix reference to nir->info after nir_to_tgsi

The nir shader memory is freed in nir_to_tgsi(), but the already
freed shader info is referenced later when create compute state.
To avoid referencing the freed memory, copy the shader info first before
calling nir_to_tgsi.

Fixes vmx crash running aztec on SVGA driver.
Fixes: 580f1ac4736 ("nir: Extract shader_info->cs.shared_size out of union")

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

2 years agosvga: compare graphics shader stages against COMPUTE
Charmaine Lee [Thu, 11 Aug 2022 04:52:19 +0000 (21:52 -0700)]
svga: compare graphics shader stages against COMPUTE

This patch fixes the graphics shader stage comparisons that are left out in
commit 9bbf235fd9d.

Fixes: 9bbf235fd9d ("svga: compare shader type against compute not tess eval")

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

2 years agoradv: Fix stack size calculation with stage ids
Konstantin Seurer [Mon, 8 Aug 2022 10:37:42 +0000 (12:37 +0200)]
radv: Fix stack size calculation with stage ids

In create_rt_shader, we were setting group_idx to the stage index before.

Fixes the following tests:

dEQP-VK.ray_query.builtin.instancecustomindex.miss.aabbs
dEQP-VK.ray_query.builtin.objectrayorigin.miss.triangles

Fixes: c39ccce ("radv/rt: use stage ID as handle for general and closestHit shaders")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17936>

2 years agoetnaviv: fix standalone compiler to work without a tgsi backend
Italo Nicola [Fri, 29 Jul 2022 20:34:02 +0000 (17:34 -0300)]
etnaviv: fix standalone compiler to work without a tgsi backend

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17810>

2 years agoetnaviv: skip disk cache initialization on standalone compiler
Italo Nicola [Fri, 29 Jul 2022 20:32:12 +0000 (17:32 -0300)]
etnaviv: skip disk cache initialization on standalone compiler

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17810>

2 years agomicrosoft/compiler: Change calls to NIR_INSTR_UNSUPPORTED to log to dxil_logger instead
Michael Tang [Tue, 5 Oct 2021 22:33:26 +0000 (15:33 -0700)]
microsoft/compiler: Change calls to NIR_INSTR_UNSUPPORTED to log to dxil_logger instead

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

2 years agonir: add nir_instr_as_str
Michael Tang [Tue, 5 Oct 2021 22:32:33 +0000 (15:32 -0700)]
nir: add nir_instr_as_str

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

2 years agomicrosoft/compiler: Add dxil_logger type and parameter to nir_to_dxil
Michael Tang [Fri, 8 Oct 2021 22:23:35 +0000 (15:23 -0700)]
microsoft/compiler: Add dxil_logger type and parameter to nir_to_dxil

v2 (jenatali): Add a default logger which aborts via unreachable,
and use NULL from GL/Vulkan to use the default logger.

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

2 years agoradv: copy the sample locations only if the state isn't dynamic
Samuel Pitoiset [Thu, 11 Aug 2022 12:22:38 +0000 (14:22 +0200)]
radv: copy the sample locations only if the state isn't dynamic

If user sample locations is enabled and the state is dynamic we don't
have to copy them to the dynamic state struct.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007>

2 years agoradv: copy line stipple factor/pattern only if the state isn't dynamic
Samuel Pitoiset [Thu, 11 Aug 2022 12:13:02 +0000 (14:13 +0200)]
radv: copy line stipple factor/pattern only if the state isn't dynamic

If line stipple is enabled and the state is dynamic we don't have to
copy factor/pattern to the dynamic state struct.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007>

2 years agoradv: remove unecessary radv_pipeline::uses_dynamic_stride
Samuel Pitoiset [Thu, 11 Aug 2022 12:29:03 +0000 (14:29 +0200)]
radv: remove unecessary radv_pipeline::uses_dynamic_stride

We can just rely on the dynamic states.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007>

2 years agoanv: don't return incorrect error code for vkCreateDescriptorPool
Lionel Landwerlin [Mon, 8 Aug 2022 19:01:28 +0000 (22:01 +0300)]
anv: don't return incorrect error code for vkCreateDescriptorPool

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7013
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17945>

2 years agoradv: force inlining on another draw function
Mike Blumenkrantz [Wed, 10 Aug 2022 18:43:57 +0000 (14:43 -0400)]
radv: force inlining on another draw function

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17993>

2 years agoradv: remove stupid conditional from draw path
Mike Blumenkrantz [Wed, 10 Aug 2022 18:43:22 +0000 (14:43 -0400)]
radv: remove stupid conditional from draw path

compilers are now provably smart enough to handle this

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

2 years agoradeonsi/tests: cosmetic changes
Pierre-Eric Pelloux-Prayer [Mon, 8 Aug 2022 14:07:08 +0000 (16:07 +0200)]
radeonsi/tests: cosmetic changes

Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907>

2 years agoradeonsi/tests: update navi21 expected results
Pierre-Eric Pelloux-Prayer [Mon, 8 Aug 2022 14:00:29 +0000 (16:00 +0200)]
radeonsi/tests: update navi21 expected results

Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907>

2 years agoradeonsi/tests: update raven expected results
Pierre-Eric Pelloux-Prayer [Fri, 5 Aug 2022 08:56:07 +0000 (10:56 +0200)]
radeonsi/tests: update raven expected results

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907>

2 years agoradeonsi/tests: add testing of the khr-single tests
Pierre-Eric Pelloux-Prayer [Fri, 5 Aug 2022 08:55:04 +0000 (10:55 +0200)]
radeonsi/tests: add testing of the khr-single tests

This is similar to what's done in !17876.

KHR-Single-GL46.arrays_of_arrays_gl.AtomicUsage is only executed when
--slow is used because it takes about 200 seconds.

Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907>

2 years agoradeonsi/tests: remove left-over debug print
Pierre-Eric Pelloux-Prayer [Fri, 5 Aug 2022 08:54:26 +0000 (10:54 +0200)]
radeonsi/tests: remove left-over debug print

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907>

2 years agovirgl: add support for hardware video acceleration
Feng Jiang [Mon, 20 Jun 2022 07:10:58 +0000 (15:10 +0800)]
virgl: add support for hardware video acceleration

Currently H.264 and H.265 decoding is supported, and other profiles
and encodings will be added in the future.

This function relies on the virglrenderer commit:
a92fed821f5ac173ca82c011a5d7e5b25e7bd0eb

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Signed-off-by: Ming Xie <xieming@kylinos.cn>
Signed-off-by: Liming Sun <sunliming@kylinos.cn>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157>

2 years agogallium/util: add a new helper function pipe_buffer_size()
Feng Jiang [Mon, 20 Jun 2022 06:35:35 +0000 (14:35 +0800)]
gallium/util: add a new helper function pipe_buffer_size()

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Liming Sun <sunliming@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157>

2 years agovl: change vl_video_buffer_destroy() to non-static
Feng Jiang [Mon, 20 Jun 2022 06:30:08 +0000 (14:30 +0800)]
vl: change vl_video_buffer_destroy() to non-static

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Ming Xie <xieming@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157>

2 years agogallium: add key size to the structure pipe_picture_desc
Feng Jiang [Mon, 20 Jun 2022 06:22:28 +0000 (14:22 +0800)]
gallium: add key size to the structure pipe_picture_desc

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Reviewed-by: Liming Sun <sunliming@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157>

2 years agopvr: Fix bo mapping on alloc with PVR_BO_ALLOC_FLAG_CPU_ACCESS.
Karmjit Mahil [Mon, 8 Aug 2022 15:24:41 +0000 (16:24 +0100)]
pvr: Fix bo mapping on alloc with PVR_BO_ALLOC_FLAG_CPU_ACCESS.

If PVR_BO_ALLOC_FLAG_CPU_ACCESS was specified when calling
pvr_bo_alloc() the new bo was also being cpu mapped while this
was not the intention as the PVR_BO_ALLOC_FLAG_CPU_MAPPED is meant
to be used for that purpose. Fixed in this commit.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17984>

2 years agonouveau: implement and enable PIPE_CAP_QUERY_MEMORY_INFO
Yusuf Khan [Sun, 7 Aug 2022 21:35:11 +0000 (17:35 -0400)]
nouveau: implement and enable PIPE_CAP_QUERY_MEMORY_INFO

Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17931>

2 years agoegl/wgl: Fix some awkward sizeof formatting
Jesse Natalie [Wed, 10 Aug 2022 20:16:45 +0000 (13:16 -0700)]
egl/wgl: Fix some awkward sizeof formatting

Fixes: 3415bf02 ("egl: Add a basic Windows driver")
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Delete unused variables/code
Jesse Natalie [Thu, 28 Apr 2022 17:41:12 +0000 (10:41 -0700)]
egl/wgl: Delete unused variables/code

Fixes: 3415bf02 ("egl: Add a basic Windows driver")
Suggested-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agowgl: Use pfi instead of iPixelFormat more often
Jesse Natalie [Tue, 21 Sep 2021 22:33:26 +0000 (15:33 -0700)]
wgl: Use pfi instead of iPixelFormat more often

Also, support config-less contexts, and surface-less contexts.

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Support sync objects
Jesse Natalie [Tue, 21 Sep 2021 17:43:07 +0000 (10:43 -0700)]
egl/wgl: Support sync objects

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Support EGL_MESA_query_driver
Jesse Natalie [Tue, 21 Sep 2021 16:42:16 +0000 (09:42 -0700)]
egl/wgl: Support EGL_MESA_query_driver

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Hook up image validate/get in smapi
Jesse Natalie [Tue, 21 Sep 2021 16:21:42 +0000 (09:21 -0700)]
egl/wgl: Hook up image validate/get in smapi

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Use a per-display st_manager
Jesse Natalie [Tue, 21 Sep 2021 16:00:29 +0000 (09:00 -0700)]
egl/wgl: Use a per-display st_manager

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agowgl: Pass smapi explicitly to framebuffer creation
Jesse Natalie [Tue, 21 Sep 2021 15:45:04 +0000 (08:45 -0700)]
wgl: Pass smapi explicitly to framebuffer creation

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agowgl: Pass smapi explicitly to context creation
Jesse Natalie [Tue, 21 Sep 2021 15:39:23 +0000 (08:39 -0700)]
wgl: Pass smapi explicitly to context creation

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl,wgl: Support eglCreateImageKHR
Jesse Natalie [Mon, 20 Sep 2021 22:24:19 +0000 (15:24 -0700)]
egl,wgl: Support eglCreateImageKHR

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Support eglWaitNative
Jesse Natalie [Mon, 20 Sep 2021 16:51:01 +0000 (09:51 -0700)]
egl/wgl: Support eglWaitNative

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Support eglWaitClient
Jesse Natalie [Mon, 20 Sep 2021 16:49:48 +0000 (09:49 -0700)]
egl/wgl: Support eglWaitClient

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Support eglSwapInterval
Jesse Natalie [Mon, 20 Sep 2021 16:41:52 +0000 (09:41 -0700)]
egl/wgl: Support eglSwapInterval

Note, eglSwapInterval spec says "The default swap interval is 1."

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agowgl: Allow per-framebuffer swap interval overrides
Jesse Natalie [Mon, 20 Sep 2021 16:39:55 +0000 (09:39 -0700)]
wgl: Allow per-framebuffer swap interval overrides

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Implement bind/release texture buffer
Jesse Natalie [Sat, 18 Sep 2021 01:54:19 +0000 (18:54 -0700)]
egl/wgl: Implement bind/release texture buffer

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Set YInvert attribute to always true
Jesse Natalie [Sat, 18 Sep 2021 01:54:02 +0000 (18:54 -0700)]
egl/wgl: Set YInvert attribute to always true

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Implement PBuffer surfaces
Jesse Natalie [Thu, 16 Sep 2021 21:43:02 +0000 (14:43 -0700)]
egl/wgl: Implement PBuffer surfaces

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agowgl: Split pbuffer creation into two functions
Jesse Natalie [Thu, 16 Sep 2021 20:31:04 +0000 (13:31 -0700)]
wgl: Split pbuffer creation into two functions

One creates a window and framebuffer, the other deals with
wgl-specific attribute parsing and GDI interactions.

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Implement QuerySurface
Jesse Natalie [Thu, 16 Sep 2021 18:52:05 +0000 (11:52 -0700)]
egl/wgl: Implement QuerySurface

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoegl/wgl: Don't require a native display to support window surfaces
Jesse Natalie [Fri, 24 Sep 2021 15:41:05 +0000 (08:41 -0700)]
egl/wgl: Don't require a native display to support window surfaces

Found a Windows EGL/GLES app that inits EGL without a native display,
and then creates a window surface from that EGL display:
https://github.com/danginsburg/opengles3-book/

Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Sidney Just <justsid@x-plane.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>

2 years agoc11: Implement and use of thrd_current properly on win32
Yonggang Luo [Tue, 19 Apr 2022 20:13:25 +0000 (04:13 +0800)]
c11: Implement and use of thrd_current properly on win32

Now thrd_t are a struct that contains both thread handle and thread id.
For threads that not created by thrd_create, thrd_current are returning pseudo thread handle;
but we can still compare threads differences by using thread id.

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071>

2 years agoc11: call impl_tss_dtor_invoke with tls callback for win32
Yonggang Luo [Tue, 9 Aug 2022 17:32:33 +0000 (01:32 +0800)]
c11: call impl_tss_dtor_invoke with tls callback for win32

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071>

2 years agoc11: It's should detect PTHREAD_DESTRUCTOR_ITERATIONS when define TSS_DTOR_ITERATIONS
Yonggang Luo [Thu, 16 Jun 2022 05:56:10 +0000 (13:56 +0800)]
c11: It's should detect PTHREAD_DESTRUCTOR_ITERATIONS when define TSS_DTOR_ITERATIONS

INIT_ONCE_STATIC_INIT looks like miscopied from Win32's init once macro
Correct implementation for reference
https://gitlab.inria.fr/gustedt/p99/-/blob/master/p99/p99_threads_posix.h#L64

C11 standard:
https://en.cppreference.com/w/c/thread/TSS_DTOR_ITERATIONS

As TSS_DTOR_ITERATIONS didn't used in mesa codebase, so it's won't affect anything in mesa

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071>

2 years agonir/validate: add some (light) validation for sampler type matching
Mike Blumenkrantz [Wed, 3 Aug 2022 14:58:03 +0000 (10:58 -0400)]
nir/validate: add some (light) validation for sampler type matching

this adds minimal validation for tex ops with derefs to check that the
dest type integer-ness matches the sampled type's integer-ness

the aim is to provide the most basic validation that nir is being modified
and created consistently, not to perform exact verification that
the types are identical

fix #6985

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17874>

2 years agonir/validate: clamp unsized tex dests to 32bit
Mike Blumenkrantz [Tue, 9 Aug 2022 21:58:01 +0000 (17:58 -0400)]
nir/validate: clamp unsized tex dests to 32bit

this is the "default" size that's expected

cc: mesa-stable

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17874>

2 years agoradv: fix return type for meta resolve shaders
Mike Blumenkrantz [Tue, 9 Aug 2022 22:30:41 +0000 (18:30 -0400)]
radv: fix return type for meta resolve shaders

this should match the image type

cc: mesa-stable

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

2 years agoradv: explain why radv_invariant_geom is still needed for SotTR DX
Samuel Pitoiset [Wed, 10 Aug 2022 12:30:40 +0000 (14:30 +0200)]
radv: explain why radv_invariant_geom is still needed for SotTR DX

It's disabled by DXVK and vkd3d because it breaks NV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17951>

2 years agoradv: remove radv_invariant_geom workarounds for DX games
Samuel Pitoiset [Tue, 9 Aug 2022 08:25:53 +0000 (10:25 +0200)]
radv: remove radv_invariant_geom workarounds for DX games

DXVK (v1.8+, Feb 19, 2021) enabled invariant position with:
    "[d3d11] Enable d3d11.invariantPosition by default"
    (8de9dc93781b61a902a2dc15cc4192514a821237)

vkd3d-proton (v2.5+, Oct 18, 2021) enabled invariant position with:
    "vkd3d-shader: Add INVARIANT_POSITION quirk."
    (32c5abf4963e07b3d7cbf1c95a9249dce16473d7)

It's recommanded to use Proton 7 or newer to ensure DXVK/vkd3d-proton
contain the invariant position fixes. Otherwise this change might
introduce regressions with older Proton versions.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17951>

2 years agovenus: Enable VK_EXT_texture_compression_astc_hdr
Juston Li [Mon, 8 Aug 2022 21:36:17 +0000 (14:36 -0700)]
venus: Enable VK_EXT_texture_compression_astc_hdr

See: virgl/virglrenderer!874

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17967>

2 years agovenus/pipeline: Fix ignore rules for VK_EXT_extended_dynamic_state
Chad Versace [Mon, 25 Jul 2022 23:19:09 +0000 (16:19 -0700)]
venus/pipeline: Fix ignore rules for VK_EXT_extended_dynamic_state

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Fix ignore rules for VK_KHR_dynamic_rendering
Chad Versace [Mon, 25 Jul 2022 23:11:15 +0000 (16:11 -0700)]
venus/pipeline: Fix ignore rules for VK_KHR_dynamic_rendering

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Ignore basePipelineHandle
Chad Versace [Mon, 25 Jul 2022 21:50:55 +0000 (14:50 -0700)]
venus/pipeline: Ignore basePipelineHandle

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Ignore pViewportState::pScissors
Chad Versace [Mon, 25 Jul 2022 21:32:25 +0000 (14:32 -0700)]
venus/pipeline: Ignore pViewportState::pScissors

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Ignore pViewportState::pViewports
Chad Versace [Mon, 25 Jul 2022 21:26:24 +0000 (14:26 -0700)]
venus/pipeline: Ignore pViewportState::pViewports

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Fix ignore rule for pColorBlendState
Chad Versace [Mon, 23 May 2022 23:53:24 +0000 (16:53 -0700)]
venus/pipeline: Fix ignore rule for pColorBlendState

The ignore logic was too eager. We must inspect the subpass.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Fix ignore rule for pDepthStencilState
Chad Versace [Mon, 23 May 2022 23:53:24 +0000 (16:53 -0700)]
venus/pipeline: Fix ignore rule for pDepthStencilState

The ignore logic was too eager. We must inspect the subpass.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Split ignore rules for pViewportState, pMultisampleState
Chad Versace [Mon, 23 May 2022 23:53:24 +0000 (16:53 -0700)]
venus/pipeline: Split ignore rules for pViewportState, pMultisampleState

The ignore rules for VkGraphicsPipelineCreateInfo::pViewportState,
pMultisampleState, pDepthStencilState, and pColorBlendState, they were
all lumped together under a single ignore rule. Split them out because
the rules for pDepthStencilState and pColorBlendState should be
different.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Add pipeline state bools for ignore rules
Chad Versace [Fri, 29 Jul 2022 21:17:09 +0000 (14:17 -0700)]
venus/pipeline: Add pipeline state bools for ignore rules

For each pipeline state category, we define a bool.

The Vulkan spec (1.3.223) says:
   The state required for a graphics pipeline is divided into vertex
   input state, pre-rasterization shader state, fragment shader state,
   and fragment output state.

This patch merely defines the bools and does a minor refactor. It does
not add new ignore rules.

Without VK_EXT_graphics_pipeline_library, most states are
unconditionally included in the pipeline. Despite that, we still
reference the state bools in the ignore rules because (a) it makes the
ignore condition easier to validate against the text of the relevant
VUs; and (b) it makes it easier to enable
VK_EXT_graphics_pipeline_library because we won't need to carefully
revisit the text of each VU to add the missing pipeline state bools.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus/pipeline: Refactor vn_fix_graphics_pipeline_create_info
Chad Versace [Thu, 28 Jul 2022 17:16:15 +0000 (10:16 -0700)]
venus/pipeline: Refactor vn_fix_graphics_pipeline_create_info

- Instead of deferring all fixes until we inspect all pCreateInfos, fix
  each pCreateInfo immediately after we inspect it.
- Do not allocate vn_graphics_pipeline_create_info_fix.
- Add a struct to hold the temporary allocation of fixed pCreateInfos.
  Later commits will place more vk structs here.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus: Track subpass properties
Chad Versace [Mon, 25 Jul 2022 20:09:16 +0000 (13:09 -0700)]
venus: Track subpass properties

Needed to fix the ignore rules for
VkGraphicsPipelineCreateInfo::pColorBlendState and ::pDepthStencilState.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus: Drop vn_present_src_attachment::acquire
Chad Versace [Thu, 4 Aug 2022 19:42:30 +0000 (12:42 -0700)]
venus: Drop vn_present_src_attachment::acquire

The field is redundant.

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agovenus: Remove cryptic pointer arithmetic on present attachments
Chad Versace [Mon, 23 May 2022 23:53:23 +0000 (16:53 -0700)]
venus: Remove cryptic pointer arithmetic on present attachments

Each time some code wanted to access in vn_render_pass the present
acquire attachments or the present release attachments, it needed to
know the memory layout of vn_render_pass and do pointer arithmetic.
It's fragile to handroll this layout knowledge and pointer arithmetic
throughout the code, so add a pointer in vn_render_pass for each
attachment type.

The new pointers are:
  - present_attachments: all present attachments
  - present_acquire_attachments: a subslice of present_attachments
  - present_release_attachments: a subslice of present_attachments

Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681>

2 years agosvga: fix SetConstantBufferOffset command opcode
Charmaine Lee [Wed, 10 Aug 2022 02:39:29 +0000 (19:39 -0700)]
svga: fix SetConstantBufferOffset command opcode

This patch fixes the SetConstantBufferOffset command opcode which is
not mapped correctly after the reordering of the pipe shader type defines.

Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17977>