platform/upstream/mesa.git
2 years agov3dv: fix tile state allocation
Iago Toral Quiroga [Wed, 27 Jul 2022 07:53:45 +0000 (09:53 +0200)]
v3dv: fix tile state allocation

If we had decided that we only need one layer worth of tile state
we should actually only allocate one layer.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: track if a job is compatible with double-buffer mode
Iago Toral Quiroga [Fri, 22 Jul 2022 07:45:10 +0000 (09:45 +0200)]
v3dv: track if a job is compatible with double-buffer mode

MSAA is not compatible with double-buffer mode. Also, jobs that emit
tile loads or that don't have any stores can't take advantage
of double-buffer mode.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agov3dv: move check_needs_load/store helpers to unversioned code
Iago Toral Quiroga [Fri, 22 Jul 2022 07:41:47 +0000 (09:41 +0200)]
v3dv: move check_needs_load/store helpers to unversioned code

These helpers don't depend on the V3D version and we are going
to need them outside v3dvx_cmd_buffer.c soon.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agobroadcom/compiler: track number of TMU operations in prog data
Iago Toral Quiroga [Fri, 22 Jul 2022 06:13:28 +0000 (08:13 +0200)]
broadcom/compiler: track number of TMU operations in prog data

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854>

2 years agodocs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for...
Eric Engestrom [Thu, 28 Jul 2022 19:56:13 +0000 (20:56 +0100)]
docs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for lavapipe

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: start tracking extensions supported by powervr
Eric Engestrom [Thu, 28 Jul 2022 18:41:12 +0000 (19:41 +0100)]
docs/features: start tracking extensions supported by powervr

Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: start tracking extensions supported by panvk
Eric Engestrom [Thu, 28 Jul 2022 18:37:38 +0000 (19:37 +0100)]
docs/features: start tracking extensions supported by panvk

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

2 years agodocs/features: start tracking extensions supported by dozen
Eric Engestrom [Thu, 28 Jul 2022 18:32:40 +0000 (19:32 +0100)]
docs/features: start tracking extensions supported by dozen

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

2 years agodocs/features: add missing extensions supported by venus
Eric Engestrom [Thu, 28 Jul 2022 18:23:06 +0000 (19:23 +0100)]
docs/features: add missing extensions supported by venus

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: add missing extensions supported by turnip
Eric Engestrom [Thu, 28 Jul 2022 18:17:37 +0000 (19:17 +0100)]
docs/features: add missing extensions supported by turnip

Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: add missing extensions supported by radv
Eric Engestrom [Thu, 28 Jul 2022 18:10:48 +0000 (19:10 +0100)]
docs/features: add missing extensions supported by radv

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

2 years agodocs/features: add missing extensions supported by lavapipe
Eric Engestrom [Thu, 28 Jul 2022 18:05:00 +0000 (19:05 +0100)]
docs/features: add missing extensions supported by lavapipe

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agodocs/features: add missing extensions supported by anv
Eric Engestrom [Thu, 28 Jul 2022 17:04:02 +0000 (18:04 +0100)]
docs/features: add missing extensions supported by anv

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796>

2 years agoturnip: handle fence wrapping in autotune
Chia-I Wu [Fri, 12 Aug 2022 21:22:34 +0000 (14:22 -0700)]
turnip: handle fence wrapping in autotune

fence values can be 0 after wrapping.  We should not treat 0 specially.

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

2 years agoturnip: remove unused member in tu_submission_data
Chia-I Wu [Fri, 12 Aug 2022 20:53:37 +0000 (13:53 -0700)]
turnip: remove unused member in tu_submission_data

buffers_count is set but unused.

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

2 years agoturnip: fix a use-after-free in autotune
Chia-I Wu [Fri, 12 Aug 2022 20:02:30 +0000 (13:02 -0700)]
turnip: fix a use-after-free in autotune

When removing old histories, check against gpu fence.  Otherwise,
pending_results could have dangling pointers to the removed histories.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7055
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040>

