platform/upstream/mesa.git
3 years agoutil: Makefile.sources: Add disk_cache_os.{c,h}
Marijn Suijten [Sun, 13 Sep 2020 12:26:21 +0000 (14:26 +0200)]
util: Makefile.sources: Add disk_cache_os.{c,h}

The functions in disk_cache_os are referenced by disk_cache but these
files are not included in builds based on Makefile.sources such as
Android, resulting in linker errors.

Fixes: 4339ecde35c ("disk_cache: move cache dir generation into OS specific helper file")
Signed-off-by: Marijn Suijten <marijns95@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6702>

3 years agonir/lower_io: don't reduce range if parent length is zero
Alejandro Piñeiro [Tue, 15 Sep 2020 21:53:14 +0000 (23:53 +0200)]
nir/lower_io: don't reduce range if parent length is zero

When handling arrays, range is increased based on the array size minus
one. But if such is zero, it has the effect of reducing the
range. Handle that case by returning the unknown range value.

v2:
  * Add missing braces.
  * Return unknown range in this case, instead of keeping the initial
    range.
v3: Simplify code, using existing "fail" label. (Jason)

Fixes the following using v3dv:
  dEQP-VK.graphicsfuzz.cov-simplify-clamp-max-itself

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6737>

3 years agopan/bi: Drop *FMIN reference
Alyssa Rosenzweig [Thu, 10 Sep 2020 17:26:57 +0000 (13:26 -0400)]
pan/bi: Drop *FMIN reference

Even on G72, it's unsupported.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Remove unused packing data structures
Alyssa Rosenzweig [Fri, 31 Jul 2020 23:55:12 +0000 (19:55 -0400)]
pan/bi: Remove unused packing data structures

Replaced by metaprogrammed variants.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Remove unused prints
Alyssa Rosenzweig [Wed, 2 Sep 2020 13:12:27 +0000 (09:12 -0400)]
pan/bi: Remove unused prints

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use new packing
Alyssa Rosenzweig [Mon, 3 Aug 2020 16:48:44 +0000 (12:48 -0400)]
pan/bi: Use new packing

...and remove the old manual code.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Move packing helpers to dedicated file
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:44:52 +0000 (13:44 -0400)]
pan/bi: Move packing helpers to dedicated file

We'll need to access them from the autogenerated section.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use src1/dest_invert instead of src_invert[]
Alyssa Rosenzweig [Wed, 9 Sep 2020 21:46:58 +0000 (17:46 -0400)]
pan/bi: Use src1/dest_invert instead of src_invert[]

This maps more closely to the hardware, which makes for easier packing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use 8-bit shifts
Alyssa Rosenzweig [Wed, 9 Sep 2020 21:40:22 +0000 (17:40 -0400)]
pan/bi: Use 8-bit shifts

Logically, it doesn't matter, but we want the IR to accurately reflect
the hardware behaviour.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Pass blend descriptor explicitly in IR
Alyssa Rosenzweig [Mon, 3 Aug 2020 16:48:25 +0000 (12:48 -0400)]
pan/bi: Pass blend descriptor explicitly in IR

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Track compute_lod in IR
Alyssa Rosenzweig [Mon, 3 Aug 2020 16:47:57 +0000 (12:47 -0400)]
pan/bi: Track compute_lod in IR

We'll need to differentiate tex and txl.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add format field to IR
Alyssa Rosenzweig [Fri, 31 Jul 2020 22:48:27 +0000 (18:48 -0400)]
pan/bi: Add format field to IR

To make register_format packing explicit, and possibly in the future
support the auto mode.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Introduce segments into the IR
Alyssa Rosenzweig [Fri, 31 Jul 2020 21:29:50 +0000 (17:29 -0400)]
pan/bi: Introduce segments into the IR

Needed to select between global, UBO, TLS, and WLS addressing modes,
required to implement loads/stores correctly.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add dummy carry/borrow argument for iadd/isub
Alyssa Rosenzweig [Fri, 31 Jul 2020 20:47:05 +0000 (16:47 -0400)]
pan/bi: Add dummy carry/borrow argument for iadd/isub

On FMA, a carry/borrow is required for iaddc/isubb (whereas the ADD
counterparts don't support carrying/borrowing). The trick is to model
this with an extra dummy (ZERO) argument which is free to encode on FMA,
and in the scheduler, "demote" to the non-carried versions if we want to
schedule to ADD.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use canonical syntax for special constants
Alyssa Rosenzweig [Tue, 8 Sep 2020 14:47:40 +0000 (10:47 -0400)]
pan/bi: Use canonical syntax for special constants

Adds some missing constants relevant to compute shaders, etc.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use canonical syntax for registers/uniforms/imms
Alyssa Rosenzweig [Tue, 8 Sep 2020 14:47:13 +0000 (10:47 -0400)]
pan/bi: Use canonical syntax for registers/uniforms/imms

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Use new disassembler
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:21:33 +0000 (13:21 -0400)]
pan/bi: Use new disassembler

