Commit Graph

153480 Commits

Author SHA1 Message Date
Emma Anholt 5a3aee78cb Revert "ci: remove nouveau from shader-db runs"
This reverts commit 0464117ad9.  Now that
the shim back-channel communicates with nouveau that the "GPU" is always
idle, we can get the nouveau compiler back into the CI path.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16150>
2022-05-09 23:10:45 +00:00
Emma Anholt e4ca97111f nouveau: disable fences when running under drm-shim.
Otherwise, you get a hang at the end of shader-db.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16150>
2022-05-09 23:10:45 +00:00
Pavel Ondračka c6aa639ba9 r300: skip draws instead of using a dummy vertex shader
When we fail to compile some vertex shader, we currently use a very
simple dummy one, setting gl_Position to (0,0,0,1), effectively
rendering nothing. Unfortunately, the dummy vertex shader leads to
hangs with RV370 in some rare circumstances. Instead of trying to
fix the shader, just skip the draws altogether when the compilation
fails.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5870
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16387>
2022-05-09 23:02:57 +00:00
Emma Anholt 23cde71bb9 glsl: Stop lowering ir_quadop_vector.
Now that everybody goes through NIR, glsl_to_nir is happy to handle the
instruction and turn it into nir_op_vec4 instead of going to a temp
variable and back.

No changes on freedreno shader-db.

Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16363>
2022-05-09 22:13:31 +00:00
Charmaine Lee b4957cdfca svga: fix shader IR type passed to draw create shader function
In the SVGA create shader functions, the original shader IR could have been
deleted after pipe_shader_state_to_tgsi_tokens() if it is to be converted
from NIR to TGSI. So to avoid accessing the deleted NIR IR,
set the shader state type to TGSI before passing the shader
state to the draw function.

Reviewed-by: Neha Bhende <bhenden@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16365>
2022-05-09 21:10:37 +00:00
Alyssa Rosenzweig 269eb0cdd5 pan/va: Add whitespace after disassembled branches
To make the disassembly easier to read, add whitespace after disassembled
branches. This makes the basic blocks of the original control flow graph more
obvious, to aid comparison with the IR.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16409>
2022-05-09 20:51:15 +00:00
Alyssa Rosenzweig 6510c8fa7f pan/va: Add some whitespace to Valhall disassembly
Makes it easier to read.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16409>
2022-05-09 20:51:15 +00:00
Sathishkumar S 324898f5c6 radeon/vcn: engage all available jpeg engines
use multiple contexts and submit in a round robin scheme to make
use of all the available jpeg engines simultaneously. During mjpeg
decode context need not be same across frames as they are discrete
jpeg images.

V2: number of ctx to be equal to number of engines and fix indent (Leo)
V3: decide ctx count in create_decoder, don't add a video param (Boyuan)

Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16355>
2022-05-09 19:00:01 +00:00
Mihai Preda 3ec64a5bab Revert "gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c"
This reverts commit 32a55651cf.