2 years agozink: use a maybe more accurate wild guess for pcp-less gpl
Mike Blumenkrantz [Tue, 9 Aug 2022 12:51:18 +0000 (08:51 -0400)]
zink: use a maybe more accurate wild guess for pcp-less gpl

this is only reachable with an env var, so being wrong is still okay,
but maybe be right slightly more often

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

2 years agozink: (correctly) require extendedDynamicState2PatchControlPoints for GPL
Mike Blumenkrantz [Tue, 9 Aug 2022 12:42:51 +0000 (08:42 -0400)]
zink: (correctly) require extendedDynamicState2PatchControlPoints for GPL

this is otherwise broken

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

2 years agozink: require EXT_non_seamless_cube_map for GPL support
Mike Blumenkrantz [Thu, 11 Aug 2022 12:52:00 +0000 (08:52 -0400)]
zink: require EXT_non_seamless_cube_map for GPL support

it's impossible to precompile without this

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

2 years agoc11: Remove mtx_try from mtx enums as it's not a part of c11 standard
Yonggang Luo [Fri, 12 Aug 2022 16:41:33 +0000 (00:41 +0800)]
c11: Remove mtx_try from mtx enums as it's not a part of c11 standard

And we support for four types of mtx init enum values that define by C11 standard:
0 mtx_plain - a simple, non-recursive mutex is created.
2 mtx_timed - a non-recursive mutex, that supports timeout, is created.
1 mtx_plain | mtx_recursive - a recursive mutex is created.
3 mtx_timed | mtx_recursive - a recursive mutex, that supports timeout, is created.

musl library also use these enum combination

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

2 years agoaco: Use v_cmpx pre GFX10.
Georg Lehmann [Sun, 14 Aug 2022 17:25:09 +0000 (19:25 +0200)]
aco: Use v_cmpx pre GFX10.