We still use the clause/register decoding, but we now use the
metaprogrammed instruction decoding for the bulk of the operation.

We add a meson rule to call out to the Python generator script during
the build process.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Export dump_src
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:09:53 +0000 (13:09 -0400)]
pan/bi: Export dump_src

Needed in generated disassembler.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add bi_disasm_dest_* helpers
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:08:44 +0000 (13:08 -0400)]
pan/bi: Add bi_disasm_dest_* helpers

Used to print the actual register/temporary for an instruction
destination given the port arrangement.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add disassembly prototypes
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:24:11 +0000 (13:24 -0400)]
pan/bi: Add disassembly prototypes

Fix a header guard too.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add disassembler generator
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:18:34 +0000 (13:18 -0400)]
pan/bi: Add disassembler generator

Given a parsed instruction set definition, this script generates
instruction disassembly routines responsible for decoding instruction
words and pretty-printing. Decoding is somewhat complex as with the
previous disassembler but can be automated.

Disssembly is complicated by indirect specifications of instruction
modifiers. These specifiers are given as logic expressions in the XML,
which optimizes for straightforwaard packing but makes disassembly
awkward. Instead of attempting to invert the logic directly, we generate
lookup tables of `modifiers -> encoding` maps which we may invert
directly to produce a lookup table for the `encoding -> modifiers` map
needed for disassembly.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add packing generator
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:48:28 +0000 (13:48 -0400)]
pan/bi: Add packing generator

From the ISA definition, we can generate a function for each instruction
that looks at the bi_instruction in the intermediate representation and
emits a 20- or 23-bit word (for ADD/FMA respectively) containing that
instruction with all of its modifiers.

These will approximate the old packing routines, although the mapping of
bi_instruction to machine instructions will be hardcoded (at least for
now).

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add ISA parser
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:17:07 +0000 (13:17 -0400)]
pan/bi: Add ISA parser

This Python script parses the ISA.xml file to produce a normalized
in-memory representation suitable for the disassembly and packing
scripts to consume. In particular, it papers over details about
duplicate encodings and default fields.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Add XML describing the instruction set
Alyssa Rosenzweig [Mon, 14 Sep 2020 17:14:48 +0000 (13:14 -0400)]
pan/bi: Add XML describing the instruction set

Throughout this series, this XML file will serve as architectural ground
truth. It contains every instruction in the instruction set with all
programmable modifiers, as well as logic for computing derived values
(indirectly specified modifiers) and swapping operands as needed by
numerous encodings. It also allows for multiple encodings per
instruction differentiated by exact bits (a generalization of opcodes),
with different derived fields in each encoding, and logic tests to
select between the encodings at pack time.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agopan/bi: Lower flrp16
Alyssa Rosenzweig [Wed, 16 Sep 2020 17:12:20 +0000 (13:12 -0400)]
pan/bi: Lower flrp16

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Fixes: 3c8934a644b ("nir/algebraic: add flrp patterns for 16 and 64 bits")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6749>

3 years agoanv: assert that the target bo is valid when adding a reloc list
Mike Blumenkrantz [Wed, 16 Sep 2020 16:38:58 +0000 (12:38 -0400)]
anv: assert that the target bo is valid when adding a reloc list

this catches some undefined behavior like e.g., using a stale descriptorset
that references deleted bos, which I would absolutely never do

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6747>

3 years agoanv: improve error message when failing to open device path
Mike Blumenkrantz [Fri, 11 Sep 2020 13:00:53 +0000 (09:00 -0400)]
anv: improve error message when failing to open device path

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6747>

3 years agodocs: update calendar and link releases notes for 20.1.8
Eric Engestrom [Wed, 16 Sep 2020 17:43:27 +0000 (19:43 +0200)]
docs: update calendar and link releases notes for 20.1.8

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

3 years agodocs: add release notes for 20.1.8
Eric Engestrom [Wed, 16 Sep 2020 17:24:00 +0000 (19:24 +0200)]
docs: add release notes for 20.1.8

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

