Eric Anholt [Wed, 5 Feb 2020 18:38:57 +0000 (10:38 -0800)]
Revert "gallium: Fix big-endian addressing of non-bitmask array formats."
This reverts the functional part of commit
d17ff2f7f1864c81c1e00d04baf20f953c6d276a, leaving the unit test for
mesa/pipe agreement on what's an array.
The issue is that the util_channel_desc.shift values on array formats are
not used for bit addressing in memory, they're bit addressing within a
word treating a pixel of the format as a native type, as seen by
llvmpipe's use of the values to do shifts (see
lp_build_unpack_arith_rgba_aos() for example). This means the values are
nonsensical for 3-byte RGB, but then llvmpipe doesn't expose those formats
so it works out.
I still want to clean up our big-endian format handling at some point, but
let's fix the s390x regression first, sort out our format unit tests in
CI, then be able to refactor with confidence.
Fixes: d17ff2f7f186 ("gallium: Fix big-endian addressing of non-bitmask array formats.")
Closes: #2472
Acked-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3721>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3721>
Marek Olšák [Tue, 21 Jan 2020 01:32:02 +0000 (20:32 -0500)]
st/mesa: optimize st_update_array with ALWAYSINLINE
The time spent in st_update_array is reduced by 5-10%.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 4 Feb 2020 01:44:04 +0000 (20:44 -0500)]
mesa: don't use bitfields in _mesa_prim
This is better.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 4 Feb 2020 01:40:09 +0000 (20:40 -0500)]
mesa: remove unused _mesa_prim::is_indirect
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 4 Feb 2020 01:34:06 +0000 (20:34 -0500)]
í965: don't use _mesa_prim::is_indirect
the vbo change only affects i965
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 4 Feb 2020 01:20:05 +0000 (20:20 -0500)]
vbo: merge use_buffer_objects into vbo_CreateContext to skip the big malloc
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 4 Feb 2020 00:43:42 +0000 (19:43 -0500)]
vbo: clean up resetting vertex attribs
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Sat, 1 Feb 2020 01:50:42 +0000 (20:50 -0500)]
vbo: also map the immediate mode buffer for read
because we read from it sometimes and we want cached reads.
We can only do it with the persistent mapping, because the non-persistent
mapping uses incompatible flags.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Sat, 1 Feb 2020 01:33:14 +0000 (20:33 -0500)]
vbo: delay flagging FLUSH_STORED_VERTICES until glEnd
Only state changes see this, which can't occur before glEnd.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Sat, 1 Feb 2020 01:32:05 +0000 (20:32 -0500)]
vbo: add/update unlikely statements in ATTR_UNION
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Fri, 31 Jan 2020 00:41:02 +0000 (19:41 -0500)]
vbo: increase the size of the immediate mode buffer to decrease draw count
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 30 Jan 2020 22:49:13 +0000 (17:49 -0500)]
vbo: use FlushVertices flags properly and clear NeedFlush correctly
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Fri, 31 Jan 2020 21:26:42 +0000 (16:26 -0500)]
vbo: fix resizing 64-bit vertex attributes
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 30 Jan 2020 03:09:20 +0000 (22:09 -0500)]
vbo: optimize resizing vertex attributes during immediate mode
Just move data manually instead of copying all attributes back and forth.
This increases performance by 5% for Viewperf11/Catia - first scene.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 00:55:05 +0000 (19:55 -0500)]
vbo: don't store glVertex values temporarily into exec
This improves performance by 4.3% in Viewperf11/Catia, first scene.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Sat, 25 Jan 2020 03:17:09 +0000 (22:17 -0500)]
vbo: pass only either uint32_t or uint64_t into ATTR_UNION
This makes the next commit possible.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 00:19:25 +0000 (19:19 -0500)]
vbo: don't set FLUSH_UPDATE_CURRENT for glVertex
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Wed, 22 Jan 2020 23:07:02 +0000 (18:07 -0500)]
vbo: keep the immediate mode buffer always mapped for simplicity
It only unmaps when it draws with a non-persistent buffer.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 02:32:34 +0000 (21:32 -0500)]
vbo: don't check ctx->NewState twice in glBegin
_mesa_valid_to_render does it too.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 02:27:02 +0000 (21:27 -0500)]
vbo: remove a funky recursive call in glBegin
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 02:14:31 +0000 (21:14 -0500)]
vbo: interleave attrsz, attrtype, and active_sz in memory
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Wed, 22 Jan 2020 23:49:51 +0000 (18:49 -0500)]
vbo: remove immediate mode code that doesn't do anything and simplify stuff
no change in behavior
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Wed, 22 Jan 2020 21:20:59 +0000 (16:20 -0500)]
vbo: don't unmap persistent buffer mappings for glBegin/End
This significantly improves performance by lowering CPU overhead.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Wed, 22 Jan 2020 21:18:16 +0000 (16:18 -0500)]
vbo: skip FlushMappedBufferRange for glBegin/End by using a persistent mapping
This is a preparation for the next commit and just isolates the removal
of GL_MAP_FLUSH_EXPLICIT_BIT and other map flags that don't make sense with
UNSYNCHRONIZED.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Wed, 29 Jan 2020 21:09:24 +0000 (16:09 -0500)]
vbo: create the immediate mode buffer only in vbo_exec_vtx_map
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Tue, 21 Jan 2020 02:35:54 +0000 (21:35 -0500)]
mesa: import PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET handling
This should decrease overhead in st_update_array.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 00:11:22 +0000 (19:11 -0500)]
mesa: remove FLUSH_CURRENT calls that have no effect
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Thu, 23 Jan 2020 00:09:23 +0000 (19:09 -0500)]
mesa: fix incorrect uses of FLUSH_CURRENT
FLUSH_CURRENT is used to copy attributes from the vbo module to
Current.Attrib. It flushes vertices too, but that's a side effect,
not the intent.
Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3766>
Marek Olšák [Fri, 24 Jan 2020 02:01:56 +0000 (21:01 -0500)]
glx: print FPS with 2 decimal places
useful if FPS is low.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3590>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3590>
Marek Olšák [Thu, 30 Jan 2020 21:59:39 +0000 (16:59 -0500)]
radeonsi: don't update states for the DCC MSAA bug on GFX6-7
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3646>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3646>
Marek Olšák [Thu, 30 Jan 2020 21:58:15 +0000 (16:58 -0500)]
radeonsi: fix the DCC MSAA bug workaround
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3646>
Gert Wollny [Sat, 28 Dec 2019 17:23:19 +0000 (18:23 +0100)]
r600/sfn: Add some documentation
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 17:22:58 +0000 (18:22 +0100)]
r600/sfn: Add .editorconfig file
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 15:48:45 +0000 (16:48 +0100)]
r600/sfn: Add support for SSBO load and store
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 15:19:03 +0000 (16:19 +0100)]
r600/sfn: Add support for atomic instructions
v2: fix compilation with gcc-6
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 20:24:11 +0000 (21:24 +0100)]
r600: Make sure LLVM is not used for DRAW
For some reasone that is not yet clear the piglit
gl-1.0-rendermode-feedback makes use of the LLVM pipe draw module and
fails there with an assertion. Explicietly disabling LLVM fixes this.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add lowering UBO access to r600 specific codes
r600 reads vec4 from the UBO, but the offsets in nir are evaluated to the component.
If the offsets are not literal then all non-vec4 reads must resolve the component
after reading a vec4 component (TODO: figure out whether there is a consistent way
to deduct the component that is actually read).
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add GDS instructions
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add compute shader skeleton
This adds some very basic compute shader support.
v2: fix compilation with gcc-6
v3: rebase: correct barrier intrinstic
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add VS for TCS shader skeleton
This adds the VS shader type that handles the output to tesselation shaders
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add support for geometry shader
v2: fix compilation with gcc-6
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: add emitVertex instructions
More preparation for GS support
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add MemRingOut instructions
Preparing support for Geometry shaders.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:27 +0000 (17:49 +0100)]
r600/sfn: Add a load GDS result instruction
This is required to read results for atomic SSBO instructions
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)]
r600/sfn: Add lowering arrays to scratch and according instructions
Make use of the scratch space for arrays that are larger then 100 elements.
Since for IO r600 is vector based, there is a bit of a scratch space waste
here for arrays that use types smaller then vec4.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)]
r600/sfn: add register remapping
Make use of the live range evaluation to merge registers. Since the
live ranges are evaluated for register indices, the algorithm is not
optimal, but for most piglits up to glsl-3.3 it does the job.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)]
r600/sfn: add live range evaluation for the GPR
The algoritm is basically a copy of the TGSI implementation without the
array bits.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)]
r600/sfn: Add the WaitAck instruction
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Fri, 27 Dec 2019 16:49:26 +0000 (17:49 +0100)]
r600/sfn: Add the VS in and FS out vectorization
Since the nir default implementation doesn't support vectorizing the VS
inputs and FS outputs, additional lowering passes are added here to do
just that. The work is based on the Timothy Arceri's related work.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 14:34:43 +0000 (15:34 +0100)]
r600: enable NIR backend DEBUG flag for supported architectures
When NIR is enabled, a few features that are not yet supported will be
explicitely disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sun, 1 Dec 2019 19:38:07 +0000 (20:38 +0100)]
r600/sfn: Add a basic nir shader backend
This commit adds support for vertex and fragment shaders from NIR, and
support for most TEX and ALU instructions.
Thanks Dave Airlied for adding support for a number of ALU instructions.
v2: fix compilation with gcc-6
v3: rebase: use mesa/core glsl_type_size function
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sun, 1 Dec 2019 18:11:19 +0000 (19:11 +0100)]
r600: Update state code to accept NIR shaders
v2: Correct commit message (Konstantin Kharlamov)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 14:34:54 +0000 (15:34 +0100)]
r600: Add NIR compiler options
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Sat, 28 Dec 2019 14:35:03 +0000 (15:35 +0100)]
r600: Increase space for IO values to agree with PIPE_MAX_SHADER_IN/OUTPUTS
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Gert Wollny [Mon, 25 Nov 2019 18:30:00 +0000 (19:30 +0100)]
r600: force new CF with TEX only if any texture value is written
This works aound splitting the CF when the gradient is set.
Signed-off-by: Gert Wollny <gw.fossdev@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3225>
Neha Bhende [Tue, 10 Dec 2019 07:52:29 +0000 (13:22 +0530)]
svga: Use pipe_shader_state_from_tgsi to set shader state
Use pipe_shader_state_from_tgsi() to set shader state for transformed
shader so that we get all correct data for respective shader state.
This fixes several regressed glretrace, piglit crashes found during merging
upsteam mesa
Fixes: bf12bc2dd7a2 (draw: add nir info gathering and building support)
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Neha Bhende [Mon, 10 Feb 2020 18:39:51 +0000 (10:39 -0800)]
svga: fix size of format_conversion_table[]
Since we are now using sparse matrix for format_conversion_table,
we have to make sure we have last entry in table which gives the
sense of required size of format_conversion_table
Fixes: 84db6ba7 ("svga: Drop unsupported formats from the format table")
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Krzysztof Raszkowski [Mon, 10 Feb 2020 15:24:10 +0000 (16:24 +0100)]
gallium/swr: simplify environmental variabled expansion code
There were 2 versions of code doing the same thing.
Since std::regexp are locale-sensitive better is to leave old
good way to do this.
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3761>
Samuel Pitoiset [Fri, 7 Feb 2020 15:33:35 +0000 (16:33 +0100)]
aco: fix waiting for scalar stores before "writing back" data on GFX8-GFX9
Seems required also on GFX8-GFX9 to achieve correct behaviour. This
is an undocumented behaviour but it makes real sense to me.
pipeline-db on GFX9:
Totals from affected shaders:
SGPRS: 1018 -> 1018 (0.00 %)
VGPRS: 516 -> 516 (0.00 %)
Code Size: 40516 -> 40636 (0.30 %) bytes
Max Waves: 280 -> 280 (0.00 %)
This fixes some sort of sun flickering with Assassins Creed Origins.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2488
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3750>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3750>
Georg Lehmann [Thu, 6 Feb 2020 21:38:35 +0000 (22:38 +0100)]
Vulkan overlay: use the corresponding image index for each swapchain
pImageIndices should be a pointer to the current image index
otherwise every swapchain but the first one could have a wrong image index
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741>
Erik Faye-Lund [Tue, 4 Feb 2020 10:21:58 +0000 (11:21 +0100)]
zink: only inspect dual-src limit if feature enabled
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689>
Erik Faye-Lund [Tue, 4 Feb 2020 10:12:25 +0000 (11:12 +0100)]
zink: emit blend-target index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689>
Erik Faye-Lund [Sat, 1 Feb 2020 16:38:30 +0000 (17:38 +0100)]
zink: replace unset buffer with a dummy-buffer
This fixes a crash in spec@!opengl 1.1@ppgtt_memory_alignment
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3673>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3673>
Samuel Pitoiset [Mon, 10 Feb 2020 08:55:27 +0000 (09:55 +0100)]
gitlab-ci: disable a630 tests as mesa-cheza is down (again)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3758>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3758>
Marek Olšák [Wed, 29 Jan 2020 22:25:45 +0000 (17:25 -0500)]
radeonsi: don't report that multi-plane formats are supported
Fixes: a554b45d - st/mesa: don't lower YUV when driver supports it natively
Closes: #2376
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3632>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3632>
Erik Faye-Lund [Fri, 31 Jan 2020 17:59:48 +0000 (18:59 +0100)]
zink: fixup sampler-usage
It seems I got this stuff all wrong, and looked at driver_location
rather than the binding. But since we mess with the binding, we need to
adjust things a bit to get things right.
This still isn't great as-is, but it seems to work. In the future, we
should move to having samplers always at bindings 0 and up, and just
update the bindings that are used by either of the stages. But this
band-aid should be OK for now.
This fixes 0AD for me.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668>
Erik Faye-Lund [Fri, 31 Jan 2020 17:24:42 +0000 (18:24 +0100)]
zink: lower away fdph
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668>
Christian Gmeiner [Fri, 7 Feb 2020 10:24:55 +0000 (11:24 +0100)]
etnaviv: enable texture upload memory throttling
Fixes oom-killer during piglit's streaming-texture-upload on a
SolidRun CuBox-i with 2GB of RAM.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3745>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3745>
Hyunjun Ko [Thu, 7 Nov 2019 05:32:34 +0000 (05:32 +0000)]
freedreno/ir3: Fold const only when the type is float
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Hyunjun Ko [Thu, 7 Nov 2019 05:28:41 +0000 (05:28 +0000)]
freedreno/ir3: put the conversion back for half const to the right place.
The previous commit leads to match immed values unexpectedly.
This makes constlen for each shader including bvert wrong.
Also fixes atan2 for mediump deqp tests.
Fixes: cbd1f47433b ("freedreno/ir3: convert back to 32-bit values for half constant registers.")
v2: Move conversion up above fabs/fneg modifier handling as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Hyunjun Ko [Fri, 1 Nov 2019 08:34:54 +0000 (08:34 +0000)]
freedreno/ir3: Add cat4 mediump opcodes
v2: Reworked to assign half-opcodes in ir3_ra.c (krh).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Rob Clark [Thu, 20 Jun 2019 16:31:00 +0000 (16:31 +0000)]
freedreno/ir3: fold const conversion into consumer
A sequence like:
(nop3)cov.f32f16 hr0.x, c0.x
mul.f hr4.y, hr1.z, hr0.x
can be turned into:
mul.f hr4.y, hr1.z, hc0.x
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Hyunjun Ko [Fri, 1 Nov 2019 03:10:38 +0000 (03:10 +0000)]
freedreno/ir3: fix printing half constant registers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Kristian H. Kristensen [Fri, 10 Jan 2020 21:59:43 +0000 (13:59 -0800)]
freedreno/ir3: Set IR3_REG_HALF flag on src as well in immediate MOV
This lets is_same_type_reg() recognize that the dst and src of the
immediate MOV are the same and unblocks fp16 constant propagation.
Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3737>
Dylan Baker [Fri, 7 Feb 2020 17:02:02 +0000 (09:02 -0800)]
docs: Mark 20.0-rc2 as done
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3751>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3751>
Martin Fuzzey [Thu, 6 Feb 2020 18:07:16 +0000 (19:07 +0100)]
freedreno: android: fix build of perfcounters.
Some dependencies were missing on android causing a build failure.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
Martin Fuzzey [Thu, 6 Feb 2020 18:05:36 +0000 (19:05 +0100)]
freedreno: android: add a6xx-pack.xml.h generation to android build
The generation of a6xx-pack.xml.h was missing in the android build scripts
leading to a build failure.
Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
Martin Fuzzey [Thu, 6 Feb 2020 18:08:10 +0000 (19:08 +0100)]
freedreno: android: fix build failure on android due to python version
The freedreno gen_header.py script now only works under python3.
It contains a "print()" call which prints a blank line under python3
but prints "()" under python2.7.
However the Android build currently uses python2.
This leads to incorrect code generation and a later build error.
.../STATIC_LIBRARIES/libfreedreno_registers_intermediates/registers/adreno_common.xml.h:163:2: error: expected identifier or '('
()
Fix this by adding MESA_PYTHON3 and using it for the freedreno scripts.
Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3736>
Krzysztof Raszkowski [Fri, 7 Feb 2020 14:02:25 +0000 (15:02 +0100)]
gallium/swr: Fix llvm11 compilation issues
Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3747>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3747>
Georg Lehmann [Thu, 6 Feb 2020 21:29:42 +0000 (22:29 +0100)]
Vulkan Overlay: Don't try to change the image layout to present twice
The render pass already does the transition.
The pipeline barrier is still needed to transfer the queue family ownership.
Fixes: 320b0f66c274 ("vulkan/overlay: bounce image back to present layout")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
Samuel Pitoiset [Fri, 7 Feb 2020 11:53:31 +0000 (12:53 +0100)]
aco: do not use ds_{read,write}2 on GFX6
According to LLVM, these instructions have a bounds checking bug.
LLVM only uses them on GFX7+.
This fixes broken geometry in Assassins Creed Origins.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2489
Fixes: 4a553212fa1 ("radv: enable ACO support for GFX6")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3746>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3746>
Tapani Pälli [Tue, 4 Feb 2020 12:58:17 +0000 (14:58 +0200)]
intel/vec4: fix valgrind errors with vf_values array
Fixes valgrind errors introduced since commit
a8ec4082.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2346
Fixes: a8ec4082 ("nir+vtn: vec8+vec16 support")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3691>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3691>
Andreas Baierl [Thu, 6 Feb 2020 10:41:35 +0000 (11:41 +0100)]
lima/parser: Change value name in RSW parser
Second value of SHADER_ADDRESS is the length of the first instruction
in the shader, so give it a better name.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
Andreas Baierl [Wed, 29 Jan 2020 12:10:26 +0000 (13:10 +0100)]
lima/parser: Extend AUX0 findings
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
Andreas Baierl [Wed, 29 Jan 2020 11:56:10 +0000 (12:56 +0100)]
lima/parser: Fix RSW depth test parsing
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3619>
Leandro Ribeiro [Tue, 22 Oct 2019 00:58:12 +0000 (21:58 -0300)]
i965: remove duplicated comment
Signed-off-by: Leandro Ribeiro <leandrohr@riseup.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2416>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2416>
Kristian H. Kristensen [Thu, 6 Feb 2020 22:49:57 +0000 (14:49 -0800)]
ci: Drop turnip opt-in option
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3742>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3742>
Dave Airlie [Thu, 23 Jan 2020 06:20:20 +0000 (16:20 +1000)]
llvmpipe: advertise 4 vertex streams
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 07:17:21 +0000 (17:17 +1000)]
draw: don't emit vertex to streams with no outputs
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 06:19:25 +0000 (16:19 +1000)]
draw: emit multiple streams to streamout.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 06:18:29 +0000 (16:18 +1000)]
draw/gs: track emitted prims + verts per stream.
This adds tracking of the emitted prims/verts per-stream.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 06:17:25 +0000 (16:17 +1000)]
draw: change geom shader output to an array of outputs.
Instead of a single output ptr, pass in one per output stream.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 06:15:50 +0000 (16:15 +1000)]
gallivm/nir: add support for multiple vertex streams
This adds support to the nir shader build for multiple vertex streams
we store separate stats for each stream, then write them out in the epilogue.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 06:13:24 +0000 (16:13 +1000)]
gallivm/swr: add stream_id to geom epilogue emit
We want to pass a stream in here so we can write out separate
prim/vertex counts for each stream at the end.
This also adds an ignore any stream option so we can stage more code
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Dave Airlie [Thu, 23 Jan 2020 05:48:46 +0000 (15:48 +1000)]
llvmpipe/query: add support for indexed queries
This adds support for the queries needed for gpu_shader5 vertex streams
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
Eric Anholt [Thu, 30 Jan 2020 23:53:39 +0000 (15:53 -0800)]
ci: Bump the GLES CTS version to 3.2.6.1.
This brings in the surfaceless fixes so we don't need to check out the
whole repo to cherry pick any more (which was bothering me as I debugged
things late in the painfully slow ARM container build process).
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3662>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3662>
Eric Anholt [Thu, 6 Feb 2020 19:00:12 +0000 (11:00 -0800)]
ci: Disable a bunch of tests on freedreno a630.
On a daily basis I've been having to restart people's a630 jobs in the
front couple of pages of /merge_requests due to spurious failures from our
flaky tests, and fielding reports of spurious fails from other developers,
and babysitting my own marge merges that are failing due to our flakes.
Nobody should have to deal with that, especially not non-freedreno
developers, so just scrape the list of flakes reported to #freedreno-ci
for the last month and ban those tests that have failed more than once
until we have a credible fix.
Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3662>
Kristian H. Kristensen [Thu, 6 Feb 2020 21:21:59 +0000 (13:21 -0800)]
turnip: Drop explicit configure opt-in for turnip
We don't need this silly thing anymore. Everthing here is WIP.
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3739>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3739>
Eric Anholt [Tue, 4 Feb 2020 18:59:19 +0000 (10:59 -0800)]
u_tile: Skip the packed temporary and just store tiles directly.
We were generating a packed copy and then memcpying it, but we can just
pack directly to the destination. Change on glmark2 -b build:use-vbo=true
is modest: 1.06328% +/- 0.994771% (n=84) but does remove the function that
was .6% of CPU time.
I'm not doing the equivalent "get" path at this time because softpipe's
texture cache has some clipping issues that get revealed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3698>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3698>
Jose Maria Casanova Crespo [Wed, 30 Oct 2019 18:35:09 +0000 (19:35 +0100)]
broadcom: Fix implicit declaration of ffs for Android build
Include util/bitscan.h to ensure ffs is available when there is no
glibc like in Android.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1983
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2554>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2554>