Foz-DB Vega10:
Totals from 29508 (21.85% of 135041) affected shaders:
CodeSize: 184345656 -> 184345820 (+0.00%)
Instrs: 35906154 -> 35906195 (+0.00%)
Latency: 581696114 -> 581530021 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 245625572 -> 245561351 (-0.03%); split: -0.03%, +0.00%
Copies: 3134925 -> 3278672 (+4.59%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco/assembler: Fix v_cmpx pre GFX10.
Georg Lehmann [Mon, 15 Aug 2022 10:10:38 +0000 (12:10 +0200)]
aco/assembler: Fix v_cmpx pre GFX10.

The second destination is implicit exec.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco: Fix optimizing branching sequence with s_and_saveexec.
Georg Lehmann [Sun, 14 Aug 2022 11:56:30 +0000 (13:56 +0200)]
aco: Fix optimizing branching sequence with s_and_saveexec.

This optimization was broken for two reasons:
- s_and_saveexec has two operands, the copy value and exec
- s_and_saveexec has an exec read, so exec_write_used will always be true
  before we find branch_exec_val_idx

Foz-DB Navi21:
Totals from 31453 (23.31% of 134913) affected shaders:
CodeSize: 204831260 -> 204831156 (-0.00%)
Instrs: 38157117 -> 38157091 (-0.00%)
Latency: 533708882 -> 531211721 (-0.47%); split: -0.47%, +0.00%
InvThroughput: 107088408 -> 106719188 (-0.34%); split: -0.35%, +0.00%
Copies: 2326179 -> 2502490 (+7.58%)

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco/assembler: Fix v_cmpx with SDWA.
Georg Lehmann [Mon, 15 Aug 2022 09:51:55 +0000 (11:51 +0200)]
aco/assembler: Fix v_cmpx with SDWA.

We need to use the implicit destination.

Fixes: baab6f18c91 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco: Check that we don't override exec_val operands during branching sequence optimiz...
Georg Lehmann [Mon, 15 Aug 2022 11:26:23 +0000 (13:26 +0200)]
aco: Check that we don't override exec_val operands during branching sequence optimization.

Fixes: baab6f18c91 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco: Check for instructions that inhibit the branching sequence optimization.
Timur Kristóf [Mon, 15 Aug 2022 08:03:58 +0000 (10:03 +0200)]
aco: Check for instructions that inhibit the branching sequence optimization.

Fixes: baab6f18c91 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoaco: Fix invalidated reference in branching sequence optimization.
Timur Kristóf [Sun, 14 Aug 2022 13:15:18 +0000 (15:15 +0200)]
aco: Fix invalidated reference in branching sequence optimization.

Inserting in the instructions vector may invalidate the exec_val reference,
so do that last.

Fixes: baab6f18c91 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049>

2 years agoci: do not install i386 sub-architecture in VK images
David Heidelberg [Fri, 29 Jul 2022 17:19:45 +0000 (19:19 +0200)]
ci: do not install i386 sub-architecture in VK images

Not required by apitrace.

debian/x86_test-vk image size:
previous: 1.8G
after:    1.0G

v2: added back winehq-stable (missing symlinks)

Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834>

2 years agoci: use apt-get in x86_test-vk instead of apt
David Heidelberg [Mon, 15 Aug 2022 08:05:02 +0000 (10:05 +0200)]
ci: use apt-get in x86_test-vk instead of apt

apt shouldn't be used in CI, see:
https://unix.stackexchange.com/questions/590699/should-i-use-apt-or-apt-get-in-shell-scripting

Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834>

2 years agoci: Report failures to GitLab for LAVA jobs
Tomeu Vizoso [Fri, 12 Aug 2022 08:54:14 +0000 (10:54 +0200)]
ci: Report failures to GitLab for LAVA jobs

We were uploading the junit.xml to the artifacts, but weren't telling
GitLab about it.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>

2 years agoiris/ci: Set FDO_CI_CONCURRENT for all Chromebook jobs
Tomeu Vizoso [Fri, 12 Aug 2022 07:08:01 +0000 (09:08 +0200)]
iris/ci: Set FDO_CI_CONCURRENT for all Chromebook jobs

For some reason we were missing these and that was causing some CPUs to
remain idle, and some boards to have too high load and some tests timing
out occasionally.

Set FDO_CI_CONCURRENT for the number of cores, plus one to account for
GPU and I/O waits.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>

2 years agoiris/ci: Test on Jasper Lake Chromebooks
Tomeu Vizoso [Fri, 12 Aug 2022 06:25:04 +0000 (08:25 +0200)]
iris/ci: Test on Jasper Lake Chromebooks

8 such boards have been added to Collabora's lab, let's run all tests
from the selected set.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028>

2 years agonir/lower_gs_intrinsics: fix primitive count for points
Qiang Yu [Mon, 8 Aug 2022 01:42:16 +0000 (09:42 +0800)]
nir/lower_gs_intrinsics: fix primitive count for points

When primitive is points, EndPrimitive can't be used to count
primitive. Need to use vertex count instead. And it's also not
needed to do vertex per primitive count and overwrite incomplete
primitive work for points.

Fixes: 2be99012e95 ("nir: Add ability to count emitted GS primitives.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17805>

2 years agozink: fix program cache comparisons
Mike Blumenkrantz [Fri, 5 Aug 2022 17:54:58 +0000 (13:54 -0400)]
zink: fix program cache comparisons

I missed this when pipe shader types were merged with mesa types

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

2 years agozink: delete zink_shader_stage()
Mike Blumenkrantz [Thu, 4 Aug 2022 16:34:57 +0000 (12:34 -0400)]
zink: delete zink_shader_stage()

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

2 years agozink: remove all pipe_shader_type usage
Mike Blumenkrantz [Thu, 4 Aug 2022 16:31:44 +0000 (12:31 -0400)]
zink: remove all pipe_shader_type usage

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

2 years agozink: PIPE_SHADER_TYPES -> MESA_SHADER_STAGES
Mike Blumenkrantz [Thu, 4 Aug 2022 16:20:10 +0000 (12:20 -0400)]
zink: PIPE_SHADER_TYPES -> MESA_SHADER_STAGES

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

2 years agozink: explicitly define ZINK_GFX_SHADER_COUNT
Mike Blumenkrantz [Thu, 4 Aug 2022 16:19:03 +0000 (12:19 -0400)]
zink: explicitly define ZINK_GFX_SHADER_COUNT

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

2 years agozink: ZINK_SHADER_COUNT -> ZINK_GFX_SHADER_COUNT
Mike Blumenkrantz [Thu, 4 Aug 2022 16:17:37 +0000 (12:17 -0400)]
zink: ZINK_SHADER_COUNT -> ZINK_GFX_SHADER_COUNT

more descriptive

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

2 years agozink: use statically sized array for descriptor allocation
Mike Blumenkrantz [Thu, 4 Aug 2022 16:10:11 +0000 (12:10 -0400)]
zink: use statically sized array for descriptor allocation

this will never be more than 100

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

2 years agozink: rename _lazy descriptor stuff
Mike Blumenkrantz [Thu, 4 Aug 2022 16:02:34 +0000 (12:02 -0400)]
zink: rename _lazy descriptor stuff

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

2 years agozink: reorder some descriptor structs
Mike Blumenkrantz [Thu, 4 Aug 2022 15:43:57 +0000 (11:43 -0400)]
zink: reorder some descriptor structs

should yield slightly better packing

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

2 years agozink: merge batch descriptor data onto batch state
Mike Blumenkrantz [Thu, 4 Aug 2022 15:42:09 +0000 (11:42 -0400)]
zink: merge batch descriptor data onto batch state

also clean up some related descriptor code

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

2 years agozink: merge program descriptor data onto program struct
Mike Blumenkrantz [Thu, 4 Aug 2022 15:32:04 +0000 (11:32 -0400)]
zink: merge program descriptor data onto program struct

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

2 years agozink: merge context descriptor data onto context struct
Mike Blumenkrantz [Thu, 4 Aug 2022 15:29:59 +0000 (11:29 -0400)]
zink: merge context descriptor data onto context struct

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

2 years agozink: merge batch descriptor data structs
Mike Blumenkrantz [Thu, 4 Aug 2022 15:25:36 +0000 (11:25 -0400)]
zink: merge batch descriptor data structs

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

2 years agozink: merge context descriptor data structs
Mike Blumenkrantz [Thu, 4 Aug 2022 15:23:31 +0000 (11:23 -0400)]
zink: merge context descriptor data structs

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

2 years agozink: remove descriptor dummy_set
Mike Blumenkrantz [Thu, 4 Aug 2022 15:21:15 +0000 (11:21 -0400)]
zink: remove descriptor dummy_set

while well-intentioned, this didn't actually do anything

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

2 years agozink: delete some unused descriptor struct members
Mike Blumenkrantz [Thu, 4 Aug 2022 15:20:16 +0000 (11:20 -0400)]
zink: delete some unused descriptor struct members

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

2 years agozink: move lazy descriptor data types into zink_types.h
Mike Blumenkrantz [Thu, 4 Aug 2022 15:15:39 +0000 (11:15 -0400)]
zink: move lazy descriptor data types into zink_types.h

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

2 years agozink: move all types/enums into zink_types.h
Mike Blumenkrantz [Thu, 4 Aug 2022 15:05:47 +0000 (11:05 -0400)]
zink: move all types/enums into zink_types.h

this significantly untangles all the header includes and fixes an issue
where zink_descriptors.h couldn't be included by certain files due to
type conflicts

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

2 years agozink: delete unused struct types
Mike Blumenkrantz [Thu, 4 Aug 2022 13:02:48 +0000 (09:02 -0400)]
zink: delete unused struct types

so old

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

2 years agozink: move lazy descriptor functions into zink_descriptors.c
Mike Blumenkrantz [Thu, 4 Aug 2022 12:52:59 +0000 (08:52 -0400)]
zink: move lazy descriptor functions into zink_descriptors.c

the merginating continues

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

2 years agozink: delete a lot of descriptor code
Mike Blumenkrantz [Thu, 4 Aug 2022 12:27:03 +0000 (08:27 -0400)]
zink: delete a lot of descriptor code

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

2 years agozink: remove descriptor vtable
Mike Blumenkrantz [Thu, 4 Aug 2022 12:23:10 +0000 (08:23 -0400)]
zink: remove descriptor vtable

no longer used

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

2 years agozink: remove checks for lazy descriptor mode + templates ext
Mike Blumenkrantz [Thu, 4 Aug 2022 12:16:18 +0000 (08:16 -0400)]
zink: remove checks for lazy descriptor mode + templates ext

these are always true

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

2 years agozink: remove cached descriptor mode
Mike Blumenkrantz [Thu, 4 Aug 2022 12:10:02 +0000 (08:10 -0400)]
zink: remove cached descriptor mode

this just removes the enum(s) for it, making it functionally inaccessible

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

2 years agoasahi: Identify depth clip mode bit
Alyssa Rosenzweig [Sun, 7 Aug 2022 23:17:40 +0000 (19:17 -0400)]
asahi: Identify depth clip mode bit

Setting this bit (at the batch level, not the draw level!) switches to
[-1, 1] clipping instead of Metal's preferred [0, 1] clipping. Using
this bit allows us to drop the clip_halfz lowering we had before, saving
2 instructions in every vertex shader.

Fixes dEQP-GLES2.functional.depth_range.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948>

2 years agoasahi: Don't advertise ARB_clip_control yet
Alyssa Rosenzweig [Sun, 7 Aug 2022 23:27:06 +0000 (19:27 -0400)]
asahi: Don't advertise ARB_clip_control yet

Our depth handling is pretty busted as it is. Adding clip control into
the mix will only make things more complicated. Best not worry about
that yet. Implementing this ext "properly" has some wrinkles: explain
them.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948>

2 years agoaco: Add faster code path to store_lds for consecutive write mask.
Timur Kristóf [Sat, 6 Aug 2022 06:47:22 +0000 (08:47 +0200)]
aco: Add faster code path to store_lds for consecutive write mask.

This makes it more likely to hit the fast path for count == 1
in the split_store_data function.

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

2 years agovk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties
Eric Engestrom [Fri, 12 Aug 2022 16:51:51 +0000 (17:51 +0100)]
vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties

The validation layers complained:
> Validation Error: [ VUID-VkPhysicalDeviceGroupProperties-sType-sType ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xc9edee8b | vkEnumeratePhysicalDeviceGroups: parameter pPhysicalDeviceGroupProperties[0].sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES The Vulkan spec states: sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkPhysicalDeviceGroupProperties-sType-sType)

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Fixes: c196ffaca6d ("vk-device-select: add device group support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18037>

2 years agoetnaviv: don't expose array and 3D texture support on pre-halti GPUs
Lucas Stach [Fri, 12 Aug 2022 17:40:20 +0000 (19:40 +0200)]
etnaviv: don't expose array and 3D texture support on pre-halti GPUs

3D and array texture support is a halti0 GPU feature and
gpu_supports_texture_target() already prevents such textures from being
constructed on older GPUs. Set the screen caps correctly to avoid
exposing EXT_texture_array and OES_texture_3D on those GPUs.

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

2 years agoetnaviv: allow 3D textures with TS in transfer
Lucas Stach [Wed, 10 Aug 2022 20:08:34 +0000 (22:08 +0200)]
etnaviv: allow 3D textures with TS in transfer

The resolve operation to the temporary resource properly iterates
over all layers of the 3D texture, so there is no need to fail the
transfer if we encounter a 3D texture that has a TS BO allocated
due to previous rendering.

Fixes piglit spec@arb_framebuffer_object@fbo-generatemipmap-3d

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

2 years agoetnaviv: fix TS buffer allocation for 3D textures
Lucas Stach [Wed, 10 Aug 2022 19:24:03 +0000 (21:24 +0200)]
etnaviv: fix TS buffer allocation for 3D textures

For 3D textures the number of layers is the resource depth. As the TS buffer
allocation only looked at the array size it does not allocate enough TS
storage for 3D textures.

Fixes piglit spec@!opengl 1.2@copyteximage 3d

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

2 years agoetnaviv: properly check number of layers in surface creation
Lucas Stach [Wed, 10 Aug 2022 19:27:27 +0000 (21:27 +0200)]
etnaviv: properly check number of layers in surface creation

3D textures store their number of layers in the resource depth. As the
assert only checks the array_size, it fails on perfectly valid surface
creation requests. Use the proper helper to get the number of layers.

Fixes piglit spec@arb_framebuffer_object@fbo-incomplete

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

2 years agor300: fix variables detection for paired ALU and TEX instructions in different branches
Pavel Ondračka [Wed, 10 Aug 2022 07:17:56 +0000 (09:17 +0200)]
r300: fix variables detection for paired ALU and TEX instructions in different branches

TEX instrutions can't write xyz and w to separate registers so we
need to create variables from them first, otherwise we can create
two variables from ALU writing the same register xyz and w in other
branch (this usually works when TEX is not present as the xyz and
w can read/write from different registers).

This fixes regalloc because the variables are later used as a
graph nodes.

The variable order should not matter but it slightly does (leading
to approx 0.3% shader-db temps increase as compared to previous
state), so just sort the variables list afterwards to be as close
to the previous behavior as possible and prevent the regression.

CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6936
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17987>

2 years agofrontend/nine: Fix ff position_t fallback when w = 0
Axel Davy [Thu, 28 Jul 2022 20:55:40 +0000 (22:55 +0200)]
frontend/nine: Fix ff position_t fallback when w = 0

For post-transformed vertices, w = 0 is similar to
w = 1. Replace the value to fix rcp(w).

It is common for apps to pass w = 0 for
position_t.

cc: mesa-stable

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agofrontend/nine: Fix shader multi-use crash
Axel Davy [Sat, 30 Jul 2022 08:09:05 +0000 (10:09 +0200)]
frontend/nine: Fix shader multi-use crash

Due to the driver live shader cache, it's possible
two different d3d9 shaders get the same cso.

As it's disallowed to destroy a shader cso being
bound, nine checks for this scenario. However it
was not taking into account the cso might be from
a different shader.

cc: mesa-stable

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agofrontend/nine: Fix cso restore bug
Axel Davy [Fri, 29 Jul 2022 22:25:29 +0000 (00:25 +0200)]
frontend/nine: Fix cso restore bug

Invalidating all state groups is not sufficient, as
some states check for actual changes.
The correct way is to invalidate the
commit mask.

Found with a wine test.

cc: mesa-stable

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agofrontend/nine: Fix ATOC handling
Axel Davy [Fri, 29 Jul 2022 19:15:01 +0000 (21:15 +0200)]
frontend/nine: Fix ATOC handling

The previous code was incorrectly checking the previous
value of alphatestenable.
In addition, remove an optimization that cannot hit (as we
filter out redundant state settings).

cc: mesa-stable

Fixes: 1272640d5 ("st/nine: Fix alpha to coverage states")
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agofrontend/nine: Fix buffer tracking out of bounds
Axel Davy [Thu, 11 Aug 2022 20:04:57 +0000 (22:04 +0200)]
frontend/nine: Fix buffer tracking out of bounds

Fixes a crash in a ffxi trace, which draws out of bounds.
This was previously resulting in trying to fill a buffer
resource not big enough.

cc: mesa-stable
Fixes: 380c2bf ("st/nine: Optimize dynamic systemmem buffers")

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agofrontend/nine: Skip invalid swvp calls
Axel Davy [Sun, 24 Jul 2022 09:08:57 +0000 (11:08 +0200)]
frontend/nine: Skip invalid swvp calls

Without this it may crash running wine tests.
According to the test themselves, the correct
behaviour is a bit more complicated, but
that's a first step.

cc: mesa-stable

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021>

2 years agoci: Enable llvmpipe on MacOS
Yonggang Luo [Fri, 5 Aug 2022 07:00:27 +0000 (15:00 +0800)]
ci: Enable llvmpipe on MacOS

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17879>

2 years agoci: Improve MacOS github ci
Yonggang Luo [Mon, 1 Aug 2022 20:17:34 +0000 (04:17 +0800)]
ci: Improve MacOS github ci

GALLIUM_DUMP_CPU=true to see dump result
Save the testing log artifacts

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17879>

2 years agoutil: Disable usage of __attribute__((__const__)) when the compiler is clang
Yonggang Luo [Thu, 4 Aug 2022 03:27:20 +0000 (11:27 +0800)]
util: Disable usage of __attribute__((__const__)) when the compiler is clang

Clang didn't implement __attribute__((__const__)) properly for release build.
The issue tracker is: https://github.com/llvm/llvm-project/issues/56993

Closes #6781
Closes #6782

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18039>

2 years agoutil: Fixes invalid assumption that return non null by function util_format_fetch_rgb...
Yonggang Luo [Sun, 7 Aug 2022 16:05:21 +0000 (00:05 +0800)]
util: Fixes invalid assumption that return non null by function util_format_fetch_rgba_func

Fixes: e342081c ("util/format: Assert that formats are valid")
Closes #7020

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agoutil: Fixes memory leak in u_printf_test.cpp
Yonggang Luo [Sun, 7 Aug 2022 14:33:50 +0000 (22:33 +0800)]
util: Fixes memory leak in u_printf_test.cpp

That's Fixes: bdc0a862 ("printf: add some unit tests")

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agoutil: Fixes memory leak in create_cache_item_header_and_blob
Yonggang Luo [Sun, 7 Aug 2022 15:46:13 +0000 (23:46 +0800)]
util: Fixes memory leak in create_cache_item_header_and_blob

stack-trace by asan
Direct leak of 238 byte(s) in 6 object(s) allocated from:
    #0 0x7f101e1dbe8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x55ce3a959e2c in create_cache_item_header_and_blob ../src/util/disk_cache_os.c:647
    #2 0x55ce3a95c217 in disk_cache_write_item_to_disk_foz ../src/util/disk_cache_os.c:967
    #3 0x55ce3a97bce1 in util_queue_thread_func ../src/util/u_queue.c:306
    #4 0x55ce3a989c3b in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
    #5 0x7f101ddc7ea6 in start_thread nptl/pthread_create.c:477

Fixes: 2a9b4ad1774 ("util/disk_cache: Add option to disable compression")

Cc: mesa-stable
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agointel: Fixes compile error of aubinator_viewer.cpp with gcc
Yonggang Luo [Sun, 7 Aug 2022 12:47:48 +0000 (20:47 +0800)]
intel: Fixes compile error of aubinator_viewer.cpp with gcc

Remove '-Wno-class-memaccess' from cpp_args because clang don't support this option

aubinator_viewer.cpp:1183:39: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct Context'; use assignment or value-initialization instead [-Werror=class-memaccess]
 1183 |    memset(&context, 0, sizeof(context));

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agopanfrost: Do no use designated initializer for union
Yonggang Luo [Sun, 7 Aug 2022 14:23:15 +0000 (22:23 +0800)]
panfrost: Do no use designated initializer for union

../src/panfrost/lib/tests/test-earlyzs.cpp: In function 'void test(pan_earlyzs, pan_earlyzs, uint32_t)':
../src/panfrost/lib/tests/test-earlyzs.cpp:59:4: error: 'pan_shader_info::<unnamed union>' has no non-static data member named 'can_discard'
   59 |    };
      |    ^

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agonine: Fixes compile of nine_pipe.h with clang
Yonggang Luo [Sun, 7 Aug 2022 13:20:00 +0000 (21:20 +0800)]
nine: Fixes compile of nine_pipe.h with clang
../../src/gallium/frontends/nine/nine_pipe.h:377:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
        default:
        ^
../../src/gallium/frontends/nine/nine_pipe.h:377:9: note: insert 'break;' to avoid fall-through
        default:

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024>

2 years agomeson: Microsoft / maybe Intel CLC need the all-targets workaround
pal1000 [Thu, 21 Jul 2022 10:59:11 +0000 (13:59 +0300)]
meson: Microsoft / maybe Intel CLC need the all-targets workaround
just like clover

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5666
Fixes: 1506ea2ecb ("Move a bunch of the CLC stuff from src/microsoft to common code")

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

2 years agomeson: Don't include glsl compiler if flex/bison aren't found
Jesse Natalie [Fri, 22 Jul 2022 22:47:46 +0000 (15:47 -0700)]
meson: Don't include glsl compiler if flex/bison aren't found

Use a disabler for not-found, which causes the GLSL targets to simply
not be generated if the tools don't exist.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17724>

2 years agoutil: Add os_create_anonymous_file support on win32
Yonggang Luo [Mon, 28 Mar 2022 16:41:50 +0000 (00:41 +0800)]
util: Add os_create_anonymous_file support on 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/18017>

2 years agomeson: Enable graw tests on mingw
Yonggang Luo [Thu, 11 Aug 2022 02:24:31 +0000 (10:24 +0800)]
meson: Enable graw tests on mingw

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

2 years agozink: stop skipping bunch of GLESx tests
Samuel Pitoiset [Fri, 12 Aug 2022 07:58:09 +0000 (09:58 +0200)]
zink: stop skipping bunch of GLESx tests

Did 5 runs in Mesa CI (gles-navi10-valve) and 5 runs with vk-cts-image
on Navi21 without any GPU hangs. I think it's safe to re-enable them.

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

2 years agozink: Use DETECT_OS_WINDOWS instead of 'WIN32'
Yonggang Luo [Thu, 11 Aug 2022 02:12:34 +0000 (10:12 +0800)]
zink: Use DETECT_OS_WINDOWS instead of '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/18001>

2 years agoutil: Enable tests that disabled for msvc/mingw
Yonggang Luo [Wed, 30 Mar 2022 23:48:50 +0000 (07:48 +0800)]
util: Enable tests that disabled for msvc/mingw

mesa-sha1_test.cpp and string_buffer_test.cpp are working fine now

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

2 years agoutil: Use `DETECT_OS_WINDOWS` instead `WIN32` in u_process.c
Yonggang Luo [Mon, 16 May 2022 20:44:07 +0000 (04:44 +0800)]
util: Use `DETECT_OS_WINDOWS` instead `WIN32` in u_process.c

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

2 years agoutil: Implement os_get_available_system_memory on Win32
Yonggang Luo [Tue, 29 Mar 2022 20:45:31 +0000 (04:45 +0800)]
util: Implement os_get_available_system_memory on 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/18001>

2 years agoutil: Fixes typo in function os_get_total_physical_memory
Yonggang Luo [Tue, 29 Mar 2022 20:44:55 +0000 (04:44 +0800)]
util: Fixes typo in function os_get_total_physical_memory

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

2 years agoutil: Implement util_thread_get_time_nano on win32
Yonggang Luo [Tue, 29 Mar 2022 20:32:39 +0000 (04:32 +0800)]
util: Implement util_thread_get_time_nano on 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/18001>

2 years agomesa/st: simplify sampler border color swizzling
Mike Blumenkrantz [Mon, 1 Aug 2022 14:41:49 +0000 (10:41 -0400)]
mesa/st: simplify sampler border color swizzling

this reuses the pre-calculated swizzle value to resolve a TODO item and
improve perf

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 tracked samplerview swizzle values
Mike Blumenkrantz [Mon, 1 Aug 2022 14:37:51 +0000 (10:37 -0400)]
mesa/st: use tracked samplerview swizzle values

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

2 years agomesa: track gl_texture_object swizzle internally
Mike Blumenkrantz [Mon, 1 Aug 2022 14:34:57 +0000 (10:34 -0400)]
mesa: track gl_texture_object swizzle internally

this moves updating of swizzles to the points at which it could possibly change

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 pre-calculated format swizzle for samplerviews
Mike Blumenkrantz [Mon, 1 Aug 2022 14:01:56 +0000 (10:01 -0400)]
mesa/st: use pre-calculated format swizzle for samplerviews

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

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>