3 years agogallium+mesa/st: lower uniforms based on compiler flag instead of packed uniforms cap
Gert Wollny [Sun, 13 Sep 2020 19:31:27 +0000 (21:31 +0200)]
gallium+mesa/st: lower uniforms based on compiler flag instead of packed uniforms cap

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agollvmpipe: set lower_uniform_to_ubo compiler flag
Gert Wollny [Sun, 13 Sep 2020 19:28:34 +0000 (21:28 +0200)]
llvmpipe: set lower_uniform_to_ubo compiler flag

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agointel/compiler: Set lower_uniform_to_ubo compiler flag
Gert Wollny [Sun, 13 Sep 2020 19:28:02 +0000 (21:28 +0200)]
intel/compiler: Set lower_uniform_to_ubo compiler flag

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agofreedreno/ir3: set lower_uniforms_to_ubo compiler flag
Gert Wollny [Sun, 13 Sep 2020 19:27:35 +0000 (21:27 +0200)]
freedreno/ir3: set lower_uniforms_to_ubo compiler flag

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agoradeonsi: set compiler flag lower_uniforms_to_ubo
Gert Wollny [Sun, 13 Sep 2020 19:25:35 +0000 (21:25 +0200)]
radeonsi: set compiler flag lower_uniforms_to_ubo

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agonir: Add option lower_uniforms_to_ubo
Gert Wollny [Sun, 13 Sep 2020 19:01:55 +0000 (21:01 +0200)]
nir: Add option lower_uniforms_to_ubo

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6316>

3 years agogallium/aux: remove unused u_blit.[ch]
Erik Faye-Lund [Tue, 8 Sep 2020 16:31:20 +0000 (18:31 +0200)]
gallium/aux: remove unused u_blit.[ch]

There's no users of this code, so we might as well get rid of it to
avoid confusion with u_blitter.[ch].

Acked-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6651>

3 years agovc4: remove unused header
Erik Faye-Lund [Tue, 8 Sep 2020 16:29:43 +0000 (18:29 +0200)]
vc4: remove unused header

Acked-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6651>

3 years agov3d: remove unused header
Erik Faye-Lund [Tue, 8 Sep 2020 16:29:27 +0000 (18:29 +0200)]
v3d: remove unused header

Acked-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6651>

3 years agor600/sfn: Fix comparison with different signedness
Gert Wollny [Wed, 16 Sep 2020 08:29:13 +0000 (10:29 +0200)]
r600/sfn: Fix comparison with different signedness

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: more fixing of vec4 fetching
Gert Wollny [Tue, 15 Sep 2020 18:50:58 +0000 (20:50 +0200)]
r600/sfn: more fixing of vec4 fetching

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Fix source swizzle for gradient queries
Gert Wollny [Sun, 13 Sep 2020 18:12:12 +0000 (20:12 +0200)]
r600/sfn: Fix source swizzle for gradient queries

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Fix bitfield ops and 2x16 split_y
Gert Wollny [Mon, 7 Sep 2020 06:14:51 +0000 (08:14 +0200)]
r600/sfn: Fix bitfield ops and 2x16 split_y

Don't reuse the dest register to make instruction dependency tracking
easier.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Fix split_alu_modifiers
Gert Wollny [Sun, 2 Aug 2020 18:50:33 +0000 (20:50 +0200)]
r600/sfn: Fix split_alu_modifiers

Don't reuse the dest register so we can better track instruction
dependencies later.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Lower *sign opcodes in nir
Gert Wollny [Sun, 6 Sep 2020 21:39:46 +0000 (23:39 +0200)]
r600/sfn: Lower *sign opcodes in nir

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: avoid some copies
Gert Wollny [Mon, 3 Aug 2020 14:33:36 +0000 (16:33 +0200)]
r600/sfn: avoid some copies

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Fix ordering of tex param moves
Gert Wollny [Sun, 2 Aug 2020 17:35:58 +0000 (19:35 +0200)]
r600/sfn: Fix ordering of tex param moves

Both moves should happen in the same instuction group, otherwise the
lod/bias value will be overwritten by the shadow compare value.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: clone shader before lowering to registers and src/dest modifiers
Gert Wollny [Fri, 31 Jul 2020 16:58:06 +0000 (18:58 +0200)]
r600/sfn: clone shader before lowering to registers and src/dest modifiers

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/sfn: Fix loading vertex attributes
Gert Wollny [Thu, 30 Jul 2020 21:16:44 +0000 (23:16 +0200)]
r600/sfn: Fix loading vertex attributes

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

3 years agor600/sfn: correct ring op patching
Gert Wollny [Sat, 25 Jul 2020 22:30:06 +0000 (00:30 +0200)]
r600/sfn: correct ring op patching

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600/nir: fetch sources and split uniforms before emittting alu instructions
Gert Wollny [Fri, 24 Jul 2020 18:18:37 +0000 (20:18 +0200)]
r600/nir: fetch sources and split uniforms before emittting alu instructions

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agor600: revert disabling llvm draw
Gert Wollny [Sun, 5 Jul 2020 14:55:42 +0000 (16:55 +0200)]
r600: revert disabling llvm draw

Now that llvm supports NIR and lowers uniforms to UBO in draw
calls when this hasn't be done before this can be used again.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6706>

3 years agoradeonsi: fix guardband handling for large values
Pierre-Eric Pelloux-Prayer [Fri, 11 Sep 2020 09:52:18 +0000 (11:52 +0200)]
radeonsi: fix guardband handling for large values

