Marek Olšák
c16239d464
ac/surface/tests: generalize and extend gfx10 tests
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15966 >
2022-04-23 01:45:17 +00:00
Marek Olšák
dda718d2bf
amd: document chips
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15966 >
2022-04-23 01:45:17 +00:00
Marek Olšák
5af4d0c2dc
ac/llvm: remove LLVM pass ac_optimize_vs_outputs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
3777a5d715
radeonsi: assign param export indices before compilation
...
This moves the logic out of LLVM-specific codepaths.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
11c28d9798
ac: add ac_nir_optimize_outputs, a NIR version of ac_optimize_vs_outputs
...
ac_optimize_vs_outputs is an LLVM IR pass, and it will be replaced by this.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
4e8b8555c6
radeonsi: move si_shader_info::stage into si_shader_selector
...
This will help me see all places where we use "info", which will
be moved from si_shader_selector to shader variants.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
8de5b11b29
radeonsi: move most "info" fields from si_shader_selector into si_shader_info
...
It's where they should be, and future commits might require this.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
b57a163b7d
radeonsi: gather pipe_stream_output_info from NIR intrinsics
...
This stops pipe_stream_output_info from create_*s_state context functions
because NIR contains everything and can do more advanced shader linking
this way.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
981bd8cbe2
radeonsi: apply key.ge.opt.kill_{outputs,pointsize,clipdistance} in NIR
...
This may be needed by ACO, but it doesn't do anything for LLVM yet other
than making the initial LLVM IR smaller.
It will be needed by a future commit, which rewrites ac_optimize_vs_outputs
in NIR, which relies on NIR matching the shader key.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
65dfb7bf2e
radeonsi: use nir_shader_get_entrypoint in si_nir_scan_shader
...
The typecast is needed because nir is const.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
a7b906264a
radeonsi: add pipe_stream_output_info into si_shader_context
...
to reduce deltas for the next commit
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
db92451e23
radeonsi: scalarize IO instructions
...
The next commit will rely on this.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Marek Olšák
a373b558c0
radeonsi: run nir_io_add_const_offset_to_base for TES/TCS as late optimizations
...
Other stages don't have indirect indexing, so it's always const.
Doing it here should also remove dead load_const instructions.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14414 >
2022-04-22 22:21:11 +00:00
Lionel Landwerlin
5a52cfd88b
anv: fix INTEL_DEBUG=sync
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3684012770 ("anv: implement DEBUG_SYNC")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16101 >
2022-04-22 21:59:50 +00:00
Marek Olšák
6fc94500c0
radeonsi: ignore AMD_DEBUG=nodcc if the texture is imported
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
ef52d803a9
radeonsi: dump shaders after si_shader_binary_upload to fix printed LDS stat
...
lds_size is set by si_shader_binary_upload, so it always printed zero.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
9d3357141e
radeonsi: don't treat skipped GS copy shader compilation as successful
...
We don't expect the GS copy shader to ever use the scratch buffer,
so we just don't compile the shader, but the problem is we set ok to
true anyway.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
80bc6f9e28
radeonsi: handle an out-of-bounds sampler/image index better
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
7341cb7654
radeonsi: fix ALPHA_IS_ON_MSB determination
...
based on PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
ad4b575a8c
radeonsi: initialize line stipple config registers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
d54236ec41
radeonsi: set PA_SC_EDGERULE according to bottom_edge_rule state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
91bc463a51
radeonsi: add an SQTT workaround for chips with disabled RBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
2234362f54
radeonsi: don't compile monolithic PS for dual source blending
...
The code was compiling monolithic PS if a shader output didn't
have a color buffer, but dual src blending never has a color buffer
for mrt1.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Marek Olšák
3985a1ac0f
radeonsi: set more state bits for disabled binning
...
based on PAL
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15965 >
2022-04-22 20:52:26 +00:00
Boris Brezillon
1999e927b0
dzn: Fix the STATIC_ASSERT() in dzn_meta_blits_get_context()
...
We care about the object key size, not the size of a pointer.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16109 >
2022-04-22 20:45:04 +00:00
Boris Brezillon
3328f6be06
dzn: Pass the dzn_event pointer to _mesa_hash_table_insert()
...
The key is supposed to be the dzn_event pointer, not the VkEvent
object, even if they do match in practice on 64bit builds.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16109 >
2022-04-22 20:45:04 +00:00
Boris Brezillon
cb9ad71d75
dzn: Add missing VKAPI_{ATTR,CALL} specifiers to BeginCommandBuffer()
...
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16109 >
2022-04-22 20:45:04 +00:00
David Heidelberg
3c3e451b03
ci: skqp: upgrade to skqp based on Android CTS 11.0 (r7)
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15987 >
2022-04-22 20:11:58 +00:00
David Heidelberg
40ca457047
ci: skqp: patch skqp to report also GL results
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15987 >
2022-04-22 20:11:58 +00:00
Jason Ekstrand
2d3b3b757a
anv: Clean up pipeline cache helpers a bit
...
Instead of having two different helpers, delete the pipeline_cache ones.
Also, instead of manually handling the cache == NULL case in every
vkCreateFooPipelines call, handle it inside the helpers. This means
that BLORP can use them too by passing cache=NULL.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
7f1e82306c
anv: Switch to the new common pipeline cache
...
This patch is intended to be somewhat minimal. There's a lot of cleanup
work that can be done but we'll leave that to later patches.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
c551f6c4df
anv: Rename a fail label in CreateDevice
...
The rest of them are labeled with the thing they need to destroy first,
not the thing that failed.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
93d0c66b27
vulkan/pipeline_cache: Add helpers for storing NIR in the cache
...
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
591da98779
vulkan: Add a common VkPipelineCache implementation
...
This is partly copied+pasted from ANV but is mostly new code with lots
of reference counting bugs fixed (I hope!). The new cache caches
"object" which derive from a base vk_pipeline_class_object struct. It
uses a kernel-style "ops" interface for virtual methods on these objects
to allow for easy destruction (when the reference count hits zero) as
well as serialization an deserialization interfaces. This should allow
drivers to cache basically whatever they want without having to think
too hard about the details.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
21a7b0f1ab
util/set: Respect found in search_or_add_pre_hashed
...
Fixes: 491e7decad "util/set: add the found param to search_or_add"
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Jason Ekstrand
96944c8f65
util/blob: Add align helpers
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13184 >
2022-04-22 19:38:52 +00:00
Marek Olšák
c4ca059dee
ac/surface: fix an addrlib race condition on gfx9
...
Addrlib calls GetMetaEquation, which generates and saves address equations
in a global table that is not thread safe.
Fixes: df2cbdd2e3 - amd/addrlib: expose DCC address equations to drivers
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6361
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16091 >
2022-04-22 19:12:03 +00:00
Marek Olšák
f7a77ff900
nir: fix an uninitialized variable valgrind warning in nir_group_loads
...
pass_flags is only initialized for grouped loads, so change the order
Fixes: 33b4eb149e - nir: add new SSA instruction scheduler grouping loads into indirection groups
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16090 >
2022-04-22 18:18:09 +00:00
Pierre-Eric Pelloux-Prayer
fcc499d5e1
ac/surface: adjust gfx9.pitch[*] based on surf->blk_w
...
This is the same as 8275dc1ed5 , but since gfx9.pitch[...] is
used for linear surfaces since 86262b6eac we need to update
it as well.
Fixes: 86262b6eac ("radeonsi,radv: fix usages of surf_pitch")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16053 >
2022-04-22 17:21:47 +00:00
Dylan Baker
2766972911
util: remove simple_list
...
Down to two invasive linked list implementations in Mesa!
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:58 -07:00
Dylan Baker
928f02195e
llvmpipe: replace uses of simple_list.h with list.h
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:57 -07:00
Dylan Baker
255a4d55c6
llvmpipe: cleanup trailing whitespace
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:55 -07:00
Dylan Baker
04082fbe24
gallium/draw: use list.h instead of simple_list.h
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:54 -07:00
Dylan Baker
d9d092696d
gallium/draw: remove trailing whitespace
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:53 -07:00
Dylan Baker
4ac2503b7a
gallium/util/u_cache: replace simple_list.h with list.h
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:51 -07:00
Dylan Baker
1221e678ba
gallium/util/u_cache.c: remove trailing whitespace
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:49 -07:00
Dylan Baker
0ae787f223
util/list.h: add a function to move an item in a list
...
This allows for a 1:1 replacement of simple_list move_to_head (though
I've tried to make this function more generally useful.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:47 -07:00
Dylan Baker
4b47e0e125
gallium/driver_trace: remove simple_list.h
...
Which isn't actually used
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:45 -07:00
Dylan Baker
dac8dc9ece
gallium/rbug: replace simple_list.h with list.h
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:43 -07:00
Dylan Baker
820e6e01fd
r300: remove unused simple_list.h
...
It's unused, so let's not include it.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418 >
2022-04-22 09:39:41 -07:00