Fixes: #6439 #6453

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16400>
2022-05-09 18:00:36 +00:00
Rhys Perry 28da4359a3 ac/nir: skip s_barrier if TCS patches are within subgroup
fossil-db (Sienna Cichlid):
Totals from 538 (0.33% of 162293) affected shaders:
Instrs: 125288 -> 123682 (-1.28%)
CodeSize: 712384 -> 705960 (-0.90%)
Latency: 632139 -> 623596 (-1.35%)
InvThroughput: 218491 -> 215600 (-1.32%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16356>
2022-05-09 16:30:27 +00:00
Rhys Perry 152092b8ea aco: skip s_barrier if TCS patches are within subgroup
fossil-db (Sienna Cichlid):
Totals from 518 (0.32% of 162293) affected shaders:
Instrs: 124943 -> 123908 (-0.83%)
CodeSize: 708764 -> 704624 (-0.58%)
Latency: 618380 -> 618279 (-0.02%)
InvThroughput: 214061 -> 214051 (-0.00%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16356>
2022-05-09 16:30:27 +00:00
Patrick Lerda c824104ce9 panfrost: Fix unwanted valgrind message related to restart_index
As a reminder primitive_restart should always be checked before any access to restart_index.

It seems that restart_index is only initialized when primitive_restart is set to a non-zero
value. This patch is equivalent to the previous code but written in a way that the compiler
will test primitive_restart first before trying to read restart_index.

With commit ad864a7c150a15221fb9c85d3214d4bcb6db7518:
Conditional jump or move depends on uninitialised value(s)
   at 0xD33F1EC: panfrost_is_implicit_prim_restart (pan_cmdstream.c:2907)
   by 0xD33F1EC: panfrost_emit_primitive (pan_cmdstream.c:3073)
   by 0xD33F1EC: panfrost_draw_emit_tiler (pan_cmdstream.c:3440)
   by 0xD33F1EC: panfrost_direct_draw (pan_cmdstream.c:3595)
   by 0xD340467: panfrost_draw_vbo (pan_cmdstream.c:3889)
   by 0xD219119: u_vbuf_draw_vbo (u_vbuf.c:1498)
   by 0xD1C81F9: cso_multi_draw (cso_context.c:1644)
   by 0xCFBA19B: _mesa_draw_arrays.part.11 (draw.c:1324)
   by 0xCFBADA1: _mesa_draw_arrays (draw.c:1295)
   by 0xCFBADA1: _mesa_DrawArrays (draw.c:1533)
   by 0xD32EB: gl_vao_draw_data (in /usr/local/bin/mpv)
 Uninitialised value was created by a stack allocation
   at 0xCFBA14E: _mesa_draw_arrays.part.11 (draw.c:1289)

With mesa-22.1.0-rc4:
Conditional jump or move depends on uninitialised value(s)
   at 0xD36369C: panfrost_is_implicit_prim_restart (pan_cmdstream.c:2895)
   by 0xD36369C: panfrost_draw_emit_tiler (pan_cmdstream.c:3023)
   by 0xD36369C: panfrost_direct_draw (pan_cmdstream.c:3215)
   by 0xD3649BF: panfrost_draw_vbo (pan_cmdstream.c:3494)
   by 0xD23DE7D: u_vbuf_draw_vbo (u_vbuf.c:1498)
   by 0xD1ECBD1: cso_multi_draw (cso_context.c:1644)
   by 0xCFD60FF: _mesa_draw_arrays.part.11 (draw.c:1324)
   by 0xCFD6D11: _mesa_draw_arrays (draw.c:1295)
   by 0xCFD6D11: _mesa_DrawArrays (draw.c:1533)
   by 0xD32EB: gl_vao_draw_data (in /usr/local/bin/mpv)
 Uninitialised value was created by a stack allocation
   at 0xCFD60B2: _mesa_draw_arrays.part.11 (draw.c:1289)

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Alyssa Rosenzweig alyssa@collabora.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16389>
2022-05-09 16:22:43 +02:00
Alyssa Rosenzweig 7339ad2ed3 panvk: Call nir_opt_trivial_continues
Fixes
dEQP-VK.glsl.indexing.tmp_array.vec2_static_loop_write_static_loop_read_vertex
which otherwise fails due to nir_opt_sink being "clever" around unused
loop exit blocks.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16155>
2022-05-09 13:40:17 +00:00
Alyssa Rosenzweig 0bd9e4d3b6 panvk: Conform viewport code to Vulkan spec
The depth equations weren't quite right, with spec citations to prove it. This
didn't fix the test I was debugging, but it surely fixed /something/.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16155>
2022-05-09 13:40:17 +00:00
Alyssa Rosenzweig 564d168d0d panvk: Stub pipeline cache using the common code
Moves the needle from Crash to Fail on:

dEQP-VK.synchronization.op.single_queue.fence.write_clear_color_image_read_image_compute.image_64x64x8_r32_sfloat

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16155>
2022-05-09 13:40:17 +00:00
Alyssa Rosenzweig 45fca7b440 mesa/st: Fix building tests on macOS
Due to an upstream bug, macOS can't link empty static libraries.
There is open Meson bug about this use case [1], though arguably the issue
is macOS's implementation of ar. Of course, the functionality is mostly
useless.

The removal of GLSL-to-TGSI trivialized a static library, causing
linking to fail. This commit garbage collects the useless library.
This fixes the build on macOS:

   FAILED: src/mesa/state_tracker/tests/libmesa_st_test_common.a
   rm -f src/mesa/state_tracker/tests/libmesa_st_test_common.a && ar csr src/mesa/state_tracker/tests/libmesa_st_test_common.a
   ar: no archive members specified
   usage:  ar -d [-TLsv] archive file ...
      ar -m [-TLsv] archive file ...
      ar -m [-abiTLsv] position archive file ...
      ar -p [-TLsv] archive [file ...]
      ar -q [-cTLsv] archive file ...
      ar -r [-cuTLsv] archive file ...
      ar -r [-abciuTLsv] position archive file ...
      ar -t [-TLsv] archive [file ...]
      ar -x [-ouTLsv] archive [file ...]

[1] https://github.com/mesonbuild/meson/issues/3735

Fixes: 214c774ba6 ("mesa/st: Remove st_glsl_to_tgsi.")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16385>
2022-05-09 13:07:36 +00:00
Iago Toral Quiroga 79f4e33f04 v3dv: don't leak variant QPU when pipeline compile fails
Typically we free them when we upload the QPU code from the variant
to the assembly BO in the pipeline, however, if there is an error
during pipeline compilation that may not happen and we would leak
the QPU code from the variants.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga fd02ddc81b v3dv: expose VK_KHR_pipeline_executable_properties
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga 43392c2ea0 v3dv: implement vkGetPipelineExecutableStatisticsKHR
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga 487c213142 v3d/compiler: add more stats to prog_data
So we can expose them via VK_KHR_pipeline_executable_properties.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga dc48313d70 v3dv: implement vkGetPipelineExecutablePropertiesKHR
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga 89eb0ac23d v3dv: implement vkGetPipelineExecutableInternalRepresentationsKHR
We can output the final NIR form (which we store in the pipeline
stage) and the final QPU (which we can retrive from the assembly BO).

We should be careful not to fetch the shaders from the cache when
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR is present,
since we don't store NIR shader in the pipeline shader data that is
cached, so a cache hit would leave us without the NIR shader. The spec
already contemplates this scenario:

   "Enabling this flag must not affect the final compiled pipeline but
    may disable pipeline caching or otherwise affect pipeline creation
    time."

We also prevent disposing of the pipeline stages the variants when this
flag is requested to ensure this information is available later when
calling vkGetPipelineExecutableInternalRepresentationsKHR.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16370>
2022-05-09 12:12:35 +00:00
Iago Toral Quiroga c881e718d4 v3dv: expose separateDepthStencilLayouts
This is actually required by Vulkan 1.2 and to expose the extension,
so let's conform to this requirement, we don't really care since
image layouts are not relevant to our current implementation.

Fixes: 1442d77bc5 ('v3dv: trivially implement VK_KHR_separate_depth_stencil_layouts')
Fixes: dEQP-VK.info.device_mandatory_features
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16398>
2022-05-09 13:43:35 +02:00
Boris Brezillon 718070f0e7 vulkan/wsi: Make wsi_win32_surface_get_capabilities() return the current extent
We can get that information with GetClientRect(), and some applications
complain when the window size doesn't match the currentExtent values.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16394>
2022-05-09 09:31:53 +00:00
Lionel Landwerlin 35d82ecf1e nir/lower_shader_calls: put inserted instructions into a dummy block
When moving code into the main block or loop blocks, put the code into
its own :

    if(true) { ... }

block so that we avoid break/continue/return issues.

v2: Also take care of the main block with return instructions

v3: Make deletion more obvious with dummy if blocks (Jason)

v4: Fixup assert for loops (Lionel)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 8dfb240b1f ("nir: Add raytracing shader call lowering pass.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16036>
2022-05-09 08:43:40 +00:00
Lionel Landwerlin 9cf986dcff nir/lower_shader_calls: don't insert code after break/continue
When moving code from below to the insertion cursor point, if the
cursor points to a jump instruction, don't bother inserting the code.
It would break the break/continue assumptions of NIR and would not be
executed anyway.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 8dfb240b1f ("nir: Add raytracing shader call lowering pass.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16036>
2022-05-09 08:43:40 +00:00
Lionel Landwerlin 51dea59eb4 nir/lower_shader_calls: don't use nop instructions as cursors
Stop using nop instructions which are causing issues with
break/continue, instead use a nir_cursor (which brings its share of
pain).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 8dfb240b1f ("nir: Add raytracing shader call lowering pass.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16036>
2022-05-09 08:43:40 +00:00
Jason Ekstrand 25661ea028 nir/cf: Return a cursor from nir_cf_extract as well
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16036>
2022-05-09 08:43:40 +00:00
Lionel Landwerlin d65cf403f3 nir/cf: return cursor after insertion of cf_list
This will be useful to cut code from one location and paste it at
another place and later keep pasting after the previous insertions.

v2: update comment (Jason)
    deal with stiching 2 empty blocks (Jason)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16036>
2022-05-09 08:43:40 +00:00
Manas Chaudhary 7fb9fdd86c panvk: Allow PAN_BO_INVISIBLE to be mapped with dump flag
Signed-off-by: Manas Chaudhary <manas.chaudhary@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16072>
2022-05-09 08:17:10 +00:00
Manas Chaudhary 9ac5adc0bc panvk: Add PANVK_DEBUG_DUMP dump mappings
Signed-off-by: Manas Chaudhary <manas.chaudhary@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16072>
2022-05-09 08:17:10 +00:00
Danylo Piliaiev db69218cbe tu: Implement VK_EXT_image_view_min_lod
Relevant tests:
 dEQP-VK.texture.mipmap.*.image_view_min_lod.*

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16292>
2022-05-09 07:53:41 +00:00
Dave Airlie 2037c34f24 gallivm: move to new pass manager to handle coroutines change.
LLVM 15 ripped out the legacy coroutine passes. This means moving
to the new pass manager is the best option to move forward and is
long overdue.

I've tried to recreate the same set of passes in the new pass mgr
as the old, but I expect some tweaking may be needed to confirm this.

Acked-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16289>
2022-05-09 07:29:22 +00:00
Juan A. Suarez Romero 6386144270 v3d: allow TFU blitting for single layer textures
TFU just handles 2D textures.

But for 2D array textures, cubemaps and 3D textures, if only one layer needs
to be blitted, then it is like a simple 2D texture, and thus we can also
use the TFU.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16372>
2022-05-09 07:08:11 +00:00
David Heidelberg 7ea2e86a8b ci: traces: virgl: reenable previously crashing Godot trace
Visually verified, screenshot does look correctly.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16335>
2022-05-09 06:44:43 +00:00
Emma Anholt d2ab0ed31e svga: Set lower_bitops for vpu9 screen.
Since these don't have native integers, nir_lower_io generating ishls
instead of amuls for uniform addressing math runs afoul of
nir_lower_int_to_float.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16339>
2022-05-08 20:52:01 +00:00
Thomas Debesse 06e9607478 gallium/clover: pass -no-opaque-pointers to Clang
Clang opaque pointers have been enabled by default
but the Clover code currently expects them to be disabled.

Signed-off-by: Thomas Debesse <dev@illwieckz.net>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6342
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16129>
2022-05-08 20:15:10 +00:00
Bas Nieuwenhuizen a7f44b6269 vulkan/wsi/x11: Ensure we have the required number of images for acquire.
For games that needs >1 at the same time the existing check wasn't enough.

Cc: mesa-stable
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15132>
2022-05-08 16:27:42 +02:00
Georg Lehmann 24049b8771 wsi/x11: Don't leak xcb_get_geometry_reply_t.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6443
Fixes: 44a20baeb8 ("wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16384>
2022-05-08 12:39:05 +00:00
Georg Lehmann 56070d3322 radeonsi: Use nir_fold_16bit_image_load_store_conversions.
Remove conversions using d16 image_load/image_store.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16319>
2022-05-08 00:00:41 +00:00
Icecream95 ad864a7c15 nir/lower_tex: Copy more fields in lower_tex_to_txd and friends
Fixes NIR validation errors for OpenMW on Panfrost.

Fixes: 1f97819fbe ("panfrost: Emulate GL_CLAMP on Bifrost")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15939>
2022-05-07 10:51:10 +00:00
Yiwei Zhang 81515f6b3c venus: extend buffer cache to cover layering usage
Layering clients, e.g. angle and zink, use wide sets of buffer usage
flags because they don't know what a resource will be used for in the
majority cases, which is on the other hand making it easier for layering
to optimize resource management.

This change adds a super-set usage to the buffer cache entries, that
will mostly ensure no cache-miss for non-sparsed buffer usages. Since
that involves usage bits from extensions, we'll mask out those disabled
ones upon querying but will use the static cache create info for
checking cache hit for code simplicity.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16379>
2022-05-07 05:26:44 +00:00
Thomas Debesse 6983c8580a gallium/clover: LLVM setLangDefaults moved from clangFrontend to clangBasic
Signed-off-by: Thomas Debesse <dev@illwieckz.net>
Reviewed-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16002>
2022-04-18 04:21:02 +02:00
Chia-I Wu b2b810ebff anv: advertise rectangularLines only for Gen10+
We use the non-strict algorithm (with parallelograms) prior to Gen10 for
wide lines.  We can not advertise rectangularLines.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Fixes: f6e7de41d7 ("anv: Implement VK_EXT_line_rasterization")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15432>
2022-05-06 18:22:19 +00:00
Mike Blumenkrantz ef8c5a20ee llvmpipe: never infer early zs tests when fbfetch is active
this breaks zs fbfetch

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16346>
2022-05-06 17:04:34 +00:00
Mike Blumenkrantz 5c24eb721a nir/gather_info: flag fbfetch on subpass image loads
might not be able to determine which output is being read, but these
are definitely fbfetch uses (from lavapipe)

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16346>
2022-05-06 17:04:34 +00:00
Rhys Perry 359e60cf5e aco: split load_sbt_amd result
fossil-db (Sienna Cichlid):
Totals from 11 (0.01% of 162293) affected shaders:
Instrs: 47857 -> 47738 (-0.25%)
CodeSize: 261556 -> 261080 (-0.18%)
Latency: 1176822 -> 1176245 (-0.05%)
InvThroughput: 784549 -> 784165 (-0.05%)
Copies: 5959 -> 5840 (-2.00%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16203>
2022-05-06 15:15:13 +00:00
Rhys Perry 594fa05722 radv: use SMEM for a few load_global
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16203>
2022-05-06 15:15:13 +00:00
Rhys Perry 21c1a35d88 radv: remove subtractions in address calculations
Additions by positive integers can more easily be combined into the
access.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16203>
2022-05-06 15:15:13 +00:00
Rhys Perry 3098046400 radv: allow LBVH on GFX6+
Use integer atomics on GFX8/9.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16203>
2022-05-06 15:15:13 +00:00