When minx = -32768 (ViewportBounds.Min) we'll hit the "left <= -1, ..."
assert because 'left' is computed as:

   (-65535 / 2 - translate_x) / (minx - translate_x)

This commit fixes the problem by using the full max_viewport_size => [-32768, 32767]
instead of [-32767, 32767] for SI_QUANT_MODE_16_8_FIXED_POINT_1_256TH.

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

3 years agoradeonsi: fix quant_mode selection for large negative values
Pierre-Eric Pelloux-Prayer [Fri, 11 Sep 2020 09:52:04 +0000 (11:52 +0200)]
radeonsi: fix quant_mode selection for large negative values

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

3 years agoradeon/vcn: set dec->bs_ptr = NULL on unmap
Pierre-Eric Pelloux-Prayer [Wed, 2 Sep 2020 10:07:00 +0000 (12:07 +0200)]
radeon/vcn: set dec->bs_ptr = NULL on unmap

To avoid using a dangling pointer.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1308
Cc: mesa-stable
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6556>

3 years agor600/uvd: set dec->bs_ptr = NULL on unmap
Pierre-Eric Pelloux-Prayer [Wed, 2 Sep 2020 09:58:12 +0000 (11:58 +0200)]
r600/uvd: set dec->bs_ptr = NULL on unmap

To avoid using a dangling pointer.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/1308

Cc: mesa-stable
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6556>

3 years agodocs/release-calendar: update 20.2
Eric Engestrom [Fri, 4 Sep 2020 12:48:30 +0000 (14:48 +0200)]
docs/release-calendar: update 20.2

In !6574 I fixed the dates, but I didn't realise there was one too many
releases in the list, as `-rc3` had already been released and `-rc4` was
about to be.

`-rc4` was since released, so the next 20.2 release is now `-rc5`, and
it's slipped another week; let's update the calendar to that.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6614>

3 years agodocs: add another 20.1.x release to allow for more overlap with 20.2
Eric Engestrom [Wed, 2 Sep 2020 21:06:44 +0000 (23:06 +0200)]
docs: add another 20.1.x release to allow for more overlap with 20.2

The aim is to have the last release of the old branch on or after the .1
release on new one, but as things stand the last 20.1 would happen
between 20.2.0 and 20.2.1, so let's add one more.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6615>

3 years agodocs/download: mention tarball GPG signatures and link to the keys
Eric Engestrom [Thu, 10 Sep 2020 11:25:20 +0000 (13:25 +0200)]
docs/download: mention tarball GPG signatures and link to the keys

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3507
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6679>

3 years agoRevert "radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state"
Marek Olšák [Tue, 15 Sep 2020 01:04:44 +0000 (21:04 -0400)]
Revert "radeonsi: move L2_CACHE_CONTROL registers into si_emit_framebuffer_state"

This reverts commit 7edf15ad4762eac3bfbcfbf1c8ec8ea4d955c6d6.

The register value is immutable now.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6722>

3 years agoRevert "radeonsi: set BIG_PAGE fields on gfx10.3"
Marek Olšák [Tue, 15 Sep 2020 00:59:36 +0000 (20:59 -0400)]
Revert "radeonsi: set BIG_PAGE fields on gfx10.3"

This reverts commit 430d384c311468c6180a1d67ed90bb74d4fe1c3b.

BIT_PAGE can't be set for GTT and we don't know if a buffer has been
evicted to GTT.

Fixes: 430d384c311468c6180a1d67ed90bb74d4fe1c3b

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6722>

3 years agoradeonsi: clean up ffma handling
Marek Olšák [Fri, 4 Sep 2020 10:25:47 +0000 (06:25 -0400)]
radeonsi: clean up ffma handling

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

3 years agonir,radeonsi: move ffma fusing to late optimizations for better codegen
Marek Olšák [Fri, 4 Sep 2020 09:55:25 +0000 (05:55 -0400)]
nir,radeonsi: move ffma fusing to late optimizations for better codegen

The freedreno trace changes were suggested by Rob Clark.

ALU performance is higher, because ffma is used more often, but so is
register usage, because trinary opcodes (such as ffma) usually need
at least 3 live registers.

54793 shaders in 33659 tests
Totals:
SGPRS: 2639746 -> 2642938 (0.12 %)
VGPRS: 1534120 -> 1536392 (0.15 %)
Spilled SGPRs: 3541 -> 3618 (2.17 %)
Spilled VGPRs: 33 -> 44 (33.33 %)
Scratch size: 292 -> 312 (6.85 %) dwords per thread
Code Size: 55639836 -> 55620116 (-0.04 %) bytes
Max Waves: 964785 -> 963977 (-0.08 %)

