Peng Huang
0660cbf426
radeonsi: make si_fence_server_signal flush pipe without work
...
glSignalSemaphoreEXT sometime doesn't signal the semaphore, it is
because radeonsi doesn't flush if gl context doesn't have pending
work. Fix the porblem by always submit ib.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779 >
2020-02-12 23:51:50 +00:00
Jonathan Marek
18786cc7d5
freedreno/a6xx: use single format enum
...
Loses some information about which formats can be used in which cases, but
we encode that information in the format table anyway.
Important notes:
* RB6_R10G10B10A2_UNORM becomes FMT6_R10G10B10A2_UNORM_DEST
* TFMT6_8_8_8_UNORM becomes FMT6_8_8_8_X8_UNORM (not FMT6_8_8_8_UNORM)
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3798 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3798 >
2020-02-12 21:59:59 +00:00
Arcady Goldmints-Orlov
e9f83185a2
Rename nir_lower_constant_initializers to nir_lower_variable_initalizers
...
This is naming is more clear as nir_variables can be initializes not
just with a nir_constant but with a pointer to another nir_variable.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3047 >
2020-02-12 15:41:49 +00:00
Veerabadhran
461c40e0fd
radeon/vce: Move global function pointer si_get_pic_param to local encoder structure
...
Multi gpu use case broken when the function was global
Reviewed-by: Leo Liu <leo.liu@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3731 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3731 >
2020-02-12 13:43:35 +00:00
Marek Olšák
1082e6fcb8
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 >
2020-02-10 17:24:09 -05:00
Marek Olšák
fbb27eebc8
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 >
2020-02-10 17:24:02 -05:00
Gert Wollny
897a4a0041
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
7413aab3c8
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
110ee7ff93
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
148f0ad4f9
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
90a7d2e08f
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
37125b7cc2
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
32d3435a78
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
5aadd809d0
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
7fb5c835f7
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
e17ac0d774
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
5c7124e134
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
f7ec616bed
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
1b17316bf3
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
31a4dd6451
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
5c19013904
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
393655d5cb
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
24f683fe81
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
e09cdb3f86
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
c5d9456d84
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
f718ac6268
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
295be0e8df
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
51285bf32e
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
27cacd28ac
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 >
2020-02-10 19:09:08 +00:00
Gert Wollny
4422ce1b04
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 >
2020-02-10 19:09:07 +00:00
Neha Bhende
144561dc5e
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: bf12bc2dd7 (draw: add nir info gathering and building support)
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
2020-02-10 09:27:11 -08:00
Neha Bhende
470e73e7f8
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 >
2020-02-10 09:26:49 -08:00
Krzysztof Raszkowski
689817c9df
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 >
2020-02-10 17:10:47 +01:00
Erik Faye-Lund
eb0195358c
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 >
2020-02-10 11:01:47 +00:00
Erik Faye-Lund
e365f83740
zink: emit blend-target index
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3689 >
2020-02-10 11:01:47 +00:00
Erik Faye-Lund
8736ffae2e
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 >
2020-02-10 10:40:19 +00:00
Marek Olšák
35961b10da
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 >
2020-02-07 20:42:42 -05:00
Erik Faye-Lund
1c3f4c0704
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 >
2020-02-07 22:03:00 +00:00
Erik Faye-Lund
fa915a724f
zink: lower away fdph
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3668 >
2020-02-07 22:03:00 +00:00
Christian Gmeiner
0c36b1c0db
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 >
2020-02-07 18:21:54 +00:00
Martin Fuzzey
d8bae10bfe
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 >
2020-02-07 16:34:49 +00:00
Krzysztof Raszkowski
ff8265b64f
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 >
2020-02-07 15:03:55 +00:00
Andreas Baierl
1572e8f3e1
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 >
2020-02-07 09:26:32 +01:00
Andreas Baierl
5802259e54
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 >
2020-02-07 09:26:32 +01:00
Andreas Baierl
cebfb3169c
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 >
2020-02-07 09:26:32 +01:00
Dave Airlie
fbc117cba3
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 >
2020-02-07 00:54:42 +00:00
Dave Airlie
7e6690b1a6
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 >
2020-02-07 00:54:42 +00:00
Dave Airlie
72154c9075
draw: emit multiple streams to streamout.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530 >
2020-02-07 00:54:42 +00:00
Dave Airlie
00c066e5a0
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 >
2020-02-07 00:54:42 +00:00
Dave Airlie
0c77007c9d
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 >
2020-02-07 00:54:42 +00:00