Rhys Perry [Tue, 8 Oct 2019 12:47:00 +0000 (14:47 +0200)]
aco: pad code with s_code_end on GFX10
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Rhys Perry [Tue, 10 Sep 2019 17:11:13 +0000 (18:11 +0100)]
aco: workaround GFX10 0x3f branch bug
According to LLVM, branches with an offset of 0x3f are buggy.
v2: (by Timur Kristóf)
- extract the GFX10 specific part to its own function
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Tue, 27 Aug 2019 14:27:41 +0000 (16:27 +0200)]
aco: Fix VS input VGPRs on GFX10.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Rhys Perry [Thu, 12 Sep 2019 18:55:12 +0000 (19:55 +0100)]
aco: Assemble opsel in VOP3 instructions.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Rhys Perry [Thu, 12 Sep 2019 18:55:36 +0000 (19:55 +0100)]
aco: Allow literals on VOP3 instructions.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com>
Timur Kristóf [Tue, 8 Oct 2019 12:43:43 +0000 (14:43 +0200)]
aco: Support subvector loops in aco_assembler.
These are currently not used, but could be useful later.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Tue, 8 Oct 2019 12:42:52 +0000 (14:42 +0200)]
aco: Set GFX10 dimensionality on the instructions that need it.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Fri, 4 Oct 2019 13:12:21 +0000 (15:12 +0200)]
aco: Use ac_get_sampler_dim, delete duplicate code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:53:17 +0000 (17:53 +0200)]
aco: Set GFX10 DLC bit properly.
The DLC bit is now set to 1 for all loads when GLC is also set,
but cleared to 0 for all stores (otherwise it causes issues),
and also cleared to 0 for atomics.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:51:51 +0000 (17:51 +0200)]
aco: Support GFX10 VOP3 and VOP1 as VOP3 in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:50:48 +0000 (17:50 +0200)]
aco: Support GFX10 EXP in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:50:06 +0000 (17:50 +0200)]
aco: Fix GFX9 FLAT, SCRATCH, GLOBAL instructions, add GFX10 support.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:48:55 +0000 (17:48 +0200)]
aco: Support GFX10 MIMG and GFX9 D16 in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:48:08 +0000 (17:48 +0200)]
aco: Support GFX10 MTBUF in aco_assembler.
Also remove img_format from aco_ir, since it can be calculated
from dfmt and nfmt. So only the assember needs to deal with it.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Fri, 27 Sep 2019 07:26:40 +0000 (09:26 +0200)]
aco: Link ACO with amd/common.
We'd like to use some functions, for example some
ac_shader_util functions in ACO, so we need to link
ACO to AC.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Fri, 27 Sep 2019 07:26:14 +0000 (09:26 +0200)]
amd/common: Add extern "C" to some headers that were missing it.
We'd like to include some of these in C++ code later.
Specifically, ACO is written in C++ and we would like to use
some of this code in ACO in order to avoid code duplication.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:47:51 +0000 (17:47 +0200)]
aco: Support GFX10 MUBUF in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:47:30 +0000 (17:47 +0200)]
aco: Support GFX10 DS in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:46:43 +0000 (17:46 +0200)]
aco: Support GFX10 VINTRP in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:46:05 +0000 (17:46 +0200)]
aco: Support GFX10 SMEM in aco_assembler.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Thu, 26 Sep 2019 15:45:13 +0000 (17:45 +0200)]
aco: Add missing GFX10 specific fields and some README notes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Timur Kristóf [Sat, 21 Sep 2019 15:58:08 +0000 (17:58 +0200)]
aco: Set +wavefrontsize64 for LLVM disassembler in GFX10 wave64 mode.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Alejandro Piñeiro [Tue, 8 Oct 2019 13:44:19 +0000 (15:44 +0200)]
v3d: take into account prim_counts_offset
Specifically when reading the primitive counters.
This fixed ~700 CTS tests using this pattern:
dEQP-GLES3.functional.transform_feedback.*
when run after tests like
dEQP-GLES3.functional.prerequisite.read_pixels on the same
caselist. When run individually those tests were passing because
prim_counts_offset was zero.
Fixes: 0f2d1dfe65bfe1ee8f02ce45f100a5508debdfd4 ("v3d: use the GPU to
record primitives written to transform feedback")
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Samuel Pitoiset [Wed, 9 Oct 2019 16:15:42 +0000 (18:15 +0200)]
radv: get the device name from radeon_info::name
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Dave Airlie [Wed, 9 Oct 2019 23:56:27 +0000 (09:56 +1000)]
st/mesa: fix R8 bitmap texture for TGSI paths.
The initial patch only fixed up the NIR path, but forgot
the TGSI path needed fixing as well.
Fixes: f92226931b ("st/mesa: Prefer R8 for bitmap textures")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Jason Ekstrand [Wed, 9 Oct 2019 18:21:21 +0000 (13:21 -0500)]
anv/pipeline: Capture serialized NIR
This allows the serialized NIR to be displayed in RenderDoc and similar
tools.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Matt Turner [Wed, 9 Oct 2019 21:52:09 +0000 (14:52 -0700)]
clover: Remove unused code
Fixes: 96b592696f1 ("gallium: Require LLVM >= 3.9")
Bug: https://bugs.gentoo.org/685678
Greg V [Wed, 4 Jul 2018 17:15:04 +0000 (20:15 +0300)]
clover: use iterator_range in get_kernel_nodes
With libc++ (LLVM's STL implementation), the original code does not compile because an
appropriate vector constructor cannot be found (for the _ForwardIterator one, requirement
is_constructible is not satisfied).
Marek Olšák [Fri, 13 Sep 2019 01:57:00 +0000 (21:57 -0400)]
radeonsi: enable MSAA shader images
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 00:20:53 +0000 (20:20 -0400)]
radeonsi: expand FMASK before MSAA image stores are used
Image stores don't use FMASK, so we have to turn it into identity.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 01:56:41 +0000 (21:56 -0400)]
radeonsi: apply FMASK to MSAA image loads
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 01:39:31 +0000 (21:39 -0400)]
radeonsi: clean up image_fetch_rsrc
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 01:13:08 +0000 (21:13 -0400)]
radeonsi: add FMASK slots for shader images (for MSAA images)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Sat, 14 Sep 2019 03:58:52 +0000 (23:58 -0400)]
radeonsi: set the sample index for shader images correctly
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Mon, 16 Sep 2019 23:37:36 +0000 (19:37 -0400)]
radeonsi: fix GLSL imageSamples()
We haven't supported MSAA images, so it doesn't matter much.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 01:09:19 +0000 (21:09 -0400)]
tgsi/scan: add tgsi_shader_info::msaa_images_declared
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Fri, 13 Sep 2019 01:09:50 +0000 (21:09 -0400)]
nir: add shader_info::last_msaa_image
for radeonsi
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Wed, 9 Oct 2019 21:02:07 +0000 (17:02 -0400)]
radeonsi: don't set BO metadata for non-zero planes
pointed out by Bas
Marek Olšák [Mon, 30 Sep 2019 18:03:30 +0000 (14:03 -0400)]
radeonsi: ignore metadata for non-zero planes
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Thu, 19 Sep 2019 01:17:11 +0000 (21:17 -0400)]
radeonsi: remove si_vid_join_surfaces and use combined planar allocations
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Wed, 28 Aug 2019 01:18:57 +0000 (21:18 -0400)]
radeonsi: allocate planar multimedia formats in 1 buffer
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Thu, 19 Sep 2019 00:48:15 +0000 (20:48 -0400)]
vl: use u_format in vl_video_buffer_formats
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Sat, 24 Aug 2019 01:16:43 +0000 (21:16 -0400)]
gallium/u_tests: test NV12 allocation and export
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Tue, 27 Aug 2019 00:10:43 +0000 (20:10 -0400)]
gallium/util: add planar format layouts and helpers
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Marek Olšák [Mon, 26 Aug 2019 23:53:09 +0000 (19:53 -0400)]
gallium/util: remove enum numbering from util_format_layout
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Caio Marcelo de Oliveira Filho [Tue, 8 Oct 2019 00:15:26 +0000 (17:15 -0700)]
i965: Disable fast clears when running with INTEL_DEBUG=nofc
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Caio Marcelo de Oliveira Filho [Tue, 8 Oct 2019 00:12:14 +0000 (17:12 -0700)]
iris: Disable fast clears when running with INTEL_DEBUG=nofc
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Caio Marcelo de Oliveira Filho [Tue, 8 Oct 2019 00:05:23 +0000 (17:05 -0700)]
anv: Disable fast clears when running with INTEL_DEBUG=nofc
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Caio Marcelo de Oliveira Filho [Tue, 8 Oct 2019 00:04:01 +0000 (17:04 -0700)]
intel: Add INTEL_DEBUG=nofc for disabling fast clears
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
Maya Rashish [Tue, 3 Sep 2019 10:04:15 +0000 (13:04 +0300)]
llvmpipe: avoid left-shifting a negative number.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Maya Rashish <coypu@sdf.org>
Danilo Spinella [Fri, 13 Sep 2019 22:03:20 +0000 (00:03 +0200)]
egl: Include stddef.h in generated source
Required for NULL macro used throughout the generated file.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
OBATA Akio [Mon, 16 Sep 2019 07:39:32 +0000 (16:39 +0900)]
util: fix to detect NetBSD properly
<sys/param.h> is required for NetBSD version detection,
and __NetBSD__ must be used to detect even on older releases.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Jan Beich [Mon, 16 Sep 2019 12:55:06 +0000 (12:55 +0000)]
util: simplify BSD includes
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
Jan Beich [Mon, 16 Sep 2019 11:42:07 +0000 (11:42 +0000)]
util: detect AltiVec at runtime on BSDs
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
Jan Beich [Mon, 16 Sep 2019 11:26:24 +0000 (11:26 +0000)]
util: skip AltiVec detection if built with -maltivec
Helps platforms where runtime detection isn't implemented.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
Jan Beich [Mon, 16 Sep 2019 11:34:28 +0000 (11:34 +0000)]
util: detect NEON at runtime on FreeBSD
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
Jan Beich [Mon, 16 Sep 2019 11:26:24 +0000 (11:26 +0000)]
util: skip NEON detection if built with -mfpu=neon
Helps platforms where runtime detection isn't implemented.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
Adam Jackson [Wed, 9 Oct 2019 00:20:36 +0000 (20:20 -0400)]
egl: Make native display detection work more than once
eglGetDisplay is awful because you have to inspect the pointer you're
given and guess what type of native display it corresponds to. We make
it worse by caching the type of the first such display we detect, so if
the second call to eglGetDisplay is to a different display type, kaboom.
Fortunately this is a problem that can be solved with the delete key.
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/156
Rhys Perry [Wed, 18 Sep 2019 19:39:41 +0000 (20:39 +0100)]
aco: enable nir_opt_sink
SGPRS: 880272 -> 838936 (-4.70 %)
VGPRS: 705316 -> 680988 (-3.45 %)
Spilled SGPRs: 1032 -> 832 (-19.38 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 252 -> 252 (0.00 %) dwords per thread
Code Size:
55150788 ->
55172436 (0.04 %) bytes
LDS: 451 -> 451 (0.00 %) blocks
Max Waves: 66178 -> 68706 (3.82 %)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Connor Abbott [Wed, 25 Sep 2019 12:17:23 +0000 (14:17 +0200)]
nir/sink: Don't sink load_ubo to outside of its defining loop
Previously, this could have made the resource divergent in code like
that which is genereated by nir_lower_non_uniform_access.
Fixes: da8ed68a ('nir: replace nir_move_load_const() with nir_opt_sink()')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Connor Abbott [Wed, 25 Sep 2019 12:02:48 +0000 (14:02 +0200)]
nir/sink: Rewrite loop handling logic
Previously, for code like:
loop {
loop {
a = load_ubo()
}
use(a)
}
adjust_block_for_loops() would return the block before the first loop.
Now we compute the range of allowed blocks and then walk the dominance
tree directly, guaranteeing directly that we always choose a block that
dominates all the uses and is dominated by the definition.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Marek Olšák [Wed, 9 Oct 2019 16:25:10 +0000 (12:25 -0400)]
amd: don't use AMD_FAMILY definitions from amdgpu_drm.h
use the ones from addrlib
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Dylan Baker [Wed, 9 Oct 2019 17:25:17 +0000 (10:25 -0700)]
docs: update calendar, add news item, and link release notes for 19.2.1
Dylan Baker [Wed, 9 Oct 2019 17:19:16 +0000 (10:19 -0700)]
docs: Add SHA256 sum for 19.2.1
Dylan Baker [Wed, 9 Oct 2019 16:42:37 +0000 (09:42 -0700)]
docs: Add relnotes for 19.2.1
Rhys Perry [Tue, 8 Oct 2019 12:40:17 +0000 (13:40 +0100)]
aco: move s_andn2_b64 instructions out of the p_discard_if
And use a new p_discard_early_exit instruction. This fixes some cases
where a definition having the same register as an operand causes issues.
v2: rename instruction to p_exit_early_if
v2: modify the existing instruction instead of creating a new one
v3: merge the "i == num - 1" IFs
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Daniel Schürmann [Mon, 7 Oct 2019 00:52:55 +0000 (02:52 +0200)]
aco: don't reorder instructions in order to lower boolean phis
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Daniel Schürmann [Mon, 7 Oct 2019 00:32:54 +0000 (02:32 +0200)]
aco: re-use existing phi instruction when lowering boolean phis
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Michael Schellenberger Costa [Mon, 12 Aug 2019 18:40:37 +0000 (20:40 +0200)]
aco: Cleanup insert_before_logical_end
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Vasily Khoruzhick [Tue, 8 Oct 2019 03:11:46 +0000 (20:11 -0700)]
lima/ppir: don't clone texture loads
Cloning texture loads isn't a good idea since we may move it into
a block that is not shared between all the invocations of the shader.
We'd like to avoid that since it may result in undefined behavior.
Reviewed-by: Andreas Baierl <ichgeh@imkreisrum.de>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Michel Dänzer [Tue, 8 Oct 2019 15:50:07 +0000 (17:50 +0200)]
gitlab-ci/lava: Add needs: for container image to test jobs
Without this, the test jobs could spuriously run after the container
job failed or was cancelled, even if the build job didn't run at all.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Samuel Pitoiset [Wed, 9 Oct 2019 08:37:04 +0000 (10:37 +0200)]
radv: bump minTexelBufferOffsetAlignment to 4
The spec has probably been misinterpreted during RADV bringup.
This fixes GPU hangs with dEQP-VK.binding_model.*offset_nonzero*.
Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sergii Romantsov [Thu, 18 Jul 2019 12:43:59 +0000 (15:43 +0300)]
meta: leak of shader program when decompressing tex-images
CC: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
Erik Faye-Lund [Mon, 15 Jul 2019 10:03:43 +0000 (12:03 +0200)]
mesa/main: prefer R8-textures instead of A8 for glBitmap in display lists
This allows drivers to communicate that they prefer R8 textures rather
than A8 for glBitmap usage.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Dave Airlie [Thu, 4 Oct 2018 01:41:26 +0000 (02:41 +0100)]
st/mesa: Prefer R8 for bitmap textures
If it's not available, we fall back to A8. This should work on all drivers,
because we depend on it in the display-list code already.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Samuel Pitoiset [Tue, 8 Oct 2019 08:30:03 +0000 (10:30 +0200)]
drirc: enable vk_x11_override_min_image_count for DOOM
DOOM fails to handle more images than expected when the adaptative
sync mode is enabled.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1902
Cc: 19.2 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Samuel Pitoiset [Mon, 7 Oct 2019 08:26:22 +0000 (10:26 +0200)]
radv: implement VK_KHR_shader_clock
NIR->LLVM and ACO already support nir_intrinsic_shader_clock.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Kenneth Graunke [Wed, 25 Sep 2019 07:31:07 +0000 (00:31 -0700)]
iris: Implement the Broadwell NP Z PMA Stall Fix
This should help avoid stalls in the pixel mask array in certain
non-promoted depth cases. It especially helps for Z16, as each bit
in the PMA corresponds to two pixels when using Z16, as opposed to
the usual one pixel.
Improves performance in GFXBench5 TRex by 22% (n=1).
Caio Marcelo de Oliveira Filho [Tue, 8 Oct 2019 22:52:04 +0000 (15:52 -0700)]
docs: Update recently enabled VK extensions on Intel
Caio Marcelo de Oliveira Filho [Thu, 22 Aug 2019 19:30:43 +0000 (12:30 -0700)]
anv: Enable VK_EXT_shader_subgroup_{ballot,vote}
Anvil now supports and passes Vulkan CTS tests matching
dEQP-VK.subgroups.*.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.*.ext_shader_subgroup_vote.*
and crucible tests matching
func.shader-ballot.*
func.shader-subgroup-vote.*
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Kenneth Graunke [Tue, 8 Oct 2019 22:20:19 +0000 (15:20 -0700)]
st/mesa: Fix inverted polygon stipple condition
Fixes Piglit's gl-2.1-polygon-stipple-fs on iris.
Fixes: 63f24c3c016 ("gallium: Enable MESA_framebuffer_flip_y")
Reviewed-by: Fritz Koenig <frkoenig@google.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Fritz Koenig [Tue, 30 Jul 2019 21:40:33 +0000 (14:40 -0700)]
gallium: Enable MESA_framebuffer_flip_y
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Fritz Koenig [Tue, 30 Jul 2019 21:53:30 +0000 (14:53 -0700)]
mesa: Allow MESA_framebuffer_flip_y for GLES 3
Implement glFramebufferParameteriMESA on GLES 3 so
that the extension is not dependant on GLES 3.1
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Fritz Koenig [Mon, 7 Oct 2019 18:15:03 +0000 (11:15 -0700)]
mesa: GetFramebufferParameteriv spelling
GetFramebufferParameteriv was incorrectly spelled as
GetFramebufferParameteri.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Fritz Koenig [Mon, 7 Oct 2019 18:33:59 +0000 (11:33 -0700)]
include/GLES2: Sync GLES2 headers with Khronos
Bring in glFramebufferParameteriMESA/glGetFramebufferParameterivMESA
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Clément Guérin [Sat, 5 Oct 2019 03:05:09 +0000 (20:05 -0700)]
radeonsi: enable zerovram for Rocket League
Fixes corruption on game startup.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1888
Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Kenneth Graunke [Tue, 8 Oct 2019 17:11:52 +0000 (10:11 -0700)]
iris: Properly unreference extra VBOs for draw parameters
bound_vertex_buffers doesn't include extra draw parameters buffers.
Tracking this correctly is kind of complicated, and iris_destroy_state
isn't exactly in a hot path, so just loop over all VBO bindings.
Fixes: 4122665dd90 (iris: Enable ARB_shader_draw_parameters support)
Reported-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
Eric Engestrom [Sat, 14 Sep 2019 21:18:32 +0000 (22:18 +0100)]
meson: fix sys/mkdev.h detection on Solaris
On Solaris, sys/sysmacros.h has long-deprecated copies of major() & minor()
but not makedev().
sys/mkdev.h has all three and is the preferred choice.
Let's make sure we check for all 3 major(), minor() and makedev().
Reported-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Tested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Eric Engestrom [Sat, 5 Oct 2019 07:30:44 +0000 (08:30 +0100)]
include: update drm-uapi
`drm.h` was missing a `#include <stdint.h>`, which was completely
breaking the non-linux builds after
272f9cfe6a19212354c8 ("dri: Use DRM_FORMAT_*
instead of defining our own copy.") started making use of it.
Fixes: 272f9cfe6a19212354c8 ("dri: Use DRM_FORMAT_* instead of defining our own copy.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/950
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Michel Dänzer [Mon, 7 Oct 2019 10:02:14 +0000 (12:02 +0200)]
loader: Simplify handling of the radeonsi driver
The list of AMD/ATI devices supported by radeon/r200/r300/r600 is
complete, so anything else must use radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Bas Nieuwenhuizen [Tue, 8 Oct 2019 01:41:50 +0000 (03:41 +0200)]
amd/llvm: Fix warning due to asserted-only variable.
[212/893] Compiling C object 'src/amd/llvm/
ce8261c@@amd_common_llvm@sta/ac_nir_to_llvm.c.o'.
../mesa/src/amd/llvm/ac_nir_to_llvm.c: In function ‘visit_image_atomic’:
../mesa/src/amd/llvm/ac_nir_to_llvm.c:2636:17: warning: unused variable ‘format’ [-Wunused-variable]
2636 | const GLenum format = nir_intrinsic_format(instr);
| ^~~~~~
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Boris Brezillon [Fri, 20 Sep 2019 06:55:54 +0000 (08:55 +0200)]
panfrost: Draw the wallpaper when only depth/stencil bufs are cleared
When only the depth/stencil bufs are cleared, we should make sure the
color content is reloaded into the tile buffers if we want to preserve
their content.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Boris Brezillon [Thu, 19 Sep 2019 13:52:02 +0000 (15:52 +0200)]
panfrost: Make sure a clear does not re-use a pre-existing batch
glClear()s are expected to be the first thing GL apps do before drawing
new things. If there's already an existing batch targetting the same
FBO that has draws attached to it, we should make sure the new clear
gets a new batch assigned to guaranteed that the FB content is actually
cleared with the requested color/depth/stencil values.
We create a panfrost_get_fresh_batch_for_fbo() helper for that and
call it from panfrost_clear().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Kenneth Graunke [Mon, 7 Oct 2019 23:03:14 +0000 (16:03 -0700)]
iris: Update comment about 3-component formats and buffer textures
You can't render to PIPE_BUFFER so there's no reason to prefer RGBX.
PBO upload would like to use proper RGB textures as source data.
Chris Wilson [Wed, 10 Jul 2019 19:18:38 +0000 (20:18 +0100)]
iris: Allow packed RGB pbo uploads
Hitting any fallback path on Broxton as we require clflushing the whole
buffer even for an upload of a subtexture. However, since gallium
provides a pbo upload path, allow it to sample packed RGB if supported.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tapani Pälli [Mon, 7 Oct 2019 06:07:48 +0000 (09:07 +0300)]
anv/android: fix images created with external format support
This fixes a case where user first creates image and then later binds it
with memory created from AHW buffer.
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Bas Nieuwenhuizen [Mon, 7 Oct 2019 15:34:22 +0000 (17:34 +0200)]
meson: Always add LLVM coroutines module.
It gets used by the gallium auxiliary draw module, which gets used
pretty much always when LLVM is used as JIT.
At the same time most builds don't hit the issue here because the
shared library of LLVM contains all modules.
Fixes: d32690b43c91 ("gallivm: add coroutine pass manager support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/951
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Timur Kristóf [Fri, 27 Sep 2019 08:29:51 +0000 (10:29 +0200)]
amd: Move all amd/common code that depends on LLVM to amd/llvm.
This commit is a step towards the goal of being able to build RADV
without LLVM. In the future we would like to offer the option to
use RADV solely with ACO. There is still a need for the common AMD
code located in amd/common but the LLVM specific parts need to be
separated.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Ilia Mirkin [Wed, 2 Oct 2019 23:47:00 +0000 (19:47 -0400)]
nvc0: add support for GL_EXT_demote_to_helper_invocation
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Ilia Mirkin [Wed, 2 Oct 2019 23:39:30 +0000 (19:39 -0400)]
gallium/tgsi: add support for DEMOTE and READ_HELPER opcodes
This mirrors the intrinsics in the GLSL IR. One could imagine an
alternate definition where reading the semantic would account for the
READ_HELPER functionality, but that feels potentially dodgy and could be
subject to CSE unpleasantness.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>