Totals from affected shaders:
SGPRS: 1105800 -> 1108992 (0.29 %)
VGPRS: 635292 -> 637564 (0.36 %)
Spilled SGPRs: 3193 -> 3270 (2.41 %)
Spilled VGPRs: 33 -> 44 (33.33 %)
Scratch size: 36 -> 56 (55.56 %) dwords per thread
Code Size: 31568708 -> 31548988 (-0.06 %) bytes
Max Waves: 319991 -> 319183 (-0.25 %)

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6596>

3 years agost/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64
Marek Olšák [Tue, 1 Sep 2020 01:00:01 +0000 (21:00 -0400)]
st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64

Fixes: e512f2cef92 - mesa: add NV_copy_depth_to_color support for nir
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3459

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6467>

3 years agolibgl-gdi: Fix unused-variable warnings.
Vinson Lee [Mon, 31 Aug 2020 00:22:17 +0000 (17:22 -0700)]
libgl-gdi: Fix unused-variable warnings.

src/gallium/targets/libgl-gdi/libgl_gdi.c:59:16: warning: ‘use_swr’ defined but not used [-Wunused-variable]
   59 | static boolean use_swr = FALSE;
      |                ^~~~~~~
src/gallium/targets/libgl-gdi/libgl_gdi.c:58:16: warning: ‘use_llvmpipe’ defined but not used [-Wunused-variable]
   58 | static boolean use_llvmpipe = FALSE;
      |                ^~~~~~~~~~~~

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6508>

3 years agospirv: Handle OpTypeOpaque
Jesse Natalie [Mon, 14 Sep 2020 21:59:12 +0000 (14:59 -0700)]
spirv: Handle OpTypeOpaque

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6715>

3 years agoturnip: multiViewport and VK_EXT_shader_viewport_index_layer
Jonathan Marek [Tue, 14 Jul 2020 14:38:09 +0000 (10:38 -0400)]
turnip: multiViewport and VK_EXT_shader_viewport_index_layer

Passes at least:
dEQP-VK.dynamic_state.vp_state.viewport_array
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.draw.shader_layer.*

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5832>

3 years agofreedreno/ir3: add view_zero to shader key
Jonathan Marek [Thu, 9 Jul 2020 20:15:18 +0000 (16:15 -0400)]
freedreno/ir3: add view_zero to shader key

Does the same thing as layer_zero, but for VARYING_SLOT_VIEWPORT.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5832>

3 years agofreedreno/ir3: allow layer/viewport output for VS/GS/DS
Jonathan Marek [Thu, 9 Jul 2020 18:22:12 +0000 (14:22 -0400)]
freedreno/ir3: allow layer/viewport output for VS/GS/DS

With VK_EXT_shader_viewport_index_layer, these stages can all output the
viewport or layer id, and not just GS anymore.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5832>

3 years agofrontends/va: Derive image from interlaced buffers in some cases
Thong Thai [Sat, 15 Aug 2020 18:36:45 +0000 (14:36 -0400)]
frontends/va: Derive image from interlaced buffers in some cases

Add an allowlist to make an exception when deriving images from
interlaced buffers. Normally, the function should fail if the surface
needs to be modified to derive the image. But some applications do not
follow the fall-back method of using vaCreateImage + vaPutImage as
mentioned in the VAAPI documentation, so we have to make an exception.

Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5942>

3 years agofrontends/va: Derive image from interlaced buffers
Thong Thai [Thu, 16 Jul 2020 20:57:54 +0000 (16:57 -0400)]
frontends/va: Derive image from interlaced buffers

Allow vaDriveImage to derive a vaImage from interlaced buffers
by creating a new progressive buffer.

v2: Keeps the surface used by DeriveImage untouched (Pierre-Eric)
v3: Fixed a segfault reported by Roman Elshin

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1428
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5942>

3 years agofrontends/va: Add support for NV12/P010/P016 to vaDeriveImage
Thong Thai [Sat, 15 Aug 2020 18:09:01 +0000 (14:09 -0400)]
frontends/va: Add support for NV12/P010/P016 to vaDeriveImage

Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5942>

3 years agoaco: pass -fno-exceptions and -fno-rtti
Rhys Perry [Fri, 14 Aug 2020 10:26:44 +0000 (11:26 +0100)]
aco: pass -fno-exceptions and -fno-rtti

We don't use exceptions or RTTI at all, so pass this flag to the compiler
to allow it to create better code.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6315>

3 years agoiris: remove additional pipe control done before hiz for older gens
Tapani Pälli [Fri, 4 Sep 2020 06:56:19 +0000 (09:56 +0300)]
iris: remove additional pipe control done before hiz for older gens

The restriction found in removed comment is not found on new specs.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6593>

3 years agointel/genxml: make sure test assert are compiled in
Lionel Landwerlin [Mon, 7 Sep 2020 11:59:17 +0000 (14:59 +0300)]
intel/genxml: make sure test assert are compiled in

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Anuj Phogat anuj.phogat@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6678>

