Erik Faye-Lund [Wed, 19 Oct 2022 13:30:44 +0000 (15:30 +0200)]
docs: hw -> HW
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 13:28:13 +0000 (15:28 +0200)]
docs: xyzw -> XYZW
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 15:15:01 +0000 (17:15 +0200)]
docs: Gitlab -> GitLab
While we're at it, also fixup a single case of "Ci" -> "CI"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 14:06:16 +0000 (16:06 +0200)]
docs: meson -> Meson
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:44:04 +0000 (10:44 +0200)]
docs: ArchLinux -> Arch Linux
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 11:04:11 +0000 (13:04 +0200)]
docs: autotools -> Autotools
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:58:09 +0000 (14:58 +0200)]
docs: ppir -> PPIR
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:57:31 +0000 (14:57 +0200)]
docs: lima -> Lima
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 15:26:56 +0000 (17:26 +0200)]
docs: vulkan -> Vulkan
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 09:45:29 +0000 (11:45 +0200)]
docs: llvmpipe -> LLVMpipe
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:53:01 +0000 (10:53 +0200)]
docs: nouveau -> Nouveau
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:49:22 +0000 (10:49 +0200)]
docs: radeon -> Radeon
Let's also do radeonsi -> RadeonSI while we're at it.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 10:48:46 +0000 (12:48 +0200)]
docs: adreno -> Adreno
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 09:28:39 +0000 (11:28 +0200)]
docs: freedreno -> Freedreno
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:13:13 +0000 (10:13 +0200)]
docs: lavapipe -> Lavapipe
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 10:00:58 +0000 (12:00 +0200)]
docs: perfetto -> Perfetto
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:46:52 +0000 (14:46 +0200)]
docs: rgb -> RGB
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:52:02 +0000 (10:52 +0200)]
docs: gpu -> GPU
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:59:19 +0000 (14:59 +0200)]
docs: cpu -> CPU
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 09:46:20 +0000 (11:46 +0200)]
docs: pci -> PCI
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 09:36:52 +0000 (11:36 +0200)]
docs: xorg -> X.Org
Also one case of Xorg
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 09:05:58 +0000 (11:05 +0200)]
docs: irc -> IRC
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 08:38:57 +0000 (10:38 +0200)]
docs: ip -> IP
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 08:12:57 +0000 (10:12 +0200)]
docs: use consistent casing for dEQP
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 14:26:11 +0000 (16:26 +0200)]
docs: consistently spell Haswell in camel-case
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 14:05:07 +0000 (16:05 +0200)]
docs: consistently spell VirGL in camel-case
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 14:02:19 +0000 (16:02 +0200)]
docs: consistently spell API all-caps
While we're at it, drop an incorrect apostrophe.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 13:59:33 +0000 (15:59 +0200)]
docs: consistently use CMake
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 15:18:44 +0000 (17:18 +0200)]
docs: consistently spell OK in allcaps
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 15:14:37 +0000 (17:14 +0200)]
docs: consistently spell URL in allcaps
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 13:49:44 +0000 (15:49 +0200)]
docs: consistently spell ANV in allcaps
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 08:24:59 +0000 (10:24 +0200)]
docs: consistently spell DRI in all-caps
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Tue, 18 Oct 2022 12:19:19 +0000 (14:19 +0200)]
docs: consistently upper-case VC4, V3D etc
This is how we're doing this elsewhere in the docs, and upper-casing is
a clear indication that this is a name.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:37:49 +0000 (14:37 +0200)]
docs: XOR'd -> XORed
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 09:25:48 +0000 (11:25 +0200)]
docs: eg. -> e.g.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 09:23:21 +0000 (11:23 +0200)]
docs: use the official spelling of SHA-1
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 09:30:43 +0000 (11:30 +0200)]
docs: spell out "distribution"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 11:08:10 +0000 (13:08 +0200)]
docs: spell out "environment variable"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 10:04:56 +0000 (12:04 +0200)]
docs: spell out "SHA256 checksum"
This isn't such a magical word, no need to quote it.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 09:58:05 +0000 (11:58 +0200)]
docs: spell out "build directory"
This is a bit less cryptic than "builddir", and it's the same wording as
the meson docs uses.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 08:40:36 +0000 (10:40 +0200)]
docs: correct spelling of "Copr"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 15:07:39 +0000 (17:07 +0200)]
docs: correct spelling of "Gouraud"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 15:02:07 +0000 (17:02 +0200)]
docs: correct spelling of "specifies"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 15:00:12 +0000 (17:00 +0200)]
docs: correct spelling of "semantic"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 12:43:41 +0000 (14:43 +0200)]
docs: correct spelling of "irrespective"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Thu, 20 Oct 2022 09:53:56 +0000 (11:53 +0200)]
docs: correct spelling of "passes"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Erik Faye-Lund [Wed, 19 Oct 2022 10:52:56 +0000 (12:52 +0200)]
docs: correct spelling of "addition"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191>
Fabian Vogt [Fri, 21 Oct 2022 09:20:31 +0000 (11:20 +0200)]
gallivm: Fix LLVM optimization with the new pass manager
The previous list of passes contained several errors: "constprop" does not
exist anymore and a trailing ',' is not allowed. This made LLVMRunPasses
fail, but the error is silently ignored. Thus none of the listed passes
ran at all.
https://reviews.llvm.org/D85159 suggests "InstSimplify really should be
used anywhere ConstProp is being used" so replace constprop with
instsimplify and remove the trailing comma.
By enabling pass logging with
LLVMPassBuilderOptionsSetDebugLogging(opts, true),
the difference is visible. Before:
Running pass: AlwaysInlinerPass on [module]
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running analysis: ProfileSummaryAnalysis on [module]
Running pass: CoroConditionalWrapper on [module]
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
After:
Running pass: AlwaysInlinerPass on [module]
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running analysis: ProfileSummaryAnalysis on [module]
Running pass: CoroConditionalWrapper on [module]
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running pass: SROAPass on fs_variant_partial (1162 instructions)
Running analysis: DominatorTreeAnalysis on fs_variant_partial
Running analysis: AssumptionAnalysis on fs_variant_partial
Running analysis: TargetIRAnalysis on fs_variant_partial
Running pass: EarlyCSEPass on fs_variant_partial (1111 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: SimplifyCFGPass on fs_variant_partial (961 instructions)
Running pass: ReassociatePass on fs_variant_partial (961 instructions)
Running pass: PromotePass on fs_variant_partial (897 instructions)
Running pass: InstCombinePass on fs_variant_partial (897 instructions)
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_partial
Running analysis: AAManager on fs_variant_partial
Running analysis: BasicAA on fs_variant_partial
Running analysis: ScopedNoAliasAA on fs_variant_partial
Running analysis: TypeBasedAA on fs_variant_partial
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_partial
Running pass: SROAPass on fs_variant_whole (1110 instructions)
Running analysis: DominatorTreeAnalysis on fs_variant_whole
Running analysis: AssumptionAnalysis on fs_variant_whole
Running analysis: TargetIRAnalysis on fs_variant_whole
Running pass: EarlyCSEPass on fs_variant_whole (1059 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
Running pass: SimplifyCFGPass on fs_variant_whole (912 instructions)
Running pass: ReassociatePass on fs_variant_whole (912 instructions)
Running pass: PromotePass on fs_variant_whole (844 instructions)
Running pass: InstCombinePass on fs_variant_whole (844 instructions)
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_whole
Running analysis: AAManager on fs_variant_whole
Running analysis: BasicAA on fs_variant_whole
Running analysis: ScopedNoAliasAA on fs_variant_whole
Running analysis: TypeBasedAA on fs_variant_whole
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_whole
Fixes:
2037c34f245 ("gallivm: move to new pass manager to handle coroutines change.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19217>
Daniel Schürmann [Fri, 21 Oct 2022 09:09:46 +0000 (11:09 +0200)]
aco: change thread_local memory resource to pointer
Apparently the TLS constructor doesn't work well if RADV
is instantiated multiple times and/or used by a program with
already existing threads.
Fixes:
a128d444cbf4f74b0bdd4a8ae3f1cd2a52dee122 ('aco: use monotonic_buffer_resource for instructions')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19219>
Roman Gilg [Sun, 23 Jan 2022 13:04:05 +0000 (14:04 +0100)]
loader/dri3: Add DRI performance option to wait for next buffer on swap
For simple clients using the swap chain contention back pressure to regulate
their drawing and that don't query buffer age introduce a new DRI option with
which set to true (the default is false) we block the client until a new buffer
is available. This way we stall the client's execution until a new buffer is
available and the redrawing of the client starts only at this point and not
before.
The motivation for that is to reduce latency for clients that regulate their
drawing by swapchain contention back pressure. These clients draw whenever
possible and their drawing is implicitly stopping whenever we block. When we
block at the end of the swap and return only when a new buffer is available
the client can draw and we directly present. Otherwise the client would draw,
we block on the buffer becoming available, and only then show what the client
had drawn, usually one frame later.
Co-authored-by: Michel Dänzer <michel@daenzer.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14684>
Roman Gilg [Mon, 24 Jan 2022 16:14:44 +0000 (17:14 +0100)]
loader/dri3: Simplify buffer age query
The ternary operator is hard to read. Instead initialize the return variable
to zero and adjust its value in an if-clause.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14684>
David Heidelberg [Sat, 22 Oct 2022 19:41:49 +0000 (21:41 +0200)]
ci/linker: update mold to 1.6 and enable on s390x
Since 1.6 is s390x supported platform.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19254>
Eric Engestrom [Fri, 5 Aug 2022 12:45:47 +0000 (13:45 +0100)]
vc4: don't use imprecise_32bit_lowering for idiv lowering
This is known to produce bogus results for certain combinations of
operands, so don't use it. See this issue for details:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6555
None of the shaders in shaderdb are affected by this change, as all of
the shaders containing an integer division require a higher GLSL version
than vc4 supports and are therefore all skipped.
This is port of the v3d change
73e8fc3efbfe4a46bfd5ca5b3269d06f086bc224
to vc4; we expect the impact to be the same as for v3d, based on testing
a custom shader.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18019>
Eric Engestrom [Fri, 5 Aug 2022 12:47:22 +0000 (13:47 +0100)]
vc4: don't lower uadd_carry
We can produce slightly better code for these in the backend, so
do that.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18019>
Qiang Yu [Mon, 10 Oct 2022 08:35:06 +0000 (16:35 +0800)]
ac/nir/ngg,radv: use different counters for shader queries
VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT should count for each
stream.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7409
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015>
Qiang Yu [Mon, 10 Oct 2022 03:08:40 +0000 (11:08 +0800)]
nir,ac/nir/ngg,radv: split shader_query_enabled_amd
For used by different counter.
Vulkan:
1. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
sum generated primitives of all 4 streams when GS.
2. VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT, count generated
primitives for all 4 streams when VS/TES/GS.
3. VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT, count generated
and streamout primitives for all 4 streams when VS/TES/GS.
OpenGL:
1. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB, sum generated
primitives for all 4 streams when GS.
2. GL_PRIMITIVES_GENERATED, count generated primitives for all 4
streams when VS/TES/GS.
3. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, count streamout
primitives for all 4 streams when VS/TES/GS.
pipeline_stat_query_enabled_amd is for Vulkan 1 and OpenGL 1.
xfb_query_enabled_amd is for Vulkan 2/3 and OpenGL 2/3.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015>
Qiang Yu [Mon, 10 Oct 2022 02:52:27 +0000 (10:52 +0800)]
radv: split active_pipeline_gds_queries
For different enabling of pipeline stat and prims gen.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015>
Qiang Yu [Mon, 10 Oct 2022 02:39:29 +0000 (10:39 +0800)]
radv: count gen_prims_queries_enabled
User can enable/disable multi VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT
queries with same or different index.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015>
Mike Blumenkrantz [Fri, 21 Oct 2022 15:43:56 +0000 (11:43 -0400)]
zink: delete unused zink descriptor mode
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Mon, 24 Oct 2022 17:40:58 +0000 (13:40 -0400)]
zink: support multiple heaps per memory type
some allocations require a different memory heap even when using the
same memory bits, so allow iterating over heaps of the same memory type
to find the one that works
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Mon, 24 Oct 2022 17:26:31 +0000 (13:26 -0400)]
zink: allocate/place memory using memoryTypeIndex directly
it's possible for drivers to have multiple heaps with identical flags,
so this will enable passing the heap that should actually be used for
allocation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Mon, 24 Oct 2022 15:58:13 +0000 (11:58 -0400)]
zink: allow direct memory mapping for any COHERENT+CACHED buffer
some drivers may provide this in heaps that get used by non-staging resources,
so avoid extra copies in that case
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Mon, 24 Oct 2022 14:03:55 +0000 (10:03 -0400)]
zink: don't flag ubo0 as used in shaders with indirect ubo access
ubo0 is not a regular ubo, so avoid setting the hint here
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Sun, 23 Oct 2022 14:36:34 +0000 (10:36 -0400)]
zink: decrement ZINK_FBFETCH_BINDING
there's no reason this shouldn't be contiguous with the other gfx stages
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281>
Mike Blumenkrantz [Thu, 20 Oct 2022 16:23:04 +0000 (12:23 -0400)]
zink: fix gpl compile optimization
this is supposed to create the non-optimized pipeline first and then
compile the optimized version in the background, not the other way around
facepalm.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19201>
Mike Blumenkrantz [Sat, 22 Oct 2022 16:47:29 +0000 (12:47 -0400)]
lavapipe: fix BufferDeviceAddress usage
this is supposed to return the address at the start of the buffer,
not the address at the start of the memory allocation
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19274>
Mike Blumenkrantz [Sat, 22 Oct 2022 16:47:16 +0000 (12:47 -0400)]
lavapipe: store binding offset for buffers
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19274>
Nicholas Bishop [Mon, 24 Oct 2022 19:29:04 +0000 (15:29 -0400)]
crocus: fix off-by-one error when clearing stale syncobjs
This is the same fix as commit
1311eddd526 ("iris: fix off-by-one error
when clearing stale syncobjs"), but for crocus.
Signed-off-by: Nicholas Bishop <nicholasbishop@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19282>
Dave Airlie [Mon, 17 Oct 2022 00:22:59 +0000 (10:22 +1000)]
clover/llvm: add kernel arg info for opaque pointers
With opaque pointers you can no longer the info from the pointertype,
so rebuild it.
v2: add a comment
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19103>
Giancarlo Devich [Mon, 24 Oct 2022 20:07:55 +0000 (13:07 -0700)]
d3d12: Add cache managers for separate buffer usage cases
Mis-matched usage is a large percentage of buffer cache misses when
searching for applicable buffers. Separating these into separate
managers puts them into separate heaps and eliminates a significant
amount of CPU time spent searching.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19283>
Jami Kettunen [Sun, 23 Oct 2022 21:40:23 +0000 (00:40 +0300)]
freedreno/ir3: Switch to NIR for a5xx's vertex id lowering.
This was similarly done for a3xx & a4xx with
4bdd226ab61
("freedreno/ir3: Switch to NIR for a3xx/a4xx's vertex id lowering.")
already, yet a5xx was missed which I noticed as Minecraft window
titlebar text corruption on OnePlus 5T with Adreno 540.
Cc: mesa-stable
Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19263>
Nicholas Bishop [Fri, 21 Oct 2022 16:45:20 +0000 (12:45 -0400)]
crocus: Advertise PIPE_CAP_NATIVE_FENCE_FD
Enables EGL_ANDROID_native_fence_sync.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7253
Signed-off-by: Nicholas Bishop <nicholasbishop@google.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19235>
Rob Clark [Mon, 24 Oct 2022 21:32:01 +0000 (14:32 -0700)]
v3d/ci: Add a flake
I've seen this one flake, add it to flakes.txt to avoid blocking CI.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 19:37:12 +0000 (12:37 -0700)]
freedreno: Passthrough TCS support
Fixes 17 little piglits.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7518
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 19:28:02 +0000 (12:28 -0700)]
freedreno: Add tess_state support
Add support for setting default tess params, used by passthrough TCS.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 18:39:21 +0000 (11:39 -0700)]
freedreno/ir3: Passthrough TCS support
Wire up support for the two intrisics to get default tess levels (which
adds new HS driver params) and add a helper to generate a passthrough
TCS for a given VS. The passthrough TCS is cached in the VS, indexed by
patch_vertices, as the generated TCS is a function of the VS outputs and
the patch_vertices count.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 17:55:25 +0000 (10:55 -0700)]
freedreno: Dirty the TCS state if patch_vertices change
If using a passthrough TCS shader, we can't rely on having a new TCS
stage bound, so we need to invalidate the TCS state when the # of
patch_vertices changes.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 20:49:54 +0000 (13:49 -0700)]
radeonsi: Use nir passthrough TCS helper
Switch over to using the common nir helper.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
Rob Clark [Sat, 22 Oct 2022 17:29:43 +0000 (10:29 -0700)]
nir: Add helper to create passthrough TCS shader
Based on si_create_passthrough_tcs() as that seemed the most generic of
the various different backend driver implementations. Uses the
load_tess_level_outer_default and load_tess_level_inner_default
intrinsics to load the gl_TessLevelOuter and gl_TessLevelInner values,
so driver will somehow need to implement those to load the values set
by pipe_context::set_tess_state() or similar.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259>
David Heidelberg [Mon, 24 Oct 2022 16:51:04 +0000 (18:51 +0200)]
ci/panfrost: re-enable traces on t760
Also make a note, why we don't run gles2 piglit.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211>
David Heidelberg [Mon, 24 Oct 2022 16:47:49 +0000 (18:47 +0200)]
ci/panfrost: Humus Portal trace got fixed, update checksum
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211>
David Heidelberg [Thu, 20 Oct 2022 23:13:09 +0000 (01:13 +0200)]
ci/panfrost: enable piglit-gl on g52 again and deparalelize
The job fits into 15 minutes of runtime, so deparalelize.
Stress-tested.
Reviewed-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/19211>
David Heidelberg [Thu, 20 Oct 2022 22:38:21 +0000 (00:38 +0200)]
ci/panfrost: deduplicate gitlab-ci.yml
Reviewed-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/19211>
Pavel Ondračka [Sun, 23 Oct 2022 19:14:18 +0000 (21:14 +0200)]
r300: respect buffer offset in r300_set_constant_buffer
Fixes constants upload with nine.
Thanks to Marek Olšák for pointing this out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7481
Cc: mesa-stable
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19277>
Timur Kristóf [Thu, 6 Oct 2022 15:24:14 +0000 (10:24 -0500)]
aco: Add ACO_DEBUG=novalidateir option.
This disables IR validation in debug/debugoptimized builds.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Timur Kristóf [Thu, 6 Oct 2022 15:21:55 +0000 (10:21 -0500)]
aco: Move is_dead to aco_ir.h to allow it to get inlined.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Timur Kristóf [Wed, 17 Aug 2022 08:05:51 +0000 (10:05 +0200)]
aco/optimizer_postRA: Delete dead instructions more efficiently.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Timur Kristóf [Thu, 6 Oct 2022 00:32:13 +0000 (19:32 -0500)]
aco/optimizer_postRA: Properly handle vccz/execz/scc in reset_block.
Fixes:
a8dd07518c59af0087ed311cee232c31c3e8268c
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Timur Kristóf [Wed, 17 Aug 2022 07:05:27 +0000 (09:05 +0200)]
aco/optimizer_postRA: Speed up reset_block() with predecessors.
Copy the information from the first predecessor then check whether
it matches other predecessors and modify the data accordingly.
Marked for backporting to stable to make it possible to also
backport fixes based on this.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Timur Kristóf [Wed, 17 Aug 2022 06:12:51 +0000 (08:12 +0200)]
aco/optimizer_postRA: Use unique_ptr + array for instruction indices.
According to perf, this roughly halves the impact of the post-RA
optimizer in ACO's compile times.
Measurement was taken using a debug optimized build using
NIR_DEBUG=novalidate RADV_DEBUG=nocache and replaying the Fossil DB
from the Doom Eternal shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103>
Giancarlo Devich [Wed, 12 Oct 2022 20:28:41 +0000 (13:28 -0700)]
mesa: Fix stack corruption for PIPE_QUERY_TIMESTAMP
get_query_result expects a pointer to a union pipe_query_result,
which is larger than GLuint64EXT, causing the memset it does to
overwrite the stack.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19055>
Georg Lehmann [Mon, 17 Oct 2022 11:04:50 +0000 (13:04 +0200)]
radeonsi: Use available dot product instructions on gfx11.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114>
Georg Lehmann [Mon, 17 Oct 2022 09:18:57 +0000 (11:18 +0200)]
radv: Use available dot product instructions on gfx11.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114>
Georg Lehmann [Mon, 17 Oct 2022 09:12:59 +0000 (11:12 +0200)]
aco: Implement signed idot instructions on GFX11.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114>
Georg Lehmann [Mon, 17 Oct 2022 10:49:33 +0000 (12:49 +0200)]
ac/llvm: Implement signed idot on GFX11.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114>
Georg Lehmann [Sat, 22 Oct 2022 14:59:36 +0000 (16:59 +0200)]
aco: Don't use opsel for p_insert.
This doesn't make sense, opsel preserves the not selected half of the register,
p_insert zeros it.
No Foz-DB changes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes:
54292e99c78 ("aco: optimize 32-bit extracts and inserts using SDWA")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19253>
Georg Lehmann [Sat, 22 Oct 2022 22:37:43 +0000 (00:37 +0200)]
aco: fmaak/fmamk can't use SDWA.
Found by inspection.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19255>
Pedro J. Estébanez [Mon, 24 Oct 2022 10:48:04 +0000 (12:48 +0200)]
microsoft/spirv2dxil: Support pack_32_2x16 and pack_32_4x8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19273>
Yonggang Luo [Fri, 21 Oct 2022 15:19:46 +0000 (23:19 +0800)]
aco: Do not define NOMINMAX as it's already defined in pre_args now
It's a revert of
fcd53bebe68 ("aco: Define NOMINMAX in Meson build file")
Because
852d91edcd4 ("windows: Always set NOMINMAX to remove min/max macros")
did the same thing
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19233>
Erik Faye-Lund [Tue, 27 Sep 2022 12:12:09 +0000 (14:12 +0200)]
zink: reuse rast_prim for line-rasterization check
The check_warn variable is true a bit too often; in realtity it's not
*either* of these conditions that makes things lines, it's the last one
in the pipeline. But we already have a state for this, so let's reuse
that instead of recomputing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19048>