3 years agonv50/ir: Initialize Converter members.
Vinson Lee [Fri, 11 Sep 2020 22:49:50 +0000 (15:49 -0700)]
nv50/ir: Initialize Converter members.

Fix defects reported by Coverity Scan.

Uninitialized pointer field (UNINIT_CTOR)
Non-static class member exit is not initialized in this
constructor nor in any functions that it calls
Non-static class member immInsertPos is not initialized in this
constructor nor in any functions that it calls.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6695>

3 years agofreedreno: Check file descriptor before write.
Vinson Lee [Fri, 11 Sep 2020 23:00:07 +0000 (16:00 -0700)]
freedreno: Check file descriptor before write.

Fix defect reported by Coverity Scan.

Argument cannot be negative (NEGATIVE_RETURNS)
negative_returns: fd is passed to a parameter that cannot be
negative.

Fixes: 1ea4ef0d3be8 ("freedreno: slurp in decode tools")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6696>

3 years agoac/llvm: Fix nonportable sizeof.
Vinson Lee [Fri, 11 Sep 2020 00:52:16 +0000 (17:52 -0700)]
ac/llvm: Fix nonportable sizeof.

Fix defect reported by Coverity.

Sizeof not portable (SIZEOF_MISMATCH)
suspicious_sizeof: Passing argument vec_size * 8UL /* sizeof
(LLVMValueRef *) */ to function __builtin_alloca and then casting
the return value to LLVMValueRef * is suspicious. In this
particular case sizeof (LLVMValueRef *) happens to be equal to
sizeof (LLVMValueRef), but this is not a portable assumption.

Fixes: ca74603b4f6e ("ac/llvm: add better code for isign")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6682>

3 years agoandroid: aco/isel: Move context initialization code to a dedicated file
Mauro Rossi [Sun, 13 Sep 2020 12:18:15 +0000 (14:18 +0200)]
android: aco/isel: Move context initialization code to a dedicated file

Changes are necessary to properly build libmesa_aco static library for Android.
was removed in 47de55328 "aco/isel: Move context initialization code to a dedicated file"
so filter-out of aco_instruction_selection_setup.cpp in Android is removed.

Fixes the following building errors:

FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.radv_intermediates/LINKED/vulkan.radv.so
...
ld.lld: error: undefined symbol: aco::setup_isel_context(aco::Program*, unsigned int, nir_shader* const*, ac_shader_config*, radv_shader_args*, bool)
>>> referenced by aco_instruction_selection.cpp:10879 (external/mesa/src/amd/compiler/aco_instruction_selection.cpp:10879)
>>>               aco_instruction_selection.o:(aco::select_program(aco::Program*, unsigned int, nir_shader* const*, ac_shader_config*, radv_shader_args*)) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_aco_intermediates/libmesa_aco.a
...
ld.lld: error: undefined symbol: aco::init_context(aco::isel_context*, nir_shader*)
>>> referenced by aco_instruction_selection.cpp:10885 (external/mesa/src/amd/compiler/aco_instruction_selection.cpp:10885)
>>>               aco_instruction_selection.o:(aco::select_program(aco::Program*, unsigned int, nir_shader* const*, ac_shader_config*, radv_shader_args*)) in archive out/target/product/x86_64/obj/STATIC_LIBRARIES/libmesa_aco_intermediates/libmesa_aco.a

Fixes: 47de55328 ("aco/isel: Move context initialization code to a dedicated file")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6703>

3 years agoetnaviv: call nir_opt_shrink_vectors(..) in opt loop
Christian Gmeiner [Fri, 21 Aug 2020 22:01:49 +0000 (00:01 +0200)]
etnaviv: call nir_opt_shrink_vectors(..) in opt loop

total instructions in shared programs: 105044 -> 103312 (-1.65%)
instructions in affected programs: 27328 -> 25596 (-6.34%)
helped: 55
HURT: 0
helped stats (abs) min: 4 max: 96 x̄: 31.49 x̃: 24
helped stats (rel) min: 1.18% max: 23.08% x̄: 8.26% x̃: 6.88%
95% mean confidence interval for instructions value: -37.81 -25.18
95% mean confidence interval for instructions %-change: -9.66% -6.85%
Instructions are helped.

total temps in shared programs: 2960 -> 2917 (-1.45%)
temps in affected programs: 425 -> 382 (-10.12%)
helped: 41
HURT: 6
helped stats (abs) min: 1 max: 3 x̄: 1.20 x̃: 1
helped stats (rel) min: 7.14% max: 25.00% x̄: 13.79% x̃: 12.50%
HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel)   min: 12.50% max: 25.00% x̄: 17.52% x̃: 16.67%
95% mean confidence interval for temps value: -1.17 -0.66
95% mean confidence interval for temps %-change: -13.30% -6.29%
Temps are helped.

total immediates in shared programs: 16772 -> 16468 (-1.81%)
immediates in affected programs: 4304 -> 4000 (-7.06%)
helped: 59
HURT: 0
helped stats (abs) min: 4 max: 16 x̄: 5.15 x̃: 4
helped stats (rel) min: 2.22% max: 33.33% x̄: 9.31% x̃: 7.14%
95% mean confidence interval for immediates value: -5.88 -4.43
95% mean confidence interval for immediates %-change: -11.14% -7.49%
Immediates are helped.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6572>

3 years agopan/bit: Fix unit tests
Alyssa Rosenzweig [Wed, 9 Sep 2020 20:29:41 +0000 (16:29 -0400)]
pan/bit: Fix unit tests

Broken by the various GenXML refactors, oops!

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

3 years agopan/bit: Set d3d=true for CMP tests
Alyssa Rosenzweig [Fri, 31 Jul 2020 17:12:34 +0000 (13:12 -0400)]
pan/bit: Set d3d=true for CMP tests

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fixes: ec37c7126dc ("bifrost: Emit "d3d" variant of comparison instructions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6712>

3 years agopanfrost: Fix nonzero stencil mask on vertex/compute
Alyssa Rosenzweig [Wed, 9 Sep 2020 20:29:04 +0000 (16:29 -0400)]
panfrost: Fix nonzero stencil mask on vertex/compute

Probably harmless but looks funny in the decode.

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

3 years agoturnip: avoid heap allocations in QueueSubmit when semaphores are used
Jonathan Marek [Fri, 11 Sep 2020 12:55:23 +0000 (08:55 -0400)]
turnip: avoid heap allocations in QueueSubmit when semaphores are used

Use the stack. (note: we already do for drm_msm_gem_submit_cmd array, and
using calloc() for heap allocations in a VK driver is wrong

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6687>

3 years agonir/algebraic: fold some nested comparisons with ball and bany
Italo Nicola [Fri, 4 Sep 2020 18:26:01 +0000 (18:26 +0000)]
nir/algebraic: fold some nested comparisons with ball and bany

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6604>

3 years agoglsl: fix per_vertex_accumulator::fields size
Pierre-Eric Pelloux-Prayer [Fri, 11 Sep 2020 13:45:48 +0000 (15:45 +0200)]
glsl: fix per_vertex_accumulator::fields size

49d35f3d882bd0f4418a1ce056344b8f06bd75dd moved gl_Layer/gl_ViewportIndex/gl_ViewportMask
as builtins but fields size wasn't increased.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3508
Fixes: 49d35f3d882 ("glsl: declare gl_Layer/gl_ViewportIndex/gl_ViewportMask as vs builtins")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6688>

3 years agoaco: Add base argument to emit_mbcnt.
Timur Kristóf [Sun, 13 Sep 2020 14:33:35 +0000 (16:33 +0200)]
aco: Add base argument to emit_mbcnt.

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

3 years agoaco: Clean up emit_mbcnt.
Timur Kristóf [Sat, 12 Sep 2020 11:18:23 +0000 (13:18 +0200)]
aco: Clean up emit_mbcnt.

Make it less error-prone and more consistent with other helpers.
Pass the masks as a single argument rather than two.
In wave64 mode, split the argument into low and high halves in
emit_mbcnt rather than where it is called.

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

3 years agoaco: Fix emit_boolean_exclusive_scan in wave32 mode.
Timur Kristóf [Sat, 12 Sep 2020 11:20:06 +0000 (13:20 +0200)]
aco: Fix emit_boolean_exclusive_scan in wave32 mode.

Use the lane mask instead of s2 for the register class.

Cc: mesa-stable@lists.freedesktop.org
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/6699>

3 years agoglsl: mark some builtins with correct glsl(es) version check
Tapani Pälli [Tue, 25 Aug 2020 08:28:06 +0000 (11:28 +0300)]
glsl: mark some builtins with correct glsl(es) version check

GLSL Desktop spec 1.30.x:
   "New built-ins: trunc(), round(), roundEven(), isnan(), isinf(), modf()"

For ES, 3.00.x is the first ES spec that mentions the builtins.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6455>

3 years agolima: dont split vec3 unaligned load inputs
Erico Nunes [Sun, 30 Aug 2020 20:12:23 +0000 (22:12 +0200)]
lima: dont split vec3 unaligned load inputs

It seems that the mali400 pp is unable to load vec3 unaligned varyings.
This can happen in the current state with mesa if a varying float is put
into the first component of a vec4 and a vec3 is packed right after it.
This would be fine as by default nir would create a vec4 load followed
by a mov with swizzle to realign the components into a vec3.
In lima_nir_split_load_input, this becomes a separate vec3 load
expecting the unaligned load.
Since this can't happen, skip the load input splitting for this special
case.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6507>

3 years agoturnip: device global bo list
Jonathan Marek [Fri, 11 Sep 2020 14:26:40 +0000 (10:26 -0400)]
turnip: device global bo list

Avoid having to deal with BO tracking. However, the kernel still requires a
bo list, so keep a global one which can be re-used for every submit.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6686>

3 years agoanv, iris: Set MediaSamplerDOPClockGateEnable for gen12+
Jordan Justen [Sun, 29 Mar 2020 09:16:06 +0000 (02:16 -0700)]
anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+

This has been shown to help performance on TGL and DG1. This could be
applied to gen9+, but we still need to show if it helps with those
platforms.

Rework:
 * Make change in src/intel/vulkan/genX_cmd_buffer.c too. (Ken)
 * Keep mask as 3 for gen < 12

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6684>

3 years agoanv/image: Disable multi-layer CCS_E on TGL+
Nanley Chery [Mon, 31 Aug 2020 21:59:44 +0000 (14:59 -0700)]
anv/image: Disable multi-layer CCS_E on TGL+

Anv doesn't do multi-layer fast-clear tracking, but TGL may add
fast-clears to multiple layers. Disable CCS_E for image arrays on TGL+
until anv gets more clear color tracking abilities.

With this change, anv+TGL now passes:
* dEQP-VK.multiview.readback_implicit_clear.15_15_15_15
* dEQP-VK.multiview.readback_implicit_clear.8_1_1_8
* dEQP-VK.multiview.readback_implicit_clear.1_2_4_8_16_32
* dEQP-VK.multiview.renderpass2.readback_implicit_clear.15_15_15_15
* dEQP-VK.multiview.renderpass2.readback_implicit_clear.8_1_1_8
* dEQP-VK.multiview.renderpass2.readback_implicit_clear.1_2_4_8_16_32

v2. Mention HSD 14010672564. (Sagar)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6528>

3 years agonir/opt_vectorize: don't lose exact and no_*_wrap flags
Marek Olšák [Fri, 11 Sep 2020 18:55:28 +0000 (14:55 -0400)]
nir/opt_vectorize: don't lose exact and no_*_wrap flags

This fixes a bunch of dEQP GLES tests.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6694>

3 years agofreedreno: fix fence-fd leak
Rob Clark [Fri, 11 Sep 2020 20:11:52 +0000 (13:11 -0700)]
freedreno: fix fence-fd leak

sync_accumulate() does not take ownership.

Fixes: bf23ff83e69 ("freedreno: fence_server_sync() fixes")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6692>

3 years agoradeonsi: fix max syncobj wait timeout
Qiang Yu [Thu, 10 Sep 2020 02:08:41 +0000 (10:08 +0800)]
radeonsi: fix max syncobj wait timeout

syncobj wait takes int64_t timeout and won't clamp it
in kernel code, so we have to pass in INT64_MAX instead
of OS_TIMEOUT_INFINITE which is UINT64_MAX. Otherwise
syncobj wait with OS_TIMEOUT_INFINITE case just return
fail.

Fixes: c638301b42b "radeonsi: fix syncobj wait timeout"
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6676>

3 years agov3d/compiler: fix V3D double-rounding of .8 fixed-point XY coordinates
Iago Toral Quiroga [Thu, 10 Sep 2020 08:36:27 +0000 (10:36 +0200)]
v3d/compiler: fix V3D double-rounding of .8 fixed-point XY coordinates

Pre-V3D 4.3 hardware has a quirk where it expects XY coordinates in
.8 fixed-point format, but then it will internally round it to .6 fixed-point,
introducing a double rounding. The double rounding can cause very slight
differences in triangle raterization coverage that can actually be noticed by
some CTS tests.

The correct fix for this as recommended by Broadcom is to convert to
.8 fixed-point with ffloor().

Fixes:
dEQP-VK.renderpass.suballocation.subpass_dependencies.late_fragment_tests.*

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6677>

3 years agodisk_cache: move cache item loading code into disk_cache_load_item() helper
Timothy Arceri [Thu, 6 Aug 2020 00:24:21 +0000 (10:24 +1000)]
disk_cache: move cache item loading code into disk_cache_load_item() helper

This should be helpful if someone chooses to implement cache support on
windows. Also providing this greater level of abstraction makes it easier
to implement alterative cache layouts in future.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6197>

3 years agodisk_cache: add new OS specific helper disk_cache_evict_item()
Timothy Arceri [Wed, 5 Aug 2020 04:46:42 +0000 (14:46 +1000)]
disk_cache: add new OS specific helper disk_cache_evict_item()

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6197>

3 years agodisk_cache: move get_cache_file() to an OS specific helper
Timothy Arceri [Wed, 5 Aug 2020 04:35:12 +0000 (14:35 +1000)]
disk_cache: move get_cache_file() to an OS specific helper

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6197>