Dylan Baker
373b232675
VERSION: bump 22.3.0-devel
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17875 >
2022-08-03 17:16:14 +00:00
Emma Anholt
fcd96ce002
turnip: Use the GMEM CCU space for attachments when the stores won't.
...
Since the CCU only gets used for unaligned attachment stores or resolves
with the wrong formats, we can use that space for attachments in many
cases.
This gets two more of vk-5-normal's main renderpass's attachments to fit
in the next gmem_pixels increment, leaving 1 to go. Other renderpasses do
get better gmem_pixels, and a few get better tile sizes as a result, but
the fps increase from those looks to be <.2% at least.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16921 >
2022-08-03 16:54:15 +00:00
Emma Anholt
b8a334b547
turnip: Split the tiling config into separate layouts based on CCU usage.
...
We now choose between two (equal as of this commit) layouts based on
whether the renderpass's stores will use the CCU space, and assert that we
always know the chosen layout when we go using the gmem offsets.
This required making vkCmdClearAttachments in a secondary take the 3D path
instead of gmem blits, since secondaries only have to be compatible with
the primary's renderpass, rather than equal.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16921 >
2022-08-03 16:54:15 +00:00
Emma Anholt
a1db4fcab7
ci/freedreno: Update a630 s8 resolve xfails.
...
These tests are all only run in a full vk run. These removed ones were
fixed in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684
and I'm betting the bypass ones were pre-existing (we hadn't updated 630's
full vk run list for these new stencil tests, I belive -- my previous full
run update was just from one of the two jobs).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16921 >
2022-08-03 16:54:15 +00:00
Connor Abbott
19418adfba
tu: Restore formatting of tu_clear_blit.c
...
Conflict resolution appears to have gone awry. Use my previous resolution
of that rebase instead.
Fixes: 89263fde20 ("tu: Use common vk_image struct")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16921 >
2022-08-03 16:54:15 +00:00
Nanley Chery
6875e07538
iris: Dedent enum iris_depth_reg_mode
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17859 >
2022-08-03 15:31:10 +00:00
Nanley Chery
a75cd15b94
iris: Make the D16 reg mode single-sampled
...
Wa_14010455700 is dependent on the format and sample count, but our
code to track whether or not it had been applied was only dependent on
the format.
As a result, we failed to enable the workaround when an app used a D16
2xMSAA buffer, then a D16 1xMSAA buffer right afterwards.
Make the workaround tracking code sample-dependent to fix this.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17859 >
2022-08-03 15:31:10 +00:00
Nanley Chery
e7419c11ae
anv: Make the D16 reg mode single-sampled
...
Wa_14010455700 is dependent on the format and sample count, but our
code to track whether or not it had been applied was only dependent on
the format.
As a result, we failed to enable the workaround when an app used a D16
2xMSAA buffer, then a D16 1xMSAA buffer right afterwards.
Make the workaround tracking code sample-dependent to fix this.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17859 >
2022-08-03 15:31:10 +00:00
Alyssa Rosenzweig
a4a15f500c
nir/lower_idiv: Be less creative about signs
...
I'm sorry to whoever wrote this, but
(x - (int) (x < 0)) ^ -((int) (x < 0))
is not an acceptable way to write iabs.
Shader-db results on Intel Tiger Lake with lower_idiv enabled:
total instructions in shared programs: 21122548 -> 21122570 (<.01%)
instructions in affected programs: 2369 -> 2391 (0.93%)
helped: 2
HURT: 8
total cycles in shared programs: 791609360 -> 791608062 (<.01%)
cycles in affected programs: 114106 -> 112808 (-1.14%)
helped: 9
HURT: 1
If we make the Intel back-end less stupid, we get to 9/1 helped/HURT for
instructions as well but that's for a different MR.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17845 >
2022-08-03 14:24:38 +00:00
Mike Blumenkrantz
e13c9d2168
zink: combine loops for lazy descriptor program deinit
...
the bindless and push sets don't have update templates stored to
the program, so merging these loops avoids trying to destroy them
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17866 >
2022-08-03 12:24:46 +00:00
Mike Blumenkrantz
7450990558
zink: don't flag lazy push constant set dirty on batch change
...
this has its own flag
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17866 >
2022-08-03 12:24:46 +00:00
Mike Blumenkrantz
c7ef4f9735
zink: fix gfx program cache pruning with generated tcs
...
if the tcs was generated, then the prgram was added to the non-tcs cache,
which means deleting it from the tcs+tes cache will fail and then
context_destroy will explode
Fixes: 4123ee3c71 ("zink: invoke descriptor_program_deinit for programs on context destroy")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17866 >
2022-08-03 12:24:46 +00:00
Danylo Piliaiev
e1c89abd86
ir3: Never remove GS_HEADER_IR3 sysval input
...
Without GS header geometry shader is never invoked which may cause
issues if it has side-effects.
Fixes GL CTS tests running via Zink:
KHR-GL46.shader_image_load_store.multiple-uniforms
KHR-GL46.texture_cube_map_array.image_op_geometry_sh
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6940
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17771 >
2022-08-03 10:51:58 +00:00
Danylo Piliaiev
ed7814def7
ir3/ra: Always insert interval for precolored inputs
...
insert_dst checked whether dst is unused, however for precolored
inputs we always want to reserve a reg for them. Input could be
unused only if we explicitly want it.
Suggested-by: Connor Abbott <cwabbott0@gmail.com >
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17771 >
2022-08-03 10:51:58 +00:00
Marek Olšák
ff8e52541d
radeonsi: move small prim precision computation out of si_emit_cull_state
...
to put it next to its only use and remove the structure fields
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
fa46f3d40e
radeonsi: move the no-AA small prim precision cull constant into an SGPR
...
This reduces the scalar load from vec4 to vec2.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
788dce46a3
radeonsi: add a randomized blit test
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
a42be1efdc
radeonsi: allow texture_map to upload only 1 sample for MSAA instead of all
...
Reuse the level parameter to do that, which allows us to keep
the pipe_transfer size unchanged. It's kinda hacky, but it's the simplest
way to do it. This will be used by the blit test to initialize MSAA textures.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2afaedf1d6
radeonsi: make various blit functions non-static
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
f129db911b
radeonsi/gfx11: use a better workaround for the export conflict bug
...
This is recommended for better performance.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2ed9eb1b63
radeonsi/gfx11: enable shader prefetch except for initial chip revisions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
a09d971007
radeonsi/gfx11: rename si_calc_inst_pref_size -> si_get_shader_prefetch_size
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
a791e7f37f
radeonsi/gfx11: skip code in si_update_shaders that has no effect
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
34196148c1
radeonsi/gfx11: use better PRIM_GRP_SIZE_GFX11 setting
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
23a1dca8c6
radeonsi/gfx11: set SAMPLE_MASK_TRACKER_WATERMARK = 15 and clean up
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
b1af36163c
radeonsi/gfx11: use correct VGT_TESS_DISTRIBUTION settings
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
28842d96df
radeonsi: cosmetic changes around do_hardware_msaa_resolve
...
- move gfx_level checking into the function
- rename the function
- call it in si_blit later
- set the SQTT event
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
b1b0a860a5
radeonsi: fold async_copy into the preceding conditional in si_blit
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
7f1485d5ea
radeonsi: move compute-related code from si_blit.c to si_compute_blit.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
3b7512cacf
radeonsi: check for 16-bit hw support instead of relying on options.fp16
...
options.fp16 can be true even when the hw doesn't support FP16.
options.fp16 should only affect the CAP because 16-bit ops can still be
used by internal shaders.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2847106b94
radeonsi: add need_fmask_expand parameter into si_decompress_subresource
...
This is required by MSAA image stores for internal compute blits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
9e9cc62912
radeonsi: follow shader_info.float_controls_execution_mode (mostly)
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
0482ff3158
radeonsi: don't do image stores with RGBX, L, LA, I, and SRGB formats
...
The only change in behavior is that RGBX stores now overwrite X, which is
what CB does and it's faster.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
b42a4a7f07
radeonsi: remove compute-based DCC decompression because it's broken
...
The new blit test discovered that it doesn't always work.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
9da309a7f4
radeonsi: add common helper si_launch_grid_internal_images that is more robust
...
It does things in the correct order, which isn't easy to get right.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2a854647c0
radeonsi: make si_launch_grid_internal static
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
233b4271dc
radeonsi: call pipe->blit instead of util_blitter_blit after MSAA resolving
...
This fixes a problem where the destination has a DCC-incompatible view
format and triggers a DCC decompression using a custom u_blitter path, which
is disallowed inside u_blitter due to it being a u_blitter recursion that
always crashes.
This is also better because we'll get the best codepath (u_blitter or
compute) instead of just u_blitter,
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
922f54a0c8
radeonsi: move SI_MAX_VRAM_MAP_SIZE to si_debug_options.h
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
38cd2a610a
radeonsi: unify VGT_TESS_DISTRIBUTION programming
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
5c0b0f0058
ac/surface: don't forbid 256KB swizzle modes on smaller gfx11 chips
...
let addrlib make the right choice
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2c25dd0f27
amd/addrlib: fix 3D texture allocation failures on gfx11
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
2208ff7a5b
util/format: add util_format_rgbx_to_rgba helper
...
Image stores don't like RGBX on AMD. This is required by compute blits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864 >
2022-08-03 00:57:16 +00:00
Marek Olšák
91a3a38d5c
glthread: don't sync on IsEnabled(GL_DEPTH_TEST) by tracking it in glthread
...
Discovered with viewperf.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17781 >
2022-08-03 00:14:33 +00:00
Marek Olšák
a4ee818b18
glthread: don't ignore glPushAttrib/glPopAttrib when tracking GL_CULL_FACE
...
Fixes: f4348ef60d - glthread: don't sync for glIsEnabled with a few enums
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17781 >
2022-08-03 00:14:33 +00:00
Gert Wollny
51a8e9feb5
r600: increase possible stack size in binary code
...
With the trace posted in #6969 we get a nesting level of 149,
so make it a round 256 of stack entries.
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6969
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17849 >
2022-08-03 00:05:08 +00:00
Rob Clark
3f5d84fb37
freedreno/registers/a6xx: Some reg64 conversion
...
Reduce the spurious delta from a7xx regs.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
73ca381d7a
freedreno/registers: Move varset to <enum>
...
De-noisify the enum values that are generation specific.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
0cd8ce6ce3
freedreno/registers: Allow varset to be specified on enum
...
It gets a bit repetitive to specify the same varset on each value. The
rnn decode already handles it when specified on the enum, we just need
to relax the schema to allow this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
98b84ef286
freedreno/registers: Whitespace fix for gen_header.py
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
ba85272cb6
freedreno/ci: Update unit test reference decodes
...
Apparently we aren't running unit tests in CI?
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
7381e06d81
freedreno: Use enum for primtypes table
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
d6e4b1982b
freedreno/a6xx: De-open-code CACHE_FLUSH enum
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
7a62f6e3a3
freedreno/drm: Combine upper and lower 32b of OR val
...
The original reason it was split was because of libdrm ABI. But that no
longer applies since we pulled it into mesa.
While we are at it, remove the c++ workaround.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
cccadf7db6
freedreno/autotune: Make 'offset' macro "private"
...
Otherwise it conflicts with glsl_types.h DEFAULT_CONSTRUCTOR when
included from a c++ file.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
4490387ea8
freedreno/ir3: Remove unneeded forward declaration
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
8e8b7562c6
freedreno: Extract common helper macros
...
De-duplicate some macros that had been copy/pasta'd around, etc.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
f1503e34df
freedreno/a6xx: Fix enum tag
...
This wasn't meant to be a variable.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Rob Clark
57c03bdf14
freedreno/a6xx: Remove fd6_format.[ch]
...
Just use the fdl6 version of the one remaining helper.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17817 >
2022-08-02 23:46:15 +00:00
Alyssa Rosenzweig
07e9543270
pan/decode: Fix overrun decoding planes
...
We need to calculate the # of descriptors like we do on Midgard.
Fixes: ae9316f812 ("pan/decode: Decode Valhall surface descriptor")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17842 >
2022-08-02 21:11:06 +00:00
Jason Ekstrand
3225d60685
vulkan: Improve the docs for vk_subpass_info
...
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17858 >
2022-08-02 19:20:23 +00:00
Jason Ekstrand
378b398da7
vulkan: Always populate vk_render_pass_state::render_pass
...
This way drivers can at least see whether dynamic rendering is being
used or not even if they use vk_render_pass. Dynamic rendering only
drivers are expected to ignore those fields anyway.
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17858 >
2022-08-02 19:20:23 +00:00
Christian Gmeiner
d5cd8f18c2
etnaviv: Move nir_shader_compiler_options to compiler
...
It fits there much better and is an other step to get the
compiler to common code.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17819 >
2022-08-02 19:10:55 +00:00
David Heidelberg
5a000b4eb6
ci: set reasonable amount of wget retries for each download
...
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17655 >
2022-08-02 17:35:46 +02:00
Filip Gawin
875ee25e98
r300: don't read from output transform_r300_vertex_SEQ/SNE
...
Native rewrite in current form doesn't check
type of register and may use output as a
temp.
Helps with 218 deqp-gles2 tests.
Cc: mesa-stable
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17736 >
2022-08-02 15:09:03 +00:00
Konstantin Seurer
19f8d33876
radv: Use vk_descriptor_set_layout
...
Use the common ref counting and the common destroy entrypoint.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17818 >
2022-08-02 14:16:14 +00:00
Konstantin Seurer
da2233a108
vulkan: Handle descriptor set layout alloc fails
...
Fixes: 949ce92 ("vulkan: Add a base struct for descriptor set layouts")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17818 >
2022-08-02 14:16:14 +00:00
Konstantin Seurer
ae64b7a08c
vulkan: Fix descriptor set layout allocation scope
...
Fixes: 949ce92 ("vulkan: Add a base struct for descriptor set layouts")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17818 >
2022-08-02 14:16:14 +00:00
Mykhailo Skorokhodov
8b13acd715
anv: Move Wa_1806527549 and enable by default
...
Move Wa_1806527549 into `init_render_queue_state` and
set HIZ_CHICKEN (7018h) bit = 1 by default.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6717
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17778 >
2022-08-02 16:33:10 +03:00
Mykhailo Skorokhodov
6498328210
iris: Move Wa_1806527549 and enable by default
...
Move Wa_1806527549 into `iris_init_render_context` and
set HIZ_CHICKEN (7018h) bit = 1 by default for TGL.
Cc: mesa-stable
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17778 >
2022-08-02 16:33:10 +03:00
Danylo Piliaiev
188d1e2b20
freedreno: WFI after PC_TESSFACTOR_ADDR update
...
Updating PC_TESSFACTOR_ADDR could race with the next draw which uses it.
Don't know any failures in tests.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17833 >
2022-08-02 12:34:34 +00:00
Danylo Piliaiev
18573e4058
tu: WFI after PC_TESSFACTOR_ADDR update
...
Updating PC_TESSFACTOR_ADDR could race with the next draw which uses it.
Fixes GL CTS tests running via Zink:
KHR-Single-GL46.enhanced_layouts.glsl_contant_values
KHR-GLES32.core.tessellation_shader.tessellation_shader_point_mode.point_rendering
KHR-GLES32.core.tessellation_shader.winding.quads_cw
KHR-GLES32.core.tessellation_shader.winding.triangles_cw
And probably more.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6815
Suggested-by: Connor Abbott <cwabbott0@gmail.com >
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17833 >
2022-08-02 12:34:34 +00:00
Lionel Landwerlin
8c9dd9e783
intel/dev: remove INTEL_DEVID_OVERRIDE
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17831 >
2022-08-02 11:17:58 +00:00
Lionel Landwerlin
7f82ab7104
intel/dev: add a test verifying that device override works
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17831 >
2022-08-02 11:17:58 +00:00
Lionel Landwerlin
9d55c5237e
intel/tools/stub: fixup parsing of --platform=
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17831 >
2022-08-02 11:17:58 +00:00
Lionel Landwerlin
f2bbc959a0
intel/tools/drm-shim: fixup eu_stride for topology
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17831 >
2022-08-02 11:17:58 +00:00
Lionel Landwerlin
186ff4696a
intel/dev: move verification function to a header
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17831 >
2022-08-02 11:17:58 +00:00
Lionel Landwerlin
6931ae83ce
anv: decode init batch with INTEL_DEBUG=bat
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17852 >
2022-08-02 10:42:26 +00:00
Feng Jiang
2926a1aa76
virgl: do not share virgl_screen between different drm_files
...
Now, only one instance of virgl_screen exists for a device
(/dev/dri/cardX), and it is shared by different frontends (eg GLX,
GBM, etc.). There is a problem with this, as follows:
/* Init GLX */
...
glXCreateContext(...);
...
/* GBM */
gbm_fd = open("/dev/dri/card0", O_RDWR);
dev = gbm_create_device(gbm_fd);
bo = gbm_bo_create(dev, ...);
plane_handle = gbm_bo_get_handle_for_plane(bo, ...);
drmPrimeHandleToFD(gbm_fd, handle.u32, flags, &plane_fd);
The above drmPrimeHandleToFD() call will fail with ENOENT.
The reason is that GBM and GLX share the same virgl_screen (file
descriptor), and it is not gbm_fd that is used to create gbm_bo,
but other fd (opened during GLX initialization). Since the scope
of prime handle is limited to drm_file, the above plane_handle is
invalid under gbm_fd.
By canceling the sharing of virgl_screen between different drm_files,
GBM can use the correct fd to create resources, thereby avoiding the
problem of invalid prime handle.
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16738 >
2022-08-02 10:30:08 +00:00
Marcin Ślusarz
883acc4150
intel/compiler: use NIR_PASS more
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17619 >
2022-08-02 10:07:05 +00:00
Marcin Ślusarz
7ebae85955
intel/compiler: insert URB fence before task/mesh termination
...
Bspec 53421 says:
"A URB fence memory is typically performed prior the thread
exit message, so that the next thread dispatch that reads
that URB memory will see it."
Cc: 22.1 <mesa-stable>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16665 >
2022-08-02 09:31:24 +00:00
Marcin Ślusarz
30c0f2bfbb
intel/compiler: there are 4 types of fences on gfx >= 12.5
...
Found by code inspection.
There's an assert later checking that we haven't overflown
this array, so this change probably doesn't matter for any
workload.
Cc: 22.1 <mesa-stable>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16665 >
2022-08-02 09:31:24 +00:00
Marcin Ślusarz
2bd148c990
intel/compiler: emit URB fences for TASK/MESH
...
Cc: 22.1 <mesa-stable>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16665 >
2022-08-02 09:31:24 +00:00
Kenneth Graunke
9afd955353
intel/compiler: Delete unused Gfx8+ code in brw_find_live_channel()
...
We now handle this in fs_visitor::lower_find_live_channel().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17530 >
2022-08-02 08:41:43 +00:00
Kenneth Graunke
49ee3ae9e8
intel/compiler: Lower FIND_[LAST_]LIVE_CHANNEL in IR on Gfx8+
...
This allows the software scoreboarding pass, scheduler, and so on
to handle the individual instructions and handle them, rather than
trusting in the generator to do scoreboarding correctly when expanding
the virtual instruction to multiple actual instructions.
By using SHADER_OPCODE_READ_SR_REG, we also correctly handle the
software scoreboarding workaround when reading DMask/VMask.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17530 >
2022-08-02 08:41:43 +00:00
Mark Janes
6401d768b9
intel/dev: drop warning for unhandled hwconfig keys
...
The hwconfig api may change unexpectedly prior to public release of
new platforms. Also, public documentation of the hwconfig api
sometimes lags the release.
For these reasons, warnings about unhandled hwconfig keys are noisy,
likely to occur, and unhelpful to most users. This commit drops those
warnings, in favor of a separate internal process for tracking
hwconfig api changes.
Suggested-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17846 >
2022-08-02 08:08:02 +00:00
Gert Wollny
be0e8a99ee
r600/sfn: Handle R600 class sin/cos
...
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre EG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17840 >
2022-08-02 07:59:33 +00:00
Jiang Feng
fe9333f7b5
virgl: Set res->maybe_busy to true when creating resources
...
Currently, res->maybe_busy is false by default. If wait immediately
after the resource is created, virgl_drm_resource_wait() will return
directly without checking the actual state of the kernel, which will
cause synchronization problems, such as:
On Guest:
pipe_buffer_create [mesa]
virgl_drm_winsys_resource_create
virtio_gpu_resource_create_ioctl [kernel]
virtio_gpu_fence_alloc
virtio_gpu_object_create
virtio_gpu_cmd_resource_create_3d
VIRTIO_GPU_CMD_RESOURCE_CREATE_3D
virtio_gpu_object_attach
virtio_gpu_cmd_resource_attach_backing
VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING
resource_wait [mesa]
virgl_drm_resource_wait /* return directly without fence waiting */
pipe_buffer_map [mesa]
virgl_drm_resource_map
virtio_gpu_map_ioctl [kernel]
os_mmap
memcpy /* <== here */
On Host (with QEMU):
VIRTIO_GPU_CMD_RESOURCE_CREATE_3D
virgl_cmd_create_resource_3d [qemu]
virgl_renderer_resource_create [virglrenderer]
VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING
virgl_resource_attach_backing [qemu]
virtio_gpu_create_mapping_iov
virgl_renderer_resource_attach_iov [virglrenderer]
virgl_resource_attach_iov
vrend_pipe_resource_attach_iov
vrend_write_to_iovec /* <== here */
virtio_gpu_cleanup_mapping_iov [qemu]
In the example above, there is a race condition between memcpy and
vrend_write_to_iovec.
Signed-off-by: Jiang Feng <jiangfeng@kylinos.cn >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17592 >
2022-08-02 07:27:28 +00:00
Guilherme Gallo
a19dd43082
ci/lava: Remove MINIO_RESULTS_UPLOAD if requested
...
When we don't want to communicate with minio, e.g. running
lava_job_submitter script locally, MINIO_RESULTS_UPLOAD should be unset.
But this variable is already set by generate-env script, so we need to
remove it from the /set-job-env-vars.sh to avoid declaring it in
unexpected scenarios.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17645 >
2022-08-02 01:56:44 +00:00
Rob Clark
59f2a072ca
libsync: Fix compiler warning
...
../src/util/libsync.h:134:33: warning: suggest braces around initialization of subobject [-Wmissing-braces]
struct sync_merge_data data = {0};
^
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17816 >
2022-08-02 00:59:48 +00:00
Rob Clark
1dd5dd9765
util: Fix c++ enum casting pickiness
...
Fix problems when included from c++
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17816 >
2022-08-02 00:59:48 +00:00
Jordan Justen
68b88fae8c
intel/dev: Fill in system memory info when using INTEL_DEVID_OVERRIDE
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17828 >
2022-08-01 23:54:55 +00:00
Guilherme Gallo
2cb71ac530
ci/lava: Only parse result within testcase section
...
This commit fixes an issue related to leftover between jobs in the same
device under test in LAVA.
There is a possibility of having the resulting output being dumped just
after the boot, such as this job:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/25674303#L155
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17752 >
2022-08-01 23:08:37 +00:00
Jason Ekstrand
25dcb8d201
nir/from_ssa: Ignore undef sources
...
Is a phi source is an undef, there's no point in copying it or really
caring about it at all. We would just end up inserting a mov from an
undef to a register. Instead, treat phi sources which point to an undef
as if the phi source doesn't exist.
This also prevents them from being included in phi webs which should
reduce the overall interference seen in the shader. Currently, if two
phis share an undef, their phi webs are consdiered to interfere. By
ignoring undefs we can get rid of this false interference and reduce the
size of phi webs. Reducing the number of things being copied by the
parallel copy instructions should also free up the paralle copy
algorithm and reduce the over-all churn of movs.
Shader-db results on Haswell:
total instructions in shared programs: 8156608 -> 8155406 (-0.01%)
instructions in affected programs: 164838 -> 163636 (-0.73%)
Shader-db results on Skylake:
total instructions in shared programs: 18227370 -> 18227359 (<.01%)
instructions in affected programs: 519 -> 508 (-2.12%)
helped: 6
HURT: 0
Shader-db results on Tigerlake:
total instructions in shared programs: 21167987 -> 21168025 (<.01%)
instructions in affected programs: 23701 -> 23739 (0.16%)
helped: 21
HURT: 27
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16817 >
2022-08-01 22:13:24 +00:00
Jason Ekstrand
c5c90e6ea4
lima: Lower undefs to zero and run DCE after from_ssa
...
Undefs can happen even in real GLSL shaders so it's best to handle them.
Lowering to zero is a perfectly valid implementation. Also, run DCE
because some of the undefs may be dead after from_ssa and there's no
point in processing those in the back-end.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16817 >
2022-08-01 22:13:24 +00:00
Dave Airlie
6f873dd267
lavapipe: enable VK_FORMAT_R5G5B5A1_UNORM_PACK16
...
Doesn't cause any cts regressions here.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17826 >
2022-08-02 07:13:04 +10:00
Adam Jackson
097653e3d2
gallium/dri2: Enable {GLX_ARB,EGL_KHR}_context_flush_control
...
This was disabled ages ago because it provoked bugs between us and
xserver about context creation attributes, hopefully those servers are
out of circulation by now, let's find out.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17756 >
2022-08-01 19:04:18 +00:00
Gert Wollny
33ca04eb63
r600/sfn: remove leftover debug output
...
Fixes: 3c7368de56
r600/sfn: Handle slot differences between pre-EG and EG
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17839 >
2022-08-01 18:57:05 +00:00
Alyssa Rosenzweig
ac5c1039a2
pan/bi: Rename CLPER_V6.i32 to CLPER_OLD.i32
...
To reflect that it is the CLPER of choice on Mali-G31 which is a v7 target.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17754 >
2022-08-01 18:42:57 +00:00
Alyssa Rosenzweig
d8bd80afeb
pan/bi: Assert that we use the correct CLPER
...
Add an assert at pack time that would have caught the bug fixed in 7535362204
("pan/bi: Fix clper_xor on Mali-G31").
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17754 >
2022-08-01 18:42:57 +00:00
Alyssa Rosenzweig
8066ef9d30
agx: Port minifloat tests to GTest
...
These tests predate using GTest in the compiler. Now that we do, we'd like to
have the tests together so they run regularly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17824 >
2022-08-01 18:34:11 +00:00
Emma Anholt
31b9b04880
nir: Use nir_foreach_phi_src consistently.
...
I copy-and-pasted one of these and people noted that we had a better tool,
so make sure nobody else copy and pastes it.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17664 >
2022-08-01 17:39:30 +00:00
Emma Anholt
a4bfe11a49
glsl: Remove opt_conditional_discard().
...
The nir_opt_conditional_discard pass is called anyway and covers
discard/demote/terminate.
iris shader-db:
total instructions in shared programs: 8933422 -> 8933426 (<.01%)
instructions in affected programs: 48 -> 52 (8.33%)
helped: 0
HURT: 4
which is a synmark shader going from 12 to 13 instrs.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17664 >
2022-08-01 17:39:30 +00:00
Emma Anholt
3714c89d0e
nir: Add an opt pass for phis after if choosing between true/false.
...
This pattern almost always gets peephole-selected out anyway, but I
noticed it once I removed glsl opt_conditional_discard.
iris shader-db:
total instructions in shared programs: 8933934 -> 8933158 (<.01%)
instructions in affected programs: 75575 -> 74799 (-1.03%)
helped: 179
HURT: 15
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17664 >
2022-08-01 17:39:30 +00:00
Juan A. Suarez Romero
a2397e6378
v3d/ci: enable ARB_texture_cube_map piglit tests
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17836 >
2022-08-01 16:53:46 +00:00
Juan A. Suarez Romero
0cb1689ca9
v3d/vc4/ci: Fix typo in skipped list
...
The skipped piglit tests should be those about arb_gpu_shader5, not
arb_gpu_shader_gpu5.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17836 >
2022-08-01 16:53:46 +00:00
Juan A. Suarez Romero
899759be6a
v3dv/ci: Update expected list
...
Add some tests in the skip list that takes too much time to be executed.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17836 >
2022-08-01 16:53:46 +00:00
Erik Faye-Lund
e22cadbed6
zink: more accurately set ImageQuery cap
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17734 >
2022-08-01 15:37:17 +00:00
Erik Faye-Lund
f55a4407ef
zink: more accurately set {Sampled,Image}Buffer caps
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17734 >
2022-08-01 15:37:17 +00:00
Erik Faye-Lund
6aeb93d555
zink: more accurately set {Sampled,Image}1D caps
...
We don't really need to set this for every shader that uses textures,
only the ones that use 1D textures.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17734 >
2022-08-01 15:37:17 +00:00
Erik Faye-Lund
a923b1636d
zink: set dynamic indexing caps
...
If we're not using uniform indexing, we need to emit caps to enable
dynamic indexing.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17734 >
2022-08-01 15:37:17 +00:00
Erik Faye-Lund
e85a710a2a
zink: clean up extension emitting
...
do not emit SPV_KHR_storage_buffer_storage_class if we have vulkan 1.1
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17734 >
2022-08-01 15:37:17 +00:00
Sviatoslav Peleshko
cb99365403
intel/nullhw: Use correct macro to fix build regression
...
Fixes: b510ee0d ("Use vk_foreach_struct_const where needed")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6950
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Tested-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17789 >
2022-08-01 10:54:38 +00:00
Alejandro Piñeiro
c3f5d27631
vc4/v3d: restore calling debug_get_option_vc4/v3d_debug
...
As it is needed to have V3D_DEBUG defined. For the v3d case, I did it
restoring v3d_process_debug_variable, as it is at v3d_debug.c that
DEBUG_GET_ONCE_FLAGS_OPTION is called.
Fixes: 106b33405e ("vc4/v3d: stop adding NORAST when SHADERDB debug option is used")
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17812 >
2022-08-01 09:24:38 +00:00
pal1000
6643bfd3e4
ci/MinGW: LLD is not really used anywhere
...
Fixes: bbfd6dfe ("ci: Prepare the container for building all mesa components with mingw under linux")
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17766 >
2022-08-01 08:52:08 +00:00
pal1000
65795e7658
ci/MSVC: LLD is not really used anywhere
...
Fixes: 0f46a319 ("CI: Windows: Build LLVM and llvmpipe")
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17766 >
2022-08-01 08:52:08 +00:00
Gert Wollny
33765aa92a
r600/sfn: Enable NIR for pre RG hardware
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
d7a3f17a79
r600/sfn: Advertise support for fmulz
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
14ab267c76
r600/sfn: Disable FP64 for pre-CEDAR
...
There is no point in trying to get the softfp to work here,
since these cards don't support tesselation shaders, they will
never get OpenGL 4.0.
v2: Fix formatting (Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
13b1069a87
r600/sfn: Handle pre-EG buffer fetch
...
v2: Fix formatting (Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
325eaf6479
r600/sfn: Set trans flag for flt_to_int on pre-EG
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
a2cb85800b
r600/sfn: Handle non-compressed MS texel fetch
...
v2: Fix formatting (Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
82437c69c4
r600/sfn: Handle primitive input handling for pre-EG
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
be7bd71a86
r600/sfn: Handle pre-EG GS input fetch
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
675348e65e
r600/sfn: Handle buffer size query on pre-EG
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
42f2e82fe0
r600/sfn: Handle chipclass with kcache allocation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:28 +00:00
Gert Wollny
3c7368de56
r600/sfn: Handle slot differences between pre-EG and EG
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:27 +00:00
Gert Wollny
dac627f6e0
r600/sfn: Prepare StreamOut instruction for pre EG opcodes
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:27 +00:00
Gert Wollny
fbe997049d
r600/sfn: Support pre-EG style FS input
...
v2: Fix formatting
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:27 +00:00
Gert Wollny
8f96cd4db0
r600/sfn: Factor out fragement shader class for EG
...
Pre-EG hardware handles the FS inputs differently, so we
need to prepare a different code path.
v2: Make m_interolators_used private (Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17822 >
2022-08-01 08:44:27 +00:00
Gert Wollny
f9703ac34d
virgl: honor host caps in shader cash sha evaluation
...
This is needed because when we switch between GLES and GL on the host,
we have to lower atomics to ssbo, and with that the shaders can't be
pulled from the cache anymore. Likewise when we move the disk image with
a shader cache to a different host, other features might change that
will need lowering. To avoid using stale shaders in this case, merge the
caps into into the shader cache sha.
Fixes: d6db4d2e08
virgl: Add simple disk cache
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17798 >
2022-08-01 08:34:12 +00:00
Eli Schwartz
5780ea90c4
meson: add various generated header dependencies as order-only deps
...
https://mesonbuild.com/FAQ.html#how-do-i-tell-meson-that-my-sources-use-generated-headers
A few locations had underspecified deps on the header files, and this
caused builds to fail given sufficient parallelism.
Fixes #6531
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16659 >
2022-07-31 18:10:15 +00:00
Yonggang Luo
df242a2c06
auxiliary: Remove pipe_tsd
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
af1fe5c2c8
glx: Remove usage of pipe_tsd_set and pipe_tsd_get
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
6af5cadef9
meson: Remove pre_args += '-DUSE_ELF_TLS'
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
365253605a
util: Remove usage of USE_ELF_TLS in u_thread.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
aa0b857544
glx: Remove usage of USE_ELF_TLS
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
a055f285f5
loader: Remove usage of USE_ELF_TLS in loader.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:12 +00:00
Yonggang Luo
62a68481fa
mapi: Remove usage of USE_ELF_TLS
...
After commit c47fd3dc00 ("windows: Use TLS context/dispatch with shared-glapi")
USE_ELF_TLS are always defined by
pre_args += '-DUSE_ELF_TLS'
So we can remove it safety
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:11 +00:00
Yonggang Luo
bf2cd50019
egl: Remove usage of USE_ELF_TLS macro
...
After commit c47fd3dc00 ("windows: Use TLS context/dispatch with shared-glapi")
USE_ELF_TLS are always defined by
pre_args += '-DUSE_ELF_TLS'
So we can remove it safety
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:11 +00:00
Yonggang Luo
c8d296ae4b
meson: Remove usage of use_elf_tls
...
After c47fd3dc00 ("windows: Use TLS context/dispatch with shared-glapi")
use_elf_tls are always setting to true, so we can remove it safety
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:11 +00:00
Yonggang Luo
6bde428c0a
mapi: Trim trailing spaces in stub.c and u_current.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17213 >
2022-07-29 23:59:11 +00:00
Yiwei Zhang
71a0ae2796
anv: enable VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM for modifier support
...
This is a missed format to properly support media interop for Android.
Currently only used when layering GL atop Vulkan on Android, but will
be used directly with Vulkan when the platform default renderer has
switched to skiavk in modern Android.
Test: CtsMediaTestCases and CtsVideoTestCases with angle on venus on anv
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17808 >
2022-07-29 23:24:15 +00:00
Iván Briano
a05fcc94c2
anv: assert inheritance_info is not NULL
...
Makes some static analysis tools happier.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17809 >
2022-07-29 22:50:21 +00:00
Yonggang Luo
1bb92a3178
util: Disable tests/sparse_array_test.cpp on MacOS as it's too slow
...
[----------] 1 test from SparseArrayTest
[ RUN ] SparseArrayTest.Multithread
[ OK ] SparseArrayTest.Multithread (105624 ms)
[----------] 1 test from SparseArrayTest (105624 ms total)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17802 >
2022-07-29 21:38:01 +00:00
Mark Janes
dc8df485e9
intel/compiler: reorder shader cache keys to minimize padding
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17749 >
2022-07-29 20:45:25 +00:00
Mark Janes
a4a4aefa03
intel/compiler: pad all data structures used by shader cache keys
...
When the compiler pads a data structure, the padded bytes will not be
initialized. Shader keys are compared with memcmp and unitialized
bytes within the structure breaks this mechanism.
Explicitly pad the structures with members, so the compiler is forced
to initialize them. Add a warning to indicate if a change to
alignment in any of the data structures requires additional padding.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17749 >
2022-07-29 20:45:25 +00:00
Mark Janes
3269a9b6a3
iris: reorder to minimize padding
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17749 >
2022-07-29 20:45:25 +00:00
Mark Janes
e6f6142c9b
iris: pad all structures used in a shader key
...
When the compiler pads a data structure, the padded bytes will not be
initialized. Shader keys are compared with memcmp and unitialized
bytes within the structure breaks this mechanism.
Explicitly pad the structures with members, so the compiler is forced
to initialize them. Add a warning to indicate if a change to
alignment in any of the data structures requires additional padding.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17749 >
2022-07-29 20:45:25 +00:00
Mark Janes
b15d0a11a4
util: define helpful macros for compiler diagnostic features
...
Suggested-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17749 >
2022-07-29 20:45:25 +00:00
Mike Blumenkrantz
e5c50ed2d4
nine: set view_mask=0
...
nine doesn't use viewids, and this breaks drivers that support it
cc: mesa-stable
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17792 >
2022-07-29 19:42:45 +00:00
Mike Blumenkrantz
079857720b
d3dadapter: fix sw pipe loading
...
this needs to check the env var in order to work correctly
cc: mesa-stable
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17792 >
2022-07-29 19:42:45 +00:00
Mike Blumenkrantz
f153ae75db
virgl: more ci flakes
...
I guess nobody is watching these?
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17806 >
2022-07-29 19:31:03 +00:00
Alejandro Piñeiro
106b33405e
vc4/v3d: stop adding NORAST when SHADERDB debug option is used
...
Right now if we use the option SHADERDB, NORAST is added
automatically. There's no comment justifying it, neither a lot of info
on the commits that added that. But I guess that the purpose is that
SHADERDB option is assumed to be used only to gather shader-db stats,
so setting setting NORAST would allow to get those dumps faster.
But adding debug options automatically can be confusing, as we could
get a behaviour that we were not expecting. At least I needed to check
why using SHADERDB was getting a black screen. And if we want to get
this behaviour, we can easily add manually the NORAST.
Finally, v3dv doesn't support NORAST right now (and we don't have
immediate plans to implement it), so it is somewhat inconsistent to
get different behaviour from the same debug option from the two
drivers.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17788 >
2022-07-29 18:29:34 +00:00
Chia-I Wu
6929ccedff
turnip: shared_consts and push_consts are mutually exclusive
...
Skip gather_push_constants when shared consts are enabled. This makes
sure push_consts is only zero-initialized, and reserved_user_consts is
0. This saves some space in the const file.
This change also adds a few asserts and a comment to
lower_load_push_constant. Because shared consts share the same range
for all stages, we should not apply per-stage offsets in
lower_load_push_constant. It worked because nir_lower_explicit_io
always sets base to 0 for nir_var_mem_push_const and
shader->push_consts.lo was always 0 for all stages.
Fixes: 0c787d57e6 ("tu: increase maxPushConstantsSize to 256.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17777 >
2022-07-29 16:22:43 +00:00
Chia-I Wu
562e5ba286
turnip: remove shared_consts from tu_compiled_shaders
...
It is set but unused. We also don't serialize/deserialize shared_consts
to/from the pipeline cache.
Fixes: e1f2cabc5e ("turnip: Change to use shared consts for PushConstants")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17777 >
2022-07-29 16:22:43 +00:00
Yonggang Luo
ae2947fbc5
ci: Building osmesa on OSX
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
6544cf4a2a
dri: Trim trailing space in dri/dri_util.*
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
9caa6bb71a
glx: Convert tab to space in applegl_glx.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
73c51b5c57
util: thread_local doesn't support to be exported on OSX
...
The linkage error is:
Undefined symbols for architecture x86_64:
"thread-local wrapper routine for _glapi_tls_Context", referenced from:
__mesa_GetActiveUniform_impl in libmesa.a(main_uniform_query.cpp.o)
Fixes: a9e2c699aa ("util/c11: Update function u_thread_create to be c11 conformance")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6756
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
7d35d560ac
glx: __glX_tls_Context should use __THREAD_INITIAL_EXEC
...
Error message on OSX:
../src/glx/tests/fake_glx_screen.cpp:101:20: error: thread-local declaration of '__glX_tls_Context' with dynamic initialization follows declaration with static initialization
thread_local void *__glX_tls_Context = &dummyContext;
^
../src/glx/glxclient.h:655:36: note: previous declaration is here
extern __THREAD_INITIAL_EXEC void *__glX_tls_Context;
Fixes: be00a7c8ac ("glx: using C++11 keyword thread_local")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
14bbfee3bc
gallium: Disable dri2 interface on OSX
...
Error message:
Undefined symbols for architecture x86_64:
"_dri_kms_driver_extensions", referenced from:
_swkmsCreateNewScreen in libdri.a(dri_util.c.o)
"_galliumdrm_driver_extensions", referenced from:
_dri2CreateNewScreen in libdri.a(dri_util.c.o)
ld: symbol(s) not found for architecture x86_64
Fixes: b6f7a4836a ("dri: Fill in the driver extensions for the legacy createNewScreen paths")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6519
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
48e72da0dd
gallium: Rename macros HAVE_PIPE_LOADER*
...
Rename macro HAVE_PIPE_LOADER_DRI to HAVE_DRI
Rename macro HAVE_PIPE_LOADER_KMS to HAVE_DRISW_KMS
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
98fa0c3351
gallium: Do not call to pipe_loader_sw_probe_kms when not present
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Yonggang Luo
34572042c7
gallium: Move -DHAVE_PIPE_LOADER_DRI and -DHAVE_PIPE_LOADER_KMS to be pre_args
...
There is non pipe-loader source code depends on it.
After doing this, we found that shared library pipe_swrast depends on libswdri
The error message is:
src/gallium/targets/pipe-loader/pipe_swrast.so.p/pipe_swrast.c.o:pipe_swrast.c:swrast_driver_descriptor: error: undefined reference to 'dri_create_sw_winsys'
src/gallium/targets/pipe-loader/pipe_swrast.so.p/pipe_swrast.c.o:pipe_swrast.c:swrast_driver_descriptor: error: undefined reference to 'kms_dri_create_winsys'
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17784 >
2022-07-29 12:57:26 +00:00
Eric Engestrom
155c8bc964
ci: add --print-errorlogs to meson test
...
In order to avoid having to dig through artifacts to see what failed.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17804 >
2022-07-29 12:06:13 +00:00
Karmjit Mahil
661440717a
pvr: Fix cdm shared reg usage reported to fw.
...
For context switching we need to keep track of the max shared regs
used and report that to the fw.
Reported-by: Rajnesh Kanwal rajnesh.kanwal@imgtec.com
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17683 >
2022-07-29 11:37:06 +00:00
Karmjit Mahil
e1a0432dd2
pvr: Add compute pipeline barrier handling.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17683 >
2022-07-29 11:37:06 +00:00
Karmjit Mahil
b92c40d40a
pvr: Add IDF/WDF program for compute pipeline barrier.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17683 >
2022-07-29 11:37:05 +00:00
Karmjit Mahil
6d672e0336
pvr: Add initial vkCmdPipelineBarrier skeleton.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17683 >
2022-07-29 11:37:05 +00:00
Karmjit Mahil
c70924b20e
pvr: Add static consts to hard coding infra.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17681 >
2022-07-29 11:21:08 +01:00
Karmjit Mahil
a278f7d21e
pvr: Add static consts support in descriptor pds program.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17681 >
2022-07-29 11:21:04 +01:00
Karmjit Mahil
a4830eec53
pvr: Rename uniform pds program to descriptor pds program.
...
The program will handle more than just DMAing uniforms so renaming
it. E.g. it will handle push constants and compile time static
constants.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17681 >
2022-07-29 11:20:53 +01:00
Eric Engestrom
438d5baa36
turnip: expose support for VK_EXT_acquire_drm_display
...
Turnip supports VK_EXT_direct_mode_display and can use the common
implementation of AcquireDrmDisplayEXT() & GetDrmDisplayEXT() (which use
wsi->can_present_on_device() that turnip implements).
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17768 >
2022-07-29 07:49:47 +00:00
Dylan Baker
42b89276e6
iris|anv: gfx version 12.5 data cache flush is not a workaround
...
This was not a workaround, it was simply missing from the documentation.
So remove the workaround language.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17797 >
2022-07-28 22:08:46 +00:00
Dylan Baker
180af73101
anv: add gfx version 12.5 flushes to CCS path
...
This was already added to the MCS path in !17218 , so this is just
adding it in the CCS path as well.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17797 >
2022-07-28 22:08:46 +00:00
Kenneth Graunke
fc02ce5713
intel/eu: Mark header present in URB memory fences on XeHP
...
Fixes the following EU validation error:
ERROR: Header must be present for all URB messages.
The message header is ignored for URB fence messages, so I doubt that
this actually matters in practice. But we should probably mark it as
present, because you have to send something, and according to the
documentation, there is a message header, it's just ignored.
Fixes: e6a9501aa2 ("intel/fs: Add the URB fence message")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624 >
2022-07-28 21:31:45 +00:00
Kenneth Graunke
986b49a56d
intel/eu: Clarify spec citations for XeHP region restrictions
...
When this rule started causing issues, I looked it up in the
documentation, and found the rule for 64-bit destinations and
integer DWord multiplication, but there was no mention of floating
point destinations, as the text in brackets suggested. The actual
restriction text had been updated, so this led to some confusion
where I thought the conditions had been changed in newer docs.
However, what's actually going on is that there are two separate
conditions, each listed in separate rows of the table. One lists
64-bit destinations or integer DWord multiplication, and the other
mentions floating-point destinations. In both cases, the actual
restrictions are identical, so we handle them together in the code.
Try to update the comment to avoid future confusion.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624 >
2022-07-28 21:31:45 +00:00
Kenneth Graunke
5c88488a64
intel/eu: Fix XeHP register region validation for hstride == 0
...
Recently, we started using <1;1,0> register regions for consecutive
channels, rather than the <8;8,1> we've traditionally used, as the
<1;1,0> encoding can be compacted on XeHP. Since then, one of the
EU validator rules has been flagging tons of instructions as errors:
mov(16) g114<1>F g112<1,1,0>UD { align1 1H I@2 compacted };
ERROR: Register Regioning patterns where register data bit locations are changed between source and destination are not supported except for broadcast of a scalar.
Our code for this restriction checked three things:
#1 : vstride != width * hstride ||
#2 : src_stride != dst_stride ||
#3 : subreg != dst_subreg
Destination regions are always linear (no replicated values, nor
any overlapping components), as they only have hstride. Rule #1 is
requiring that the source region be linear as well. Rules #2-3 are
straightforward: the subregister must match (for the first channel to
line up), and the source/destination strides must match (for any
subsequent channels to line up).
Unfortunately, rules #1-2 weren't working when horizontal stride was 0.
In that case, regions are linear if width == 1, and the stride between
consecutive channels is given by vertical stride instead.
So we adjust our src_stride calculation from
src_stride = hstride * type_size;
to:
src_stride = (hstride ? hstride : vstride) * type_size;
and adjust rule #1 to allow hstride == 0 as long as width == 1.
While here, we also update the text of the rule to match the latest
documentation, which apparently clarifies that it's the location of
the LSB of the channel which matters.
Fixes: 3f50dde8b3 ("intel/eu: Teach EU validator about FP/DP pipeline regioning restrictions.")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624 >
2022-07-28 21:31:45 +00:00
Jason Ekstrand
0772242feb
intel/eu: Don't throw validation errors on float MOV_INDIRECT
...
Fixes: 3f50dde8b3 ("intel/eu: Teach EU validator about FP/DP pipeline regioning restrictions.")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624 >
2022-07-28 21:31:45 +00:00
Kenneth Graunke
82ee30e558
intel/eu: Handle compaction when inserting validation errors
...
When the EU validator encountered an error, it would add an annotation
to the disassembly. Unfortunately, the code to insert an error assumed
that the next instruction would start at (offset + sizeof(brw_inst)),
which is not true if the instruction with an error is compacted.
This could lead to cascading disassembly errors, where we started trying
to decode the next instruction at the wrong offset, and getting lots of
scary looking output:
ERROR: Register Regioning patterns where [...]
(-f0.1.any16h) illegal(*** invalid execution size value 6 ) { align1 $7.src atomic };
(+f0.1.any16h) illegal.sat(*** invalid execution size value 6 ) { align1 $9.src AccWrEnable };
illegal(*** invalid execution size value 6 ) { align1 $11.src };
(+f0.1) illegal.sat(*** invalid execution size value 6 ) { align1 F@2 AccWrEnable };
(+f0.1) illegal.sat(*** invalid execution size value 6 ) { align1 F@2 AccWrEnable };
(+f0.1) illegal.sat(*** invalid execution size value 6 ) { align1 $15.src AccWrEnable };
illegal(*** invalid execution size value 6 ) { align1 $15.src };
(+f0.1) illegal.sat.g.f0.1(*** invalid execution size value 6 ) { align1 $13.src AccWrEnable };
Only the first instruction was actually wrong - the rest are just a
result of starting the disassembler at the wrong offset. Trash ensues!
To fix this, just pass the instruction size in a few layers so we can
record the next offset properly.
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17624 >
2022-07-28 21:31:45 +00:00
Gert Wollny
ce42fc4fa1
virgL: lower fneg and fabs
...
The host doesn't currently handle source mods on immediate values
correctly, so lower the ops that would create these source mods.
v2: update trace checksum
Fixes: c5cc9ed29b
virgl: Switch to nir-to-tgsi by default.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6929
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Italo Nicola <italonicola@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17765 >
2022-07-28 21:20:20 +00:00
Dave Airlie
9ba62ea8fb
util/reallocarray: add errno.h include.
...
Might fix OSX
Fixes: 419b52f1de ("util: add reallocarray wrapper for win32")
Tested-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17779 >
2022-07-29 06:47:28 +10:00
Eric Engestrom
d5dec00e94
docs/ci: fix Emma's name
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17795 >
2022-07-28 17:12:37 +00:00
TSnake41
a02c026eb7
zink: print result code string on vulkan failure
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17726 >
2022-07-28 16:06:50 +00:00
Gert Wollny
91c0d46afd
r600: Don't set TES_EVAL UCP dirty when it is not supported
...
Fixes: 3340c7ce35
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17793 >
2022-07-28 17:32:27 +02:00
Iago Toral Quiroga
97708505d7
v3dv: expose Vulkan 1.2
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Iago Toral Quiroga
46d43b1ca1
broadcom/ci: update list of slow tests
...
These showed up in some runs for me.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Iago Toral Quiroga
15bf6d08c5
v3dv: enable missing mandatory Vulkan 1.2 features
...
For some reason the Vulkan spec required that these features must be
supported even though they only affect features that are optional
in Vulkan 1.2 and that we don't support, so enabling them doesn't
have any practical implications for us.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Iago Toral Quiroga
6a48d38196
v3dv: enable missing Vulkan 1.2 features for supported extensions
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Iago Toral Quiroga
366534768a
v3dv: fill in Vulkan 1.2 missing device properties
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Iago Toral Quiroga
efb17fc4f1
v3dv: explicitly set sampler min/max filter properties to false
...
Our hardware doesn't support min/max filtering.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17786 >
2022-07-28 11:18:57 +00:00
Eric Engestrom
d6986e95d7
docs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv
...
Fixes: 2686c5419d ("v3dv: add Android support")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17767 >
2022-07-28 10:46:25 +00:00
Eric Engestrom
bb75e353e6
docs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip
...
Fixes: 5789505ab3 ("turnip: Make Android platform build")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17767 >
2022-07-28 10:46:25 +00:00
Eric Engestrom
065691e299
nouveau: use existing list_first_entry() macro instead of re-writing it
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17772 >
2022-07-28 10:10:44 +00:00
Eric Engestrom
2c67457e5e
util/list: rename LIST_ENTRY() to list_entry()
...
This follows the Linux kernel convention, and avoids collision with
macOS header macro.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6751
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6840
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17772 >
2022-07-28 10:10:44 +00:00
Danylo Piliaiev
a9ebf55d02
turnip: Simple breadcrumbs implementation to debug hangs
...
A simple implementations of breadcrumbs tracking of GPU progress
intended to be the last resort when debugging unrecoverable hangs.
For best results use Vulkan traces to have a predictable place of hang.
Requires compilation with TU_BREADCRUMBS_ENABLED=1. See tu_cs_breadcrumbs.c
for details on how to use this feature.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15452 >
2022-07-28 08:48:39 +00:00
Marek Olšák
83d820973c
util/u_threaded: fix a CPU storage crash due to an invalid codepath taken
...
Fixes: 3df9d8ed80 - gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6837
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6594
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6613
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17556 >
2022-07-28 01:11:01 +00:00
Dave Airlie
62207cf885
lavapipe: enable VK_EXT_depth_range_unrestricted.
...
This passes all the VK CTS tests.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612 >
2022-07-28 10:36:01 +10:00
Dave Airlie
876db77bae
llvmpipe/fs: handle unrestricted depth values.
...
It moves the explicit clamping of incoming Z from vertex stages
after interp, to the depth clamp function.
It adds support to the depth clamp function to restrict incoming
Z values to 0..1 range.
It fixes the depth test conversions to allow unrestricted depth
values.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612 >
2022-07-28 10:36:00 +10:00
Dave Airlie
189755a9ac
util/pack_color: clamp depth values outside range for unorm formats.
...
For unrestricted depth ranges, depth clear values for unorm buffers
need to be explicitly clamped. However this has to happen in the
driver when we know the depth buffer format, not at the API level.
Just add clamps to the non-f32 cases and separate it out.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612 >
2022-07-28 10:35:04 +10:00
Dave Airlie
171e35de91
mesa/st: disable unrestricted fragment depth values for GL/GLES
...
GLES always clamps for 32-bit float buffers, GL doesn't require
it but setting this per API causes virgl to fail some tests.
To fix is properly we'd need to introduce a CAP to expose
this between host/guest.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612 >
2022-07-28 10:35:04 +10:00
Dave Airlie
0e38db0146
gallium: add a rasterizer state bit for unrestricted depth values.
...
This tells the drivers to expect depth values outside the 0..1 range.
This is used for support VK_EXT_depth_range_unrestricted, but could
also be used for GL_NV_depth_buffer_float in GL.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17612 >
2022-07-28 10:35:04 +10:00
Dave Airlie
7d8942846d
llvmpipe: Allocate scene tiles dynamically
...
If you allocate this statically it's 1.5MB because the framebuffer might
be 16k x 16k, that's excessive.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17746 >
2022-07-27 23:00:28 +00:00
Adam Jackson
b611195490
llvmpipe: Indentation fix
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17746 >
2022-07-27 23:00:28 +00:00
Dave Airlie
419b52f1de
util: add reallocarray wrapper for win32
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17746 >
2022-07-27 23:00:28 +00:00
Brian Paul
c83bbbd860
llvmpipe: add some const qualifiers in lp_rast_linear_fallback.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
80f6a31ff3
llvmpipe: tighten up some code in lp_rast_linear_fallback.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
c7239dfe5d
llvmpipe: consolidate code in lp_rast_linear_fallback.c
...
Combine shade_quads_all() and shade_quads_mask() into new
shade_quads() function which takes a mask parameter. It calls either
jit_function[RAST_WHOLE] or jit_function[RAST_EDGE_TEST] depending on
the mask argument.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
593282a9cd
llvmpipe: remove unneeded casts in lp_rast_linear_fallback.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
4f26e00795
llvmpipe: asst. clean-up in lp_rast_linear_fallback.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
abea663317
llvmpipe: pass frontfacing param to jit_function() call
...
Instead of 1, in shade_quads_all() and shade_quads_mask(). This fixes
a VMware test (dx10-is-front-face)
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
b66e567762
llvmpipe: minor whitespace clean-up in lp_state_fs.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
fb6aaaf2c3
llvmpipe: make opaque field a 1-bit field
...
Reduces sizeof(lp_fragment_shader_variant) from 296 to 288 bytes.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
c9c5fc1e9a
gallivm: rename 'var' param in emit_store_reg(), emit_store_var().
...
Rename 'dst' param' to 'vals'. This parameter contains the values
which we're storing.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
68616b1629
gallivm: fix incorrect memset() in SOA emit_load_const()
...
The memset() call to zero-out the unused elements of outval[] used
the wrong bytecount. Just replace it with a simpler for loop.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
9984ec67f2
gallivm: simplify shuffling in emit_store_reg()
...
The writemask can be implemented with just one llvm vector shuffle.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
ef7da4b292
gallivm: asst. clean-ups in lp_bld_swizzle.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
4a30155c72
llvmpipe: replace 'unsigned' with enum types
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
9bb062bade
llvmpipe: remove unneeded casts
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
1f96c24465
llvmpipe: asst. clean-ups in lp_state_setup.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:56 +00:00
Brian Paul
fc2f57ed76
llvmpipe: minor optimization in lp_linear_init_interp()
...
Skip multiplying by 1/w when it's 1.0.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
Brian Paul
ae9ec54f68
llvmpipe: asst. clean-ups in lp_linear_interp.c
...
Comments, move var decls, fix code formatting.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
Brian Paul
49966374c8
gallivm: asst. clean-ups in lp_bld_const.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
Brian Paul
0e9cf32059
llvmpipe: asst. clean-ups in lp_setup_rect.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
Brian Paul
55ca12fdd0
llvmpipe: minor white-space clean-up in lp_setup.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
Brian Paul
aba7554f39
llvmpipe: asst. clean-up in lp_bld_depth.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17561 >
2022-07-27 22:24:55 +00:00
David Heidelberg
3b595bf50f
mailmap: fix order of emails for Axel Davy
...
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698 >
2022-07-27 21:36:23 +00:00
David Heidelberg
57841823a1
nine: char can be unsigned on non-x86 platforms
...
Keep sign by using int8_t to get the same result on non-x86 machines.
Reviewed-by: Axel Davy <davyaxel0@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698 >
2022-07-27 21:36:23 +00:00
Icecream95
e041a0d1e6
nine: Only enable thread_submit by default on x86
...
Possibly the bug breaking this is in box86, but given that there
aren't a whole lot of other reasons to be using Nine with a non-x86
Mesa, disable the feature unless we are running on x86.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698 >
2022-07-27 21:36:23 +00:00
Icecream95
57dea11e7c
nine: Make vdecl_index_map always signed
...
vdecl_index_map needs to be able to store negative values, but char is
not signed on all platforms, so change it to int8_t.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17698 >
2022-07-27 21:36:23 +00:00
Dave Airlie
5aafe29aee
zink/llvmpipe/ci: skip broken CTS ballot test.
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:56 +00:00
Dave Airlie
9bbc3c4e85
zink: fixup subgroup vote/ballot enables.
...
These are part of vulkan 1.1, but the ext are if you don't have 1.1.
This will enable some tests that break in CI
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:56 +00:00
Dave Airlie
8be15cc382
lavapipe: expose some subgroup extensions
...
These are part of vulkan 1.2, but expose them to be nice.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:56 +00:00
Dave Airlie
41e87c5c9a
llvmpipe: export ARB_shader_ballot
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:56 +00:00
Dave Airlie
a2cd47acdb
gallivm: fix casting around read invocation.
...
Fixes zink KHR-GL46.shader_ballot_tests.ShaderBallotAvailability
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:55 +00:00
Dave Airlie
ce65e0428a
gallivm: use progress from subgroup lowering.
...
This makes sure the pack lowering gets called again.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588 >
2022-07-27 20:58:55 +00:00
Connor Abbott
9b844d7c42
tu: Add debug option to use emulated renderpass support
...
This should be useful for stress-testing dynamic rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
b90d628a7d
tu: Use common vk_image_view base struct
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
89263fde20
tu: Use common vk_image struct
...
This eliminates some boilerplate, and will be necessary to use the
common render pass implementation for debugging purposes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
cb0f414b2a
tu: Add support for suspending and resuming renderpasses
...
This is unfortunately very complicated because we have to stitch
together the state of the suspended passes after the fact, with primary
command buffers at submit time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
0a4c86fc44
util/trace: Fix u_trace_*_iterator with no tracepoints
...
If u_trace is empty then there are no chunks, and we didn't account for
that case.
This fixes tracing some dynamic rendering tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
3aa20a4409
tu: Split out some state into a separate struct
...
These bits of state will have to be treated specially when
suspending/resuming a render pass, because they will need to be tracked
across command buffers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
9689433eee
tu: Update more state with secondaries
...
Some of these are actually bugfixes, some like the drawcall information
are just for autotune so they are just performance fixes. However this
came from an audit into what state is used in CmdEndRenderPass().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
79c7c6e492
tu: Remove has_subpass_predication
...
The workaround this was used for was removed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
ed125e6cca
tu: Initial support for dynamic rendering
...
Support for suspend/resume will be added later. This just sets up
the internal render pass, and adds support to pipeline creation and
secondary inheritance.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
22be08a21e
tu: Remove usage of RenderPassBeginInfo
...
More preparation for using this with dynamic rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
cf391db4c6
tu: Move tu_render_pass definition up
...
So that we can embed one in tu_cmd_buffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
2b8b5259c7
tu: Disable GMEM for multiview inside tu_render_pass_gmem_config
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
c42e7aa46c
tu: Move TU_DONT_CARE_AS_LOAD into attachment_set_ops()
...
So that we can share it with dynamic rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
907b892bb2
tu: Rewrite tess factor emission
...
Emit it at EndRenderPass time, if the renderpass has tessellation. This
avoids all the special handling for secondaries, will work with
suspended/resumed render passes, and will handle secondaries that
contain render passes which will be allowed with dynamic rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
c5be444500
tu: Treat CP_WAIT_FOR_ME as a cache invalidate
...
The workaround for draws that need a CP_WAIT_FOR_ME didn't work if the
barrier before the draw is in a separate command buffer from the draw.
The barrier would add a pending CP_WAIT_FOR_ME, but it would get dropped
on the floor at the end of the command buffer and the draw wouldn't have
a pending CP_WAIT_FOR_ME so it wouldn't emit one. We don't know in the
barrier if the destination is a draw with the workaround, so we have two
options:
- Emit any pending CP_WAIT_FOR_ME at the end of the command buffer (and
before secondaries) in case there is a workaround draw later. This
will emit an extra CP_WAIT_FOR_ME at the end of the command buffer in
case there is an indirect command barrier.
- Always assume at the beginning of the command buffer that there is a
pending CP_WAIT_FOR_ME. This will emit an extra CP_WAIT_FOR_ME before
the first workaround-requiring draw in the command buffer, in case
there was a barrier earlier.
The only draws requiring a workaround are currently
vkCmdDraw*IndirectCount(), which we assume are rarer than indirect
command barriers, so we implement the second option. This entails
treating it as a cache invalidate.
This fixes some upcoming dynamic rendering CTS tests that do
vkCmdDrawIndirectCount() in a secondary but put the barrier for it in
the primary.
Fixes: 37939e9c54 ("turnip: Fix the lack of WFM before indirect draws")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Connor Abbott
d2ad4c739c
tu/lrz: Do not use framebuffer when inheriting LRZ
...
The only thing it's used for is to get the image view, and we can't rely
on it existing anyway. With dynamic rendering, we only have the format
of the attachments and sample count, so moving forward we can't rely on
anything other than that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17378 >
2022-07-27 19:40:44 +00:00
Georg Lehmann
df4b5914cd
nir/fold_16bit_tex_image: Default to only_fold_all.
...
No driver doesn't use this option.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17757 >
2022-07-27 18:57:12 +00:00
Georg Lehmann
dd3e9be413
radeonsi: Stop using nir_legalize_16bit_sampler_srcs.
...
This pass is problematic because it truncates sources when there are type
mismatches. With the right nir_fold_16bit_tex_image options we can ensure
that there is never a mismatch.
Other changes: bias is affected by A16 https://reviews.llvm.org/D111754
And enable G16 as we recently confirmed that it's fully independent from A16.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17757 >
2022-07-27 18:57:12 +00:00
Danylo Piliaiev
365466a10c
zink/turnip: Add comments to already triaged failures for tu baseline
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17762 >
2022-07-27 17:58:38 +00:00
Chia-I Wu
8001c78d49
ir3: set UL flag before ir3_lower_subgroups
...
ir3_legalize_relative, extracted from ir3_legalize, assumes a0 is loaded
first in each block if there is any user in the block.
ir3_lower_subgroups breaks the assumption. We need to do
ir3_legalize_relative first.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6902
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17720 >
2022-07-27 17:08:03 +00:00
Brian Paul
7023cab093
llvmpipe: fix texcoord analysis regression
...
The texcoord component can be specifed by the src registers swizzle
or the variable's location_frac field.
Signed-off-by: Brian Paul <brianp@vmware.com >
Fixes: 90d011de8e ("llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6889
Reviewed-by: Emma Anholt <emma@anholt.net >
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17743 >
2022-07-27 15:51:27 +00:00
Georg Lehmann
22d860fe4a
aco/ir: Add swapped opcode for v_cmp_u/v_cmp_o.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Georg Lehmann
8f7ceff774
aco/ir: Add v_cmp_class to get_cmp_info.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Georg Lehmann
578d0a1934
aco/ir: Add vcmpx opcode to get_cmp_info.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Georg Lehmann
369b8c031a
aco/ir: Fix swapped nle.
...
Cc: mesa-stable
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Georg Lehmann
9c727b958e
aco/ir: Add integer get_cmp_info.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Georg Lehmann
590b93ae65
aco/ir: Generalize (un)ordered_swapped.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17763 >
2022-07-27 14:52:29 +00:00
Sarah Walker
f286cab27b
pvr: Move BRN 44079, 48492 and 66011 code into pvrsrvkm specific directory
...
The new kernel mode driver will provide the relevant information directly to
userspace, so this code is only required for pvrsrvkm.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17595 >
2022-07-27 10:13:19 +00:00
Jordan Justen
fa79020ba9
anv: Fix PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES with large BAR
...
Reported-by: Dave Airlie <airlied@redhat.com >
Fixes: fae88d8791 ("anv: make use of the new smallbar uAPI")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6937
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17761 >
2022-07-27 09:44:38 +00:00
Timur Kristóf
11e51f7211
radv: Use NIR-based NGG lowering with LLVM.
...
Also cleanup some unused code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792 >
2022-07-27 09:06:24 +00:00
Timur Kristóf
45ed22c87e
radv: Properly set LDS size for LLVM NGG shaders.
...
Update the esgs_ring_size after ac_nir_lower_ngg.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792 >
2022-07-27 09:06:24 +00:00
Timur Kristóf
d3dcd294c0
radv/llvm: Remove incorrect hardcoded workgroup size from NGG GS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792 >
2022-07-27 09:06:24 +00:00
Timur Kristóf
7e7d6d8c73
ac/llvm: Implement GDS atomic add NIR intrinsic.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12792 >
2022-07-27 09:06:24 +00:00
Manuel Stoeckl
19f62b4303
dri: add [ax]bgr16161616 to format lookup tables
...
Note: The format __DRI_IMAGE_FORMAT_ABGR16161616 was already
in the dri2_format_table, but had been hidden from outside view,
for lack of an official DRM fourcc. Since its fourcc has now been
assigned, it is safe to reveal the format.
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580 >
2022-07-27 07:27:10 +00:00
Manuel Stoeckl
7e554e11a1
dri: fix incorrect fourcc for R16G16B16A16_UNORM format
...
The DRM fourcc for this format is DRM_FORMAT_ABGR16161616 = 'AB48', not
__DRI_IMAGE_FOURCC_RGBA16161616 = 'RA48'. This should have no outward
effect for clients, since the format does not get revealed by
dri2_query_dma_buf_formats, and is otherwise only used within the
library.
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580 >
2022-07-27 07:27:10 +00:00
Manuel Stoeckl
d8eff20b9b
gbm: add GBM_FORMAT_[AX]BGR16161616
...
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580 >
2022-07-27 07:27:10 +00:00
Manuel Stoeckl
a5f1ebb9bb
dri_interface: add XBGR16161616 format
...
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14580 >
2022-07-27 07:27:10 +00:00
Marek Olšák
bc85e79bba
ac/gpu_info: require amdgpu DRM 3.15.0 (kernel 4.12) from July 2017
...
to match the radeon requirement
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
9f6a64b1c3
gallium/radeon: require radeon DRM 2.50.0 (kernel 4.12) from July 2017
...
This is the latest radeon DRM version.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
8426cf9132
ac/gpu_info: remove unused has_unaligned_shader_loads
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
f3f00f77ad
ac/gpu_info: remove amdgpu_gpu_info parameter from ac_query_gpu_info
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
41888505fc
ac/gpu_info: use drm_amdgpu_device_info instead of amdgpu_gpu_info
...
These fields are identical but the latter is from libdrm.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
abd188ec1c
radeonsi: remove workarounds for radeon DRM < 2.45.0
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
b2455e1ccb
gallium/radeon: require radeon DRM 2.45.0 from April 2016
...
This removes most non-radeonsi workarounds.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
3657cdafd6
amd: require amdgpu DRM 3.2.0 from April 2016
...
This removes an early bug workaround.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
ff19666a0d
ac/gpu_info: remove redundant vcn_encode
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
89113c0338
ac/gpu_info: remove redundant vce_encode
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
9cbbdc6583
ac/gpu_info: remove redundant uvd_encode
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
2972ceccfd
ac/gpu_info: remove redundant jpeg_decode
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
a0d2e16c91
ac/gpu_info: remove redundant uvd_decode
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
12c5d64fae
ac/gpu_info: remove vram_size and gtt_size in favor of *_kb variants
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
983223de5d
ac/gpu_info: use the kernel-reported GFX IP version to set gfx_level
...
hopefully this won't break the world.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
6504d7172c
ac/gpu_info: use hw_ip::ip_discovery_version to set IP versions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
9552da66cc
ac/gpu_info: rework and extend device info to be more informative
...
This is the result with AMD_DEBUG=info:
Device info:
name = NAVI23
marketing_name = AMD Radeon RX 6600
num_se = 2
num_rb = 8
num_cu = 28
max_gpu_freq = 2750 MHz
max_gflops = 9856 GFLOPS
l0_cache_size = 16 KB
l1_cache_size = 128 KB
l2_cache_size = 2048 KB
l3_cache_size = 32 MB
memory_channels = 8 (TCC blocks)
memory_size = 8 GB (8192 MB)
memory_freq = 14 GHz
memory_bus_width = 128 bits
memory_bandwidth = 224 GB/s
clock_crystal_freq = 100000 KHz
IP GFX 10.3 queues:1
IP COMP 10.3 queues:4
IP SDMA 5.2 queues:2
IP VCN_DEC 3.0 queues:1
IP VCN_ENC 3.0 queues:1
IP VCN_JPG 3.0 queues:1
It might not be 100% correct with other chips.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
dd6b001775
ac/gpu_info: remove tabs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Marek Olšák
f218c3d795
ac/gpu_info: rename info fields to num_cu, memory_bus_width, memory_freq_mhz
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411 >
2022-07-27 05:01:38 +00:00
Dave Airlie
38a2a2da3e
llvmpipe: keep context list and use to track resource usage.
...
Just check across all contexts if a resource is referenced.
Fixes: 6bbbe15a78 ("Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17702 >
2022-07-27 01:09:34 +00:00
Dave Airlie
a680fd078c
llvmpipe: make last_fence a screen/rast object not a context one.
...
When a flush happens the per-context setup is used to hold the fence
for the last scene sent to the rasterizer. However when multiple
contexts are in use, this fence won't get returned to be blocked on.
Instead move the last fence to the rasterizer object, and return
that instead as it should be valid across contexts.
Fixes gtk4 bugs on llvmpipe since overlapping vertex/fragment.
Fixes: 6bbbe15a78 ("Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17702 >
2022-07-27 01:09:34 +00:00
Jordan Justen
398a9be94b
intel/dev: Enable remaining DG2 and ATS-M device IDs
...
Mostly Matt Roper's kernel patch commit message:
The device IDs here are associated with DG2 add-in cards. We need to
wait for some additional functionality (e.g., small BAR recovery) to
land before we're ready to upstream these.
Ref: https://patchwork.freedesktop.org/patch/483381/?series=103098&rev=1
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12706 >
2022-07-27 00:29:18 +00:00
Iago Toral Quiroga
903a75245b
v3dv: only check binning sync for semaphores for the first CL job
...
Semaphore waits in a command buffer only affect the first jobs we execute
in each hardware queue since jobs in the same queue are serialized against
each other. Binning syncs in particular, only affect CL jobs.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594 >
2022-07-27 00:00:54 +00:00
Iago Toral Quiroga
2ca4a51679
v3d,v3dv: add a common v3d_hw_prim_type helper
...
We had this replicated in both drivers.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594 >
2022-07-27 00:00:54 +00:00
Iago Toral Quiroga
e812cbe847
v3dv: remove unnecesary FIXME comment
...
We only want to cleant BCL barrier flags if we consume a BCL barrier.
For example, if the client records a barrier for an index buffer
it should apply to the next draw call that uses an index buffer
which may not be the current draw call but one coming after it.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594 >
2022-07-27 00:00:54 +00:00
Mike Blumenkrantz
4cfa777e39
zink: enable unordered blit/resolve ops
...
can't do swapchain or u_blitter ops, but these should be fine
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
731d7be375
zink: make get_cmdbuf() public
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
ca03e35821
zink: expand unordered_exec
...
track read+write
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
b1781ec9ab
zink: move buffer/image functions down in file
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
84b8242262
zink: promote image/buffer copy operations to unordered
...
if the src and dst for these operations can both be promoted, then the
entire operation can be promoted to potentially avoid splitting renderpasses
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
a8c368b0dc
zink: add a second resource param to get_cmdbuf() for unordered promotion
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
d9276ca6d0
zink: rework unordered_exec handling
...
previously this would opportunistically promote barriers to the unordered
cmdbuf only if a renderpass was active or there was no access, which
was the wrong approach
instead, opportunistically promote barriers to the unordered cmdbuf
any time it's possible to do so, which is when one of these conditions is true:
* when there is no access to the resource on the current cmdbuf
* when the only access to the resource is in the unordered cmdbuf
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
f0f0611f40
zink: explicitly unset unordered_exec when resource can't be unordered
...
ensure that subsequent commands can't be promoted
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
e5c4c33fa6
zink: zink_resource::unordered_barrier -> unordered_exec
...
this is a bit more clear
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
a41ea582c4
zink: add ZINK_DEBUG=noreorder
...
this will be useful for debugging
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
49688e6b8c
zink: add doc for ZINK_DEBUG=compact
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
f42212983c
zink: convert ZINK_DEBUG to enum
...
more readable/debuggable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Mike Blumenkrantz
4a3cea6730
zink: stop ORing unordered barrier access
...
this doesn't make any sense and is confusing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667 >
2022-07-26 21:34:59 +00:00
Jordan Justen
2863e720f0
intel/dev: Determine the amount of free vram using small BAR uapi
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739 >
2022-07-26 20:34:02 +00:00
Jordan Justen
acc6457ff4
intel/dev: Use i915 region probed_cpu_visible_size when non-zero
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739 >
2022-07-26 20:34:02 +00:00
Jordan Justen
ab4939dfff
iris/bufmgr: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS for vram mappable buffers
...
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/16739 >
2022-07-26 20:34:02 +00:00
Lionel Landwerlin
fae88d8791
anv: make use of the new smallbar uAPI
...
Instead of having 2 VkMemoryType pointing to the same VkMemoryHeap, we
have each VkMemoryType with VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT (one
host visible, the other not) point to its own VkMemoryHeap. For the
local heap that is host visible, we'll use the
I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS flag at GEM BO creation.
When the smallbar uAPI is not available we fallback to a single heap
and do not use I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS.
v2: Handle probed_cpu_visible_size == probed_size (Matthew)
v3:
* Jordan: Use region info from devinfo
v4: Also make the vram host visible heap as local (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
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/16739 >
2022-07-26 20:34:02 +00:00
Jordan Justen
33bf0d7437
drm-uapi/i915_drm.h: Update from drm-next (2022-07-22)
...
git://anongit.freedesktop.org/drm/drm 417c1c1963549e9a48b83ada59d90258e38c6594
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739 >
2022-07-26 20:34:02 +00:00
Mike Blumenkrantz
fc1eec0a27
lavapipe: fix shader access stage conversion from mesa -> pipe
...
ok ok but this time it's fixed and works I promise
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17758 >
2022-07-26 20:21:50 +00:00
Gert Wollny
bbe8400949
r600/sb: fall back to unoptimized shader if RA fails
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17755 >
2022-07-26 20:14:14 +00:00
Benjamin Cheng
1c06565026
radv: expose disjoint image support
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510 >
2022-07-26 19:50:58 +00:00
Benjamin Cheng
27a24cb382
radv: implement disjoint memory for multiplane images
...
For descriptor binding, we need to allow up to three buffers to be
referenced by any image.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510 >
2022-07-26 19:50:58 +00:00
Benjamin Cheng
6a77ecbe6f
radv: consolidate descriptor set buffer counts
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510 >
2022-07-26 19:50:57 +00:00
Benjamin Cheng
72625bea5f
radv: refactor image binding into struct
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510 >
2022-07-26 19:50:57 +00:00
Mike Blumenkrantz
62044403a9
util/blitter: respect PIPE_TEXTURE_RECT
...
if this isn't supported, don't use rect-related sampling
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17714 >
2022-07-26 19:30:44 +00:00
Emma Anholt
00efd4cc38
ci/virgl: Make the VM-based virgl tests report to #virgl-ci, too.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730 >
2022-07-26 18:59:45 +00:00
Emma Anholt
bd8740da77
gallivm: Optimize single-invocation SSBO stores.
...
The CTS does a lot of 1x1x1 compute shaders (all that stuff like
dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute.scalar)
which finish with store_ssbos. Instead of doing the invocation loop in
that case (which LLVM has to later unroll), just emit the single
invocation's store.
Fixes timeouts running
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36, which does
a spectacular number of SSBO stores in a long 1x1x1 compute shader.
Reduces runtime of on llvmpipe from 66s to 29s locally, and virgl from
1:38 to 43s. virgl
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.22
goes down to 7 seconds.
Fixes : #6797
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730 >
2022-07-26 18:59:45 +00:00
Emma Anholt
8d41f8f384
gallivm: Refactor a bit of UBO/SSBO range checking.
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730 >
2022-07-26 18:59:45 +00:00
Kenneth Graunke
03df494ea4
mesa: Mark render-to-texture as unsafe if there's no pipe_resource
...
Let's be slightly more defensive here. If a texture image doesn't have
an associated pipe_resource allocated, then render_texture() will pass
that along to _mesa_update_renderbuffer_surface(), which will crash on a
NULL pointer dereference. So, if there isn't a pipe_resource, then we
should just skip this altogteher.
Today, this isn't an issue, because each gl_texture_image always
allocates a pipe_resource up front. On a branch of mine, I prototyped
some improvements to the compressed texture fallback handling, where it
would defer resource allocation, examine the source image's block data,
and dynamically select a format based on that, then allocate it later.
With that prototype in place, we saw crashes the Android "My Talking
Tom" series of games, which appear to be attaching ASTC textures to a
framebuffer color attachment. That FBO would be incomplete anyway, as
ASTC textures aren't renderable, but we got into a situation where the
render-to-texture code was crashing due to the lack of pt before it
could properly signal that it was incomplete and bailing.
Technically, we don't need this now, but I figure that being defensive
won't hurt and this would probably save whoever encounters such an issue
in the future a bunch of frustrating debugging.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17508 >
2022-07-26 18:38:43 +00:00
Danylo Piliaiev
4ba129cd86
tu: Do not dereference descriptorSetLayout in push descriptors tmpl
...
Fixes crash when capturing with RenderDoc.
From VK spec:
descriptorSetLayout [...] This parameter is ignored if templateType
is not VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17751 >
2022-07-26 18:18:48 +00:00
Jason Ekstrand
2f00a04f3b
vulkan: Include self-dep info in rendering continues
...
Fixes: 3a204d5cf3 ("vulkan/render_pass: Add a better helper for render pass inheritance")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17748 >
2022-07-26 17:47:20 +00:00
Jason Ekstrand
d2bd089b78
vulkan: Append subpass structures to VkRenderingInfo last
...
If we don't append subpass->self_dep_info last, other __vk_append_struct()
calls will update its pNext chain which lives in the subpass which
should be treated as immutable. This is easily fixable by just making
it the last thing we append to the chain.
Fixes: 7e11cdc77a ("vulkan/render_pass: Pass sample locations to barriers")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17748 >
2022-07-26 17:47:20 +00:00
Ian Romanick
f7f232385f
intel/fs: Use canonical form for "work around" tags
...
Trivial. Also clean up some weird whitespace.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605 >
2022-07-26 17:25:19 +00:00
Ian Romanick
377246318a
intel/fs: Eliminate "masked" and "per slot offset" URB messages
...
All of this information can be inferred from the sources.
v2: Fix "error: unused variable 'opcode'" detected by marge-bot.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605 >
2022-07-26 17:25:19 +00:00
Ian Romanick
b21b901b46
intel/fs: Don't pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send
...
...because the flags can be inferred from the sources.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605 >
2022-07-26 17:25:19 +00:00
Ian Romanick
1b17f8fc5a
intel/fs: Make logical URB read instructions more like other logical instructions
...
No shader-db changes on any Intel platform
Fossil-db results:
Tiger Lake
Instructions in all programs: 156926440 -> 156926470 (+0.0%)
Instructions hurt: 15
Cycles in all programs: 7513099349 -> 7513099402 (+0.0%)
Cycles hurt: 15
Ice Lake and Skylake had similar results. (Ice Lake shown)
Cycles in all programs: 9099036492 -> 9099036489 (-0.0%)
Cycles helped: 1
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605 >
2022-07-26 17:25:19 +00:00
Ian Romanick
349a040f68
intel/fs: Make logical URB write instructions more like other logical instructions
...
The changes to fs_visitor::validate() helped track down a place where I
initially forgot to convert a message to the new sources layout. This
had caused a different validation failure in
dEQP-GLES31.functional.tessellation.tesscoord.triangles_equal_spacing,
but this were not detected until after SENDs were lowered.
Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 19951145 -> 19951133 (<.01%)
instructions in affected programs: 2429 -> 2417 (-0.49%)
helped: 8 / HURT: 0
total cycles in shared programs: 858904152 -> 858862331 (<.01%)
cycles in affected programs: 5702652 -> 5660831 (-0.73%)
helped: 2138 / HURT: 1255
Broadwell
total cycles in shared programs: 904869459 -> 904835501 (<.01%)
cycles in affected programs: 7686744 -> 7652786 (-0.44%)
helped: 2861 / HURT: 2050
Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
Instructions in all programs: 141442369 -> 141442032 (-0.0%)
Instructions helped: 337
Cycles in all programs: 9099270231 -> 9099036492 (-0.0%)
Cycles helped: 40661
Cycles hurt: 28606
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605 >
2022-07-26 17:25:18 +00:00
Georg Lehmann
5dab077824
aco: Add a note about G16 without A16 to README-ISA.md.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Georg Lehmann
7fa9b25c2f
radv: Fold 16bit tex sources.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Georg Lehmann
f5f73db846
aco: Support 16bit sources for texture ops.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Georg Lehmann
c1cf0688c9
aco: Add G16 opcodes.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979 >
2022-07-26 16:54:08 +00:00
Connor Abbott
19a2353446
tu: Fix resolving d32s8 into s8 on fast path
...
The code assumed that if the source was d32s8 then the destination would
also be d32s8, in particular that depth_base_addr/stencil_base_addr
would also be filled out. Move the destination and source handling into
two different ifs with different conditions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684 >
2022-07-26 15:00:01 +00:00
Connor Abbott
d426ee6a99
tu: Support resolving D24S8 -> S8
...
This was missed when we added support for VK_KHR_depth_stencil_resolve.
There is a similar feature where the stencil aspect of a D24S8 can be
copied "tightly" in CopyImageToBuffer, but it used the texture swizzle
and so required the 3d path. To get it to work with the 2D path, which
is required for resolves, we have to instead use the A8_UNORM format,
which works for texture sampling even for tiled images. We also have to
reuse the pre-existing image views because subpass resolves work on
image views rather than images, whereas before the fixup was applied
while creating the image view. This means threading through the
corresponding "opposite" format through setup, src, and dst functions,
doing the fixup there (through some shared helpers), and then getting
every user to specify the right format. As a bonus, we no longer need to
force the 3d path for the CopyImageToBuffer and CopyBufferToImage
special cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684 >
2022-07-26 15:00:01 +00:00
Erik Faye-Lund
e8b22afae9
llvmpipe: remove unused function
...
Fixes: a1846e3926 ("llvmpipe: merge all rasterizer-bind functions")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17735 >
2022-07-26 08:12:17 +00:00
Chia-I Wu
ba461f897b
ir3: fix tess param allocation
...
primitive_param takes up 2 vec4's. Remove an align that I don't
understand.
The align upset
Test case 'dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_vec4'..
deqp-vk: ../src/freedreno/ir3/ir3_nir.c:1039:
void ir3_setup_const_state(nir_shader *, struct ir3_shader_variant *, struct ir3_const_state *):
Assertion `constoff <= ir3_max_const(v)' failed.
with an older version (android11-tests-dev branch) of deqp-vk. This is
because ir3_nir_opt_preamble uses the function for the worst case but
the function fails to replace the align by the worst case.
No regression with dEQP-VK.*tess*.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
e3ba8a2f07
ir3: increment constoff right after it is assigned
...
Minor improvement to readability. No real change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
4ae2966616
ir3: remove unused patch_vertices_in
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
74c96af71d
ir3: fix output_loc size
...
It was off-by-one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
9c106f3ee7
ir3: copy req_local_mem for MESA_SHADER_KERNEL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Chia-I Wu
76ea28b9d0
ir3: update ir3_const_state comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570 >
2022-07-26 01:04:56 +00:00
Jason Ekstrand
23220c86d9
lavapipe: Use the vk_graphics_pipeline_state
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669 >
2022-07-26 00:45:26 +00:00
Jason Ekstrand
33092faef1
lavapipe: Use shader_info::uses_sample_shading
...
This is more accurate because it's computed directly in spirv_to_nir and
takes even unused SampleID and SamplePos builtings into account.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669 >
2022-07-26 00:45:26 +00:00
Mike Blumenkrantz
27c97dc0d1
lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f2d5ff1c3a
lavapipe: VK_EXT_multisampled_render_to_single_sampled
...
this works by doing a replicate at renderpass start and an in-place
resolve on renderpass end
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
d2990b6599
vulkan: hook up VK_EXT_multisampled_render_to_single_sampled
...
this adds support for the extension to common renderpass
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f1ae6523b1
llvmpipe: add a shortcut for blitter resolves
...
if this is only going to do a sample0 resolve, the functionality is
equivalent to just copying the first sample, and in llvmpipe terms,
this just means doing a direct copy at offset=0
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
6064d838e7
lavapipe: fix stencil clears
...
this uses the value from the stencil attachment
Fixes: 8068c68b1f ("lavapipe: Delete render passes")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
f2f517b315
llvmpipe: allow resource_copy_region to perform replicate operations
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
8563a95bd7
llvmpipe: remove weird clamping for format support with sample counts
...
this breaks u_blitter
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705 >
2022-07-26 00:02:26 +00:00
Mike Blumenkrantz
725cdfb0ad
lavapipe: set image access on pipeline bind, not descriptor bind
...
this is where the access originates, so set it here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
a18708e5ce
lavapipe: use 64bit masks for shader access
...
ensure that all descriptors are tracked for this
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
2fd930f95b
lavapipe: use correct offset calculation for flagging ssbo/image write access
...
var->data.binding has no relation to the actual index of the resource,
which must be separately calculated based on the layout
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Mike Blumenkrantz
825e5f6482
lavapipe: make binding/layout helper functions static inline
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739 >
2022-07-25 22:08:53 +00:00
Adam Jackson
295a8b4464
mesa: Remove Purgeable fields from texture/buffer/renderbuffer objects
...
These are unused since !17425 .
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17745 >
2022-07-25 16:28:40 -04:00
Erik Faye-Lund
ba2146f93f
gallium/hud: do not use texture-rect for font
...
RECT textures used to be required to be supported by drivers. But since
the state-tracker learned how to lower these to 2D textures, some
drivers no longer support them.
While we have lowering in place for this, lowering it involves some
needless overhead. So let's just use a 2D texture instead of a RECT
texture.
Because having two versions and switching between them is more
complicated than it needs to be, let's just always use a 2D texture.
Similarly, let's just always multiply the reciprocal here, so we don't
have to test for PIPE_CAP_TGSI_DIV first.
Cc: mesa-stable
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17707 >
2022-07-25 18:12:05 +00:00
Mike Blumenkrantz
7ef76dec73
lavapipe: move vertex input dynamic states into vertex input block
...
these states were erroneously assigned to the pre-rasterization stage
for pipeline libraries when they instead belong to the vertex input stage
cc: mesa-stable
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17738 >
2022-07-25 17:26:43 +00:00
Mike Blumenkrantz
fbb4b90d7d
zink: add a ci flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
Mike Blumenkrantz
5e600afa33
lavapipe: remove some skips
...
these should all be fast enough now
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
Mike Blumenkrantz
d23a9380dd
lavapipe: implement extreme uniform inlining
...
this adds a mangled variation on nir_inline_uniforms that enables inlining
from any uniform buffer in order to try inlining every possible load
if the shader is too small or the ssa_alloc delta from inlining is too small,
then inlining is disabled for that shader to avoid pointlessly churning
the same shaders for no gain
with certain types of shaders, the speedup is astronomical
before:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (4750.76s)
after:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (0.505s)
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722 >
2022-07-25 16:38:25 +00:00
David Heidelberg
1a244e1394
ci/freedreno: 3 pixel change in Raven restricted trace
...
Acked-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17732 >
2022-07-25 18:14:40 +02:00
Adam Jackson
2b3b7b692b
wsi/x11: Synchronously check for error from xcb_present_pixmap
...
Yes this is a round trip, but X_PresentPixmap is not itself a blocking
operation, it just instructs the server to do the next presentation at
some time. More importantly, if _we_ don't catch the presentation error,
xlib's error queue will, and the calling code is certainly not prepared
to handle errors from Present.
Forcing the round trip here is also a bit more correct semantically.
This is the end of the Vulkan client part of the present queue, and the
X_PresentPixmap request transfers the queue operation to the server, so
we should not return until we are sure the handoff has happened.
Fixes some flakiness with piglit@glx-visuals-* with zink+radv.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17685 >
2022-07-25 10:54:46 -04:00
Erik Faye-Lund
747913377f
zink: fix EXT_color_write_enable check
...
Checking for the extension isn't enough, we also need to check for the
feature-bit.
Fixes: 49a20e0981 ("zink: start a unified driver workarounds struct")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:42 +02:00
Erik Faye-Lund
32b9e639b7
zink: warn about missing image2DViewOf3D feature
...
While we're at it, let's store zink_screen in a temp varaible for reuse.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:37 +02:00
Erik Faye-Lund
1318a58538
docs/zink: document required VK_EXT_border_color_swizzle
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:34 +02:00
Erik Faye-Lund
d9064d3c30
docs/zink: document required VK_KHR_swapchain_mutable_format
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:31 +02:00
Erik Faye-Lund
28cbb40a98
docs/zink: correct name of extension
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709 >
2022-07-25 15:57:27 +02:00
Boyuan Zhang
fef2004b11
radeonsi/vcn/enc: enable cabac entropy mode
...
Set cabac entropy mode if enabled.
v2: add extra check on radeon driver side, disable cabac if profile is
baseline or extended.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Boyuan Zhang
dea360dcf9
frontends/va: get entropy mode info for h264 encode
...
Get entropy mode and cabac init idc from VAAPI interface.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Boyuan Zhang
ea9e8e776a
vl: add cabac init idc for h264 encode
...
Add interface to store cabac init idc value.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113 >
2022-07-25 13:17:18 +00:00
Rajnesh Kanwal
e13a450bf2
pvr: Add support for input attachment descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
b562d29196
pvr: Add support for storage and uniform texel descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
08c867972f
pvr: Add support for image descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
ecfea72c73
pvr: Add support for combined image and sampler descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
290b9a953a
pvr: Add support for sampler descriptor.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
1bf883a8ae
pvr: Move binding related checks in common code.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
f044676dbb
pvr: Implement vkCreateBufferView and vkDestroyBufferView.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
8ef42c25a6
pvr: Use common vk_buffer implementation.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Rajnesh Kanwal
405a407d42
pvr: Init and store default sampler in pvr_device.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719 >
2022-07-25 11:57:48 +01:00
Erik Faye-Lund
dbc8290656
llvmpipe: clean up bresenham implementation
...
This moves some common code into shared locations, limits the scope of
some variables, switches some booleans for bools, and cleans up some
whitespace.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:47 +02:00
Erik Faye-Lund
8f99bab70c
llvmpipe: consolidate legacy_points and multisample state
...
This just makes the code a bit easier to follow.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:47 +02:00
Erik Faye-Lund
a1846e3926
llvmpipe: merge all rasterizer-bind functions
...
This makes it more obivous when what state changes, and they are always
just called in order.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653 >
2022-07-25 12:39:42 +02:00
Mike Blumenkrantz
4ff28bd5d8
lavapipe: accurately set image/ssbo access based on shader usage
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15286 >
2022-07-25 01:57:49 +00:00
Dave Airlie
878784dbec
crocus: fix leak in query code.
...
Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17731 >
2022-07-25 01:34:11 +00:00
Mike Blumenkrantz
ad09694cba
lavapipe: EXT_non_seamless_cube_map
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17711 >
2022-07-25 00:50:14 +00:00
Mike Blumenkrantz
a2f97bd88a
zink: avoid crashing when bindless texture updates aren't used
...
some apps trigger the texture update path far in advance of when the
texture will be used, so don't crash and wait to do the update
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Mike Blumenkrantz
992cd1ae2b
zink: assert !rp_changed after renderpass has started
...
avoid weirdness
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Mike Blumenkrantz
c24c5972a8
zink: only flag fbfetch as rp update if fbfetch wasn't already configured
...
otherwise this is probably just a swapchain acquire which needs to update
the descriptor during begin_renderpass
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17665 >
2022-07-25 00:11:54 +00:00
Gert Wollny
1468cd82de
r600/dri-tweak: Disable ARB_shader_image_load_store for "Tomb Raider 2013"
...
When "Depth of Field" is set to Ultra, a compute shader is emitted that
results in Hardware hangs when OpenGL > 4.3 is available.
If the option is enabled, the game will hang at the menu screen so that
it is no longer possible to simply change the option back. To avoid this
disable the extension for this game until the shader emission can be fixed.
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6857
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17728 >
2022-07-24 19:32:10 +00:00
Gert Wollny
a3dda55c0a
r600ß/sfn: Don't fall through with VS outputs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
8166be0e83
r600: don't clone the nir shader, just use it
...
The nir shader passed in with the shader state has to be released by
the backe-end, so don't clone it, just use it.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
97d4e98501
r600: Delete possible old NIR variant when translating from TGSI
...
With shader variants it may happen that we already translated a TGSI
shader for the current selector, so delete the old nir shader if we
already had one.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
92feb77bbb
r600/sfn: lower the right shader variant
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Gert Wollny
99e4a23290
r600/sfn: make sure the memory pool is released after shader translation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17729 >
2022-07-24 18:39:13 +00:00
Constantine Shablya
85c3cea96f
anv: set image_read_without_format NIR option on Vulkan 1.3
...
VK_KHR_format_feature_flags2 is core and implicitly enabled in 1.3.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17442 >
2022-07-24 17:27:10 +00:00
Konstantin Seurer
2861d1ff8a
radv: Fix out of bounds access in RTPSO creation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17723 >
2022-07-24 14:59:44 +00:00
Hyunjun Ko
0c787d57e6
tu: increase maxPushConstantsSize to 256.
...
Now there are two paths for push constants.
When it's range is under 128b, we can use shared consts.
When it's over 128b, we can instead do loading data through
regular path, which is same as the previous way.
Now we can satisfy emulations like vkd3d that requires 256b for
its root signatures and we think it fairly maps to push constants
rather than inline uniform blocks that requires one indirection.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
e1f2cabc5e
turnip: Change to use shared consts for PushConstants
...
Follow the way blob is doing for PushConstants though it supports only
128b, same as previous.
v1. Rename tu_push_constant_range.count into dwords to redue confusion.
( Danylo Piliaiev <dpiliaiev@igalia.com > )
v2. Enable shared constants only if necessary.
v3. Merge the two draw states TU_DRAW_STATE_SHADER_GEOM_CONST and
TU_DRAW_STATE_FS_CONST as shared constants are used.
Note that this leaves tu_push_constant_range in tu_shader so we could
use it again in the following patch.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
ce8e8051af
turnip: clean up unused parameters for user consts.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
e6556b72fb
ir3: handle shared consts.
...
Adds a shared consts base offset and a size of it(dwords) to ir3_compiler
since they might be depending on gpu generations. (Danylo Piliaiev <dpiliaiev@igalia.com > )
Adds a flag to present whether shared consts are enabled to
ir3_shader_options and then it sets to ir3_const_state when creating
an ir3 variant. Although this state is not per-shader state, this is
necessary when figureing out real constlens.
v1. Define a hw quirk for geometry shared const files and use it when
calculating const length.
v2. Don't hardcode when calculating a safe const length.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Hyunjun Ko
b35c4bd050
ir3: change maximum size of const files.
...
According to the observation on a630/a650/a660, max_const_pipeline has
to be 512 when all geometry stages are present. Otherwise a gpu hang
happens. Acoordingly maximum safe size for each stage should be under
(max_const_pipeline / 5 (stages)).
Only when VS and FS stages are present, the limit is 640.
v1. Align max_const_safe to 4 vec4's.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15503 >
2022-07-24 09:03:47 +00:00
Marek Olšák
3e94d498b3
gallium: add pipe_blit_info::dst_sample, update u_blitter to write that sample
...
A new radeonsi blit test will use it to upload different sample values
into MSAA textures.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17694 >
2022-07-23 18:21:31 +00:00
Pierre-Eric Pelloux-Prayer
af7c2ff842
radeonsi: check last_dirty_buf_counter and dirty_tex_counter
...
Check both counters in draw and compute, otherwise compute dispatches may
miss buffers invalidation.
This fixes the test case from https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/702
(both with and without GALLIUM_THREAD=0).
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17394 >
2022-07-23 18:03:22 +00:00
Mihai Preda
da9feae735
gallivm: push LLVM version guard into assert
...
The asserts that check the pointer element type can't be used on LLVM >= 15.
Instead of using precompiler #if, use boolean shortcut in assert.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
f0fda08739
gallivm: add lp_build_struct_get() variants that take the LLVM type
...
This is needed for LLVM-15 opaque pointers.
The new variants taking the type are named with the suffix "2", using
the same naming pattern LLVM (e.g. LLVMBuildGEP2 vs. LLVMBuildGEP).
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
8c4aef2abb
gallivm: refactor a bit the cache access in view of LLVM opaque pointers
...
LLVM 15 requires transition to opaque pointers; factorize a bit the cache
memthods to help this transition.
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Mihai Preda
b549394992
gallivm: fix a few llvm non-opaque pointers
...
As LLVM 15 transitions to opaque pointers, we need to update
the deprecated methods dealing with non-opaque pointers.
Reviewed-by: Brian Paul <brianp@vmware.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650 >
2022-07-23 17:34:08 +00:00
Jesse Natalie
bdf91b25d9
dzn: Retrieve validator version
...
For platforms where there's no validator available, leave the field zero-initialized
to let the DXIL backend choose whatever target validator version it wants.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
ef7635b1cb
d3d12: Retrieve validator version
...
For platforms where there's no validator available, leave the field zero-initialized
to let the DXIL backend choose whatever target validator version it wants.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
b8328c9664
microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK
...
This version claims to support validator version 1.6, but doesn't
actually have the 1.6 changes (PSV v2, PSV resource v1, barycentrics).
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
8fcd506178
microsoft/compiler: Add a getter for a validator version from DXIL.dll
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
46335debf6
microsoft/compiler: Support DXIL validator 1.7
...
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
4abe781a0b
microsoft/compiler: Support DXIL validator 1.6
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
9dbaece312
microsoft/compiler: DXIL validator 1.6 uses a new PSV resource struct
...
This is a huge pain because it's an array, meaning that accessing
an entry in the array now depends on the validator version to use
the right element stride.
We could always just store the v1 and downconvert if needed... but
this isn't *that* bad that I felt I had to do it that way.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
d9e575d4d7
microsoft/compiler: DXIL validator 1.6 uses a new PSV struct version
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
4d257929da
microsoft/compiler: Set the barycentrics flag for attribute_at_vertex
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
271c8d7a8c
microsoft/compiler: DXIL validator 1.6 counts UAVs differently
...
Instead of counting the number of UAV arrays, it counts the
number of actual UAVs declared. This is more correct, but we
need to do the same accounting to set the 64 UAVs flag.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
494af9db04
microsoft/compiler: Correctly compute dynamic indexing I/O masks
...
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
31d09d2f77
microsoft/compiler: Compute correct usage masks
...
This starts actually updating the always-read/never-written
masks while processing the shader. Note that we follow DXC's
lead here and treat "always read" as "sometimes read."
This isn't strictly required, but might help drivers out.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
c26b28f711
microsoft/compiler: Support DXIL validator version 1.5
...
This version of the validator starts adding usage masks into
the DXIL, which then are expected to match the PSV and signature
data. The usage masks are "correct" meaning that the never-writes
mask no longer includes bits outside of components 0-3.
A future change will actually compute useful masks.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
170d428887
microsoft/compiler: Lower I/O to scalar
...
A future change will start computing component masks while
processing I/O instructions, and only having to compute
a mask for one component per instruction simplifies things.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
80d35739ff
microsoft/compiler: Ensure 4-component position writes via NIR
...
We're about to lower I/O to scalar, which means we'll end up with
multiple writes to position, and none of them has enough info to
fill in the blanks.
This causes a test that previously crashed on WARP (due to
StoreOutput with an undef not being handled) to fail more
gracefully - but that failure means that the test spends
forever just outputting errors, so explicitly skip it.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
252c3c409d
microsoft/compiler: Split signature processing into two parts
...
First, preprocess the signatures, strictly based on the variables
in the nir shader. Then, later, after the actual shader contents
have been processed, we emit the metadata.
This lets shader processing rely on the pre-processed data (e.g.
the row -> ID mapping needed for large VS inputs) while also allowing
the signature data to rely on data gathered during the shader traversal
(e.g. which components are actually used).
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
e4c927545d
microsoft/compiler: Emit metadata based on long-lived signature data
...
Instead of using the short-lived semantic structure (that's used to
fill out the long-lived signature and PSV data), use the long-lived
ones. This is staging so we can hold off on emitting the metadata
until later.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
6af22121cf
microsoft/compiler: Add a max validator version
...
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
c8f63e07da
microsoft/compiler: Add a max shader model option
...
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Jesse Natalie
d216d32756
nir_lower_io_to_scalar: Support arrayed (per-vertex) I/O
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17603 >
2022-07-23 14:48:17 +00:00
Gert Wollny
36c000484d
r600: don't dump shader info to files on debug
...
This was useful to bring up the NIR backend, but is not needed
anymore.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
dcfb047e11
r600/sfn: Fix streamout with non-zero component write
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
d92ce8566b
r600/sfn: Fix used of local shared write mask
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
ca1c78e885
r600/sfn: Fix emmision of LDS instructions
...
Assert to catch more possible erros with LDS fecth/read
groups.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
8a7d34e3bd
r600/sfn: Fix the kcache failure handling
...
Instead of starting a new block when the kcache handling failed,
try to continue scheduling instructions until kcache allocation
fails for all ready instruction.
With that we avoid a CF split withing an LDS fetch/read group.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
8db31e0fe6
r600/sfn: count LDS queue pop reads separately in assembler
...
Otherwise the check whether the fetches and reads are balanced
could fail.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
233f246bdf
r600/sfn: lower undef to zero
...
It's what the backend would do anyway, so let's do it in nir and
give the optimizer some chance to profit from possible improvements.
Fixes a bad shader with "The Raven Remastered"
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
982effcd4e
r600/sfn: fix storing shader output array locations
...
When lowering gl_Clipertex the driver_location may no longer correspond
to the array index, so fill the array by counting the array index up
according to outputs that need to be handled by the state setup.
Fixes: 3340c7ce35
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Gert Wollny
2e03dd1bef
r600/sfn: clean up some commented out code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17678 >
2022-07-23 13:10:45 +00:00
Vinson Lee
6b3af02a6f
r600/sfn: Initialize TestShaderFromString member m_instr_factory.
...
Fix defect reported by Coverity Scan.
Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member m_instr_factory is not
initialized in this constructor nor in any functions that it calls.
Fixes: 79ca456b48 ("r600/sfn: rewrite NIR backend")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17584 >
2022-07-23 05:36:34 +00:00
Ryan Neph
1f28d221d9
venus: add support for VK_KHR_dynamic_rendering
...
Signed-off-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17668 >
2022-07-23 01:14:22 +00:00
Ryan Neph
6f5289df53
venus: refactor VkCommandBufferBeginInfo fixups to function
...
Signed-off-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17668 >
2022-07-23 01:14:22 +00:00
Icecream95
d6c574f423
panfrost: Allow NULL streamout targets
...
Fixes Piglit test
arb_enhanced_layouts-transform-feedback-layout-qualifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
a0851f1cc4
panfrost: Don't unbind recently bound streamout targets
...
When unbinding extra targets, start after the last new target.
Fixes: 5ff7973560 ("panfrost: Import streamout data structures")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
a8dbf61b46
panfrost: Add a debug option for checking overflows on pool uploads
...
PAN_MESA_DEBUG=overflow will place objects as close as possible to a
protected region at the end of the buffer, so that overflows segfault.
Caught the bugs in all four of the preceding commits.
v2: memset the BO to 0xbb to catch code expecting zeroed allocations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
537f67f053
panfrost: Correctly calculate prefetch suppresion varying index
...
The xfb_base is a base index, it makes no sense to multiply that with
the number of streamout targets. Use addition instead to fix a buffer
overflow.
Fixes: 557633b142 ("panfrost: Suppress Bifrost prefetching")
Reported-by: Luc Ma <onion0709@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
37ab45079d
panfrost: Clear the GENERAL varying buffer field if unused
...
Otherwise the indirect draw shader can read uninitialised data for the
stride, and the position varying buffer may be outside the heap BO.
The next commit fixes a bug that masked this one.
Fixes: 2e6d94c198 ("panfrost: Add helpers to support indirect draws")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
379ae6d823
panfrost: Emit the correct number of attributes
...
create_vertex_elements_state is sometimes called with a too large
num_elements argument, for example with util_blitter, which causes a
buffer overflow.
There is no documentation to forbid this practice, so don't rely on
so->num_elements being correct and instead use the vertex shader
attribute count, which matches the value used to allocate the
descriptors.
Use attributes_read_count rather than attribute_count because the
latter also includes images and PAN_VERTEX_ID/PAN_INSTANCE_ID.
Fixes: 76de3e691c ("panfrost: Merge attribute packing routines")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Icecream95
fe613a8de9
panfrost: Only emit images when they are present
...
nr_images is the trigger for allocating double the number of buffers
for attributes. When there are no images, there is not always enough
space for ALIGN_POT(k, 2) to not move k out of bounds, so don't
execute the line in that case.
Fixes: dc85f65e05 ("panfrost: emit shader image attribute descriptors")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17447 >
2022-07-23 00:56:10 +00:00
Mike Blumenkrantz
240835cfb0
zink: remove deqp fails for lavapipe
...
these are all broken tests, so ignore whatever results there were for now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17721 >
2022-07-22 16:13:57 -04:00
Mike Blumenkrantz
65c1504045
lavapipe: propagate xfb info for pipeline library rasterization stages
...
Fixes: 202bbedc55 ("lavapipe: streamline xfb shader setup")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17716 >
2022-07-22 19:27:49 +00:00
Ian Romanick
430d1a20eb
spirv: Fix array length of buffers larger than INT32_MAX.
...
Like 90a8fb0355 .
fossil-db results:
All Skylake and newer Intel platforms had similar results. (Ice Lake shown)
Instructions in all programs: 141442369 -> 141442363 (-0.0%)
Instructions helped: 1
Cycles in all programs: 9099270231 -> 9099270187 (-0.0%)
Cycles helped: 1
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637 >
2022-07-22 17:54:28 +00:00
Emma Anholt
254076f3fc
ci/crocus: Fix the commented YML for blender-demo-cube_diorama.
...
Fixes: c0930b552d ("ci/crocus: Disable the blender trace.")
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637 >
2022-07-22 17:54:28 +00:00
Ian Romanick
95e50d198f
intel/vec4: Set lower_usub_sat
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Closes : #6900
Fixes: 90a8fb03 ("nir/lower_io: Fix array length of buffers larger than INT32_MAX.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637 >
2022-07-22 17:54:28 +00:00
Emma Anholt
f6c5b1d6c6
nir: Split usub_sat lowering flag from uadd_sat.
...
Intel vec4 would like to do uadd_sat, but use lowering for usub_sat.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17637 >
2022-07-22 17:54:28 +00:00
Mike Blumenkrantz
aed433833f
anv: disable dev.i915.perf_stream_paranoid=0 warning
...
this is spammed constantly even if ANV isn't used
fixes #6731
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17661 >
2022-07-22 17:24:04 +00:00
Nanley Chery
bec82bb436
iris: Use fill_surface_states for compressed resources
...
In iris_create_surface, use the fill_surface_states helper function instead of
an open-coded solution for compressed resources.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17598 >
2022-07-22 16:33:37 +00:00
Nanley Chery
6c65e990b6
iris: Don't leak compressed resources in iris_create_surface
...
Before this patch, we were leaking compressed resources in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't unreference the resource pointer we referenced
into the pipe_surface.
Fix this by delaying the pipe_surface initialization code to after attempting
to create the uncompressed surface and view.
Cc: 22.1 <mesa-stable>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17598 >
2022-07-22 16:33:36 +00:00
Nanley Chery
bca601ffe9
iris: Don't leak surface states for compressed resources
...
Before this patch, we were leaking surface states in iris_create_surface.
Specifically, when we failed to create an uncompressed ISL surface and view for
a compressed resource, we didn't free surface states we allocated for it.
Fix this by attempting to create the uncompressed surface and view before we
allocate the surface states.
Cc: 22.1 <mesa-stable>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17598 >
2022-07-22 16:33:36 +00:00
Eric Engestrom
96a79a5f3a
vk/util: simplify extensions gen code
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17713 >
2022-07-22 15:56:28 +00:00
Eric Engestrom
e4199322ee
vk/util: handful of pythonic cleanups
...
No functional changes.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17713 >
2022-07-22 15:56:28 +00:00
Daniel Schürmann
5b196716cf
radv/rt: simplify lower_rt_instructions()
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
f7c318901d
radv/rt: fix nir_builder cursor in lower_rt_instructions()
...
Fixes: 207ce6d658 ('radv: Add helper to inline shaders into the main shader.')
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
c0945f70df
radv/rt: Don't load ClosestHit SBT on every hit, but only once after traversal
...
Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 217592 -> 215956 (-0.75%)
Instrs: 39468 -> 39341 (-0.32%)
Latency: 761581 -> 746802 (-1.94%)
InvThroughput: 507721 -> 497870 (-1.94%)
Copies: 4621 -> 4585 (-0.78%)
Branches: 1598 -> 1584 (-0.88%)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
c39cccec9c
radv/rt: use stage ID as handle for general and closestHit shaders
...
This avoids some code duplication and divergence.
Quake II RTX:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 218880 -> 217592 (-0.59%)
Instrs: 39692 -> 39468 (-0.56%)
Latency: 789091 -> 761581 (-3.49%)
InvThroughput: 526061 -> 507721 (-3.49%)
VClause: 1202 -> 1188 (-1.16%)
Copies: 4649 -> 4621 (-0.60%)
Branches: 1605 -> 1598 (-0.44%)
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
3750663c72
radv/rt: use derefs for the traversal stack
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
076ea8b35a
radv: create RT traversal as separate shader
...
This will help in future to keep the main shader slim
when we have actual function calls.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17301 >
2022-07-22 15:31:23 +00:00
Daniel Schürmann
8e056af399
radv: Only create noop-fs for graphics pipelines
...
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/17301 >
2022-07-22 15:31:23 +00:00
Tapani Pälli
a6857ee43e
anv: implement Wa_14015264727 for DG2
...
On DG2 we need to flush data cache before fast clear operation.
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/17218 >
2022-07-22 14:59:06 +00:00
Tapani Pälli
da7a7c9bbc
iris: implement Wa_14015264727 for DG2
...
On DG2 we need to flush data cache before fast clear operation.
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/17218 >
2022-07-22 14:59:06 +00:00
Jesse Natalie
9c5d8dcf6c
d3d12: Remove state tracking implementation details from header
...
Now that the old state tracking code is removed, implementation details
no longer need to be leaked out of this single source file. Remove structs,
function declarations, 'd3d12_' prefixes, and add static when possible.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
74a811382f
d3d12: Add a transition flag indicating that state accumulation is needed
...
Most call sites for transitions will only apply transitions to one or two
resources, and don't need to use the bo set, where each call is guaranteed
to insert the bo, only to walk the set immediately afterwards. Instead, they
can just append the barriers to the dynarray directly and skip the bo set.
Draws and dispatches still use the append approach, to accumulate the full
set of state needed for each subresource for the case where a single
[sub]resource is bound to the pipeline in multiple places.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
fa570bda08
d3d12: Optimize transition_subresource_states that covers a whole resource
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
a3813505ce
d3d12: Extract core barrier logic
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
aa94e0b37c
d3d12: Rename bind invalidate options to transition flags
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
c6f01d6c45
d3d12: Swap the remainder of state tracking to new method
...
Uses a set of d3d12_bo on the context to track which bos are pending
a transition instead of an intrusive linked list, since the bo may
need to be pending on multiple contexts at once.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
05d04c7a54
d3d12: Record a state fixup command list when necessary
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
70e7cb444e
d3d12: Track a global resource state for non-simultaneous-access resources
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6acab47d7f
d3d12: Create/free context state entries
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
f972a57b0b
d3d12: Treat depth/stencil as planar for plane count helper
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6bc5df76d3
d3d12: Add a context state tracking structure
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
6a8070bcef
d3d12: Notify contexts about deletion of bos
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
375e8b2f4b
d3d12: Hold lock when removing resources from residency list
...
Also, remove them from the list before releasing the ID3D12Resource.
Fixes: 671deb54 ("d3d12: Add residency info to d3d12_bo")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
b72ec453bd
d3d12: Add a list of contexts alive for the current screen
...
When a resource is destroyed, we'll need to let the contexts know.
This is guarded by the submit mutex, because we'll already be holding
that for at least one place where we want to iterate this list, and
it's low-frequency enough that re-using it is simpler than adding more
locks and creating confusing lock ordering.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
17c3f4f3e1
d3d12: Give bos a unique identifier to be used for state tracking
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
bc9616129e
d3d12: Move current resource state to new files
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
2016dec6a4
d3d12: Move desired resource state to new files
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Jesse Natalie
a277dbf1f4
d3d12: Add a blank d3d12_resource_state.h/cpp
...
This will host some code that's moving and ported to match style
with the rest of the driver, and other code that will be re-written.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17688 >
2022-07-22 14:42:56 +00:00
Mike Blumenkrantz
6b07893b31
util/vbuf: handle multidraws
...
this moves the handling from cso_conext to vbuf, which reduces overhead
for draws that aren't rewritten
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17686 >
2022-07-22 12:40:56 +00:00
Timothy Arceri
7c484b0c1c
glsl: correctly track cross slot component packing
...
Otherwise we will mix and match mesa's custom cross slot packing
with arb_enhanced_layouts style packing and we won't correctly
handle the size of the vars needed for the mesa custom packing.
The code was working correctly if the shader interface had both
a matching input and output but when we only had one side of
the interface we were only marking a single slot location as
packed.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Fixes: e5122a5543 ("glsl: add a NIR based varying linker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6853
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17550 >
2022-07-22 10:43:18 +00:00
Lucas Stach
00955a644e
etnaviv: remove etna_align_up() function
...
It does the same thing as align() from u_math.h, no need to
have a etnaviv specific version.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17695 >
2022-07-22 09:08:29 +00:00
Erik Faye-Lund
89f77144d7
zink: drop pointless comment
...
We're already handling all the meaningful types here. The other types
like samplers, images, structs etc aren't really appropriate here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Erik Faye-Lund
d3dca05d53
zink: remove pointless assert
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Erik Faye-Lund
02de4a509c
zink: remove pointless test
...
These are already all the bitsizes there are. No need to test for them.
Besides, get_uvec_type already contains an assert for the same
condition anyway.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17676 >
2022-07-22 08:45:34 +00:00
Timur Kristóf
8d7ca7783b
ac/nir/ngg: Remember proper bit sizes of GS output variables.
...
The LLVM backend keeps track of 16-bit output variables and it will
miscompile shaders when these outputs aren't the correct bitsize.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
e60fbb4dc9
ac/nir/ngg: Copy comment about LDS layout for NGG GS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
b5abf4fb3d
ac/llvm: Use gs_prim_id for NGG VS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
1e2663b62c
ac/llvm: Add LLVM bug workaround to ac_build_mbcnt_add.
...
LLVM always believes that this instruction's upper bound is the wave
size, regardless of ac_set_range_metadata and regardless of whether
the add source is used.
As a workaround, emit an extra add instruction.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Timur Kristóf
c9f8be9d58
ac/llvm: Implement load_num_subgroups for NGG shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17706 >
2022-07-22 08:17:39 +00:00
Konstantin Seurer
1a95d43e55
radv: Simplify the meta init fail path
...
Move most of the the cleanup into radv_device_init_meta.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17652 >
2022-07-22 07:51:14 +00:00
Konstantin Seurer
b06e5535c0
radv: Use RADV_META_SUSPEND_PREDICATING
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17625 >
2022-07-22 07:25:09 +00:00
Konstantin Seurer
fdeca2ca0b
radv: Add meta saving/restoring for predicating
...
There are a bunch of places, where this is done manually.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17625 >
2022-07-22 07:25:09 +00:00
Dave Airlie
21dd305694
llvmpipe: fix aniso cube map arrays.
...
There was a coordinate missing when you have cube map arrays,
and aniso sampling.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: ce2b711c0a ("gallivm: add support for anisotropic sampling.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17704 >
2022-07-22 14:18:39 +10:00
Yiwei Zhang
02d6d43f54
Revert "venus: suballocate more for layering"
...
This reverts commit f96e25ae05 .
It's causing vkbench oom failure on radv.
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/17701 >
2022-07-22 03:09:12 +00:00
Jason Ekstrand
2b4e34d9b0
zink: Mark depth/stencil visual tests as flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
a5952c362e
vulkan: Don't assert VkGraphicsPipelineLibraryCreateInfoEXT::Flags == 0
...
There are VUs that imply that this is a requirement but the CTS seems to
ignore it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
0415d66c97
vulkan: Input assembly and depth/stencil can also be fully dynamic
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
ceccbc01f5
vulkan: Fix pipeline libraries with dynamic-only VI or FSR state
...
When we initialize the graphics pipeline state, we skip VI and FSR state
if they're 100% dynamic. We need to do this if the current set of
dynamic things contains VI/FSR or if the set of dynamic state already in
the vk_graphics_pipeline_state has them dynamic. Look state->dynamic
after we've merged instead of just looking at the dynamic set from the
VkGraphicsPipelineCreateInfo we were passed.
Also, when we validate, we need to assume that VI and FSR exist or else
we'll assert if dynamic VI or FSR are set.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
e5e828e91d
vulkan: Add a fully_dynamic_state_groups() helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
00269c09d6
vulkan: Depth/stencil isn't fragment output state but multisample is
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
cc84d4ca66
vulkan: Multisample state isn't always included in fragment shader state
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
50411bd786
vulkan: Record shader stages in vk_graphics_pipeline_state
...
Some of our asserts and other checks depend on the total set of stages,
not just the stages set in the current pCreateInfo. Recording the stage
mask lets us combine them in vk_graphics_pipeline_state_merge().
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Jason Ekstrand
eb1f00aaac
vulkan: Allow up to 12 pointers in multialloc
...
vk_graphics_pipeline_state_init() may allocate up to 12 things so expand
vk_multialloc accordingly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17696 >
2022-07-22 02:36:17 +00:00
Chia-I Wu
8ec81a4b11
turnip: fix an assertion with drm-shim
...
Fixes
deqp-vk: ../src/vulkan/runtime/vk_device.c:49:
get_timeline_mode: Assertion `timeline_type == NULL' failed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17571 >
2022-07-22 02:11:14 +00:00
Chia-I Wu
2d2912f18a
freedreno/drm-shim: add a660
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17571 >
2022-07-22 02:11:14 +00:00
Emma Anholt
7f4df969c9
Revert "ci/freedreno: Switch a630 to manual/disabled for lab maintenance."
...
This reverts commit 7e381ba9fc . 2 new
boards are in place, bringing us from 7 to 9. We hoped for 12, but have
ongoing power stability issues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17662 >
2022-07-22 00:57:23 +00:00
Emma Anholt
94b4c0bc39
ci/turnip: Add a couple of missing a630 fails.
...
Same as a618.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17662 >
2022-07-22 00:57:23 +00:00
Emma Anholt
8a7c4f4202
ci/turnip: Bump up the a630 full run timeout.
...
Test runtime has crept up with more CTS tests and more features. The last
vk_full 1/2 run I tried timed out at:
Pass: 268488, Fail: 2, ExpectedFail: 7, Warn: 1, Skip: 602571, Duration: 1:29:29, Remaining: 45
Rude.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17662 >
2022-07-22 00:57:23 +00:00
Emma Anholt
d8fb219b2f
ci/freedreno: Add some more known flakes for a630 from our IRC logs.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17662 >
2022-07-22 00:57:23 +00:00
Jesse Natalie
fccd6e275c
d3d12: Support clip halfz
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17567 >
2022-07-22 00:00:54 +00:00
Sil Vilerino
948c03bf58
d3d12: Enable VPP rotation, flip, alpha blend, crop, scaling via pipe_video_codec::process_frame
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:31 +00:00
Sil Vilerino
323cf5a68d
d3d12: Add pipe_video_codec::process_frame implementation
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:31 +00:00
Sil Vilerino
345fd92092
va: Add support for VPP rotation, flip, alpha blend, crop, scaling
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Sil Vilerino
d09cf4333c
gallium/video: Add video post processing interface
...
Add process_frame to pipe_video codec
Add new structures/caps for video post-processing with rotation,
flip, alpha blending, crop, and scaling, via the video engine.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Sil Vilerino
721d9eea81
va: Replace usage of entrypoint UNKNOWN with PROCESSING for VP
...
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Sil Vilerino
74c5d01169
vl: Replace usage of entrypoint UNKNOWN with PROCESSING for VP
...
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Sil Vilerino
f5ab2ffd4e
pipe/video: Add PIPE_VIDEO_ENTRYPOINT_PROCESSING
...
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Sil Vilerino
6bf8798ecb
d3d12: Video - Remove unused spCopyQueues from enc/dec objects
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17557 >
2022-07-21 22:40:30 +00:00
Lionel Landwerlin
1aa4a91dbf
anv: allocate RT scratch in local memory
...
Like a 100x (not joking) improvement.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17674 >
2022-07-21 22:19:41 +00:00
Timur Kristóf
dd781c1ccb
ac/nir/ngg: Create output variable for primitive ID export.
...
This makes the RADV/LLVM backend happy and mitigates a crash.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581 >
2022-07-21 21:53:29 +00:00
Timur Kristóf
22796d91ea
aco: Remove hack for primitive ID export.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581 >
2022-07-21 21:53:29 +00:00
Timur Kristóf
b0a7db1d3b
ac/nir/ngg: Move primitive ID workgroup barrier to proper place.
...
Previously, it was in a divergent branch, therefore
it could hang the GPU when a workgroup had a primitive-only wave.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581 >
2022-07-21 21:53:29 +00:00
Qiang Yu
754e43369d
ac/nir/ngg: Decouple primitive ID store and primitive export.
...
There's no dependency between them.
This can simplify the compiler backend translation by
always storing prim id before vertex export, which also
benefits the LLVM backend in latter changes.
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17581 >
2022-07-21 21:53:29 +00:00
Jason Ekstrand
9965863a13
lavapipe: Use more Vulkan NIR heleprs
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jason Ekstrand
8e99a7f5e3
vulkan: Call gather_xfb_info in vk_spirv_to_nir
...
In particular, we now call it before running dead variables so we get
the XFB info even for things which are never written. This fixes a 102
Vulkan CTS tests on ANV and probably turnip as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jason Ekstrand
bd93d6f693
vulkan/nir: Don't remove dead XFB outputs
...
Fixes: 21b405fbbc ("vulkan: Add a vk_shader_module_to_nir() helper")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jason Ekstrand
87ab287436
vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jordan Justen
85099804bf
iris/bufmgr: Add assert and TODO comment for future small BAR uapi
...
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
d9ce788641
anv/allocator: Add assert and TODO comment for future small BAR uapi
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
7cf67e9da3
iris: Set clear_color_unknown if the bo is not mappable
...
Rework:
* Ken: Check bo for IRIS_MMAP_NONE rather than the global
intel_vram_all_mappable
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
180aa4f3b2
iris/bufmgr: Set mmap_mode to IRIS_MMAP_NONE for lmem in small-BAR mode
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Suggested-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
49b1b8b853
iris/bufmgr: Add all_vram_mappable which is currently always true
...
This can be false on systems where the PCI Base Address Register (BAR)
is too small for the amount of VRAM. Eventually the kernel will be
able to tell us that a system can't map all of VRAM, and
`all_vram_mappable` will then be false.
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
618c871a23
iris/resource: Avoid mapping when not needed in iris_resource_init_aux_buf()
...
We might not be able to map all vram buffers in the future, so only
map the buffer when actually required.
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
b79da470f2
iris/resource: Assert that DG2 CCS buffers don't also try to set BO_ALLOC_SMEM
...
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
7bd3a6b757
intel/dev: Add intel_vram_all_mappable()
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
a3316d38d1
intel/tools: Print unmappable region info in intel_dev_info
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
d2829ffe4e
intel/dev: Add vram.unmappable.size region info
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17349 >
2022-07-21 20:27:10 +00:00
Lionel Landwerlin
09ba5c2b43
intel/dev: deal with i915 unallocated_size on smem
...
We cannot rely on unallocated_size on system memory for
VK_EXT_memory_budget.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4aecfbf0f4 ("intel/dev: Add devinfo::mem to store i915 regions information")
Reviewed-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/17349 >
2022-07-21 20:27:10 +00:00
Marek Olšák
2474d92071
ttn: set dest_type for TXQ
...
It was failing an assertion in tgsi_to_nir and NIR validation.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17691 >
2022-07-21 20:05:12 +00:00
Georg Lehmann
775578b885
ir3: Stop using nir_legalize_16bit_sampler_srcs.
...
nir_fold_16bit_tex_image's only_fold_all option ensures that there is never
a mix of bit sizes.
Closes https://gitlab.freedesktop.org/mesa/mesa/-/issues/6899
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978 >
2022-07-21 19:15:04 +00:00
Georg Lehmann
a93786fc26
nir/lower_mediump: Add an option to only fold if all tex sources can be folded.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978 >
2022-07-21 19:15:03 +00:00
Georg Lehmann
87e3277b82
nir: Rewrite and merge 16bit tex folding pass with 16bit image folding pass.
...
Allow folding constants/undef sources by sharing more code with the image_store
16bit folding pass.
Allow more than one set of sources because RADV wants two, one for
G16 (ddx/ddy) and one for A16 (all other sources).
Allow folding cube sampling destination conversions on radeonsi/radv because
I think the limitation only applies to sources.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978 >
2022-07-21 19:15:03 +00:00
Georg Lehmann
06b33770b6
ir3: Lower alu to scalar if nir_legalize_16bit_sampler_srcs made progress.
...
Fixes: 003327dd95 ("freedreno/ir3: Pass 16-bit sampler coordinates when possible.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978 >
2022-07-21 19:15:03 +00:00
Georg Lehmann
9fe382ba96
ir3: Only run 16bit tex NIR passes on a5xx+.
...
16bit types aren't yet supported on older hardware.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978 >
2022-07-21 19:15:03 +00:00
Mike Blumenkrantz
2ea0d735d4
zink: add env var to abort on device-lost if no reset callback is set
...
the alternative here is to just spin aimlessly until the process ooms,
which causes problems when trying to detect failures in cts caselists
a separate env var is used so that it can be exported without affecting
ZINK_DEBUG
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17525 >
2022-07-21 14:02:27 +00:00
Konstantin Seurer
fe5c7f1418
gallium/tests: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
c48497593a
util/format: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
7c79399597
pvr: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
55a12036f6
virgl: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
90030469dd
softpipe: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
435cb21e11
radeonsi: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
66344fae4d
r600: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
ad6553eae9
r300: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
b07b359428
panfrost: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
0dbec9c059
llvmpipe: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
c23c8f18ca
etnaviv: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
b52215ae56
agx: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
74fe2c805f
util: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
f10b9563dd
tgsi: Remove format desc null check
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
927f863364
gallivm: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
630df88a74
turnip: Remove format desc null assert
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
61dfccae79
v3dv: Remove format desc null asserts
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
7e7e01fe0c
radv: Use desc->format
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
ae67294479
radv: Remove format desc null checks
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
e342081c37
util/format: Assert that formats are valid
...
It should be the responsibility of the driver to make sure, that "format" is a valid pipe_format.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Konstantin Seurer
2b02ac2779
util/format: Use an explicit length for the descs
...
The script that generates the format tables does not set every pipe_format.
In practice, the length of the format tables is equal to PIPE_FORMAT_COUNT.
I just added the explicit size to future-proof it.
(If the largest valid format is not part of the format tables,
there will be a mismatch between the array length and PIPE_FORMAT_COUNT)
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17490 >
2022-07-21 12:48:01 +00:00
Samuel Pitoiset
85e859ac5f
radv: only force 1x sample for Bresenham lines when pipeline draws lines
...
Otherwise, this would affect non-line draws. While we are at it,
adjust a comment.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6303
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17657 >
2022-07-21 08:05:35 +02:00
Guilherme Gallo
28880818ee
ci/lava: Increase boot timeout
...
Empirically, a successful LAVA boot time should take less than 3
minutes.
LAVA itself is configured to attempt thrice to boot the device,
summing up to 9 minutes.
It is better to retry the boot than cancel the job and re-submit to
avoid the enqueue delay.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17646 >
2022-07-21 02:24:20 +00:00
Emma Anholt
6e819585da
ci/turnip: Add a bit of spilling-vs-ballot testing on a618.
...
The shared reg usage involved in the subgroup-related macros can cause
trouble for the spiller, and spilling may be implicated in CTS failures
with old versions of the subgroup tests, so let's make sure we get some
coverage. It does seem to catch a couple of failures.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17642 >
2022-07-21 01:25:33 +00:00
Konrad Dybcio
d3b38213e5
freedreno: Enable A619
...
Enable A619 as found in various SKUs of the SM Lagoon SoC, such as
SM6350 and SM7225.
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17495 >
2022-07-21 00:16:32 +00:00
Alyssa Rosenzweig
f7e1eccf5e
util: Gate simple_mtx_assert_locked on !NDEBUG
...
..Instead of DEBUG so these work in debugoptimized builds.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17408 >
2022-07-20 23:37:13 +00:00
Alyssa Rosenzweig
ed06b3dd49
util: Enable list_assert in debugoptimized builds
...
In debugoptimized builds, DEBUG is not set (and neither is NDEBUG). The
intention of NDEBUG is to disable assertions. As such, list assertions should be
gated on !NDEBUG as opposed to on DEBUG.
But assert() is already disabled in that case, so we don't need our own special
assert (Eric).
This would have caught an assertion failure (due to the wrong iterator used)
sooner for the Valhall compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17408 >
2022-07-20 23:37:13 +00:00
Mike Blumenkrantz
6139493ae3
vulkan/wsi: return VK_SUBOPTIMAL_KHR for sw/x11 on window resize
...
the other codepaths all end up checking geometry in one way or another
in order to validate the extents, so add a check here to do the same
fixes #6893
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17638 >
2022-07-20 21:37:02 +00:00
Emma Anholt
74aea0b840
glsl: Remove optimize_swizzles.
...
It will get turned into SSA and copy-propagated in NIR, no need to walk
the IR collapsing it here.
iris shader-db results appear to be noise:
total instructions in shared programs: 8932195 -> 8932147 (<.01%)
instructions in affected programs: 537 -> 489 (-8.94%)
LOST: 12
GAINED: 11
lost/gained are simd32 switches in unigine, l4d2, portal2, asphalt9.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17613 >
2022-07-20 20:45:09 +00:00
Mike Blumenkrantz
4123ee3c71
zink: invoke descriptor_program_deinit for programs on context destroy
...
this should make multi-context shutdown more stable
affects:
glx@glx-visuals-depth -pixmap
glx@glx-visuals-stencil
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17658 >
2022-07-20 19:58:16 +00:00
Emma Anholt
f075376823
glsl: Use the same NIR path for shared mem lowering as SPIRV does.
...
Now that we have no non-NIR drivers, we can retire the old code. We just
need to pass the variable accesses through to it.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17610 >
2022-07-20 19:32:48 +00:00
Timur Kristóf
4eb7e53963
radv: Enable task shader feature for NV_mesh_shader.
...
Still hidden behind RADV_PERFTEST=nv_ms but now advertises
task shader support too.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:31 +00:00
Timur Kristóf
28db493cdc
radv: Copy BO list to ACE internal CS.
...
This is necessary to make sure the ACE internal cmdbuf
can access the same memory as the GFX cmdbuf.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
5a1cbafd9d
radv: Submit internal compute cmdbuf.
...
Use scheduled dependencies to create two submissions:
first we submit ACE then GFX.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
eeb8366bbd
radv: Workaround MEC taskmesh dispatch hang when count buffer has zero.
...
The DISPATCH_TASKMESH_INDIRECT_MULTI_ACE packet has a firmware bug,
it hangs the GPU when the draw count is zero.
This commit adds a workaround sequence using COND_EXEC packets
which make sure that this indirect packet is never executed when
the draw count is zero.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
7b8f087f6b
radv: Support task shaders in secondary cmd buffers.
...
Special consideration is needed to keep ACE and GFX in sync.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
4c6f83006d
radv: Synchronization for task shaders.
...
Add a separate flush_bits field for tracking cache
flushes in the ACE internal cmdbuf.
In barriers and image transitions we add these flush bits to ACE.
Create a semaphore in the upload BO which makes it possible
for ACE to wait for GFX for the purpose of synchronization.
This is necessary when a barrier needs to block task shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
2479b62869
radv: Implement mesh shading draw calls with task shaders.
...
This implements NV_mesh_shader draw calls with task shaders.
- On the GFX side:
DISPATCH_TASKMESH_GFX for all draws
- On the ACE side:
DISPATCH_TASKMESH_DIRECT_ACE for direct draws
DISPATCH_TASKMESH_INDIRECT_MULTI_ACE for indirect draws
Additionally, the NV_mesh_shader indirect BO layout is
incompatible with AMD HW, so we add a function that copies
that into a suitable layout.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
99179f8490
radv: Introduce radv_before_taskmesh_draw.
...
This includes additional code that takes care of
handling the internal ACE cmdbuf.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
79287f5ae6
radv: Flush descriptors and push constants for task shaders.
...
Task shaders are executed on the internal compute cmdbuf, so they
need special consideration.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
ef07c3272a
radv: Create internal cmdbuf when a graphics pipeline needs compute.
...
This is mainly going to be used by task shaders, because
the HW implementation mismatches the API:
- In the API, task shaders are considered graphics shaders which
are part of a graphics pipeline and the draws are submitted to
a graphics queue.
- The HW requires the driver to dispatch task shaders on
an async compute queue.
When a pipeline is bound that has a task shader, create a
driver-internal ACE (async compute engine) cmdbuf which
we are going to submit to an ACE queue.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
44a71594c8
radv: Add dispatch_initiator_task field to radv_device.
...
This is going to be used with task shader dispatches.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
822e370390
radv: Allow reusing pipeline compute state emit functions.
...
We are going to reuse them outside of radv_pipeline.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
bc4012d7ed
radv: Minor cleanup of radv_queue_submit_normal.
...
- Move the uses_perf_counters ternary expression out of
the loop into a variable called cs_offset.
- Constify cmd_buffer_count.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
d718bea92d
radv: Move inline push constants to a new function.
...
This cleans up radv_flush_constants and also
the new function will be reused later.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
c4d60df380
radv: Refactor view index emit to use a per-stage function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
99b7521504
radv: Refactor radv_emit_inline_push_consts to work with radeon_cmdbuf.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
19fcf5a4cb
radv: Refactor radv_emit_descriptor_pointers to work with radeon_cmdbuf.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
21e6d596ed
radv: Refactor radv_emit_userdata_address to work with radeon_cmdbuf.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
aadb3d69d1
radv: Refactor some CP DMA functions to work with radeon_cmdbuf.
...
Allow emitting these packets without a radv_cmd_buffer object.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Timur Kristóf
e10cbb5d98
radv: Refactor predication for compute queues.
...
Initialize the inverted predication VA only when it is used
for the first time.
This is needed to get conditional rendering work correctly with
task shaders because the internal compute cmdbuf may not exist
yet when conditional rendering starts.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531 >
2022-07-20 19:00:30 +00:00
Juan A. Suarez Romero
7131a05f92
v3d/ci: update expected list
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17660 >
2022-07-20 18:37:26 +00:00
Mike Blumenkrantz
ea92421298
zink: scale number of shader cache-get threads
...
this should improve startup times for short tests
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17659 >
2022-07-20 18:19:10 +00:00
Mike Blumenkrantz
153983328d
zink: handle null samplerview/image rebinds more gracefully
...
fixes a crash in nine
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17656 >
2022-07-20 17:48:03 +00:00
Mike Blumenkrantz
3c66617213
zink: move layout-setting for dynamic render attachments after no-op case
...
this avoids unnecessarily terminating a renderpass to insert unnecessary barriers
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
edab34f68d
zink: allow no-op renderpass updates in zink_batch_rp()
...
in some cases it becomes desirable to "maybe" stop and start the current
renderpass, such as when updates MAY result in layout changes for attachments
for such cases, avoid splitting the renderpass unless it actually needs to
be split
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
4aec761596
zink: improve granularity of renderpass switching
...
this should ensure that (future) renderpass recalcs will never split
a renderpass unnecessarily
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
f78919d36d
zink: add a bits union for zink_render_pass_state comparisons
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
13951385b3
zink: reuse rt layout functions to refactor zink_render_pass_attachment_get_barrier_info()
...
maybe slightly easier to read?
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
c602e877a3
zink: break out color rt layout calc
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
903060787e
zink: break out zs renderpass layout calc
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
1ff18f0879
zink: break out renderpass attachment load op calc
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
1bc9db6879
zink: split out rp_changed to be more granular for dynamic render
...
sometimes a state change MAY require a renderpass change, but this change
will not require splitting the current renderpass
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
9b087dcccd
zink: add an assert to verify that deferred clears aren't added in renderpass
...
this would be very, very broken
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
d9a320b62c
zink: remove redundant renderpass update check for clears
...
this should be handled already in the clear code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
06b04a5c71
zink: unflag ctx->rp_changed after dynamic render update
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
b31a8dfc85
zink: do dynamic render implicit clear updates on rp_changed
...
this should be flagged correctly now
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:19 +00:00
Mike Blumenkrantz
5ae1c76baa
zink: flag renderpass change if renderpass clears change
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:18 +00:00
Mike Blumenkrantz
ca3d696f80
zink: don't flag renderpass change on depth write change as often
...
this is only "sometimes" required and only if dynamic render isn't being
used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:18 +00:00
Mike Blumenkrantz
d079e3c9b6
zink: don't try to start a renderpass before CmdClearAttachments
...
it should be impossible to reach this point if a renderpass is not active
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17640 >
2022-07-20 17:30:18 +00:00
Mike Blumenkrantz
644f059a8d
llvmpipe: ignore multisample state for alpha_to_one
...
this is more accurate and fixes usage with lavapipe
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17627 >
2022-07-20 15:41:14 +00:00
Mike Blumenkrantz
a884d1eb0e
vulkan/wsi: fix multiple acquires for sw without mit-shm
...
in this case, lying about having multiple images and then returning the
same image every time doesn't work, so use the busy flag
and return an available image when possible
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17590 >
2022-07-20 15:10:15 +00:00
Georg Lehmann
333f056edf
radv, aco: Don't lower 16bit isign.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17440 >
2022-07-20 14:31:15 +00:00
Georg Lehmann
4be6164ac9
radv: Remove ineg from lower_bit_size_callback callback.
...
It's always lowered to isub.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17440 >
2022-07-20 14:31:15 +00:00
Georg Lehmann
b96126ee95
radv,aco: Don't lower and vectorize 16bit iabs.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17440 >
2022-07-20 14:31:15 +00:00
Rhys Perry
37dda55f46
aco: remove unnecessary exp_cnt increments
...
update_counters() already does this.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17257 >
2022-07-20 14:04:15 +00:00
Vinson Lee
7384aab3ee
aco: Initialize spill_ctx members in constructor.
...
Fix defects reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member sgpr_spill_slots is not
initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member vgpr_spill_slots is not
initialized in this constructor nor in any functions that it calls.
Fixes: 7d34044908 ("aco: refactor VGPR spill/reload lowering")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17583 >
2022-07-20 13:39:12 +00:00
Mike Blumenkrantz
687a5d8690
zink: use gfx_barrier for synchronization when binding buffer descriptors
...
this will preserve existing shader stages in the access mask and avoid desync
later on
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
268011e8c6
zink: fix viewport count tracking
...
the number of viewports in use is based on the outputs of the last vertex
stage, not the viewports passed by the state tracker
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
eaf11d3cd9
zink: call bind_last_vertex_stage() when binding vs
...
ensure all the necessary updates are flagged
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
011c02ce3c
zink: improve oom error message
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
2aab0a9c16
zink: fix crashing on bo allocation failure
...
list init occurs after mem allocation, so check this first
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
19eddeb226
zink: handle null samplerview in get_imageview_for_binding()
...
this is legal
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Mike Blumenkrantz
5b58f8df53
zink: handle max_vertices=0 in geometry shader
...
this is a weird corner case where glsl permits a zero value, so clamp to 1
and then don't emit any vertices to avoid driver hangs
affects:
dEQP-GL45-ES31.functional.geometry_shading.emit.points_emit_0_end_0
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17639 >
2022-07-20 09:21:30 -04:00
Alejandro Piñeiro
efc827ceea
v3d/v3dv: use NIR_PASS(_
...
Instead of NIR_PASS_V, when possible.
This was done recently on anv (see commit ce60195ec and MR#17014)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:25 +00:00
Alejandro Piñeiro
0a50330c3d
broadcom/compiler: make several passes to return a progress
...
Two advantages:
* When using NIR_DEBUG=nir_print_xx, will print outcome only if
there is a change
* We can use NIR_PASS(_, ...) instead of NIR_PASS_V, that has
slightly more validation checks.
This includes:
* v3d_nir_lower_image_load_store
* v3d_nir_lower_io
* v3d_nir_lower_line_smooth
* v3d_nir_lower_load_store_bitsize
* v3d_nir_lower_robust_buffer_access
* v3d_nir_lower_scratch
* v3d_nir_lower_txf_ms
As we are here we also simplify some of them by using the
nir_shader_instructions_pass helper.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:25 +00:00
Alejandro Piñeiro
81ca0b4191
broadcom/compiler: removed unused function
...
It is not even implemented.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:25 +00:00
Alejandro Piñeiro
22022dfa04
v3dv/pipeline: use nir_shader_instructions_pass when lowering layout
...
The trigger for this commit was when we found that we were not calling
nir_metadata_preserve when lowering the layout code. But then I found
that it would be better to just update the code to use
nir_shader_instructions_pass, so we can avoid to manually:
* Initialize the nir_builder
* Call nir_foreach functions (we pass the callback)
* Call nir_metadata_preserve functions (that as mentioned we were not calling)
We also get a nice cleanup of several functions by reducing the number
of parameters (we pass a state struct).
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
8d3ce4eb06
nir: call nir_metadata_preserve at nir_remove_unused_io_vars
...
Without it we got a metadata assert:
deqp-vk: ../src/compiler/nir/nir_metadata.c:108: nir_metadata_check_validation_flag: Assertion `!(function->impl->valid_metadata & nir_metadata_not_properly_reset)' failed
if we try to use NIR_PASS(_, instead of NIR_PASS_V (that among other
things, do more validations).
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
d8fee4cdaa
broadcom/compiler: use NIR_PASS for nir_lower_vars_to_ssa at v3d_optimize_nir
...
There's no reason to not take into account progress at that point.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
dea0fe8a06
broadcom/compiler: wrap nir_convert_to_lcssa with NIR_PASS_V
...
So we get it included with the NIR_DEBUG=print_xx debug options.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
72cc268858
broadcom: document which debug options are specific for a given driver
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
e4d7c3b179
broadcom: add no_merge_jobs debug option
...
To avoid having a custom getenv on v3dv.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Alejandro Piñeiro
bdf23805ab
v3dv/device: add comment on depthClamp feature
...
As we can't support it, and I need to recheck now and then when I read
that code.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17609 >
2022-07-20 11:35:24 +00:00
Ricardo Garcia
4058984b63
vulkan: allow null descriptor set layouts in pipeline layouts
...
VK_NULL_HANDLE descriptor set layouts are allowed when creating pipeline
layouts without VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT.
From VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753:
> If graphicsPipelineLibrary is not enabled, elements of pSetLayouts
> must be valid VkDescriptorSetLayout objects
From VUID-VkPipelineLayoutCreateInfo-pSetLayouts-parameter:
> If setLayoutCount is not 0, pSetLayouts must be a valid pointer to an
> array of setLayoutCount valid or VK_NULL_HANDLE VkDescriptorSetLayout
> handles
Signed-off-by: Ricardo Garcia <rgarcia@igalia.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17629 >
2022-07-20 10:59:56 +00:00
Iago Toral Quiroga
b54544852c
v3dv: fix offset reported by vkGetImageSubresourceLayout
...
This represents an offset from the actual start of the image data,
not from the start of the memory allocation bound to the image.
Fixes:
dEQP-VK.image.subresource_layout.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17648 >
2022-07-20 10:33:57 +00:00
Iago Toral Quiroga
d2d2fdf934
v3dv: remove assert that poolSizeCount must be larger than 0
...
From the Vulkan spec:
"If poolSizeCount is not 0, pPoolSizes must be a valid pointer to an
array of poolSizeCount valid VkDescriptorPoolSize structures"
So 0 is actually allowed and there is a CTS to check it is handled gracefully.
Fixes:
dEQP-VK.api.descriptor_pool.zero_pool_size_count
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17648 >
2022-07-20 10:33:57 +00:00
Iago Toral Quiroga
19ef41b181
v3dv: handle VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17616 >
2022-07-20 10:05:59 +00:00
Marcin Ślusarz
5e14445430
nir: convert unused mesh outputs to shared memory
...
Otherwise reads from output in one subgroup may not see
writes from other subgroups. Temp variables are later converted
to scratch, so even within one subgroup we may not see correct values.
Test case in https://gitlab.freedesktop.org/mesa/crucible/-/merge_requests/115
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17517 >
2022-07-20 09:22:06 +00:00
David Heidelberg
e3e43cebff
ci: wine-apitrace bump to 11.1
...
In the future, bump will be needed to update non-VK tags as wine traces get
used elsewhere.
Reviewed-by: Andres Gomez <agomez@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17623 >
2022-07-20 08:35:01 +00:00
Juan A. Suarez Romero
95fe540139
v3d/ci: (partially) revert expected list
...
This reverts the traces expected list changed in f3579a62e9
("v3d/v3dv/ci: update expected results").
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17647 >
2022-07-20 09:37:43 +02:00
Mike Blumenkrantz
2e7ecc02bc
zink: default to lazy/templated descriptors
...
cached mode was great 2 years ago when template support was less widespread,
but now that templates are everywhere, caching is less performant in
every scenario
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17636 >
2022-07-20 04:24:19 +00:00
Mike Blumenkrantz
6493f6ef79
zink: add an explicit ZINK_DESCRIPTOR_MODE_CACHED
...
no functional changes, but now AUTO is no longer a mode that gets used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17636 >
2022-07-20 04:24:19 +00:00
Mike Blumenkrantz
9172127057
zink: delete ZINK_DESCRIPTOR_MODE_NOFALLBACK
...
this was useful for testing but is going to be less useful soon
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17636 >
2022-07-20 04:24:19 +00:00
Mike Blumenkrantz
1c2bd27d81
zink: move descriptor_mode to be a global
...
this can't change once it's been set, so having it per-object is pointless
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17636 >
2022-07-20 04:24:19 +00:00
Timothy Arceri
d1e36634bd
nir/loop_unroll: clean up after complex_unroll_single_terminator()
...
Previously we would just unroll the loop one extra iteration and let
other optimisation passes clean up the mess. This worked to a degree
but if the loop happened to be nested inside another loop we would
end up with phi chains that would block other passes from being able
to do the cleanup.
With this commit we explicitly clone the variables create by lcsaa
and insert them directly in the last continue branch after we are done
unrolling. With this optimisation passes can recognise both sides
of the if output the same values and can progress further.
Help with the issues described in:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6051
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17611 >
2022-07-20 03:47:45 +00:00
Dave Airlie
bfebf51571
lavapipe: state latest conformance tests passed
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Cc: mesa-stable "22.1"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17643 >
2022-07-20 03:36:13 +00:00
Danylo Piliaiev
7b0fcd8932
turnip: Disable LRZ fast-clear for gen1 and gen2
...
LRZ fast-clear works on all gens, however blob disables it on
gen1 and gen2. We also elect to disable fast-clear on these gens
because for close to none gains it adds complexity and seem to work
a bit differently from gen3+. Which creates at least one edge case:
if first draw which uses LRZ fast-clear doesn't lock LRZ direction
the fast-clear value is undefined.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6829
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17599 >
2022-07-20 02:58:44 +00:00
Emma Anholt
7e381ba9fc
ci/freedreno: Switch a630 to manual/disabled for lab maintenance.
...
We're getting several more 630s in the lab, but need a bit of time to swap
out some broken old ones and stabilize the new ones. Fritz thinks this
should be done in an hour or so, but I want to turn off the CI for main so
that we don't block anyone else.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17641 >
2022-07-20 02:00:43 +00:00
Yiwei Zhang
4ce29c5568
venus: reenable VK_EXT_extended_dynamic_state2
...
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/17582 >
2022-07-20 01:53:16 +00:00
Yiwei Zhang
4eaa780944
venus: check dynamic state for raster enablement
...
We should not scrub raster dedicated states when dynamic state includes
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE.
Test:
- dEQP-VK.pipeline.extended_dynamic_state.*_raster
- dEQP-VK.api.pipeline.pipeline_invalid_pointers_unused_structs.graphics
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/17582 >
2022-07-20 01:53:16 +00:00
Dave Airlie
e14022c052
crocus: fail query begin if upload allocation fails.
...
This is the only place I think I can see this crashing.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17615 >
2022-07-20 01:46:32 +00:00
SoroushIMG
2159a377c0
Zink: Fix clear being missed when using emulated draws in zink_blit
...
zink_kopper_acquire_readback will flush any outstanding clears, this means that
the current clears need to be applied first before calling zink_kopper_acquire_readback.
This was already done for native_blit and native_resolve, also do this for the emulated draw path.
Seen as intermittent failures in cts case GTF-GL33.gtf21.GL2FixedTests.buffer_clear.buffer_clear.
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17631 >
2022-07-20 00:39:33 +00:00
SoroushIMG
3dfd8e4d7d
zink: Fix spirv stream 0 vertex emit for multistream shaders
...
Spirv spec does not allow the use of OpEmitVertex or OpEndPrimitive when there are multiple streams.
Instead emit the multi-stream version of these with stream set to 0.
This issue was seen when testing cts case KHR-GL46.transform_feedback.draw_xfb_stream_test
Fixes: 35e346f428 ("zink: handle vertex streams")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17513 >
2022-07-20 00:19:38 +00:00
Jason Ekstrand
9ecc26ff27
anv: Do depth/stencil optimization for dynamic depth/stencil
...
When we made depth/stencil dynamic, we lost the optimization. This is
particularly important for cases where the stencil test is enabled but
never writes anything as certain combinations with discard can cause
the stencil write (which doesn't do anything) to get moved late which
can be a measurable perf hit. According to 028e1137e6 ("anv/pipeline:
Be smarter about depth/stencil state", it was a couple percent for DOTA2
on Broadwell back in the day. No idea how it affects current titles.
This may also improve the depth/stncil PMA workarounds on Gen8 and Gen9
since they're now looking at optimized depth/stencil state.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
07f5f15963
vulkan/graphics_state: Improve the depth/stencil optimization code
...
We now disable stencil writes when the stencil test is disabled or when
both stencil write masks are zero.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
7d25c04236
anv: Switch to using common dynamic state tracking
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
cc89232f2e
anv: Stop merging DEPTH_STENCIL state
...
Now that we've stopped trying to do dynamic stuff up-front, we're only
merging in one bit: DoubleSidedStencilEnable. There's no point in all
the merging code for one bit which is a constant anyway.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
97dd1a100d
anv: Rework setting primitive topology
...
For one thing, we were deceptively setting it wrong in genX_cmd_buffer.c
and then overwriting it in each of of gfx7_cmd_buffer.c and
gfx8_cmd_buffer.c. Pull it all into genX_cmd_buffer.c so it's no longer
duplicated. Also, stop doing the PATCHLIST conversion in anv_pipeline.c
and just store the number of patch vertices.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
b656957c56
anv: Convert to using vk_graphics_pipeline_state
...
This attempts to be a pretty minimal refactor. We just switch all the
state emit code to use the new graphics pipeline state object.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Lionel Landwerlin
44cbb7d9c8
anv: remove pipeline setting dynamic state
...
Following our rule that anything that can be dynamic should be set
(and is this case is already) in the following files :
- genX_cmd_buffer.c
- gfx8_cmd_buffer.c
- gfx7_cmd_buffer.c
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/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
18868f1c76
anv: Stop recording sample locations per-sample-count
...
The only reason why we recorded them per-sample-count is because Intel
hardware is weird starting with Broadwell. The API, requires that the
dynamic sample pattern be reset every time the sample count changes so
we only need to record the pattern for the current sample count.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
36417bd05b
anv: Handle vertex buffer sizes in anv_CmdBindVertexBuffers2
...
There's no good reason to defer figuring out the size until we emit the
packet. We know everything when the bind happens.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
1faba01c2b
anv: Add an instance multiplier to anv_pipeline
...
This lets us get rid of the view_mask and pipeline replication logic
repeated all over everywhere.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Daniel Schürmann
6f25d45877
spirv: handle phis decorated with RelaxedPrecision
...
If the driver can do 16-bit ALU ops, then store RelaxedPrecision phi
values into 16-bit NIR variables with downconverts/upconverts on the way
in/out.
This has no impact on shader-db on freedreno (not that we have a ton of
GLES content there), but it does cause an ANGLE-translated CTS shader on
vulkan to get consistent conversions between two copies of a value, and
avoid a test bug.
Reviewed-by: Emma Anholt <emma@anholt.net >
Closes : #6585
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14018 >
2022-07-19 21:58:01 +00:00
Emma Anholt
cde8c92ab6
ci/bare-metal: Add timeouts to the shell commands called in fastboot.
...
It seems that we sometimes stall out executing "fastboot boot", and if
that happens we want to reboot the board and try again.
Fixes : #6682
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17607 >
2022-07-19 21:05:07 +00:00
Rhys Perry
0fb3aa005f
radv: don't update misaligned_mask in CmdBindVertexBuffers2
...
This can't do it in the loop because it doesn't easily know what
attributes use a binding.
We could do it in a separate loop, but there's no point, especially since
zink does CmdSetVertexInputEXT() after CmdBindVertexBuffers2().
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: c335a4d70e ("radv: dynamically calculate misaligned_mask for dynamic vertex input")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17521 >
2022-07-19 20:40:20 +00:00
Rhys Perry
1d019d2ab7
radv: fix vbo_bound_mask indexing
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6812
Fixes: 1b8bdecf6e ("radv: add a mask of bound descriptor buffers for dynamic vertex input")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17521 >
2022-07-19 20:40:20 +00:00
Pavel Ondračka
ae003ef78c
r300: disable PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF
...
We can't do uniform buffer objects and from the hardware
perspective constants (uniforms) and immediates are treated in
the same way. They are uploaded together and fit together into the
(rather low) total constant limit. Therefore, there is actually no
advantage in converting immediates to uniforms, and a whole lot of
disadvantages (less possible optimizations and no inlining).
Fixes the dEQP regressions from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770
The tests failed because when there is an indirect array access the
compiler inserts a big if ladder and converting the temp to a uniform
means more instructions because the ifs cant be lowered at least
partially to selects. It is particularly visible, because the code
NIR currently emits for the indirect access doesn't really fit the
hardware, see: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6366
No change in my shader-db, so this concerns the tests only.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17576 >
2022-07-19 20:31:37 +00:00
Jason Ekstrand
3f19a60869
vulkan: Detect pNext chain loops in vk_foreach_struct() (v2)
...
This implements the "tortoise and the hare" algorithm for detecting
cycles in graphs. We use the caller's iterator as the hare and our own
internal copy as the tortoise. Conveniently, VkBaseOutStructure (and
VkBaseInStructure which is identical except the pointer type on pNext)
have a pointer we can use for the tortoise and an sType which we can use
for a counter to ensure we only increment the tortose every other loop
iteration.
There are more efficient algorithms than tortoise and hare but they
require allocating memory for something like a hash set of seen nodes.
Since this for debug purposes only, it's ok for it to be a bit
inefficient in the case where it hits the assert. In the usual case of
no loops, it's the same runtime efficiency as the unchecked version
except that it does a tiny bit of math and 50% more pointer chases.
Version 1 worked fine with clang and with GCC 12.1 with -O0 but not with
optimizations. See https://gitlab.freedesktop.org/mesa/mesa/-/issues/6895 .
Unfortunately, the first version required modifying a temporary declared
const inside the for loop and that seems to have been the problem. This
version instead has an iterator struct which is managed by an outer for
loop and the inner for loop exists to declare the user's requested
iteration variable and manage the actual iteration. Because the outer
for loop is effectively `for (bool done = false; !done; done = true)`,
it will execute exactly once, regardless of the inner loop, so break and
continue inside the inner loop should work the same as if it's a single
for loop.
The other major difference with the new version is that the code is the
same for debug and release except the half_iter and loop check are gone.
I've verified by hand that this produces virtually identical code to the
old simple iterators on both GCC andl clang with an optimized build.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17630 >
2022-07-19 19:55:17 +00:00
Jason Ekstrand
b510ee0d22
Use vk_foreach_struct_const where needed
...
We're about to make it so that the compiler warns/errors if you use the
wrong iterator macro. Fix up a bunch of places where someone used the
wrong one before we break anything.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17630 >
2022-07-19 19:55:17 +00:00
Jason Ekstrand
9066cc86bb
vulkan: Copy the depth/stencil state optimization code from ANV
...
Instead of having stencil writes as an out parameter of the optimization
function, we add a new write_enable field for stencil that's equivalent
to the similarly named field for depth. This doesn't mean drivers must
actually support disabling stencil writes independently but the
information may be helpful on some hardware.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:34 +00:00
Jason Ekstrand
4ad149a8fc
vulkan: Add a common implementation of vkCmdSet*
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:34 +00:00
Jason Ekstrand
fcedb1250b
vulkan: Add a common data structure for dynamic states
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:34 +00:00
Jason Ekstrand
09188c9659
util: Constify __bitset_test_range
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:33 +00:00
Jason Ekstrand
7ca8dcb05f
vulkan: Add data structures to store all graphics state
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:33 +00:00
Jason Ekstrand
fed81dc306
vulkan: Add standard sample locations
...
This looks a bit funny because we define the struct in the .c file but
that will be fixed in the next commit.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:33 +00:00
Jason Ekstrand
fb3f9c0aac
vulkan: Add an enum for all dynamic graphics states
...
Also, add a helper function to turn VkPipelineDynamicStateCreateInfo
into a bitset.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:33 +00:00
Jason Ekstrand
6b6c1a7ddd
vulkan: Add a vk_limits.h file for runtime limits
...
Individual driver limits may be smaller than these.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17328 >
2022-07-19 19:19:33 +00:00
Samuel Pitoiset
e840ba9ed8
aco: requires Exact for p_jump_to_epilog
...
Otherwise, in presence of p_exit_early_if the main FS will always
jump to the PS epilog regardless the exact mask.
This fixes dEQP-VK.draw.renderpass.shader_invocation.helper_invocation
and few vkd3d-proton regressions when PS epilogs are forced.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17617 >
2022-07-19 17:52:36 +00:00
Juan A. Suarez Romero
f3579a62e9
v3d/v3dv/ci: update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17632 >
2022-07-19 17:26:52 +00:00
Daniel Schürmann
ac39e7bf23
aco: fix assertion in insert_exec_mask
...
The exec mask might also be of type mask_type_loop.
Fixes: d068eb53e8 ('aco/insert_exec_mask: optimize top-level transition to exact before demote')
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17402 >
2022-07-19 16:56:37 +00:00
Daniel Schürmann
6de68c5dca
aco: Avoid live-range splits in Exact mode
...
Because the data register of atomic VMEM instructions
is shared between src and dst, it might be necessary
to create live-range splits during RA.
Make the live-range splits explicit in WQM mode.
Totals from 7 (0.01% of 134913) affected shaders: (GFX10.3)
Latency: 17209 -> 17210 (+0.01%)
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15347 >
2022-07-19 16:30:49 +00:00
Daniel Schürmann
f12eb5c213
aco: avoid unnecessary copies in emit_wqm()
...
No fossil-db changes.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15347 >
2022-07-19 16:30:49 +00:00
Hyunjun Ko
4bccee123f
turnip: expose VK_EXT_shader_module_identifier
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17614 >
2022-07-19 16:12:15 +00:00
Hyunjun Ko
d046d6e9e0
turnip: Remove an unnecessary assert.
...
The assertion is already in the common implementation.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17614 >
2022-07-19 16:12:15 +00:00
Konstantin Seurer
d4ca5942be
ac/llvm: Remove load_vertex_id handling
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17539 >
2022-07-19 13:26:09 +00:00
Konstantin Seurer
83ccc810b4
aco: Remove dead nir_intrinsic_load_vertex_id case
...
This intrinsic is lowered in NIR.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17539 >
2022-07-19 13:26:09 +00:00
Konstantin Seurer
eb19640d61
radeonsi: Set vertex_id_zero_based
...
Let NIR lower load_vertex_id instead of LLVM.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17539 >
2022-07-19 13:26:09 +00:00
Konstantin Seurer
d316d24d74
v3dv: Use nir_gen_rect_vertices
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17535 >
2022-07-19 12:47:31 +00:00
Konstantin Seurer
f90babb567
radv: Use nir_gen_rect_vertices
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17535 >
2022-07-19 12:47:30 +00:00
Konstantin Seurer
fab0050223
nir: Add a common gen_rect_vertices implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17535 >
2022-07-19 12:47:30 +00:00
Samuel Pitoiset
203afc9351
radv: disable viewport depth clamping only when necessary
...
When the application uses depth values outside of the [0.0,1.0] range
with VK_EXT_depth_range_unrestricted, or when explicitly disabled.
Otherwise, the driver can clamp to [0.0,1.0] internally for optimal
performance.
From the Vulkan spec "in 28.10.1. Depth Clamping and Range Adjustment":
"If depth clamping is not enabled and zf is not in the range [0, 1]
and either VK_EXT_depth_range_unrestricted is not enabled, or the
depth attachment has a fixed-point format, then zf is undefined
following this step."
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16349 >
2022-07-19 09:00:27 +00:00
Iago Toral Quiroga
bec3c83e19
v3dv: implement VK_KHR_buffer_device_address
...
This feature allows shaders to use pointers to buffers which may
not be bound via descriptor sets. Access to these buffers is done
via global intrinsics.
Because the buffers are not accessed through descriptor sets, any
live buffer flagged with VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
can be accessed by any shader using global intrinsics, so the driver
needs to make sure all these buffers are mapped by the kernel when
it submits the job for execution.
We handle this by tracking if any draw call or compute dispatch in
a job uses a pipeline that has any such shaders. If so, the job is
flagged as using buffer device address and the kernel submission
for that job will add all live BOs bound to buffers flagged with the
buffer device address usage flag.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275 >
2022-07-19 09:47:34 +02:00
Iago Toral Quiroga
90054e9c5d
broadcom/compiler: track if a shader uses global intrinsics
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275 >
2022-07-19 09:47:34 +02:00
Iago Toral Quiroga
fa03d9c8be
broadcom/compiler: implement 2x32 global intrinsics
...
Notice we ignore the high 32-bit component of the address because
we know it must be 0.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275 >
2022-07-19 09:47:34 +02:00
Iago Toral Quiroga
b18cecbfb6
nir: add nir_address_format_2x32bit_global
...
This adds support for global 64-bit GPU addresses as a pair of
32-bit values. This is useful for platforms with 32-bit GPUs
that want to support VK_KHR_buffer_device_address, which makes
GPU addresses explicitly 64-bit.
With the new format we also add new global intrinsics with 2x32
suffix that consume the new address format.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275 >
2022-07-19 09:47:34 +02:00
Iago Toral Quiroga
ea3acbef8d
v3dv: remove duplicate condition
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
706f1252ba
v3dv: explain why we clear certain state after a draw call
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
702b685b07
v3dv: add a dirty state for pending push constants UBO updates
...
If we have 2 pipelines that consume the same push constant data
but where one of them only uses direct access and the other has
indirect access, a draw with the first pipeline would clear the
dirty flag without updating the UBO and by the time we bind and
draw with the second pipeline we won't upload the constants either
because the first draw cleared the dirty flag.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
3898bf6971
v3dv: allocate more push constant buffers if needed
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
e451c612df
v3dv: stop tracking push constant buffer references
...
Since we allocate this ourselves we can immediately add it to the
job at the time we allocate it.
This also fixes a bug we introduced when we implemented inline
uniforms because since that commit, if we had an inline uniform
buffer at index 1 which happend to have indirect access we would
track it in slot 0 instead of slot 1, potentially overwriting
the push constant buffer reference.
Fixes: ea3223e7a4 ('v3dv: implement VK_EXT_inline_uniform_block')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
45b8dc667a
v3dv: don't allocate MAX_PUSH_CONSTANTS_SIZE bytes for the push constants UBO
...
We have code in there to allocate various segments of MAX_PUSH_CONSTANTS_SIZE
to handle the case of various draw calls in the same command buffer requiring
different push constants, so we are implicitly expecting it to be larger than
this. In fact, this only works now because when we allocate a BO we are always
at least allocating a full page, so the least we ever allocate is 4096 bytes,
so be explicit about it to avoid confusion.
Also, since we were always mapping MAX_PUSH_CONSTANTS_SIZE and the mapping
always starts at the beginning of the BO, it looks like after the first copy
when the resource offset is not zero, we would be writing outside the mapped
range. Always map the full size of the BO instead to ensure this doesn't
happen.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
51a45f9315
v3dv: limit upload of indirect push constant data
...
We have been always uploading MAX_PUSH_CONSTANTS_SIZE but now that
we track the actual size of the push constant buffer we can use
this instead.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
005542f0e3
v3dv: move push constant data to the command buffer state
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Iago Toral Quiroga
41a0c89d9f
v3dv: only save/restore push constant data for meta operations if needed
...
If the command buffer didn't have any push constants or the meta
operation didn't write any new constants we don't need to restore
the state.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536 >
2022-07-19 05:46:04 +00:00
Jason Ekstrand
669daa37b1
Revert "vulkan: Detect pNext chain loops in vk_foreach_struct()"
...
This reverts commit 4c56b535f5 .
2022-07-18 23:48:59 -05:00
Lionel Landwerlin
2bfcd29155
anv: move restart index to gfx state
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
a9abf1dd93
anv: fix primitive topology dynamic state emission on gfx7
...
This dynamic state uses the pipeline information so it needs to be
reemitted whenever the pipeline changes.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
25de752234
anv: name non dynamic state fields correctly
...
Those fields have confusing names. They hold non dynamic state,
specified at pipeline creation that we copy into the dynamic state of
the command buffer whenever we bind a pipeline. This non dynamic state
might get picked up in the dynamically emitted instructions of the 3D
pipeline because our HW packets are not exactly splitted like the
Vulkan API.
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
5b6e6a672c
anv: reorder & document fields of anv_graphics_pipeline
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
aea9abd71b
anv: move CreateRayTracingPipelines to common code
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
ffc798c364
anv: move CreateComputePipelines to common code
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
2c816b4f2e
anv: move CreateGraphicsPipelines to common code
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
1ba89d35ab
anv: rename internal function for consistency
...
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/17601 >
2022-07-19 02:36:09 +00:00
Jason Ekstrand
cb682a1cdd
anv: Don't use the wrong ARRAY_SIZE
...
Even though this doesn't change anything, it's not good to use an
ARRAY_SIZE for one array to iterate over another.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
f66192a4b3
anv: split graphics nir loading
...
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
36aa0f668f
anv: break up anv_pipeline_compile_graphics()
...
This function is pretty overwhelming.
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
c806d1e5ed
anv: simplify dynamic buffer count in pipeline layout
...
anv_descriptor_set_layout already has the information we're gather
here.
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/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
5b561b501a
anv: remove local computation of dynamic states
...
This bit mask is already computed in
anv_graphics_pipeline::dynamic_states in anv_graphics_pipeline_init().
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/17601 >
2022-07-19 02:36:09 +00:00
Jason Ekstrand
4c56b535f5
vulkan: Detect pNext chain loops in vk_foreach_struct()
...
This implements the "tortoise and the hare" algorithm for detecting
cycles in graphs. We use the caller's iterator as the hare and our own
internal copy as the tortoise. Conveniently, VkBaseOutStructure (and
VkBaseInStructure which is identical except the pointer type on pNext)
have a pointer we can use for the tortoise and an sType which we can use
for a counter to ensure we only increment the tortose every other loop
iteration.
There are more efficient algorithms than tortoise and hare but they
require allocating memory for something like a hash set of seen nodes.
Since this for debug purposes only, it's ok for it to be a bit
inefficient in the case where it hits the assert. In the usual case of
no loops, it's the same runtime efficiency as the unchecked version
except that it does a tiny bit of math and 50% more pointer chases.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17596 >
2022-07-19 02:11:07 +00:00
Emma Anholt
94bd06256a
intel/fs: Simplify brw_barycentric_mode() args.
...
Reduce a bit of mode lookup noise I was tracing through trying to resolve
the previous bug.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17381 >
2022-07-19 01:25:47 +00:00
Lionel Landwerlin
2d1f021e16
intel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it.
...
[anholt: changed to make all drivers do the right thing by moving the
payload barycentric check into the compiler]
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17381 >
2022-07-19 01:25:47 +00:00
David Heidelberg
075564c251
ci: move apitrace instalation outside of x86_test-vk
...
It'll be re-used by piglit traces.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17573 >
2022-07-18 23:19:18 +00:00
Emma Anholt
3d62a41dcc
freedreno/ir3: Enable core NIR's 16-bit ALU optimizations.
...
In addition to hopefully generating shorter code, this optimizes out a
comparison of a mediump-cast value in
dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_fragment passed
through ANGLE, and allows the test to pass. We believe it to be a
test bug, but emitting better code like apparently everyone else does
is also a fine result.
No change on GLES gfxbench shaders.
Fixes : #6585
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17546 >
2022-07-18 22:41:18 +00:00
Konstantin Seurer
fc26fbde3d
vulkan: Common vk_format_get_component_bits
...
RADV and PowerVR use the same implementation.
Turnip does use a slightly modified version but the helper only has one
use -> just inline it and get rid of turnip's vk_format.h.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17515 >
2022-07-18 22:14:06 +00:00
jheaff1
2e71e23188
build(glx): Fix build by adding missing deps
...
dri3_glx.c includes xshmfence and glxcmds.c includes xf86vm, neither of
which are listed as dependencies of the glx lib in the meson.build file.
Consequently, those files would fail to compile on machines that did not
have xshmfence and xf86vm installed globally. This commit rectifies the
issue by adding the missing dependencies
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17585 >
2022-07-18 21:12:26 +00:00
Mike Blumenkrantz
48491386ff
mesa/st: add implicit zeroing of clipdistance array
...
GL drivers have an implicit default of "in bounds" for unwritten clipdistance
values, but some (layered) drivers have to deal with api mismatch which
prevents that implicit value from being used after the shader
gets mangled by various compiler passes
to avoid issues here, write out all members of the clipdistance array
with zeroes at the very start of the shader such that any values the
shader actually writes will naturally overwrite the implicit zero and
any unwritten values will now be written as zero
fixes #6845
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17498 >
2022-07-18 20:33:11 +00:00
Mike Blumenkrantz
071d335ca2
zink: tu a630 baseline update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17606 >
2022-07-18 20:15:05 +00:00
Mike Blumenkrantz
b6df410d26
zink: nv baseline update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17606 >
2022-07-18 20:15:05 +00:00
Adam Jackson
c123ab2137
kopper: Implement {EGL,GLX}_EXT_buffer_age
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17527 >
2022-07-18 19:31:29 +00:00
Mike Blumenkrantz
81d83e81db
zink: break out tc/trace context unwrapping
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17527 >
2022-07-18 19:31:28 +00:00
Yiwei Zhang
a211d74096
venus: filter out VK_EXT_physical_device_drm on the driver side
...
Fixes: a1a22862c6 ("venus: implement VK_EXT_physical_device_drm")
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/17591 >
2022-07-18 19:23:53 +00:00
Dave Airlie
50e3303b3d
kms/dri: add mutex lock around map/unmap
...
this can get called from multiple threads with the recent llvmpipe
overlapping rendering changes, so make sure to lock around the
map/unmapping so they can't race.
This should fixes some crashes seen with kwin.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Tested-by: Adam Williamson (Fedora)
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17531 >
2022-07-18 19:06:30 +00:00
Samuel Pitoiset
5ee5c73d2d
radv: implement PS epilogs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
270cc39648
aco: add support for compiling PS epilogs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
8d13392969
aco: refactor export_fs_mrt_color() for PS epilogs preparation
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
df8fb721a5
radv,aco: rename radv_aco_build_prolog to radv_aco_build_shader_part
...
Will be re-used for PS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
897561b7b9
aco: add aco_postprocess_shader() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
d9ffff09b0
aco: prevent adding DONE/VM to the last export if the FS has an epilog
...
If the fragment shader exports MRTZ and the epilog some color exports,
DONE/VM should be added to the last export.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
2784bfe93f
aco: do not abort if the FS doesn't export anything but has an epilog
...
The main fragment shader can only export MRTZ (if present) and the
epilog will export colors.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
a6dff6caa1
aco: emit p_jump_to_epilog if the main fragment shader has an epilog
...
MRTZ is still exported from the main shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
8bdcc20815
aco: add new pseudo instruction p_jump_to_epilog
...
The first operand of this new pseudo-instruction is a 64-bit SGPR for
the continue PC, followed by a variable list of fixed VGPRS for the
color exports which are the PS epilog inputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
0fd3754c26
radv: add a function that declares PS epilog shader arguments
...
The PS epilog would be a "normal" compiled shader using RA, etc. It
will declare up to 8x4 VGPRs for all color exports.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
a38db1a94e
radv: declare a new user SGPR arg in FS for the epilog PC
...
The main FS would have to jump to the PC of the PS epilog. Given that
shaders are allocated in the 32-bit addr space, one user SGPR is fine.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
0db7a0b6e8
radv,aco: introduce {radv,aco}_ps_epilog_key
...
To pass the necessary pipeline information for compiling PS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Samuel Pitoiset
eee098486a
radv,aco: track if a fragment shader needs an epilog
...
This is currently disabled but it will be used for testing first,
and then for graphics pipeline libraries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17485 >
2022-07-18 18:40:02 +00:00
Ruijing Dong
a585d95803
frontends/va: WA for ffmpeg 10bit encoding crash
...
When doing 10bit encoding in ffmpeg it uses
VaDeriveImage, and that could result in missing
mapping the chroma buffer of the input frame.
This WA to disallow ffmpeg using VaDeriveImage
function, so that VaCreateImage and VaPutImage can
be used and WA the chroma buffer mapping issue.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17472 >
2022-07-18 17:23:22 +00:00
Ruijing Dong
cd653e5cc7
frontends/va: do texture_map when needed
...
When map buffer, and its target is texture,
texture_map/unmap need to be used.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17472 >
2022-07-18 17:23:22 +00:00
Erik Faye-Lund
e630637eab
dzn: expose VK_KHR_driver_properties
...
We're not quite conformant with the extension, because we don't have
a valid conformance version.
That's not a quick-fix, so we should probably just accept some failures
for now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 17:10:52 +02:00
Erik Faye-Lund
e5da067384
dzn: fill misc props
...
This is just a bag of misc properties that we should fill in.
Not all of them are filled out super accurately, but this is the best we
can do for now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
053e2fd9d0
dzn: fill in minmax props
...
This should be possible to support, but we don't support minmax blending
at all yet, so let's leave these as unsupported for now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
18c590e0b3
dzn: fill in depth/stencil resolve props
...
Before enabling Vulkan 1.2 support, we need to fix the TODO in here.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
141e715f29
dzn: fill in bindless props
...
These might not be exactly right, but they are good enough for now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
34b0828cdc
dzn: fill in non-uniform-indexing props
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
8e9191cd24
dzn: fill in float-control details
...
We can do better here in the future, but this is what's supported right
now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Erik Faye-Lund
4d7403d4dc
dzn: fill in driver name and info
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16998 >
2022-07-18 16:49:42 +02:00
Konstantin Seurer
0580910aa9
radv: Only set rt stack size for dynamic stacks
...
When using a static callable stack, the required scratch has already
been allocated.
Dynamic stacks are located at the end of scratch memory
and are allocated on demand using radv_set_rt_stack_size.
Static stacks live at the start of scratch memory and are allocated in
create_rt_shader by setting scratch_size.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17579 >
2022-07-18 12:05:35 +00:00
Qiang Yu
eeaf0b1888
ac/nir/ngg: add a barrier before prim id export
...
When culling enabled, it will use LDS space, which overlap with
the prim id export.
Fixes: e97f0463a8 ("ac/nir: Implement NGG deferred attribute culling in NIR.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17593 >
2022-07-18 09:50:09 +00:00
Qiang Yu
0b7ef846b3
ac/nir/ngg: fix nogs culling scratch size
...
Should be in bytes not dwords.
Fixes: e97f0463a8 ("ac/nir: Implement NGG deferred attribute culling in NIR.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17593 >
2022-07-18 09:50:09 +00:00
Timur Kristóf
5050db0b55
radv: Remove trailing whitespace introduced by DGC commits.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17580 >
2022-07-18 08:23:41 +00:00
Timur Kristóf
b732285312
radv: Only initialize DGC state when DGC is enabled.
...
This function causes a crash with RADV_DEBUG=llvm and this commit
works around that crash.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17580 >
2022-07-18 08:23:41 +00:00
Mike Blumenkrantz
7ea7d0687b
zink: inject a 0,0,0,1 clear for RGBX formats
...
this ensures the alpha component is full if it must be read for fbfetch
fixes (RGBX swapchain config):
KHR-GL46.blend_equation_advanced*
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
ac38139c34
zink: simplify zink_framebuffer_clear_data union
...
no functional changes
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
7754041ed6
zink: delete srgb tracking for clears
...
no longer used
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
b0e62adbcc
zink: delete zink_fb_clear_util_unpack_clear_color
...
no longer used
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
d8fa4e6797
zink: remove out-of-renderpass clears
...
these are only ever going to hurt tiler perf, so remove the footgun
this also means there's no more srgb format conversion needed, so delete
all of that too
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
66ceea7ed9
zink: lift clearing on fb state change up a level
...
in the scenario where:
* at least 1 color buffer was bound and a depth buffer was bound
* no color clear was enabled
* a zs clear was enabled
* the zs clear was never flushed
* the zs clear needs a renderpass
* the fb state changes
the color buffer(s) would be unbound, following which the depth buffer unbind
would trigger a renderpass, which would utilize the just-unbound color buffers,
which have no batch tracking, thus creating a case where the surface was destroyed
while it was still in use
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
e81d6cec27
zink: clamp color clear values based on format
...
formats like GL_RGB10_A2UI can be cleared with out of range values,
so to ensure consistent driver behavior, pre-clamp to the valid range
affects:
KHR-GL46.direct_state_access.renderbuffers_storage_multisample
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
95f1c84739
zink: add explicit (awful) handling for fb layer mismatch clears
...
this is terrible and (hopefully?) rare, so just force it out early to
avoid any kind of issue
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
631db579af
zink: track a bitmask of fb attachments with mismatched layer counts
...
these need special handling for clears
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
9d68684240
zink: always use storeOp=STORE for depth renderpass
...
it's unknown whether there may be clears to the depth attachment at the start of
a renderpass, so always assume there will be
Fixes: c132a28745 ("zink: use store op NONE when necessary for depth usage")
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
442281447a
zink: remove u_blitter usage from zink_clear_render_target
...
this is more operations than needed
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:38 +00:00
Mike Blumenkrantz
d53395ad06
zink: remove non-renderpass clear path from zink_clear_texture
...
this should always be faster
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
f1f08e3529
zink: massively simplify zink_clear_depth_stencil
...
this now just uses renderpass clears
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
3488dc7dd0
zink: improve zink_clear_depth_stencil check for current attachment
...
this is technically more correct since it accounts for multi-context usage
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
c1cc2bd48e
zink: stop using u_blitter for texture clears
...
this was really stupid: instead of just binding a new fb and firing off
a clear, the code was calling u_blitter to bind a new fb and do actual
draws
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
04a5471b5e
zink: fix coverage check for texture clears
...
this wasn't actively harmful, but it was potentially differently-performant
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
b33f041810
zink: remove format check from clear texture
...
this is going to be a render target no matter what
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
8bb5a11503
zink: fix transient attachment rp assert
...
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Mike Blumenkrantz
d1db078619
zink: remove bogus range tracking from texture clear
...
too much copy/paste
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17366 >
2022-07-18 03:40:37 +00:00
Dave Airlie
af2e4a23c9
lavapipe: enable variablePointers
...
This passes the CTS with no regressions.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17587 >
2022-07-17 23:16:40 +00:00
Dave Airlie
dbd9caae5e
lavapipe: drop unreachable pNext checks.
...
These are reachable, and
dEQP-VK.api.smoke.triangle_ext_structs,Crash is why.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17586 >
2022-07-17 23:02:19 +00:00
Mihai Preda
bc78b861ca
gallium: LLVM-15 contexts use non-opaque pointers
...
LLVM-15 enables opaque pointers by default. We temporarilly request
non-opaque pointers while we migrate our code to support non-opaque pointers.
This workaround needs to be removed before LLVM-16.
See #6615
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17514 >
2022-07-17 21:44:37 +00:00
Rob Clark
81d85be9a5
freedreno/gmem: Reverse order of alternative tile rows
...
Similar motivation as c426e21ff1 ("turnip: Reverse the order of walking
pipes or tiles on odd rows."), but instead we just swap the order of
alternate rows of fd_tile the the gmem stateobj.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17303 >
2022-07-16 15:37:34 +00:00
Daniel Stone
cdb7a3b0e2
Revert "CI: Disable Collabora lab"
...
This reverts commit 7a336c97ef692ed96cc93394596a7d0650983874.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17563 >
2022-07-16 11:44:26 +00:00
Arvind Yadav
1fbc7337a1
radeonsi: Enable nir_lower_point_smooth lowering pass for point smoothing
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15117 >
2022-07-16 07:08:33 -04:00
Arvind Yadav
8adbd2a964
ac/llvm: Implement nir_intrinsic_load_point_coord_maybe_flipped opcodes
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15117 >
2022-07-16 07:08:10 -04:00
Arvind Yadav
689559d10f
ac/llvm : Adding Number of all interpolated inputs in ac_shader_abi
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15117 >
2022-07-16 07:08:10 -04:00
Arvind Yadav
30865756db
nir: Add a lowering pass for point smoothing
...
When point smoothing is enabled then this lowering pass will
modifies the alpha component of every write to fragment output.
Anti-aliased points get rounded with respect to their radius instead
of square.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15117 >
2022-07-16 07:08:09 -04:00
Arvind Yadav
cad4908fa0
nir: add load_point_coord_maybe_flipped intrinsics for point smoothing
...
gl_PointCoord can be flipped upside down via a state.
To avoid this adding new load_point_coord_maybe_flipped intrinsics.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15117 >
2022-07-16 07:07:32 -04:00
Arvind Yadav
25204d89a6
radeonsi: Add nir_lower_poly_line_smooth pass for polygon and line smoothing
...
Added a new NIR pass for handling polygon and line smoothing and
Removed previous smoothing changes.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16245 >
2022-07-16 10:15:22 +00:00
Arvind Yadav
2709786bde
nir: Add a lowering pass for polygon and line smoothing
...
When poly_line smoothing is enabled then this lowering pass will
modify the alpha component of every write to fragment output
using sample coverage mask.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16245 >
2022-07-16 10:15:22 +00:00
Emma Anholt
a43b96ab1a
ci/crocus: Drop xfails for the recent image external fix.
...
Fixes: 8856379a03 ("mesa/st: don't guess the internal format if it's known")
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17572 >
2022-07-16 04:31:56 +00:00
Emma Anholt
c0930b552d
ci/crocus: Disable the blender trace.
...
It gives inconsistent sha1s.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17572 >
2022-07-16 04:31:56 +00:00
Emma Anholt
f96688fec2
ci/crocus: Update portal 2 trace shas for the recent fix.
...
they render correctly now.
Fixes: 4e797ac530 ("st/glsl: fix broken vertex attrib mapping")
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17572 >
2022-07-16 04:31:56 +00:00
Emma Anholt
c7c265892a
mesa/arbprog: Stop doing optimization in the ARB program IR.
...
You'll get all this and more anyway once you're in NIR. This lets us GC a
bunch more ARB program transformation code.
No effect in shader-db on softpipe.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528 >
2022-07-16 04:08:32 +00:00
Emma Anholt
c13dbf6ae9
mesa/arbprog: Use nir_lower_io_to_temporaries.
...
This replaces our mesa_remove_output_reads(), which in turn GCs some other
ARB program transformation code.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528 >
2022-07-16 04:08:32 +00:00
Emma Anholt
153f7b8852
mesa/arbprog: Move the GLSLFragCoordIsSysVal handling to prog_to_nir.
...
We don't need to go grubbing around in the ARB program when we can use the
right variable type at prog_to_nir time. This does leave
fp->system_values_read/inputs_read as they were, but I don't see anywhere
that that matters (the NIR will have its info gathered appropriately, and
other lowering may also cause mismatch between the gl_program and the
NIR).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17528 >
2022-07-16 04:08:32 +00:00
Jesse Natalie
c002bbeb2f
util: Add a Win32 futex impl
...
This uses APIs that are not available on Win7. Since this is a build-time
configuration, and since we can't use the SDK version as an indicator
(since you can support Win7 via new SDKs), a new option is added to allow
disabling it, to maintain Win7 support if desired.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17431 >
2022-07-15 21:31:51 +00:00
Yiwei Zhang
62f79f9ec1
venus: add more tracepoints for perf analysis
...
This change adds the tracepoints that can help understand app behavior
for debugging and performance optimization purposes.
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/17497 >
2022-07-15 20:57:41 +00:00
Yiwei Zhang
f96e25ae05
venus: suballocate more for layering
...
Previously we suballocate only for host visible memory type to reduce
the kvm mem slot usage. That is no longer an issue given the limit has
been raised. However, we should still suballocate to make layering
clients performant. So we just suballocate regardless of mem type.
This change also increases the allowed suballocation size request from
64K to 128K, which makes layering clients happier.
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/17497 >
2022-07-15 20:57:41 +00:00
naveen
1eea424a7e
github/ci: Set permissions for GitHub actions
...
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ )
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17562 >
2022-07-15 20:56:16 +00:00
Mike Blumenkrantz
3ff058ed0b
mesa: update GL_CLAMP emulation when binding/unbinding textures
...
binding/unbinding a texture affects the previously specified parameters,
so ensure the driver flag for clamp emulation is also set to perform
updates as needed
Fixes: e8f71f6ac4 ("mesa/st: add PIPE_CAP_GL_CLAMP")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17459 >
2022-07-15 18:58:15 +00:00
Mike Blumenkrantz
068239dad0
mesa: track which sampler wrap params use GL_CLAMP
...
this adds a bitmask to sampler objects for tracking whether GL_CLAMP
is active
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17459 >
2022-07-15 18:58:15 +00:00
Mike Blumenkrantz
c17bfc5309
mesa: move is_wrap_gl_clamp() to samplerobj.h and deduplicate
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17459 >
2022-07-15 18:58:15 +00:00
Mike Blumenkrantz
56e5eaeba1
zink: fix xfb emit check in compiler
...
nir->info.has_transform_feedback_varyings is set for all stages in the
pipeline when xfb is present, so it can't be used for this
harmless, but this is more correct
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
bd2eaaeb7d
zink: add a compiler pass to split xfb block outputs
...
this splits all the members of a struct into separate variables to
improve xfb inlining and reduce the number of locations consumed by
xfb outputs, reducing the chances of running out of shader outputs
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
924145c7b5
zink: bitcast extracted streamout components to uint before creating uvec
...
spirv can't create a uvec from float components, so pre-cast here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
c189b7f585
zink: use right glsl length getter for ntv partial stores
...
why does glsl_get_length exist if it returns 0 for the most common cases?
Fixes: 31ba19ff68 ("zink: fix ntv partial stores")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
5245290565
zink: fix xfb array inlining
...
get_slot_components() returns the total number of output components
for arrays for initial evaluation phase, but during the packed->inlined
conversion the arrayed size must be normalized to the slot's component count
in order to effectively catch and inline the array
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
042cc6e6e6
zink: split xfb block emission from array/matrix handling
...
these are not necessarily the same case even if in glsl they are the same,
and by splitting it out a bunch of redundant array[scalar] code can be deleted
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
76cc519866
zink: handle bare matrix types in xfb emission
...
these have no inherent slot index since they aren't block members
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
Mike Blumenkrantz
a0771cd4ab
zink: always use 32bit floats for so output types
...
doubles may be the output variable type, but the xfb output will always
be 32bit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17404 >
2022-07-15 17:32:27 +00:00
David Heidelberg
c5ebd44850
ci: Allow disabling the whole of the Igalia farm
...
Add a global-level variable that allows disabling all jobs that would
have gone to the Igalia lab, to be used in case of outages or failures.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17178 >
2022-07-15 16:56:03 +00:00
Jesse Natalie
f4a5e95ad2
CI: Update DirectX-Headers dependency for MinGW/Debian
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
1e59bc7a74
subprojects: Point DirectX-Headers at a specific tag
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
f4f1914cd2
microsoft/clc: Add helpers to build with correct ABI for MinGW
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
e14beaf05b
d3d12: Add helpers to build with correct ABI for MinGW
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
489ab1aa3b
dzn: Remove the cast when the SDK version is high enough
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Jesse Natalie
b9fb14da06
dzn: Missed ABI fixes for GetCustomHeapProperties
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17548 >
2022-07-15 16:27:11 +00:00
Eric Engestrom
8317de8ed3
docs/isl: fix typos & formatting
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17522 >
2022-07-15 15:17:45 +00:00
Tatsuyuki Ishi
648731e2bd
radv: Only set pstate for the first hw_ctx.
...
We used to do it for every queue, which was duplicate work as pstate is
per-device. It could also cause trouble when multiple hw_ctx are created as
the call will succeed for only one of them and the rest will return -EBUSY.
Simplify and fix this by only setting for the first non-null hw_ctx.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17541 >
2022-07-15 15:08:07 +00:00
Bas Nieuwenhuizen
2d2591bbb7
radv: Expose VK_NV_device_generated_commands.
...
Closes : #6736
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
05bf39238b
radv: Add stub for vkCmdBindPipelineShaderGroupNV.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
3f09bd5a0e
radv: Implement CmdExecuteGeneratedCommandsNV.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
d7bd9db9fc
radv: Implement DGC cmdbuffer generation.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
37a619f517
radv: Implement DGC generated command layout structure.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
0c7bb92a78
radv: Add DGC meta shader.
...
This generated the cmd and upload buffers.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
848d3fdeb6
radv: Add flushing for DGC.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
df69b34450
radv: Add helper to write scissors.
...
For use by DGC shader.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
57017b494d
radv: Make radv_get_vgt_index_size non-static.
...
For DGC cmdbuffer generation use.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
f6a21fccf9
radv: Expose helper for base pa_su_sc_mode_cntl.
...
So that we can feed it to the DGC shader for front face overrides.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
b213de12d3
radv: Require 32bit memory for indirect buffers.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
cca680bab1
radv: Always store stride in the vbo descriptor.
...
So we can use it in the DGC shader.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
bce3af2cb3
radv: Expose function to write vertex descriptors for dgc.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
82c2e99102
radv: Skip setting empty index buffers to avoid hang
...
In the direct path we already skipped draws, but in DGC I noticed
that just emitting these packets can cause issues ...
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Bas Nieuwenhuizen
f27f06d72c
radv: Add a 32bit memory type.
...
Got to put the commandbuffers & uploadbuffers there. With DGC
those can be allocated by the application.
Excluding it from all other buffers/images to avoid using the
precious 32bit address space.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17269 >
2022-07-15 14:45:13 +00:00
Mike Blumenkrantz
b1c1d099a9
zink: always update sampler descriptor layouts on fb surface unbind
...
this will affect the layout
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
f79d71f59e
zink: break out samplerview layout reset code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
960a6316d4
zink: use sampler_bind_count to simplify some code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17524 >
2022-07-15 14:20:24 +00:00
Mike Blumenkrantz
3a47576687
zink: add a compiler pass to match up tex op dest types
...
this handles bitsize conversions and depth component splatting to
enable simplifying some of the related ntv code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Mike Blumenkrantz
49d5fa12f2
zink: always use 32bit sample ops
...
while some (tg4) sample ops can use different bit sizes in spirv, most
cannot, and all the shader variables are always emitted as 32bit, so
ensure the 32bit type is always what's being used for sampling
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Mike Blumenkrantz
35a4b8989f
zink: allow multiple tex components for depth tg4
...
this returns a vec4, so don't break the return type by clamping 1 component
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17427 >
2022-07-15 14:08:56 +00:00
Daniel Stone
02d9d1557b
CI: Disable Collabora lab
...
It's everyone's favourite day, infrastructure maintenance Friday.
This includes manual disables for a618-vk and zink-anv-tgl, because
apparently the disable-on-variable rules don't carry through to those
jobs for ... some reason.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17553 >
2022-07-15 13:26:42 +00:00
Lucas Stach
612b99d721
etnaviv: fix use after free in async shader compile
...
When the shader state is destroyed before the async shader compile is
done, we get a use after free in the async thread, as the shader state
it is operating on is gone. Fix this by dropping any pending job from
the async queue or wait for it to finish before destroying the state
by calling util_queue_drop_job.
Also call util_queue_fence_destroy, which would have caught this issue
by asserting that the queue_fence is in signalled state when the
shader state is destroyed.
Fixes: 1141ed5859 ("etnaviv: async shader compile")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17534 >
2022-07-15 11:07:12 +00:00
Matt Coster
20350a73a7
pvr: Add helper macros for creating pvr_dev_addr_t instances
...
The two macros introduced here form a (hopefully) unobjectionable
subset of those added in !17203 .
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Matt Coster
282f0a9330
pvr: Split pvr_dev_addr_t into a separate header
...
This type is useful beyond the scope of winsys.
It can now be used without being lumbered with a dependency on
pvr_winsys.h. Since pvr_winsys.h is used by pvr_private.h, this can be
a common cause for circular dependencies during development.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17488 >
2022-07-15 10:39:21 +01:00
Karmjit Mahil
f2e2e66e42
pvr: Update pvrsrv build version for fixed size fw.
...
It's still 1.17 but the version is changed due to the fixed size
fw struct update.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17491 >
2022-07-15 00:52:14 +00:00
Guilherme Gallo
d0df34c391
ci/lava: Add delay before calling lava-test-case
...
Sleep a bit before executing `lava-test-case` to give time for bash to dump shell xtrace messages into
the console, which may cause interleaving with `LAVA_SIGNAL_STARTTC` in some
devices like a618.
The same approach worked for `LAVA_SIGNAL_STARTRUN` since
3b8d10d270 (deafdd86b8d9d0108bc692f479c3b31c4c7d5635_161_164)
was merged.
Closes : #6867
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17533 >
2022-07-15 00:13:51 +00:00
Jason Ekstrand
cb6375d40c
anv: Stop compacting surface state tables
...
Instead of trying to compact the surface state table to get rid of any
unused render targets, emit MAX(1, colorAttachmentCount) surface states
always. This ensures that secondaries will always match with primaries
when we go to do the copy since there's no rule requiring the secondary
to have VK_FORMAT_UNDEFINED when the primary has a NULL image view.
Fixes: 3501a3f9ed ("anv: Convert to 100% dynamic rendering")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17543 >
2022-07-14 20:36:24 +00:00
Jesse Natalie
ddbbe96c88
Fix static glapi on Windows
...
On Linux, the static glapi path sees libGL.so implementing the static
glapi, and the drivers (libgallium_dri.so) updating/reading the TLS
vars.
On Windows, to allow libgallium_wgl.dll to be a full ICD, it's
responsible for implementing the actual static glapi. However, before
this change, OpenGL32.dll was also implementing the static glapi,
meaning that GL API calls from OpenGL32.dll didn't route to the driver
correctly because the TLS vars were never actually set - the driver set
its copy, and OpenGL32.dll read its own copy.
Now, always build a bridge and static version of glapi when not using
shared. The bridge version is linked into OpenGL32.dll, and the static
version is linked into the driver on Windows. GLES only builds with
shared glapi - but after this, shared glapi is not really needed on
Windows for GLES, since the driver has all of the data.
Fixes: f36921ef ("wgl: Refactor drivers to a libgallium_wgl.dll")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6560
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16713 >
2022-07-14 20:01:22 +00:00
Brian Paul
29ec6372cc
lavapipe: fix incorrect sv[] array size
...
The sampler views array needs to be dimensioned by
PIPE_MAX_SHADER_SAMPLER_VIEWS, not PIPE_MAX_SAMPLERS.
This fixes out-of-bounds array writes when using more than 32
textures in a shader.
Also add some assertions to check array indexing elsewhere.
And change loop limits to be based on ARRAY_SIZE().
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
a0ea45fb68
llvmpipe: initialize a local var to fix compiler warning in release build
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
dfb2ea3531
llvmpipe: don't allow texture/resource swizzles on linear path
...
This fixes another VMware test (dx9-stretch-formats-copy-a8r8g8b8-x8r8g8b8).
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
2b14a7658a
lavapipe: fix logicop, independent blend enable/disable
...
The logicop_enable and independent_blend_enable vars need to always
be assigned, otherwise, once turned on, they could never be disabled.
This fixes a number of failures in VMware's test suite.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
98593360c4
gallivm: increase LP_MAX_TGSI_SHADER_IMAGES from 16 to 32
...
This allows a VMware test to pass. The comments in lp_bld_limits.h
mention SM 3.0 requirements, but we're in the SM 5.0 era...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
c9fd8abe50
llvmpipe: replace LP_RAST_OP_ #defines with enum type
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
90d011de8e
llvmpipe: fix texcoord analysis in llvmpipe_nir_fn_is_linear_compat()
...
For the linear rendering fast path, we need to know whether the
texcoord argument to tex instructions comes directly from an FS input
(swizzling OK, but no arithmetic, etc). Use the input register info
to fill in the tex_info object.
This is part of a fix for some linear rendering bugs.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
c6f9a91015
llvmpipe: fix invalid memory used in lp_fs_linear_run
...
We were saving the address of the constants[] and nir_constants[]
arrays in the jit structure. But those arrays went out of scope
before use.
This patch moves the constants[] array to the function scope and
consolidates the TGSI/NIR paths.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
3743f74d30
llvmpipe: add missing tex_info->texture_unit assignment
...
The texture_unit field needs to be set like the sampler_unit field.
Also, add a swizzle initialization and some comments.
Signed-off-by: Brian Paul <brianp@vmare.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
53cd3f331f
llvmpipe: replace GET_A0() macro w/ inline function
...
And GET_DADX(), GET_DADY(), GET_PLANES(). This is a bit more
readable, making the expected parameter types explicit.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
26775d7ca7
gallivm: s/0/LP_BLD_TEX_MODIFIER_NONE/
...
A minor readability improvement.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
2d4473c2ac
llvmpipe: replace if/then with switch in llvmpipe_nir_fn_is_linear_compat()
...
To simplify the logic a bit.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
3e50112861
nir: add const qualifiers, move some decls in nir_to_tgsi_info.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
36c22b5dfb
llvmpipe: minor code re-org in lp_state_fs_analysis.c
...
And add comments.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
923c73290e
lavapipe: rework code to compute textures_used, samplers_used
...
The code did not handle more than 32 textures. We have a test that
exercises 128 textures (views) and crashed w/ memory corruption down
in the llvm code generator because of this.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
8bd6feaca5
util/bitset: add BITSET_SIZE()
...
To get the size (in bits) of a bitset.
And minor clean-up in __bitset_ffs().
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
938767e835
llvmpipe: add simple assertion in generate_fragment()
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
0c80bdf758
gallivm: s/unsigned/enum pipe_swizzle/
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
3f0a6c7ac1
llvmpipe: remove lp_rast_cmd_arg::state field
...
Use the existing 'set_state' field. Some code was using 'state'
and other code was using 'set_state'. It didn't really matter
since lp_rast_cmd_arg is a union, but this removes some potential
confusion.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Brian Paul
4d5d7d16dc
llvmpipe: add minor comments in lp_rast.h, lp_setup-rect.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17062 >
2022-07-14 19:16:07 +00:00
Lionel Landwerlin
2cac3b3817
anv: ensure tile flush before streamout writes
...
Streamout is not L3 coherent so previous writes to the same address
might be pending and overwrite the SO writes later when they get
flushed from L3, even though the SO write happened later in the batch.
v2: Use the right flag (not COUNTER)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6680
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17503 >
2022-07-14 18:28:52 +00:00
Jordan Justen
4246a1ff47
intel/compiler: Don't create vec4 reg-set for gen8+
...
After 60e1d0f028 , we know that vec4 will never be used for gen >= 8.
Ref: 60e1d0f028 ("intel/compiler: Remove INTEL_SCALAR_... env variables")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17437 >
2022-07-14 17:49:01 +00:00
Connor Abbott
67c9ca2319
tu: Use incoherent CCU write for buffer accesses
...
Unlike image writes, buffer writes may access the same memory in
different ways, which we've seen in the past can cause problems. Use an
incoherent access to force flush/invalidate between accesses to the same
buffer, unless we know the barrier applies to images only.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17193 >
2022-07-14 17:23:39 +00:00
Konstantin Seurer
82283de717
radv: Use a global address for sbt_base
...
Required for indirect(2) ray tracing to work.
Fixes the following tests:
dEQP-VK.ray_tracing_pipeline.trace_rays_indirect2.indirect_*
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_*
Fixes: 16585664 ("radv: vkCmdTraceRaysIndirect2KHR")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17316 >
2022-07-14 16:35:31 +00:00
Konstantin Seurer
69daa3f762
radv: Use a global address for ray_launch_size
...
Required for indirect(2) ray tracing to work.
Fixes: b30f96dd ("radv,aco: Use ray_launch_size_addr")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17316 >
2022-07-14 16:35:31 +00:00
Boyuan Zhang
3962555db8
radeonsi/vcn: use calculated max hierarchy depth for hevc enc
...
Certain player has hard coded max_transform_hierarchy_depth_inter and
max_transform_hierarchy_depth_intra values set through VA-API, which
doesn't work on radeon HW. Until properly fixing it on player side,
temporarily adding this workaround to use calculated values instead.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17489 >
2022-07-14 14:23:02 +00:00
Jesse Natalie
13e73e39cc
simple_mtx: Replace GCC sync intrinsics with u_atomic ops
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17529 >
2022-07-14 12:49:51 +00:00
Jesse Natalie
4845bc7072
zink: Use p_atomic_fetch_add
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17529 >
2022-07-14 12:49:51 +00:00
Jesse Natalie
3245d3a219
u_atomic: Add p_atomic_fetch_add which returns the old value
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17529 >
2022-07-14 12:49:51 +00:00
Jesse Natalie
81bbfab5df
u_atomic: Fix MSVC p_atomic_add_return
...
InterlockedExchangeAdd returns the *old* value, not the new one
Cc: mesa-stable
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17529 >
2022-07-14 12:49:51 +00:00
Jesse Natalie
104c301658
u_atomic: Implement p_atomic_xchg for Windows
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17529 >
2022-07-14 12:49:51 +00:00
Yogesh Mohan Marimuthu
1c2ca3cfb7
radeonsi: no need to call si_pm4_clear_state() in si_pm4_free_state()
...
the si_pm4_clear_state() initializes the variable in struct si_pm4_state which
anyway gets freed in si_pm4_free_state(). Hence no need to call
si_pm4_clear_state() in si_pm4_free_state().
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17504 >
2022-07-14 10:30:09 +00:00
Yogesh Mohan Marimuthu
2330c71751
radeonsi: remove tabs from code
...
v2: fix indentation after if (Marek Olšák)
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17504 >
2022-07-14 10:30:09 +00:00
Kai Wasserbäch
301bcbac0e
fix(gallivm): Replace LLVMConstF* with LLVMBuild* methods.
...
LLVM 15 removed support for LLVMConstF in commit
4bb7b6fae3be02031878b2aa3be584c6627ad8ec.
Reference: 4bb7b6fae3
Reference: 07146a9e64/llvm/docs/ReleaseNotes.rst (changes-to-the-c-api)
Closes : mesa/mesa#6863
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17518 >
2022-07-14 10:02:14 +00:00
Lionel Landwerlin
a41e8dc588
spirv: switch to uint64 for rayquery internal type
...
Fixes dEQP-VK.ray_query.advanced.using_wrapper_function.comp.*
An empty struct is causing problems because when passing it as
argument the spirv parser will just drop the argument, considering it
does not hold any data.
v2: update radv CI
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4c703686db ("spirv: handle ray query intrinsics")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17420 >
2022-07-14 09:15:52 +00:00
Mike Blumenkrantz
05552b4688
lavapipe: support inlined shader spirv for compute
...
no testing, full send
Fixes: d4d5a7abba ("lavapipe: implement EXT_graphics_pipeline_library")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17365 >
2022-07-14 04:34:18 +00:00
Jesse Natalie
c1d0bf98f4
docs: Update features.txt and new_features.txt
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
333432310a
d3d12: Fix up resource import validation
...
Format on buffers is irrelevant and bind flag validation needs to be disabled.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
d119e6a46f
d3d12: Implement fence opening and value setting
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
ea243ef1d5
d3d12: Implement server signal/wait
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
416f10fc3f
d3d12: Support importing fences / timeline semaphores
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
e3e22ce882
d3d12: Support opening resources and memobj by name
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
d462325895
d3d12: Implement resource_from_memobj
...
If the memobj wraps a resource, then we only succeed the
mapping operation if the gallium desc matches the D3D12
resource desc.
If the memobj wraps a heap, then we can place whatever
gallium is describing on the heap.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
bd0407a4a6
d3d12: Support creating memory objects
...
They can wrap either an opened heap or resource
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
c87d7cfaad
d3d12: PIPE_BIND_SHARED doesn't mean linear and is always on opened resources
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
e02b11af57
d3d12: Get adapter LUID after device creation
...
Otherwise it's only set if the GL frontend gave us one
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
d6fa0a20b0
d3d12: Support B4G4R4A4 format
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
5a9cc96784
d3d12: Add pipe getters for Win32 and base external objects device matching
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
5f6795309f
d3d12: Compute UUIDs required by external objects extension
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
1b59b542ba
d3d12: Store the rest of the device IDs in the screen
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
acba2bbb0e
gallium, mesa: Support setting timeline semaphore values
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:17 +00:00
Jesse Natalie
cd01e71999
mesa: Implement ImportSemaphoreWin32NameEXT
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
c760f0e8b8
mesa: Support importing D3D12 fences as timeline semaphores
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
8cd391a63e
gallium: Add a new fence type with a pipe cap to indicate it can be imported
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
633a469a7a
driver_noop: Remove infinite recursion from create_fence_win32
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
7c4fa79bfa
gallium: Add 'name' field to Win32 semaphore import
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
51408dfec4
mesa: Implement ImportMemoryWin32NameEXT
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
91b14d4a77
gallium: Add a 'name' field to winsys_handle
...
Win32 memory objects can be imported by name (const void *
that will be interpreted as const wchar_t *)
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
8f11c0553c
mapi: Add more EXT_external_objects_win32 functions/enums
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Jesse Natalie
78ba74cfda
mesa: Support D3D11/D3D12 memory imports
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17446 >
2022-07-14 03:45:16 +00:00
Sami Kyöstilä
0ff4f5a7e9
util: Shut down Perfetto before driver unload
...
Shut down Perfetto before unloading the driver to fix a crash caused by
an internal Perfetto thread that kept running after dlclose() took away
its code.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4909
Reviewed-by: Rob Clark <robdclark@gmail.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17454 >
2022-07-14 00:41:51 +00:00
Sami Kyöstilä
1a07a07a50
subprojects: Roll Perfetto to v27.1
...
Reviewed-by: Rob Clark <robdclark@gmail.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17454 >
2022-07-14 00:41:51 +00:00
Samuel Pitoiset
92a46a5687
ci: uprev vkd3d-proton to 5b73139f182d86cd58a757e4b5f0d4cfad96d319
...
This contains some Device Generated Command tests that will be
useful for an experimental RADV implementation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17463 >
2022-07-14 00:00:54 +00:00
Mike Blumenkrantz
89a9220cbf
zink: reject swizzled format blits
...
e.g., R8G8B8A8 -> B8G8R8A8 is invalid, so use u_blitter
fixes (various gl configs):
KHR-GL46.blend_equation_advanced*
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17523 >
2022-07-13 22:14:39 +00:00
Alyssa Rosenzweig
3a0a8688d3
panfrost: Use early-ZS helpers
...
Remove the previous compile-time early-ZS implementation and replace it with the
decoupled early-ZS implementation. This uses more efficient settings in some
cases (depth/stencil tests always passes or do not write), and fixes the
settings used in another case (alpha-to-coverage enabled with an otherwise
early-ZS shader.)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Closes : #6206
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
2454531de4
panfrost: Add zsa->zs_always_passes flag
...
If we know ahead-of-time that depth/stencil testing will always pass, it's
better to use weak_early than force_early. However, if depth/stencil testing
could fail (discarding pixels), we'd rather use force_early. Determine which
case we're in at CSO create time.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
fe875c0144
panfrost: Unit test early-ZS helpers
...
The new early-ZS helpers are pure functions, leaf nodes of the call graph, and
implemented with a different algorithm from the "oracle" table of correct values
for various combinations of states. Further, incorrect settings often still pass
CTS while causing game bugs or inefficiencies. That combination makes the
helpers an excellent candidate for unit tests. Add some.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
e96292bc07
panfrost: Add decoupled early-ZS helpers
...
Bifrost (and Valhall) separate early-ZS configuration into two fields: when does
the depth/stencil buffer update happen? and when are pixels killed by the
depth/stencil tests? The driver separately configures these to occur early
(before the shader executes) or late (after the ATEST instruction executes at
the end of the shader). Early tests are generally more efficient, but various
combinations of API state and fragment shader properties can require late
updates and/or late kills for correctness. Determining how to configure these
fields is nontrivial.
Our current implementation (on Bifrost) configures these fields at fragment
shader compile time and bakes the settings into the RSD. This is both wrong
(using early testing when late testing is required) and suboptimal (using late
testing when early testing would suffice). We need to defer this configuration
until draw time, when we know rasterizer and Z/S state.
Reclassifying at draw time (as we currently do on Valhall) would be expensive,
especially with the extra terms added in here. To cope, decouple the shader
classification from the draw-time configuration. Since there are only a few bits
of draw state involved, this implementation just calculates all possible states.
Then the draw time classification is just indexing into a lookup table.
The actual algorithm used to classify is written with correctness and clarity in
mind. Unlike the current classification algorithm (which tries to match what the
DDK does, poorly), this algorithm embeds its proofs of correctness.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
c89a3ad857
panfrost: Fix shader_modifies_coverage on Valhall
...
Alpha-to-coverage should set this flag. This is a hardware change since Bifrost.
Fixes: 26d339ef8a ("panfrost: Generate Valhall Malloc IDVS jobs")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
29c33f75d3
pan/va: Stall after ATEST
...
In theory this wait is required for correct behaviour of discarded threads with
ATEST. Mesa usually waits before the instruction after ATEST, so this wait will
get optimized out by va_merge_flow, but as our scheduler gets more sophisticated
this could become an issue.
Let's stay on the safe side and insert the recommended wait.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Alyssa Rosenzweig
db2bdc1dc3
pan/bi: Require ATEST coverage mask input in R60
...
In theory, ATEST can take any combination of registers for inputs.
Experimentally, however, ATEST requires the coverage mask in R60. This avoids
regressing the following dEQP tests, which write their coverage mask with
pixel-frequency-shading but without writing to the depth/stencil buffer.
dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel.*
This issue is known to affect both Mali-G52 (v7) and Mali-G57 (v9). I am unsure
if this is a silicon bug or just an obscure implementation detail.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17428 >
2022-07-13 21:05:35 +00:00
Jason Ekstrand
1b3777ee0f
panfrost: Simplify sample_shading
...
Nos that glsl_to_nir is setting sample_shading_enable whenever FB fetch
is used, we don't need to duplicate it here.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
3346f6918f
intel/fs,anv: Rework handling of coarse and sample shading
...
Now that this information is accurately gathered by spirv_to_nir, we no
longer need the hack. We just need to fix up the way we handle some of
the key bits.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
d0b154319d
intel/fs: Simplify persample_dispatch
...
Thanks to the previous commit, we no longer need this check.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
1124bee4ba
glsl/nir: Set sample_shading if a FS output ever shows up as an rvalue
...
If framebuffer fetch is used, we have to enable sample shading because
the fetched framebuffer value is per-sample.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
3cf103f23d
nir/gather_info: Stop gathering uses_sample_shading
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
b6543470fe
spirv/nir: Set uses_sample_shading from spirv_to_nir
...
We don't really want to base this on a late nir_gather_info for two
reasons:
1) The Vulkan spec says that if a sample-qualified input, SampleID, or
SamplePosition are in the entry-point's interface, you get
per-sample dispatch. This means we really should gather this
information before dead-code has a chance to delete anything.
2) We want to be able to add nir_intrinsic_load_sample_pos intrinsics
as part of lowering passes without causing per-sample interpolation.
This means nir_gather_info needs to stop gathering it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
830654b7b0
glsl/nir: Set uses_sample_shading from glsl_to_nir
...
We don't really want to base this on a late nir_gather_info for two
reasons:
1) The GL spec says that any static use of a sample-qualified input,
gl_SampleID, or gl_SamplePosition causes per-sample dispatch. This
means we really should gather this information before dead-code has
a chance to delete anything.
2) We want to be able to add nir_intrinsic_load_sample_pos intrinsics
as part of lowering passes without causing per-sample interpolation.
This means nir_gather_info needs to stop gathering it.
For 1, this doesn't actually get us quite there as GLSL IR may have
deleted something already. However, it does get us closer.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
fd17aaf430
intel/fs: Use nir_lower_single_sampled
...
This lets us drop demote_sample_qualifiers as well as a back-end check
for key->multisample_fbo.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
23b2d625dd
nir: Add a pass for lowering shaders to single-sampled
...
On Intel, we have to do this because we can't ask for the per-sample
barycentrics without setting the per-sample dispatch bit or the GPU will
hang. However, nothing we're doing in this pass is Intel-specific and
it may be a useful optimization for someone else so we may as well make
it a generic NIR pass. This version actually does a bit more than the
current brw_nir_demote_sample_qualifiers() pass as it also handles
pre-nir_lower_io interp_dref_at* as well as a couple system values which
we can easily constant-fold.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
ca9f0f72db
intel/fs: Use shader_info::fs::uses_sample_shading
...
NIR constructs this information for us as part of nir_gather_info these
days so we can simplify our logic a bit. This will also let us be more
correct once we move uses_sample_shading scraping earlier.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
4f3bf712cf
radv: Set uses_sample_shading for copy shaders
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
9d438799c8
intel/blorp: Set uses_sample_shading for MSAA blit shaders
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Alyssa Rosenzweig
cc980ee0ed
panfrost: Protect pandecode by a mutex
...
Pandecode is not thread-safe (for a large number of reasons) and does not even
try to be. This is a problem when tracing (or just using PAN_MESA_DEBUG=sync)
multithreaded applications. The most common symptom of the problem are assertion
failures deep in the red-black tree implementation, which is not thread-safe.
Just protect the whole thing by a "in pandecode?" mutex, since this is not
performance sensitive code and we don't really care about the extra
serialization incurred. As pandecode does not recurse into itself, we may simply
lock at the beginning and unlock at the end of each entrypoint in pandecode,
which is thread-safe regardless of how pandecode is used. A few entrypoints are
refactored to avoid early returns to keep the lock/unlock calls in obvious
visual pairs.
Fixes flakes when running the CL CTS with PAN_MESA_DEBUG=sync like we would in
CI (e.g: events.event_flush)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Tested-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17409 >
2022-07-13 19:15:13 +00:00
Alyssa Rosenzweig
96d65b47c7
panfrost: Use implementation-specific tile size
...
The physical tile buffer size (and hence the maximum available tilebuffer size)
are implementation-defined. Track this information on the device so we can
correctly select tile sizes, instead of hardcoding the value for Midgard.
Implementation values are pulled from the "Tile bits/pixel" row of the public
Mali data sheet [1]. That row lists the maximum number of bits available for a
pixel given the maximum tile size and pipelining. For currently supported
hardware (v9 and older), that maximum tile size is 16x16. So those values should
be multiplied by (16 * 16 * 2) / 8 to get the physical size in bytes.
This may improve Bifrost/Valhall performance on workloads using multiple render
targets. It also gets us ready for the dazzling array of tile sizes available
with v10.
[1] https://developer.arm.com/documentation/102849/latest/
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17432 >
2022-07-13 19:00:41 +00:00
Alyssa Rosenzweig
d67681c4ea
panfrost: Make pan_select_max_tile_size O(1)
...
Separate out "calculating the size of each pixel", "selecting a tile size", and
"calculating the colour buffer allocation". Then implement the middle (selecting
a tile size) with a simple constant time expression, rather than a loop. There's
a bit of related clean up in here.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17432 >
2022-07-13 19:00:41 +00:00
Alyssa Rosenzweig
d458384883
pan/va: Handle BIFROST_MESA_DEBUG=nosb
...
For debugging flakes that might be caused due to wrong scoreboarding.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17223 >
2022-07-13 18:46:15 +00:00
Emma Anholt
43579901be
ir3: Fix the no-emitted-vertex condition emission in geom lowering.
...
The if statement we insert would insert a new block before the end block
(and remove the old pre-end-block). If the new block ended up later in
the HT due to its pointer's hash value, you'd emit another copy of the if
statement after the last one. I saw this happen up to 4 times in testing.
The worst case would be if all those additions and removals ended up
reallocating the HT, at which point we might use-after-free.
Fixes inconsistent shader-db results with geometry shaders.
Cc: mesa-stable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17501 >
2022-07-13 18:16:45 +00:00
Alyssa Rosenzweig
2171412c66
pan/va: Print instructions with pack assert fails
...
va_pack asserts a large number of invariants about the instruction being packed.
If one of these fails (due to an invalid instruction), it's helpful to inspect
the failing instruction, as it may not be apparent in a large shader. Pass the
instruction through with all the assertions in va_pack for easier debugging.
Now assertion failures when packing are easier to debug:
Invalid invariant lo.type == hi.type:
= STORE.i32.flow2.wls br5, br2, wls_ptr[1], byte_offset:0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17224 >
2022-07-13 18:01:56 +00:00
Alyssa Rosenzweig
cfeafef755
pan/va: Use invalid_instruction in more places
...
By passing the instruction pointer through the packer, we can get better error
messages with invalid_instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17224 >
2022-07-13 18:01:56 +00:00
Alyssa Rosenzweig
cc94409d70
pan/va: Dump unencodable instructions
...
When we assert out due to certain invalid encoding, it's helpful to know what
instruction is causing the failure, since it may not be obvious from the
assembly for large shaders. Now we get nice errors when failing:
Invalid opcode:
br0 = VAR_TEX.f32.flow8.store.skip.lod_mode.center , texture_index:0, varying_index:0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17224 >
2022-07-13 18:01:56 +00:00
Alyssa Rosenzweig
fd1edbc6e5
panfrost: Only key points to point coord origin
...
Apparently, the point coord origin within a batch can change with Gallium
(seemingly even with GLES? where that's impossible at an API level?) but that
doesn't matter if we're not drawing points. This might have to do with internal
Gallium CSOs (e.g. u_blitter). Issue noticed in SuperTuxKart, which was getting
state change flushes. Performance on one level on a Valhall GPU improved from
26fps to 29fps.
Fixes: 3641dfe436 ("panfrost: Flip point coords in hardware")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17430 >
2022-07-13 17:43:50 +00:00
Alyssa Rosenzweig
44d9c41b6b
panfrost: Revert provoking vertex assertion
...
b6a30b72ab ("panfrost: Implement provoking vertices on Valhall") added an
assertion that every draw selects a particular provoking vertex. The intent was
to ensure provoking vertex selection actually happened. Unfortunately, the
assertion is too strong, as the provoking vertex is irrelevant for some (most)
draws. For those, we don't *want* to commit to a particular provoking vertex for
those to avoid flushing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17430 >
2022-07-13 17:43:50 +00:00
Adam Jackson
768238fdc0
glx: Fix drawable refcounting for naked Windows
...
driFetchDrawable is only ever called from the MakeCurrent path, which
means it has to handle the case of pre-GLX-1.3 Windows being named as
the drawable. When it finds the drawable in the hash, it increments its
refcount before returning it, so for a GLXWindow it would be 2 on first
return, one from glXCreateWindow and one from glXMakeCurrent. But when
it does not find the drawable and creates one for the naked Window, the
reference count on first return would only be 1. As a result, if this
context was then ever bound to a different drawable, the old Window's
DRI drawable state (like the back buffer) would be destroyed.
Fixes piglit's glx-multi-window-single-context and glx-make-current for
a variety of drivers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6713
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17479 >
2022-07-13 12:25:30 -04:00
Marcin Ślusarz
585d81e3ec
intel/compiler: print shaders after nir_remove_unused_varyings
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17516 >
2022-07-13 15:50:02 +00:00
Lucas Stach
0d13dfcf7c
etnaviv: tex_desc: remove descriptor patch TODO comment
...
There is nothing more TODO here. With softpin, which is available on all
GPUs using texture descriptors, there is no need for the kernel to patch
the descriptor, as the proper GPU virtual address is filled in by userspace.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448 >
2022-07-13 15:00:33 +00:00
Lucas Stach
8ddaca1633
etnaviv: tex_desc: make error handling more consistent
...
There already is a error handling label to free the sampler view
struct and return failure. Consistently use this label to make
error handling more uniform.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448 >
2022-07-13 15:00:33 +00:00
Lucas Stach
9a48b1bdb2
etnaviv: add texture descriptor suballocator
...
Texture descriptors currently waste a massive ammount of memory, as every
one is allocated via a separate BO. As the allocation granularity of the
kernel is 4KB and the descriptor is only 256B, 93.75% of the allocated
memory is wasted.
Add a simple suballocator for the texture descriptors, to allocate multiple
ones out of a single kernel BO. This isn't perfect, as freed slots in the
suballocated resource are not reused, but worst-case we end up with the
same waste as we had before. This also potentially improves efficiency at
the kernel side, as this reduces the number of BOs needed for the sampler
views in each submit.
As the BO is now used by multiple descriptors, avoid syncing with the GPU
via the cpu_prep/fini calls, as to not introduce stalls between pending
rendering and new descriptors being filled. This is safe, as each
suballocation slot is only used once, so newly filled slots are certainly
not in use by the GPU.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448 >
2022-07-13 15:00:33 +00:00
Lucas Stach
2c08decc8f
etnaviv: move dummy BOs to screen
...
The dummy texture descriptor and the dummy render target relocs are not ever
changed by a context operation, so we can save some space by moving them to
the screen and potentially share them and the BOs backing them between
multiple contexts.
Also don't hold two pointers to the same BO, one in the reloc and one raw,
but always just use the reloc one.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17448 >
2022-07-13 15:00:33 +00:00
Eric Engestrom
f7f74a984b
zink: add missing guards around have_{ext}
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466 >
2022-07-13 14:41:59 +00:00
Eric Engestrom
672df4d0fe
zink: drop unused VkPhysicalDevicePortabilitySubsetPropertiesKHR
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466 >
2022-07-13 14:41:59 +00:00
Eric Engestrom
282013fe86
zink: fix portability_subset usage after rename from EXTX to KHR
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17466 >
2022-07-13 14:41:59 +00:00
Gert Wollny
643623e1a3
r600/sfn: emulate pmr::monotonic_buffer_resource if needed
...
libc++ does not yet implement the c++17 monotonic_buffer_resource,
so emulate it by doing normal allocations that are cleaned up
when the resource is destroyed.
v2: - Use C include and version without namespace aligned_alloc
- add include for sstream needed with clang++ (maurossi)
Closes : #6836
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17452 >
2022-07-13 13:32:33 +00:00
Gert Wollny
3340c7ce35
r600/sfn: lower CLIPVERTEX to clip planes
...
With that most piglits for compatibility contexts are
passing, so enable higher compatibility profile support.
v2: fix formatting ahd fallthrough tag (Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484 >
2022-07-13 15:17:17 +02:00
Gert Wollny
19ba29d996
r600/sfn: Add support for fdph
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484 >
2022-07-13 15:10:39 +02:00
Gert Wollny
0b0a04635b
r600/sfn: Never consider an op with register dest as dead
...
Another hot-fix: when a local register is written to, it is
actually unlikely that the value is never used, so just make
sure that this is never done.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484 >
2022-07-13 15:10:34 +02:00
Gert Wollny
8222840e3f
r600: limit loops when trying to merge alu groups
...
On Cayman bank_swizzle[4] is never counted up, so add an
additional condition to make sure the loop is finished
at one point. This is a hot-fix, the logic below should be
improved.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17484 >
2022-07-13 15:10:28 +02:00
Matt Coster
6165701b2e
pvr: Implicitly assert that the correct sub-command type is present
...
Now that we have separate C types for the different sub-command types,
we can require a pointer to that type to be passed into functions
which expect the current sub-command to be of a specific type.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458 >
2022-07-13 12:30:10 +01:00
Matt Coster
b9d6ed445d
pvr: Split out unioned structs from struct pvr_sub_cmd
...
This is a simple optimization to make type-specific uses of struct
pvr_sub_cmd slightly less verbose.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17458 >
2022-07-13 12:28:05 +01:00
Rajnesh Kanwal
1df16b5f22
pvr: Implement vkCmdDraw API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17487 >
2022-07-13 10:35:10 +00:00
Iago Toral Quiroga
40976356f2
v3d,v3dv: stop copying and pasting the translate_swizzle helper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17509 >
2022-07-13 10:09:34 +00:00
Iago Toral Quiroga
8d8491df5e
v3d: stop using a smaller texture limit in OpenGL
...
The compiler has improved significantly since we found this issue
and this is no longer required.
Notice that because we are increasing the number of samplers
supported beyond what we can loop unroll (currently capped at 16),
some piglit tests that test the maximum number of samplers supported
start to fail because they use indirect indexing on a sampler array
and we don't support that (previously the indirect indexing was
removed by loop unrolling). This is a bug in tests which the
GLSL linker detects, failing to compile the shaders.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17509 >
2022-07-13 10:09:34 +00:00
Iago Toral Quiroga
9b74f4218f
v3d,v3dv: stop hardcoding various image limits
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17509 >
2022-07-13 10:09:34 +00:00
Iago Toral Quiroga
25fc388d7e
v3dv: clean up get_internal_type_bpp_for_image_aspects
...
Also, remove the FIXME to pre-compute this in images. We only use
this helper from copy/clear operations where we may be working
with a compatible framebuffer format instead of the original image.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17509 >
2022-07-13 10:09:34 +00:00
newbluemoon
6a4fc6f6ca
nine: replace ulimit with sysconf call
...
__UL_GETOPENMAX seems to be glibc specific and not portable.
In glibc’s sysdeps/posix/ulimit.c it is assigned the return
value of sysconf(_SC_OPEN_MAX). So use the latter in the first place.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5176
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17471 >
2022-07-13 08:34:18 +00:00
Chuansheng Liu
39f8c61f32
iris,anv: correct the max thread number for DG2+
...
Correct the max thread number for DG2+ platforms according
to below bspec.
Ref: Bspec: 47202
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17506 >
2022-07-13 08:11:19 +00:00
Georg Lehmann
aac8ddae2f
nir/opt_algebraic: Optimize [ui](add|sub)_sat with 0.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Georg Lehmann
90a8fb0355
nir/lower_io: Fix array length of buffers larger than INT32_MAX.
...
Before, if the ssbo is too large this would always return 0.
Also, this code is easier to optimize, so the common case of offset 0
and pot stride results in one ushr instead of 5+ instructions.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Georg Lehmann
d9fb1b05eb
ir3: Implement [iu]sub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Georg Lehmann
9a83ccf1fa
r600: Lower uadd_sat/usub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Georg Lehmann
e09e04a2c0
zink: Lower uadd_sat/usub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Georg Lehmann
d472c45810
nir_to_tgsi: Lower uadd_sat/usub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17468 >
2022-07-13 07:34:09 +00:00
Panagiotis Apostolou
6f0aba42ad
util: Don't block SIGSEGV for new threads
...
SIGSEGV is used by Vulkan API trace layers to track user changes in
device memory mapped to user space. Now with drivers such as Zink, GLES
applications are translated into Vulkan API calls and therefore it is
possible to be tracked by Vulkan api trace layers.
Blocking SIGSEGV hinders one of the memory tracking mechanisms used by
such layers.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17273 >
2022-07-13 06:51:27 +00:00
Iago Toral Quiroga
1442861141
v3dv: fix comment for point_sprite_mask filed in shader key
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17486 >
2022-07-13 05:20:31 +00:00
Lionel Landwerlin
3a8ad28524
anv: skip flush/invalidate faster
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481 >
2022-07-13 01:33:27 +00:00
Lionel Landwerlin
1aeb11cde1
intel: protect against empty invalidate ranges
...
It's legal for an application to call vkInvalidateMappedMemoryRanges()
/ vkFlushMappedMemoryRanges() with zero sized ranges.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: b91971c240 ("anv: use the right helper to invalidate memory")
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6852
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481 >
2022-07-13 01:33:27 +00:00
Dave Airlie
105279e989
radv: add a dynamic vertex format cache.
...
With dynamic vertex bindings the vertex format lookups are a lot
more frequent (vs being baked in the pipeline). Add a simple lookup
cache using a dynamic array to keep track of the hw values, and
avoid repeated translation.
This also reduces the memset to just the bitfields since all
the others will be overwritten.
Seen in perf traces gputest gimark with zink on radv.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15846 >
2022-07-13 01:10:09 +00:00
Lionel Landwerlin
af1ecbeb0a
anv: add a comment about handling buffer view swizzles on gfx7
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00
Lionel Landwerlin
a9edc268b9
anv: validate image view lowered storage formats for storage
...
Ensure that if we have swizzle on the initial format, that the
component bits are identical with the lowered format.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00
Lionel Landwerlin
57a8efa222
anv: deal with isl format swizzles for buffer views
...
For some formats like VK_FORMAT_B5G6R5_UNORM_PACK16, we have no direct
matching HW format. We can support it by swizzling.
We already apply those swizzles for image views. We just forgot to
deal with buffer views.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6235
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00
Danylo Piliaiev
a841300384
docs/u_trace: Add documentation for *_GPU_TRACEPOINT envvars
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
bfd3c43aa9
freedreno: Add FD_GPU_TRACEPOINT envvar to toggle tracepoints
...
All tracepoints are enabled by default.
Example:
FD_GPU_TRACEPOINT=-flush_batch
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
7a62219d33
freedreno: Refactor tracepoints generation to reduce duplication
...
This way we will not need to repeat arguments for "start" and "end"
tracepoints.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
82e79f6cdf
freedreno: Add the rest of tracepoints with start/end to perfetto
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
b059cdad40
turnip: Add TU_GPU_TRACEPOINT envvar to toggle tracepoints
...
All tracepoints are enabled by default.
Example:
TU_GPU_TRACEPOINT=-sysmem_clear
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
d903c6c7f3
turnip: Refactor tracepoints generation to reduce duplication
...
This way we will not need to repeat arguments for "start" and "end"
tracepoints.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Danylo Piliaiev
8d34cc2471
util/u_trace: Fix iteration over config_control
...
Fixes: e1811af75d
("util/perf: add options to enable/disable tracepoints")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16781 >
2022-07-12 22:24:19 +00:00
Emma Anholt
e9d4c29f6a
ci/freedreno: Mark an occasional flake pass that happens on a530.
...
This MR just saw it happen for the second time I've noticed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
bcc9199df2
loader: Just include driconf.h instead of redefining its values.
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
4c6a1e3f33
egl: Just include driconf.h instead of redefining its values.
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
679e9697a9
kopper: Respect the vblank_mode env var.
...
We were defaulting to a swap interval of 1, but we can follow dri2/dri3's
lead and respect the driconf var.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
ff18be0872
glx: Unify dri2/dri3 vblank_mode logic.
...
We need it from kopper, as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
f9ecf99ca9
kopper: Use the swap interval that was set at swapchain creation time.
...
We need to track what the caller has given us for swap interval, and use
that to set the present mode at startup.
Fixes incorrect vblank syncing in apitrace's glretrace, which sets the
swap interval to 0 before the swapchain is made.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Emma Anholt
f3d3368065
kopper: Fix the return value of kopperSetSwapInterval().
...
Compare to dri2SetSwapInterval() and dri3_set_swap_interval()
implementations of the same method.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17470 >
2022-07-12 21:57:23 +00:00
Marek Vasut
378da2c3ff
etnaviv: Implement TXD
...
Fill in support for TXD instruction which emits shader TEXLDD opcode.
Signed-off-by: Marek Vasut <marex@denx.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17500 >
2022-07-12 21:28:11 +00:00
Marek Vasut
221d042c31
etnaviv: Rename etna_emit_tex() args
...
Rename the args from low_bias/compare to src1/src2, since they
are used for different purposes depending on the texture load
type. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17500 >
2022-07-12 21:28:11 +00:00
Yiwei Zhang
20eeb529f7
venus: GetPhysicalDeviceSparseImageFormatProperties to match sparse support
...
Test: dEQP-VK.api.info.sparse_image_format_properties2.*
Fixes: 1a7632e54b ("venus: add NO_FENCE_FEEDBACK perf option and disable sparse resource")
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/17476 >
2022-07-12 21:20:19 +00:00
Enrico Galli
1f0d27e45f
microsoft/spirv_to_dxil: Fix discard to demote + return pass
...
While SPIR-V's OpKill is block terminating, the converted discard
intrinsic is not block terminating. This can lead to issues where
instruction could be placed after discard.
This patch adds an extra pass that drops all instructions after discard
before we convert discards.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17474 >
2022-07-12 20:22:52 +00:00
Samuel Pitoiset
ed6c346155
zink/ci: update list of CTS flakes for RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17492 >
2022-07-12 19:23:39 +00:00
Adam Jackson
82fea22607
glx: Fix return values from __glXGetDrawableAttribute
...
This is intended to return true on attribute-found.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
11c30fcad0
glx/dri2: Stop tracking the protocol version in the display state
...
We only use it at init time, no need to keep it around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
1255d370b7
glx: Remove excess screen parameter from CreateContext
...
This is effectively looked up from the config anyway, which we're
already passing in.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
215200d8f1
glx: Remove unused __glXSetupForCommand from __glXIsDirect
...
This was needed when we emitted an xlib request here, but xcb knows the
GLX major opcode for the connection already.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Adam Jackson
61834ae898
glx: Remove some can't-happen checks from protocolDestroyDrawable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17422 >
2022-07-12 18:43:24 +00:00
Connor Abbott
cf0cfd572e
freedreno/a6xx: VPC_SO_NCOMP is actually VPC_SO_BUFFER_STRIDE
...
This answers the question in a comment in turnip, and fixes some GL46
tests and piglit tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17494 >
2022-07-12 17:57:07 +00:00
Emma Anholt
7976d558d5
vc4: Add links to test bug reports.
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449 >
2022-07-12 17:15:43 +00:00
Emma Anholt
2f851f0479
vc4: Work around a HW bug with 2-vert line loops.
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449 >
2022-07-12 17:15:43 +00:00
Emma Anholt
0f37e3c339
mesa: Fix the error check for VertexAttrib*.
...
It was checking "mesa's theoretical max attributes" rather than "the
driver's max attributes."
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17449 >
2022-07-12 17:15:43 +00:00
Emma Anholt
0feedec9e6
zink: Do the timestamp-to-ns math in a double to have better precision.
...
Fixes arb_timer_query-timestamp-get on my radv system, where the GPU has
been on for many days and the timestamp would only increment every once in
a while.
Part of fixing #6808
Fixes: 7a40b734ee ("zink: handle timestamp queries")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17477 >
2022-07-12 16:58:10 +00:00
Gert Wollny
cf1715e391
r600/sfn: Don't use assert to test success of operation
...
With that the actual call will be eliminated if the code is
compiled with NDEBUG.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6832
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17496 >
2022-07-12 16:48:20 +00:00
Eric Engestrom
75938f9d1f
venus: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
8fa577340c
panvk: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
a96ddc3803
dzn: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
0225293a97
anv: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
9554462f4d
pvr: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
ebb3ea5790
lavapipe: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
0ab33ec6d4
zink: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Hoe Hao Cheng
c8bd10852c
zink/codegen: use the updated identifiers
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
2c99dc5b22
turnip: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
9db1af8757
v3dv: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
9035408d62
radv: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
9844a2fb64
nir: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
e706a915b0
vulkan: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
c3d8395a14
vulkan/runtime: use updated tokens from vk.xml
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Eric Engestrom
66af355a00
vulkan: add script to detect & replace identifiers that have been renamed
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342 >
2022-07-12 15:53:11 +00:00
Jason Ekstrand
af6f6ce065
vulkan/wsi: Add debug variables to force the SW and PRIME buffer blit paths
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436 >
2022-07-12 14:14:01 +00:00
Jason Ekstrand
3ff7494a97
vulkan/wsi/wayland: Add a BUFFER_TYPE flag
...
This makes all the different ways of presenting a bit more clear.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436 >
2022-07-12 14:14:01 +00:00
Jason Ekstrand
f336a4f9b3
anv: Init supported extensions before WSI
...
Otherwise WSI extension support checks won't work.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17436 >
2022-07-12 14:14:01 +00:00
Mike Blumenkrantz
fb917a606c
lavapipe: don't crash on null xfb buffer pointer
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17469 >
2022-07-12 13:43:37 +00:00
Mike Blumenkrantz
276557b9c6
lavapipe: don't overwrite entire VkFormatProperties3 struct
...
this clobbers pNext and breaks tooling, as found by Panagiotis Apostolou
Fixes: f72d5a930b ("lavapipe: KHR_format_feature_flags2")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17462 >
2022-07-12 13:31:00 +00:00
SoroushIMG
eb6faf329c
zink: Fix BO size when it's not aligned to 16 bytes
...
glsl_get_explicit_size can return non-16 byte aligned sizes.
Therefore, make sure the sure the size isrounded up so that OOB does not happen.
Fixes: ea8a0654f5 ("zink: further improve bo sizing")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17460 >
2022-07-12 12:58:02 +00:00
Konstantin Seurer
e8d12bc2b7
radv: Fix acceleration structure size queries
...
From looking at the CTS,
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR
refers to the serialization size and not to the
actual, current size.
Fixes the following CTS:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.cpu.buffer.size
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.cpu.memory.size
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.gpu.buffer.size
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.gpu.memory.size
Fixes: 5d56c2c ("radv: Add accel struct queries for maintenance1")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17444 >
2022-07-12 12:30:42 +00:00
Bas Nieuwenhuizen
97641e5c94
radv: Add ability to override the build id for the cache.
...
This would allow us to keep the shader cache key the same for updates
that we know won't impact compilation on SteamOS.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17426 >
2022-07-12 12:08:12 +00:00
Iago Toral Quiroga
f286289c7f
v3dv: remove unused lowering for nir_intrinsic_load_layer_id
...
This intrinsic is only produced when the compiler is instructed
to handle layer id as a system value, which we don't use. Also,
we have been supporting layered rendering for a while and passing
all the relevant tests which would've failed if we were hitting
this lowering.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17483 >
2022-07-12 11:47:13 +00:00
Iago Toral Quiroga
5a4c5f46c7
v3dv: fix comment in texel buffer shader copy path
...
When using the texel buffer copy path to copy a buffer we need to
sample from the buffer and for that we need a texture shader state
record where we specify the base offset of the texture (the buffer).
If the copy operation has a start offset we can't add that offset
to the base address of the buffer because the texture state record
requires the base pointer to be 64-byte aligned, so it would only
work for offsets that are multiple of 64B. Instead, we pass the
offset (in elements) to the shader and we use that to shift the
indices into the buffer when selecting the source texel to copy.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17482 >
2022-07-12 10:48:45 +00:00
Adam Jackson
4fbc237cae
gallium/dri: Remove the memory of GLX_MESA_multithread_makecurrent
...
The only way this could happen was if GLX did it, which it doesn't.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17473 >
2022-07-12 10:02:46 +00:00
Adam Jackson
92b2e479b8
glx: Remove the remains of GLX_MESA_multithread_makecurrent
...
This hasn't actually been exported for a while. I think I probably broke
this in
commit 63a6b719d9
Author: Adam Jackson <ajax@redhat.com >
Date: Tue Dec 5 11:10:09 2017 -0500
glx: GLX_MESA_multithread_makecurrent is direct-only
in which I made it no longer default to having client support, but
failed to instruct dri{2,3,sw} to enable it. In any case, it was never
widely used, there is no EGL equivalent, and we've had zero complaints
about it getting nerfed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17473 >
2022-07-12 10:02:46 +00:00
Konstantin Seurer
d528289c74
radv: Skip pipeline_no_null_shaders_flag tests
...
Those tests either fail or hang so just exclude
all of them for now to make ray tracing CTS usable
again.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17443 >
2022-07-12 09:36:29 +00:00
Samuel Pitoiset
e9b2fa6527
radv: fix wide points/lines by configuring the guardband correctly
...
Fixes all remaining wide points/lines failures with Zink.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6121
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17392 >
2022-07-12 09:11:40 +02:00
Nanley Chery
a07919edeb
mesa: Follow ASTC decode mode extension for RGBA8 output
...
The GL extension, EXT_texture_compression_astc_decode_mode, enables
applications to specify the desired decoding precision when decoding
non-sRGB ASTC textures. The options for the channels are FP16 (the
default), UNORM8, and RGB9_E5.
The ASTC LDR decoder outputs to UNORM8 by doing the following
conversions: UNORM16 -> FP16 -> UNORM8. This doesn't seem to be defined
by any specification and is costly according to perf profiles. To
conform to the decode mode spec (and for better performance), we convert
UNORM16 to UNORM8 by simply storing/keeping the top 8 bits.
In a texture upload microbenchmark, this decreases the upload time for
textures in the linear color space by about 34%.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17195 >
2022-07-11 21:59:42 +00:00
Nanley Chery
dab0936141
mesa: Simplify UNORM8 conversions for sRGB ASTC textures
...
The ASTC extension specs state that a vector of UNORM8 values are
returned when decoding sRGB ASTC textures. For the alpha channel
however, they don't seem to specify how to get there from the UNORM16
produced after interpolation (or returned from a void-extent block).
The ASTC decoder in the VK-GL-CTS project treats the alpha channel like
the RGB channels and simply uses the top 8 bits of the UNORM16. For
better performance, we choose to do the same.
In a texture upload microbenchmark, this decreases the upload time for
textures in the sRGB color space by about 13%.
Ref: https://gitlab.khronos.org/egl/DataFormat/-/merge_requests/32
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17195 >
2022-07-11 21:59:42 +00:00
Adam Jackson
81b0862642
mesa: Stub out GL_APPLE_object_purgeable
...
There's slots in the glapi static dispatch table (which is still
arguably ABI) which we need to preserve, but we can stop exposing the
extension string or doing anything in the added functions.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17425 >
2022-07-11 16:37:34 -04:00
Emma Anholt
4822058b1c
ir3: Use non-persp interpolation when appropriate for interpolateAtOffset.
...
Fixes dEQP-VK.draw.renderpass.linear_interpolation.offset_min_4_samples.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17322 >
2022-07-11 16:56:05 +00:00
Emma Anholt
c5eb7ef246
ir3: Clarify what's happening in the interpolateAtOffset() math.
...
nir_builder lets us build much cleaner code than we had (assuming that we
get a scalarizing after this).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17322 >
2022-07-11 16:56:05 +00:00
Emma Anholt
240a98297d
freedreno: Rename the "SIZE" regs for interpolateAtOffset to "CENTERRHW"
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17322 >
2022-07-11 16:56:05 +00:00
Emma Anholt
0e1fb2d984
nir+ir3: Rename load_size_ir3 to load_center_rhw_ir3.
...
Now that we know what it does, it also explains what it's doing in
interpolateAtOffset in ir3.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17322 >
2022-07-11 16:56:05 +00:00
Emma Anholt
9dcb94e0e1
ir3: Make sure to pass the interp_mode through in our load_bary lowering.
...
Fixes dEQP-VK.draw.renderpass.linear_interpolation.* in vkcts 1.3.3.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17322 >
2022-07-11 16:56:05 +00:00
Emma Anholt
4b404e22d0
turnip: Refactor vertex input setup a little.
...
The repeated reservation code could be moved into the function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17102 >
2022-07-11 16:32:03 +00:00
Emma Anholt
ec5984c0d4
turnip: Fix the reservation for vertex inputs.
...
It was too large since 2cd30266f1 ("tu: Refactor VS DECODE/DEST to be
emitted in two pkt4"), so fix it and also give it a name next to the code
it relates to.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17102 >
2022-07-11 16:32:03 +00:00
Emma Anholt
12314067c4
turnip: Fix up per-stage additional size accounting.
...
input_size is the dwords emitted (hard to tell because of all of the * 4 /
4 going on), and constant_data is emitted with the emit_program call too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17102 >
2022-07-11 16:32:03 +00:00
Emma Anholt
7d9a824d27
turnip: Account for additional_cs_reserve_size for both bin and render.
...
Both emit_program() calls will use this space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17102 >
2022-07-11 16:32:03 +00:00
Lionel Landwerlin
e082b26458
anv: move gfx12+ CCS_E clear color restriction
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17329 >
2022-07-11 14:57:26 +00:00
Lionel Landwerlin
682383e5b3
anv: track if images can be fast clear with non-zero color
...
Because clear colors are stored as 4 32bit component values, there is
an issue if you try to format instance :
- clearing in R16G16_UNORM
- draw in R32_UINT
Clear will use 2 components of the clear color in dword0 & dword1.
While draw will use only one component of dword0.
This change uses the mutable format information to track whether clear
colors can be non-zero for fast clears.
With :
- non mutable formats, we can fast clear with any color on Gfx > 8
- mutable formats with incompatible component sizes, we can only
fast clear with 0 color
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5930
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17329 >
2022-07-11 14:57:26 +00:00
Lionel Landwerlin
ab4beaf3fb
isl: add new helper for format component compatibility
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17329 >
2022-07-11 14:57:26 +00:00
Eric Engestrom
10cd9ce606
mailmap: update my email to Igalia
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17461 >
2022-07-11 15:03:53 +01:00
Matt Coster
27c57b8650
pvr: Make pvr_cmd_pack() macro clearly internal
...
Add a double-underscore prefix to mark this macro as internal-only. It
should not be used directly, and only exists as a helper for the
pvr_csb_*() macros.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17359 >
2022-07-11 11:57:23 +00:00
Matt Coster
4084162ccb
pvr: Remove pvr_cmd_struct() macro
...
Motivated by comments on !17252 ; this macro adds nothing of value over
just using PVRX() directly.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17359 >
2022-07-11 11:57:23 +00:00
Matt Coster
3cc207bc03
pvr: Add a const qualifier to inline pvr_csb_*() helpers
...
These do not modify the input struct pvr_csb at all, so the function
signature should reflect this.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17360 >
2022-07-11 10:57:46 +00:00
Iago Toral Quiroga
871a7536e8
broadcom/compiler: don't over-estimate latency of TMU instructions
...
Over-estimating latency can cause us to delay the critical paths of
the shader unnecessarily, producing larger QPU programs that take more
time to execute as a result (and it also adds register pressure) so
striking a balance is important. The thread switching model in V3D
is quite effective at hiding latency and usuallly we just need to
hint it to delay TMU instructions a little bit to find the best
compromise for performance.
The new latency numbers have been chosen empirically by testing
V3DV with Sponza and a few UE4 samples.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17451 >
2022-07-11 10:34:58 +00:00
Iago Toral Quiroga
f227aa7c98
broadcom/compiler: don't try to hide TMU latency at QPU scheduling
...
Based on empirical testing with Sponza and a few UE4 samples this is
consistently slightly benefitial for performance.
The most likely reason why this helps is that thrsw is probably
already quite effective at hiding latency and we are already trying
to hide latency at NIR scheduling and also via TMU pipelining, so
piling up on this when scheduling QPU typically ends up providing no
benefit at all for latency and is instead possibly preventing us to
unblock critical paths in the shader that depend on the TMU result,
requiring us to execute more cycles to complete the program.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17451 >
2022-07-11 10:34:58 +00:00
Daniel Schürmann
66d46a23fb
aco: fix packed 16bit fneg/fsat optimization
...
Make sure that the Operand is '1.0.xx'.
Fixes: b03be30e07 ('aco: optimize packed fneg')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17395 >
2022-07-11 10:10:00 +00:00
Tatsuyuki Ishi
11fd0e1dda
amd: Revert gfx10 addrlib changes
...
These broke a bunch of RADV VK CTS tests.
Revert the ADDR_SW_4KB_R_X changes from the commit to get CTS passing again.
Fixes: 3514b73244 ("amd: update addrlib - trivial changes")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6844
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17453 >
2022-07-11 09:10:16 +00:00
Daniel Schürmann
676700d660
radv/shader_info: fix load_frag_coord and load_sample_pos read masks
...
Fixes: a8c471f962 ('radv: gather more information about PS in the shader info pass')
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17417 >
2022-07-11 06:36:45 +00:00
Samuel Pitoiset
30846f1596
radv: remove the radv_report_apu_as_dgpu workaround for Red Dead Redemption 2
...
This workaround looks actually broken. We added it in the past
because otherwise the game would just report 3GiB of video memory
(ie. size of GTT on SD). Though, with this workaround enabled, the
game explodes in memory easily.
One theory is that because we fake integrated GPUs as discrete GPUS,
and because we report 6GiB of VRAM (ie. driver redistributes memory
for small carveout), the game thinks there is 6GiB of VRAM only and
then keep allocating stuff.
People reported that the memory explosion is gone without this
workaround applied and I confirmed this myself.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17421 >
2022-07-11 06:04:03 +00:00
Gert Wollny
b45cec260c
r600/sfn: Add missing copyright information
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17450 >
2022-07-11 05:45:26 +00:00
Pavel Ondračka
42a3d22f16
r300: Keep rc_rename_regs() from overflowing RC_REGISTER_MAX_INDEX
...
This pass tries to move register usage closer to SSA, and for large
shaders this means we can overflow the register index, which only has
RC_REGISTER_INDEX_BITS size. This creates invalid code and leads to
crash at a later stage. Limit the pool of available registers to
RC_REGISTER_MAX_INDEX, currently is was two times the number of
shader instructions.
This means we'll fail the compile right away if we wanted more than
RC_REGISTER_MAX_INDEX temps, but when we've got that many we're
already well past how many instructions we can support anyway.
CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6017
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17393 >
2022-07-11 03:38:59 +00:00
Alyssa Rosenzweig
befc68ec33
nir/opt_shrink_vectors: Round to supported vec size
...
The set of supported vector sizes in NIR has holes in it. For example, we
support vec5 and vec8, but not vec6 or vec7. However, this pass did not take
that into account, and would happily shrink a vec8 down to a vec7, causing NIR
validation to fail. Instead, the pass should round up to the next supported
vector size.
Fixes NIR validation fail in OpenCL's test_basic hiloeo subtest.
v2: Clamp -> round rename.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17194 >
2022-07-10 18:03:46 +00:00
Mike Blumenkrantz
21b3a23404
mesa: fix SignalSemaphoreEXT behavior
...
the EXT_external_object spec originally was underspecified with regards
to this function, leaving room for synchronization errors where:
* app calls SignalSemaphoreEXT to signal a semaphore
* mesa defers pipe_context::fence_server_signal with threaded context
* driver defers gpu submission
* SignalSemaphoreEXT has long since returned, app submits vk cmdbuf waiting on semaphore
* spec violation / device lost
to prevent this, the spec is being changed to:
1) require an implicit flush when calling SignalSemaphoreEXT
2) require that this implicit flush also forces GPU submission before SignalSemaphoreEXT returns
all affected drivers have been updated
fixes #6568
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17376 >
2022-07-10 16:15:17 +00:00
İlhan Atahan
4bd128f748
Add Adreno 616 and 620 to use turnip on these GPU's .
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17441 >
2022-07-10 15:36:52 +00:00
Emma Anholt
e9840e409f
vc4: Add notes on the remaining dEQP failures.
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17350 >
2022-07-10 02:50:09 +00:00
Emma Anholt
48a9196632
vc4: Move previous existing 3D xfails up to the group of 3d xfails.
...
Clears up known issues from ones that should be investigated and
explained.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17350 >
2022-07-10 02:50:09 +00:00
Emma Anholt
426c7b65db
vc4: Disable OES_texture_3D being exposed.
...
The hardware doesn't support 3D textures. We had been lying about 3D
texture level support in the past so that we got GL 2.1, but now reporting
levels==0 doesn't disable GL 2.1 (since we don't check for GL2 extensions
any more). But, by not lying, we now fix the majority of the remaining
GLES2 deqp failures.
This regresses a few desktop GL piglits which get GL errors that they
notice instead of what would be silent rendering failures on 3D texturing
operations.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17350 >
2022-07-10 02:50:09 +00:00
Emma Anholt
421aa5dfac
mesa/st: Disable OES_texture_3D for PIPE_CAP_MAX_TEXTURE_3D_LEVELS==0.
...
This will be used for vc4, where incorrectly exposing 3D textures accounts
for most of the GLES2 conformance failures it has. This leaves
EXT_texture3d exposed in the (already non-conformant) GL2.1 support it
exposes, which has always been a best-effort thing.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17350 >
2022-07-10 02:50:09 +00:00
Marek Olšák
b8397991c8
util: remove now unused debug_assert
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17403 >
2022-07-10 00:50:35 +00:00
Marek Olšák
c9ca8abe4f
Change all debug_assert calls to assert
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17403 >
2022-07-10 00:50:35 +00:00
Marek Olšák
2f01a22fe4
util: remove our redefinition of assert
...
I think we can all agree that our own assert is unnecessary.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6780
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17403 >
2022-07-10 00:50:34 +00:00
David Heidelberg
6676349c5d
ci: add script for manage Mesa CI
...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16891 >
2022-07-10 00:00:39 +00:00
Marek Vasut
c73cc1785a
dri: Check buffer height and avoid overflow
...
The dri2_allocate_buffer() can be called with arbitrary height, however
the struct pipe_resource .height0 member is uint16_t. Check height for
maximum size to avoid overflow. Note that .width0 is unsigned int, so
it does not have the same issue.
The uint16 limit comes from commit:
e6428092f5 ("gallium: decrease the size of pipe_resource - 64 -> 48 bytes")
The overflow can be triggered e.g. by requesting large BO:
```
gbm_bo_create(dev, 1, 640*480*4, GBM_FORMAT_R8, GBM_BO_USE_LINEAR);
```
Signed-off-by: Marek Vasut <marex@denx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16513 >
2022-07-09 22:07:14 +00:00
Marek Olšák
3b36700162
radeonsi: fix random PS wave size
...
Fixes: b3b2f97f2e "radeonsi: add Wave32 heuristics and shader profiles"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17410 >
2022-07-09 21:00:51 +00:00
Marek Olšák
9a39da359e
ac/surface: expose all 64K_R_X and 256K_R_X modifiers on gfx11
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17410 >
2022-07-09 21:00:51 +00:00
Marek Olšák
3514b73244
amd: update addrlib - trivial changes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17410 >
2022-07-09 21:00:51 +00:00
Jesse Natalie
8179182660
CI: Add dzn to debian vulkan/clang/release builds
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
5a59211acd
dzn: Use fabs on floating point input
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
2ace7832f9
dzn: Re-order dzn_physical_device_desc so = { 0 } doesn't initialize a struct
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
e0ebae8dca
dzn: Fix comparison order for format enums
...
Fixes: 53a352e1 ("dzn: Provide a helper to check if 2 formats are compatible")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
6c1ab8fdeb
dzn: Disable Wunused-value for C++ files
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
10e8e0b9d6
dzn: Only add Werror flags that the compiler supports
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Jesse Natalie
4ea58cf35f
dzn: Re-order includes in dzn_nir to prevent TRUE redefinition
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17423 >
2022-07-09 14:04:48 +00:00
Bas Nieuwenhuizen
f905edb199
radv: Expose VK_KHR_performance_query.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:06 +00:00
Bas Nieuwenhuizen
1a5a3ca9cc
radv: Implement listing performance counters.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:06 +00:00
Bas Nieuwenhuizen
eb669b94ee
radv: Implement support for querying performance counters.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:06 +00:00
Bas Nieuwenhuizen
439e4b5c88
radv: Add a list of performance counters.
...
Plus helpers that will be shared for listing counters + doing the
actual queries.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:06 +00:00
Bas Nieuwenhuizen
10211913e1
radv: Add perf counter lock/unlock commandbuffers.
...
These set the pass and make sure we don't have multiple submissions
at the same time touching the perf counters/pass at the same time.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:06 +00:00
Bas Nieuwenhuizen
5d52f12419
radv: Add helper BO for perf counters.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
Bas Nieuwenhuizen
2769018e39
radv: Make inhibiting clockgating not static.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
Bas Nieuwenhuizen
80a3c218eb
radv: Rename SPM functions.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
Bas Nieuwenhuizen
f7d8e64f51
radv: Add pstate locking for perfcounters.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
Bas Nieuwenhuizen
e60ee3524f
radv: move ac_perfcounters to physical_device.
...
Going to need it there for vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
Bas Nieuwenhuizen
6cfc2e91e8
radv: Add performance counter reg write.
...
Needed for reliably writing performance counter selectors.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16879 >
2022-07-09 12:29:05 +00:00
David Heidelberg
71b32a9f75
docs: briefly document Gallium Nine
...
Credits: Axel Davy, lorn10, Pavel Ondračka
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4937
Acked-by: Filip Gawin <filip@gawin.net >
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17154 >
2022-07-09 10:49:12 +00:00
Kenneth Graunke
c08f51d0cf
intel/compiler: Don't set SBID on EOT send messages
...
The send message with EOT is the last instruction so there's no need to
set any SWSB annotations for future instructions.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17202 >
2022-07-09 05:26:25 +00:00
Lionel Landwerlin
a4c5521ea9
nir/serialize: restore ray query variables
...
The ray query status of a variable is tracked in the
nir_variable::data. We need to store it in the serialization otherwise
restoring NIR from a cache will drop the annotation.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 5a9cdab170 ("nir: track variables representing ray queries")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16059 >
2022-07-09 00:32:00 +00:00
Emma Anholt
8c31f9a75a
ci: Remove GIT_STRATEGY from .test-manual-mr.
...
Since .test-manual-mr is just a modifier of an existing test job's deps,
it should already have this var set appropriately.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Emma Anholt
8d66e3a151
ci: Fix non-freedreno performance jobs running during Marge merges.
...
I mistakenly applied .gl-rules to the non-freedreno perf jobs, which
caused them to be incorrectly run pre-merge when core GL files changed.
Pull the freedreno core GL performance job rules out, explain a bit more
what is going on, and use it from iris and virgl performance testing.
This also drops running freedreno performance when core vulkan files
change -- freedreno perf testing doesn't have any turnip usage, nor does
it watch for turnip file changes.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Emma Anholt
9fdefa6182
ci: Remove .build-rules from core test job definitions.
...
If you accidentally re-included your test job core definition after your
driver-specific ruleset, you'd end up running the driver job on every
source code change. This had happened with a630_gles_asan: it included
.baremetal-test-arm64-asan (and thus .baremetal-test) after including
.a630-test, to override .baremetal-test-arm64's depednencies to use asan
artifacts instead.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Emma Anholt
27f9feb7b0
ci: Drop .build-rules from container jobs.
...
The rules: in this job overrides the .build-rules. This was a leftover
from retry: being the former definition of .build-rules.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Emma Anholt
4ebb1c5ab3
ci: Rename .ci-run-policy rules to .build-rules.
...
... and explain what they're doing, compared to the test rules in
test-source-dep.yml.
Unfortunately, we can't really pull them into test-source-dep.yml with
other source deps, because of various '&'-'*' references.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Emma Anholt
7c2fe7bf4b
ci: Make the retry policy default for all jobs.
...
We had to make sure to enable .ci-run-policy from every job to get the
retry, but we can just put it in the default section.
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17386 >
2022-07-08 23:44:52 +00:00
Jason Ekstrand
90114fb034
anv: Implement VK_EXT_shader_module_identifier
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
530de844ef
intel,anv,iris,crocus: Drop subgroup size from the shader key
...
Use nir->info.subgroup_size instead.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
e9b2862c1a
anv: Use vk_pipeline_shader_stage_is_null()
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
c5af8bcc37
vulkan: Add a vk_pipeline_shader_stage_is_null() helper
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
62915eb4fe
anv: Use vk_pipeline_shader_stage_to_nir
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
c2b3d9ca2b
anv: Put a VkPipelineShaderStageCreateInfo* in anv_pipeline_stage
...
It's an entirely temporary struct used by the compile process and never
escapes vkCreate*Pipelines so it's safe to just stuff the pointer in
there. This makes it easier to use some of our new helpers.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
56b815e91d
anv: Drop unnecessary parameters to anv_pipeline_compile_cs
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
b2ab6d10e4
mesa,glsl,ttn: Set subgroup_size to UNIFORM
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
8851f50753
spirv,vulkan: Set shader_info::subgroup_size
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
beb5b17d82
vulkan: Constify vk_spirv_version
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
a73c4d5098
vulkan: Re-order pipeline hashing
...
Match the order in vkPipelineShaderStageCreateInfo
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Jason Ekstrand
e1ee201722
shader_info: Move subgroup_size out of cs and make it an enum
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337 >
2022-07-08 22:47:22 +00:00
Tiago Koji Castro Shibata
e64fd5e475
d3d12: add more formats to supported conversions
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4761
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17435 >
2022-07-08 22:35:17 +00:00
Jason Ekstrand
048435b44c
vulkan/wsi: Fix structure chaining in wsi_create_buffer_image_mem
...
First, because we're using __vk_append_struct which attacks it on the
end, memory_wsi_info is modified even though it's const. Make things
non-const so we aren't silently violating assumptions. Also, we set a
pNext in memory_export_info which causes a loop in the pNext chain in
the handle_types != 0 case.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6826
Fixes: 124848bf9e ("vulkan/wsi: Support tiled CPU images")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17434 >
2022-07-08 21:50:55 +00:00
Jason Ekstrand
a084ee7209
vulkan/wsi/wayland: Only memcpy if the swapchain is actually software
...
Otherwise, we'll segfault. :-(
Fixes: aca545d616 ("vulkan/wsi/wayland: Use host pointer import when available")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17434 >
2022-07-08 21:50:55 +00:00
Alyssa Rosenzweig
e0e2294f47
panfrost/ci: Disable T760 jobs
...
These keep timing out due to abusive jobs.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17433 >
2022-07-08 21:33:19 +00:00
Rob Clark
c2c2da91a8
freedreno/a6xx: Do clip-plane lowering in backend
...
Our GS-lowered-to-quasi-VS confuses core nir passes, so handle clip-
plane lowering ourself.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
5352cd02f8
freedreno/a6xx: Handle driver-params in GS/DS
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
100d8afbbd
freedreno: rename ir3_emit_driver_params()
...
Driver-params are not VS specific, rename helper to reflect this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
8f77187e3e
freedreno/ir3: Fix GS clip-plane lowering
...
And also handle tess. In all cases, we want to use the VS lowering pass
on the last geometry stage. We don't make a special exception for GS
like other drivers, because GS gets lowered into a quasi-VS.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
bbcd04922f
freedreno/a6xx: Fix VS const packet size
...
Need to account for the PKT7 header.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
b63cc83f6a
freedreno/a6xx: Fix indentation
...
Another victim of automated re-indenting being unaware of the semantics.
Re-indent this to put each dword of the packet on it's own line to make
the size of the packet more clear.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
f2d9805f9b
freedreno/ir3: Add more tess varying slots
...
Fixes some piglits that I stumbled across by mistake.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
ff22be1110
freedreno/ir3: Copy vars if needed on EndPrimitive()
...
If we didn't EmitPrimitive() then the shadow (old) outputs would not
get copied to the emit temps (to eventually be copied back to the real
outputs. This isn't so bad except that means the realy vertex_flags
output has an undefined value.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
1fdddb1424
freedreno/ir3: Add copy_vars() helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
5434de7ab6
freedreno/ir3: Don't lower_gs multiple times
...
At least with gallium, this can be called multiple times via
pipe_screen::finalize_nir(). But it is not designed to be called
multiple times, and can result in vertex_flags getting 'optimized'
away.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6720
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
62c5d428bc
turnip: assert valid vertex_flag reg
...
If this somehow gets optimized out, the GS will run forever.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Rob Clark
e16c46c6a8
freedreno/a6xx: assert valid vertex_flags reg
...
If this somehow gets optimized out, the GS will run forever.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17341 >
2022-07-08 20:32:35 +00:00
Ian Romanick
bbcb881f46
intel/fs: Remove non-_LOGICAL URB messages
...
The _LOGICAL versions are lowered direct to SEND, so nothing can ever
generate these messages.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Ian Romanick
bdc7668008
intel/fs: Lower URB messages to SEND
...
Before rebasing on top of Ken's split-SEND optimization (see !17018 ),
this commit just caused some scheduling changes in various tessellation
and geometry shaders. These changes were caused by the addition of real
latency information for the URB messages.
With the addition of the split-SEND optimization, the changes
are... staggering. All of the shaders helped for spills and fills are
vertex shaders from Batman Arkham Origins. What surprises me is that
these shaders account for such a high percentage of the spills and fills
in fossil-db. 85%?!?
v2: Use FIXED_GRF instead of BRW_GENERAL_REGISTER_FILE in an assertion.
Suggested by Ken.
Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 20013625 -> 19954020 (-0.30%)
instructions in affected programs: 4007157 -> 3947552 (-1.49%)
helped: 31161
HURT: 0
helped stats (abs) min: 1 max: 400 x̄: 1.91 x̃: 2
helped stats (rel) min: 0.08% max: 59.70% x̄: 2.20% x̃: 1.83%
95% mean confidence interval for instructions value: -1.97 -1.86
95% mean confidence interval for instructions %-change: -2.22% -2.18%
Instructions are helped.
total cycles in shared programs: 859337569 -> 858636788 (-0.08%)
cycles in affected programs: 74168298 -> 73467517 (-0.94%)
helped: 13812
HURT: 16846
helped stats (abs) min: 1 max: 291078 x̄: 82.83 x̃: 4
helped stats (rel) min: <.01% max: 37.09% x̄: 3.47% x̃: 2.02%
HURT stats (abs) min: 1 max: 1543 x̄: 26.31 x̃: 14
HURT stats (rel) min: <.01% max: 77.97% x̄: 4.11% x̃: 2.58%
95% mean confidence interval for cycles value: -55.10 9.39
95% mean confidence interval for cycles %-change: 0.62% 0.77%
Inconclusive result (value mean confidence interval includes 0).
Broadwell
total cycles in shared programs: 904844939 -> 904832320 (<.01%)
cycles in affected programs: 525360 -> 512741 (-2.40%)
helped: 215
HURT: 4
helped stats (abs) min: 4 max: 1018 x̄: 60.16 x̃: 39
helped stats (rel) min: 0.14% max: 15.85% x̄: 2.16% x̃: 2.04%
HURT stats (abs) min: 79 max: 79 x̄: 79.00 x̃: 79
HURT stats (rel) min: 1.31% max: 1.57% x̄: 1.43% x̃: 1.43%
95% mean confidence interval for cycles value: -75.02 -40.22
95% mean confidence interval for cycles %-change: -2.37% -1.81%
Cycles are helped.
No shader-db changes on any older Intel platforms.
Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
Instructions in all programs: 142622800 -> 141461114 (-0.8%)
Instructions helped: 197186
Cycles in all programs: 9101223846 -> 9099440025 (-0.0%)
Cycles helped: 37963
Cycles hurt: 151233
Spills in all programs: 98829 -> 13695 (-86.1%)
Spills helped: 2159
Fills in all programs: 128142 -> 18400 (-85.6%)
Fills helped: 2159
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Ian Romanick
a477587b4a
intel/fs: Add _LOGICAL versions of URB messages
...
The lowering is currently fake. It just changes the opcode from the
_LOGICAL version to the non-_LOGICAL version.
v2: Remove some rebase cruft. 's/gfx8_//;s/simd8_/' in
brw_instruction_name. Both suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Ian Romanick
07b9bfacc7
intel/compiler: Move logical-send lowering to a separate file
...
brw_fs.cpp was 10kloc. Now it's only 7.5kloc. Ugh.
v2: Rebase on 9680e0e4a2 .
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Ian Romanick
c751ca769f
intel/eu: Validate some aspects of URB messages
...
If these checks had been in place previously, some bugs
that... eh-hem... practically took down the Intel CI would have been
caught earlier. *blush*
v2: Update to account for split sends.
v3: Add some more Gfx version checks. Remove the redundant "src0 is a
GRF" check. Both suggested by Ken.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Ian Romanick
b909ac350f
intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix
...
An argument could be made that all stage-specific opcodes for vec4
stages should be prefixed with VEC4_ like the stage-agnostic opcodes.
I'll leave those additional sed jobs for another day.
egrep -lr '(VS|GS|TCS)_OPCODE_URB_WRITE' src |\
while read f; do
sed --in-place 's/\(VS\|GS\|TCS\)_OPCODE_URB_WRITE/VEC4_\1_OPCODE_URB_WRITE/g' $f
done
egrep -lr 'T.S_OPCODE[_A-Z]*URB_OFFSETS' src |\
while read f; do
sed --in-place 's/\(T.S_OPCODE[_A-Z]*URB_OFFSETS\)/VEC4_\1/g' $f
done
Suggested-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379 >
2022-07-08 19:45:34 +00:00
Jesse Natalie
f7c741c058
dzn: Add for condition to break nested loop
...
Fixes: d132ec92 ("dzn: Support native image copies when formats are compatible")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17377 >
2022-07-08 19:17:53 +00:00
pal1000
36516b869e
dzn: Fix incompatible pointer type error affecting MSYS2 MINGW32
...
Suggested-by: Yonggang Luo <luoyonggang@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6807
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17414 >
2022-07-08 18:53:24 +00:00
David Heidelberg
81968e80cb
ci/traces: piglit, be more verbose
...
Print more information about traces testing progress.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
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/17416 >
2022-07-08 17:57:36 +00:00
Samuel Pitoiset
e527b41191
radv/ci: enable fossils testing for GFX1100
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16447 >
2022-07-08 17:13:40 +02:00
Rhys Perry
98a65eafb7
aco: use scratch_* for VGPR spill/reload on GFX9+
...
fossil-db (navi21):
Totals from 12 (0.01% of 162293) affected shaders:
Instrs: 122808 -> 122782 (-0.02%); split: -0.11%, +0.09%
CodeSize: 711248 -> 710788 (-0.06%); split: -0.16%, +0.10%
SpillSGPRs: 928 -> 831 (-10.45%)
SpillVGPRs: 1626 -> 1624 (-0.12%)
Latency: 4960285 -> 4932547 (-0.56%)
InvThroughput: 2574083 -> 2559953 (-0.55%)
VClause: 3404 -> 3402 (-0.06%)
Copies: 36992 -> 37181 (+0.51%); split: -0.05%, +0.56%
Branches: 3582 -> 3585 (+0.08%)
PreVGPRs: 3055 -> 3057 (+0.07%)
fossil-db (vega10):
Totals from 12 (0.01% of 161355) affected shaders:
Instrs: 124817 -> 124383 (-0.35%); split: -0.46%, +0.12%
CodeSize: 705116 -> 703664 (-0.21%); split: -0.44%, +0.23%
SpillSGPRs: 1012 -> 898 (-11.26%)
SpillVGPRs: 1632 -> 1624 (-0.49%)
Scratch: 201728 -> 200704 (-0.51%)
Latency: 6160115 -> 6266025 (+1.72%); split: -0.34%, +2.06%
InvThroughput: 6440203 -> 6544595 (+1.62%); split: -0.35%, +1.97%
VClause: 3409 -> 3423 (+0.41%)
Copies: 37929 -> 37748 (-0.48%); split: -1.16%, +0.69%
Branches: 3851 -> 3855 (+0.10%); split: -0.13%, +0.23%
PreVGPRs: 3053 -> 3055 (+0.07%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
0e783d687a
aco: use scratch_* for scratch load/store on GFX9+
...
fossil-db (navi21):
Totals from 52 (0.03% of 162293) affected shaders:
Instrs: 83190 -> 82145 (-1.26%)
CodeSize: 454892 -> 447260 (-1.68%); split: -1.68%, +0.00%
VGPRs: 4768 -> 4672 (-2.01%)
Latency: 1490887 -> 1487170 (-0.25%); split: -0.68%, +0.43%
InvThroughput: 935500 -> 933060 (-0.26%); split: -0.72%, +0.46%
VClause: 2715 -> 2632 (-3.06%); split: -4.53%, +1.47%
SClause: 1902 -> 1883 (-1.00%)
Copies: 8839 -> 8496 (-3.88%)
PreSGPRs: 2012 -> 1807 (-10.19%)
PreVGPRs: 3282 -> 3192 (-2.74%)
fossil-db (vega10):
Totals from 41 (0.03% of 161355) affected shaders:
Instrs: 35772 -> 35699 (-0.20%)
CodeSize: 187040 -> 186584 (-0.24%)
VGPRs: 4044 -> 4072 (+0.69%)
Latency: 243088 -> 242379 (-0.29%)
InvThroughput: 180301 -> 179783 (-0.29%)
VClause: 1204 -> 1216 (+1.00%)
SClause: 653 -> 637 (-2.45%)
Copies: 3736 -> 3704 (-0.86%); split: -0.88%, +0.03%
PreSGPRs: 1331 -> 1207 (-9.32%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
d2d94b62f2
aco: initialize scratch base registers on GFX9-GFX10.3
...
fossil-db (navi21):
Totals from 1142 (0.70% of 162293) affected shaders:
Instrs: 271636 -> 271974 (+0.12%)
CodeSize: 1532020 -> 1533792 (+0.12%)
Latency: 7484066 -> 7485698 (+0.02%)
InvThroughput: 4048824 -> 4049579 (+0.02%)
SClause: 4171 -> 4212 (+0.98%)
PreSGPRs: 11203 -> 12276 (+9.58%)
fossil-db (vega10):
Totals from 3327 (2.06% of 161355) affected shaders:
Instrs: 257413 -> 257601 (+0.07%)
CodeSize: 1424244 -> 1425372 (+0.08%)
Latency: 8598402 -> 8600466 (+0.02%)
InvThroughput: 7906335 -> 7908234 (+0.02%)
SClause: 4932 -> 4973 (+0.83%)
PreSGPRs: 22010 -> 25405 (+15.42%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
97e9e42e0d
aco: treat flat-like as vmem in some scheduling heuristics
...
fossil-db (navi21):
Totals from 12 (0.01% of 162293) affected shaders:
Instrs: 48754 -> 48762 (+0.02%)
CodeSize: 267092 -> 267124 (+0.01%)
Latency: 1293798 -> 1292303 (-0.12%); split: -0.12%, +0.00%
InvThroughput: 854599 -> 853578 (-0.12%)
VClause: 1623 -> 1619 (-0.25%)
SClause: 1187 -> 1188 (+0.08%); split: -0.08%, +0.17%
fossil-db (vega10):
Totals from 1 (0.00% of 161355) affected shaders:
Latency: 18720 -> 18848 (+0.68%)
InvThroughput: 5775 -> 5776 (+0.02%)
SClause: 12 -> 11 (-8.33%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
29953d6048
aco: include scratch/global in VMEM WAW optimization
...
fossil-db (navi21):
Totals from 2 (0.00% of 162293) affected shaders:
Instrs: 4788 -> 4785 (-0.06%)
CodeSize: 25884 -> 25872 (-0.05%)
Latency: 255008 -> 252950 (-0.81%)
InvThroughput: 170005 -> 168633 (-0.81%)
VClause: 206 -> 205 (-0.49%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
c66206cbed
aco: avoid WAW hazard with BVH MIMG and other VMEM
...
According to LLVM, image_bvh64_intersect_ray does not write results in
order with other VMEM instructions.
fossil-db (navi21):
Totals from 7 (0.00% of 162293) affected shaders:
Instrs: 39978 -> 39985 (+0.02%)
CodeSize: 219356 -> 219384 (+0.01%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
7d34044908
aco: refactor VGPR spill/reload lowering
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
6642f2fd74
aco: handle subtractions in parse_base_offset
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
52934f6cdb
aco: combine additions and constants into scratch load/store
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
931a456db1
aco: improve support for scratch_* instructions
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
cbeb25ce91
aco: make FLAT_instruction::offset signed
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
5898afba53
aco: include flat-like in vmem clause statistics
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Rhys Perry
08ed6ebc55
aco: make flat access latency match mtbuf/mubuf/mimg
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17079 >
2022-07-08 14:49:03 +00:00
Corentin Noël
5b683ba19a
virgl: Only progagate the uniform numbers if the numbers are actually right
...
When the field was first introduces, the numbers were reporting the number of
vec4 instead of the number of float. Do not propagate them if they are wrong.
Fixes: d92c1ca01b
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17415 >
2022-07-08 12:58:20 +00:00
Guilherme Gallo
70f1291d8e
ci/lava: Add canceled job status
...
We should be explicit that we are cancelling jobs once the script finds
some log messages that are linked with known issues. That means the
script preemptively retried the job without giving chances to recover.
Adds magenta color to cancelled jobs.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Guilherme Gallo
4783e55039
ci/lava: Add slow pytest marker
...
Mark test_full_yaml_log with this new marker to be easily run by the
developers.
Make `debian-testing` skip this test with `not slow` marker hint.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Guilherme Gallo
84abb3df13
ci/lava: Color red for fatal and yellow for warning
...
Fatal errors now have red foreground color and retry messages yellow
one.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Guilherme Gallo
daff21ef55
ci/lava: Make hung job status yellow
...
It will help to know what happened to a non-successful job.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Guilherme Gallo
2c51b7a9c9
ci/lava: Detect R8152 issues preemptively and retry
...
Implement a log-based retry hint for R8152 issue described in #6681 ,
which is based on detecting these two consecutive lines:
```
r8152 <USB> eth0: Tx status -71
nfs: server <IP> not responding, still trying
```
Where <IP> and <USB> could be any IP and USB addresses, respectfully.
This commit is a temporary fix since it requires a section-aware log
follower, implemented in !16323 . When the cited MR is merged, one will
make a proper fix on top of that.
Closes : #6681
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Guilherme Gallo
45a4b01427
ci/lava: Split lava_log into modules
...
This script is getting too big, it been hard to extend it.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17389 >
2022-07-08 12:26:05 +00:00
Mike Blumenkrantz
2f3a233b6f
zink: flush pending clears for fb texture barriers
...
if a texture barrier occurs while clears are pending, these clears should
show up if the fb attachments are read in shaders, so trigger a renderpass
to flush out the clears
cc: mesa-stable
fixes #6766
fixes (radv):
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq
dEQP-GLES3.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17363 >
2022-07-08 11:58:11 +00:00
Samuel Pitoiset
6517a2b926
radv: fix dumping VS prologs assembly
...
This got removed by mistake and broke
RADV_DEBUG=shaders,nocache,prologs.
Fixes: 9fe2b6b748 ("aco/radv: provide a vs prolog callback from aco to radv.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17413 >
2022-07-08 10:58:33 +00:00
Tatsuyuki Ishi
768cd5715d
radv: Fix vkCmdCopyQueryResults -> vkCmdResetPool hazard.
...
The Vulkan specification states:
> Query commands, for the same query and submitted to the same queue,
> execute in their entirety in submission order, relative to each other. In
> effect there is an implicit execution dependency from each such query
> command to all query commands previously submitted to the same queue.
Fixes dEQP-VK.query_pool.statistics_query.reset_after_copy.*
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17400 >
2022-07-08 10:35:11 +00:00
Georg Lehmann
4f5e25ea8d
aco/assembler: Fix s_bitreplicate_b64_b32 on GFX9.
...
This seems to be a relic from before aco added per generation opcodes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17405 >
2022-07-08 10:09:19 +00:00
Georg Lehmann
68db0a079b
aco: Fix swapping sources in SOPC -> SOPK optimization.
...
Fixes: 2d6b0a4177 ("aco/optimizer: Optimize SOPC with literal to SOPK.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17407 >
2022-07-08 09:43:51 +00:00
Georg Lehmann
27526ffad1
r600/sfn: Add missing std::array include.
...
Fixes: 79ca456b48 ("r600/sfn: rewrite NIR backend")
Closes https://gitlab.freedesktop.org/mesa/mesa/-/issues/6824
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17412 >
2022-07-08 09:34:53 +00:00
Pierre-Eric Pelloux-Prayer
01314d0880
radeonsi: use LLVMBuildLoad2 for inter-stage outputs loads
...
The PS case was covered by the previous commit, so we can use f32
everywhere.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:26 +00:00
Pierre-Eric Pelloux-Prayer
248781dea1
radeonsi: use LLVMBuildLoad2 in llvm PS
...
PS is the only shader type where unpacked 16-bit outputs can be used,
so use ac_shader_abi::is_16bit to pass the proper type to LLVMBuildLoad2.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:26 +00:00
Pierre-Eric Pelloux-Prayer
326c042491
ac/llvm: use LLVMBuildLoad2 in visit_load
...
Only FS can have f16 outputs, so always use f32 here.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:25 +00:00
Pierre-Eric Pelloux-Prayer
dc8d82516b
ac/llvm: handle opaque pointers in visit_store_output
...
Outputs are always f32 or f16.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:25 +00:00
Pierre-Eric Pelloux-Prayer
196c4ebe1a
ac: add per output is_16bit flag to ac_shader_abi
...
Outputs are always f32 except for FS that may use unpacked f16.
Store this information here to make it available to later processing.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:25 +00:00
Pierre-Eric Pelloux-Prayer
c275e69cee
radeonsi: use LLVMBuildLoad2 where possible
...
This commit replaces LLVMBuildLoad usage by LLVMBuildLoad2
where possible (= where the pointee type is known).
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:25 +00:00
Pierre-Eric Pelloux-Prayer
940734630d
ac: use LLVMContextSetOpaquePointers if available
...
Disabling opaque pointers in LLVM doesn't fix all the issues but
it makes pointers non-opaque by default (eg LLVMPointerType()
returns a typed pointer).
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17361 >
2022-07-08 08:41:25 +00:00
Danylo Piliaiev
d9296dcbbf
zink: re-enable EXT_primitives_generated_query for Turnip
...
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6602 is resolved
so the extension could be re-enabled.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17163 >
2022-07-08 11:15:20 +03:00
Danylo Piliaiev
bf4c160909
tu: Fix prim gen query and pipeline stats query interaction
...
Fixed:
- VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT was able to stop prim counter
when pipeline stats query is running.
- This may have happened when prim gen query was in secondary cmdbuf.
- VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT counting geometry in each tile.
- VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT counting geometry in each tile
when pipeline stats query is started inside prim gen query and inside
a renderpass.
The matter of VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT and pipeline stats
interaction is solved by tracking whether pipeline stats query is
running both on CPU (for non secondary cmdbuf case) and on GPU (for
secondary cmdbuf).
Note, prim gen query is not allowed with secondary command buffers, so
only pipeline stats query is tracked on gpu.
See https://gitlab.khronos.org/vulkan/vulkan/-/issues/3142
Counting geometry per each tile is solved by:
- Conditionally executing START/STOP_PRIMITIVE_CTRS to not run in tiling
pass. Solves the case when prim gen query is inside a renderpass.
- Stop prim counters before executing `draw_cs` and restarting them
afterwards. Solves prim gen query being outside a renderpass.
Fixes GL CTS tests with Zink + `TU_DEBUG=gmem`:
GTF-GL46.gtf30.GL3Tests.transform_feedback.transform_feedback_max_separate
GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_basic
GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_framebuffer
GTF-GL46.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_overflow
GTF-GL46.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_queried
GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_states
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6602
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17163 >
2022-07-08 11:14:18 +03:00
Danylo Piliaiev
465e7c303b
tu,freedreno: Refactored START/STOP events for pipeline stats
...
For a5xx+ renamed:
- RST_PIX_CNT -> START_FRAGMENT_CTRS
- RST_VTX_CNT -> STOP_FRAGMENT_CTRS
- TILE_FLUSH -> START_COMPUTE_CTRS
- STAT_EVENT -> STOP_COMPUTE_CTRS
I'm not sure about a5xx itself but I'll take a chance of it being
similar to a6xx in this regard.
Knowing this emit_begin_stat_query/emit_end_stat_query can now emit
only events that are needed for the pool's flags.
Also primitive generated query clearly doesn't need fragment and
compute counters.
Passes tests:
dEQP-VK.query_pool.statistics_query.*
dEQP-VK.transform_feedback.primitives_generated_query.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17163 >
2022-07-08 11:14:18 +03:00
Samuel Pitoiset
cf46397aec
aco: fix load_barycentric_at_sample without MSAA
...
It's legal to use this instruction in a fragment shader, even if the
graphics pipeline doesn't use MSAA.
Fixes
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.sample_n_*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17398 >
2022-07-08 07:28:33 +00:00
Iago Toral Quiroga
2071804f33
nir/serialize: fix missing divergence info after deserialization
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17397 >
2022-07-08 06:15:28 +00:00
Igor Torrente
48be8a9875
venus: Use maintenance4 to get max_size_buffer
...
This should help speedup the device initalization process.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17399 >
2022-07-08 04:27:51 +00:00
Igor Torrente
1893c81521
venus: Add support to VK_KHR_maintenance4 extension
...
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17399 >
2022-07-08 04:27:51 +00:00
Jesse Natalie
b16f9f8ba4
dzn: Only support high/normal queue priorities
...
D3D uses an int which seems like it'd support value between 0 and 100,
but in reality it only accepts values of exactly 0, or 100. The space
is left in case future values were to be added, so that comparisons
would work (e.g. MEDIUM_HIGH < HIGH).
Treat higher than 0.5 to be HIGH, and anything less to be NORMAL.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17406 >
2022-07-08 03:09:11 +00:00
Alyssa Rosenzweig
638b22354e
panfrost: Clear with a quad to avoid flushing
...
Flushing the batch midframe (splitting a renderpass) is expensive on a tiler, as
it requires the GPU to flush the framebuffer contents to main memory and read
them back. Clearing the framebuffer should not trigger a flush. Apps expect
clears to be (almost) free, flushing for a clear is at the very least unexpected
behaviour.
The only reason we previously flushed is to ensure we could always use a "fast"
clear. But a slow clear is a heck of a lot faster than a flush ;-) Instead of
flushing, we should clear with a draw (via u_blitter) in case a fast clear isn't
possible.
This fixes pathological performance for applications that rely on partial clears
within a frame. This issue was identified with Inochi2D, which repeatedly clears
the stencil buffer midframe, in order to implement masking efficiently with the
stencil buffer. In total, the all-important workload of rendering Asahi Lina is
improved from 17fps to 29fps on a panfrost device.
Fixes: c138ca80d2 ("panfrost: Make sure a clear does not re-use a pre-existing batch")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17112 >
2022-07-08 01:50:03 +00:00
Alyssa Rosenzweig
35a80418a1
panfrost/ci: Disable 0ad trace on T860
...
The last few frames of the trace are expensive (in terms of GPU time) and are
close to hitting the timeout. With the next commit, they do hit the timeout due
to using a larger batch. Nevertheless the next commit should be an overall perf
improvement on average, so this remove to unblock CI.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17112 >
2022-07-08 01:50:03 +00:00
Icecream95
91d9a34925
pan/decode: Change indent when decoding resources
...
Make the separation between entries in the resource table more
obvious.
Increase the indent by two levels to keep descriptors distinct from
the resource entry itself.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17371 >
2022-07-08 01:30:23 +00:00
Icecream95
e05889c8c9
pan/decode: Use tag bits for resource entry count
...
Fixes crashes when decoding the blob, which sometimes uses fewer than
9 entries.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17371 >
2022-07-08 01:30:23 +00:00
Icecream95
f7da4eade4
pan/decode: fflush buffers after dumping and before aborts
...
Otherwise trace files or other files being written (dEQP TestResults?)
might be truncated.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17371 >
2022-07-08 01:30:23 +00:00
Icecream95
bcd85a74e8
pan/va: Use the _safe iterator when adding blend shader calls
...
Otherwise the list 'next' changing will cause the assertion in
list_for_each_entry to be hit.
This was not hit before because list_assert is defined for debug
builds but not debugoptimized.
Fixes: 5067a26f44 ("pan/bi: Use flow control lowering on Valhall")
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17371 >
2022-07-08 01:30:23 +00:00
Icecream95
dc37ad2a73
panfrost: Enable QUAD_STRIP and POLYGON on v6
...
I wrote fiction about dreaming that these were supported but after
waking finding that they were not. Somehow I came to consider that
fiction as fact and I never thought to test if they did work.
While reverse engineering the polygon list format, I found that these
were supported after all.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17371 >
2022-07-08 01:30:23 +00:00
Alyssa Rosenzweig
3d69b65512
panfrost: Fix PIPE_COMPUTE_CAP_SUBGROUP_SIZE
...
Use the new helper to implement the CAP, correctly handling Midgard and Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17265 >
2022-07-08 01:14:55 +00:00
Alyssa Rosenzweig
c517ec5939
panfrost: Fix PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS
...
This maps to CL_DEVICE_MAX_COMPUTE_UNITS, which is defined as:
The number of parallel compute cores on the OpenCL device.
Since all supported Malis are unified shader cores, the number of parallel
compute cores is simply the number of shader cores.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17265 >
2022-07-08 01:14:55 +00:00
Alyssa Rosenzweig
fbe430fae9
panfrost: Move bifrost_lanes_per_warp to common
...
Whereas the compiler needs to know the warp size for lowering divergent
indirects, the driver needs to know it to report the subgroup size. Move the
Bifrost-specific helper to common and add the trivial implementation for
Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17265 >
2022-07-08 01:14:55 +00:00
Alyssa Rosenzweig
6f3eea5ddb
panfrost: Separate core ID range from core count
...
To query the core count, the hardware has a SHADERS_PRESENT register containing
a mask of shader cores connected. The core count equals the number of 1-bits,
regardless of placement. This value is useful for public consumption (like
in clinfo).
However, internally we are interested in the range of core IDs.
We usually query core count to determine how many cores to allocate various
per-core buffers for (performance counters, occlusion queries, and the stack).
In each case, the hardware writes at the index of its core ID, so we have to
allocate enough for entire range of core IDs. If the core mask is
discontiguous, this necessarily overallocates.
Rename the existing core_count to core_id_range, better reflecting its
definition and purpose, and repurpose core_count for the actual core count.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17265 >
2022-07-08 01:14:55 +00:00
Alyssa Rosenzweig
5aa740bc8e
pan/bi: Implement f2f16{_rtz, _rtne}
...
Float conversions with explicit rounding modes are required for OpenCL,
as well as for Vulkan with the VK_KHR_16bit_storage extension (mandatory
in Vulkan 1.1). Since the hardware conversion instructions allow
configuring the round mode, this is easy to support :-)
Fixes test_half.vstore_half_rtz.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17262 >
2022-07-08 00:57:18 +00:00
Alyssa Rosenzweig
5f599fdef6
pan/va: Add missing <roundmode/> to V2F32_TO_V2F16
...
So we can implement f2f16_rtz.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17262 >
2022-07-08 00:57:18 +00:00
Lionel Landwerlin
9680e0e4a2
intel/fs: ray query fix for global address
...
With stages dispatching with a mask, we can run into situations where
we don't have the global address in all lanes. The existing code
always assumed we had the addres in at least lane0.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: bb40e999d1 ("intel/nir: use a single intel intrinsic to deal with ray traversal")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17330 >
2022-07-08 00:36:04 +00:00
Alyssa Rosenzweig
9bd7570e96
pan/bi: Fix unpack_32_2x16 definition
...
This got messed up when scalarizing the IR. Fix the definition of the opcode to
return (instead of break, asserting out) and to respect the swizzle (instead of
failing validation). Noticed when bringing up OpenCL on Valhall.
Fixes: 5febeae58e ("pan/bi: Emit collect and split")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17222 >
2022-07-07 23:16:39 +00:00
Jesse Natalie
6ee9002ff6
dzn: Fix winsys reporting
...
For Windows we don't support using the DISPLAY winsys,
and for WSL we should add the ones that support software
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17346 >
2022-07-07 23:02:00 +00:00
Rhys Perry
48578713b7
radv,aco,ac/llvm: use nir_op_f{sin,cos}_amd
...
This lets NIR optimize the multiplication, particularly sin/cos(a * #b).
fossil-db (Sienna Cichlid):
Totals from 12306 (7.58% of 162293) affected shaders:
MaxWaves: 224814 -> 224834 (+0.01%)
Instrs: 17365273 -> 17338758 (-0.15%); split: -0.16%, +0.00%
CodeSize: 93478488 -> 93354912 (-0.13%); split: -0.14%, +0.01%
VGPRs: 752080 -> 752072 (-0.00%); split: -0.00%, +0.00%
SpillSGPRs: 8440 -> 8410 (-0.36%)
Latency: 200402154 -> 200279405 (-0.06%); split: -0.06%, +0.00%
InvThroughput: 37588077 -> 37545545 (-0.11%); split: -0.11%, +0.00%
VClause: 293863 -> 293874 (+0.00%); split: -0.03%, +0.03%
SClause: 619539 -> 619064 (-0.08%); split: -0.09%, +0.01%
Copies: 1151591 -> 1151641 (+0.00%); split: -0.04%, +0.05%
Branches: 506434 -> 506437 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 877609 -> 877517 (-0.01%); split: -0.01%, +0.00%
PreVGPRs: 711938 -> 711940 (+0.00%); split: -0.00%, +0.00%
fossil-db (LLVM, Sienna Cichlid):
Totals from 4377 (3.59% of 121873) affected shaders:
SGPRs: 358960 -> 359176 (+0.06%); split: -0.18%, +0.25%
VGPRs: 319832 -> 319720 (-0.04%); split: -0.18%, +0.15%
SpillSGPRs: 46983 -> 47007 (+0.05%); split: -0.99%, +1.04%
CodeSize: 30872812 -> 30764512 (-0.35%); split: -0.39%, +0.04%
MaxWaves: 73814 -> 73904 (+0.12%); split: +0.25%, -0.13%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10587 >
2022-07-07 22:18:08 +00:00
Rhys Perry
bb0415b697
nir: allow 16-bit fsin_amd/fcos_amd
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10587 >
2022-07-07 22:18:08 +00:00
Rhys Perry
bc1ea2fda9
nir/algebraic: optimize bcsel(c, fsin/cos_amd(a), fsin/cos_amd(b))
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10587 >
2022-07-07 22:18:08 +00:00
Rhys Perry
69d21a3dee
nir: rename fsin_r600/fcos_r600 to fsin_amd/fcos_amd
...
GCN has better range, but constant folding is the same.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10587 >
2022-07-07 22:18:08 +00:00
Pierre-Eric Pelloux-Prayer
835364ea0c
vulkan/wsi: define pWaitDstStageMask in the blit submission
...
Otherwise we get a crash in vk_common_QueueSubmit when doing:
.stageMask = pSubmits[s].pWaitDstStageMask[i],
cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6712
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17310 >
2022-07-07 21:49:39 +00:00
Mike Blumenkrantz
3f11ae93be
zink: support PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:31 +00:00
Mike Blumenkrantz
2f46495ac0
zink: don't warn for missing customBorderColorWithoutFormat on turnip
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:31 +00:00
Mike Blumenkrantz
6872adda26
zink: disable customBorderColorWithoutFormat on turnip
...
this should "just work" now
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:30 +00:00
Mike Blumenkrantz
b6f23f4144
zink: init driver workarounds earlier in screen creation
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:30 +00:00
Mike Blumenkrantz
c4e18cd4dd
mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO
...
this is for drivers (like freedreno) which need the format in the sampler
state in order to accurately handle border colors
when set, drivers MAY receive a format in the sampler state if the frontend
supports it (e.g., nine does not), and the cso sampler cache will include
the format member of the struct
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:30 +00:00
Mike Blumenkrantz
ad0ee7ad42
mesa/st: make get_sampler_view_format() public
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17189 >
2022-07-07 20:39:30 +00:00
Kenneth Graunke
ec2e8bc33f
intel/compiler: Avoid copy propagating large registers into EOT messages
...
EOT messages need to use g112-g127 for their sources. With the new
opt_split_sends pass, we may be constructing an EOT message from two
different registers, and be able to copy propagate the original values
into those SENDs.
This can cause problems if we copy propagate from a large register
(say an RGBA value which is 4 GRFs in SIMD8 or 8 GRFs in SIMD16), in a
situation where the SEND only read a subset of that (say the alpha value
out of an RGBA texturing result). g112-127 can only hold 16 registers
worth of data, and sometimes we can only use g112-126. So, we can't
propagate if the GRFs in question are larger than 15 GRFs.
Fixes a shader validation failure in Alan Wake. Thanks to Ian Romanick
for catching this!
shader-db on Icelake shows that only SIMD32 programs are affected, and
the results are pretty negligable:
total instructions in shared programs: 19615228 -> 19615269 (<.01%)
instructions in affected programs: 10702 -> 10743 (0.38%)
helped: 1 / HURT: 43 / largest change: +/- 2 instructions
total cycles in shared programs: 852001706 -> 852001566 (<.01%)
cycles in affected programs: 767098 -> 766958 (-0.02%)
helped: 68 / HURT: 64 / largest change: +/- 774 cycles
GAINED: 2 / LOST: 0
Fixes: 589b03d02f ("intel/fs: Opportunistically split SEND message payloads")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6803
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17390 >
2022-07-07 20:20:01 +00:00
Gert Wollny
983385d319
r600/sfn: support nir_op_mulz and legazy math rules
...
v2: Handle nir_op_ffmaz as well (Georg Lehmann)
Closes : #6390
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:02 +00:00
Gert Wollny
9437cbb76d
r600: Cleanup nir options
...
A general cleanop of the nir compiler options including separating
the handling for FS and all the other shaders.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:02 +00:00
Gert Wollny
e562fde86a
r600: enable sb by default also for NIR
...
Currently, the NIR code path doesn't use clause local registers,
but these seem to help a lot with some work loads.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:02 +00:00
Gert Wollny
79ca456b48
r600/sfn: rewrite NIR backend
...
This is a rewite of the NIR backend. it adds some optimization
and a scheduler.
v2: - replace some magic numbers by constants
- make sure constructor is always used with new
- use default initialization in more places
(changes suggested by Filip Gawin)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:02 +00:00
Gert Wollny
ab06b00c63
r600: Update nir options
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:02 +00:00
Gert Wollny
3525d29a8d
r600: Make sure that LDS instructions only use bank swizzle 012
...
Not sure whether this is really needed. With the TGSI code path no
other bank swizzle is emitted for LDS ops, so make sure it's the same here.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:01 +00:00
Gert Wollny
105b03a5ed
r600: Add number of ALU groups to statistics
...
The number of ALU groups is important for good sccheduling, so
let's add it to the stats.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076 >
2022-07-07 20:11:01 +00:00
Lionel Landwerlin
c67c9688c3
anv/utrace: use a bo pool for utrace buffers
...
When utrace/perfetto is active, we allocate/free utrace buffers at the
same rate as command buffers. It's useful to have a pool that avoids
GEM_CREATE/GEM_CLOSE ioctls.
v2: Use the pool more
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16613 >
2022-07-07 18:49:05 +00:00
Jason Ekstrand
0b92636b62
dozen: Stop asking for semaphore/fence signaling
...
Dozen is currently a SW driver as far as WSI is concerned so it's going
to wait on a fence anyway. Also, I highly doubt it's actually hooked
these up properly. It's probably just a copy+paste from ANV.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:20 -05:00
Jason Ekstrand
14dd5bd2cb
dozen: Increase optimalBufferCopy*Alignment
...
D3D12 requires the offset to be 512B-aligned and row pitch to be
256B-aligned for copy commands. There will need to be a fallback
written eventually because Vulkan has no such requirements but these
will remain the optimal limits as they allow using the D3D12 copy
commands directly.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jesse Natalie
8faf3781c8
vulkan/wsi/win32: Use the new helpers and persistent map
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jason Ekstrand
aca545d616
vulkan/wsi/wayland: Use host pointer import when available
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jason Ekstrand
54fa5ff406
vulkan/wsi/x11: Only use MIT_SHM if the device supports EXT_external_memory_host
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jason Ekstrand
5abc05f1df
vulkan/wsi/x11: Don't leak shm_reply if we don't have dri3 or present
...
Fixes: b5c390c113 ("vulkan/wsi: add support for detecting mit-shm pixmaps.")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jason Ekstrand
124848bf9e
vulkan/wsi: Support tiled CPU images
...
Some drivers such as lavapipe are 100% fine with using linear for WSI
images. Most HW drivers, however, would rather render tiled and eat a
blit.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:19 -05:00
Jason Ekstrand
83fb6fe569
vulkan/wsi: Align buffer image strides to optimalBufferCopyRowPitchAlignment
...
This isn't a big deal for the current buffer paths because the required
alignment for PRIME is already higher than any driver advertises.
However, the SW path we're about to add won't have the PRIME requirement.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:17 -05:00
Jason Ekstrand
13148b9c68
vulkan/wsi: Compute stride and size in configure_buffer_image
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:10 -05:00
Jason Ekstrand
cf37837d36
vulkan/wsi: Persistently map CPU images
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 11:44:09 -05:00
Jason Ekstrand
1d0290fbfe
vulkan/wsi: Delete SW support from configure_native_image
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:35 -05:00
Jason Ekstrand
4c79ec1934
vulkan/wsi/wayland: Use wsi_configure_cpu_image
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:34 -05:00
Jason Ekstrand
3d48b3c6f8
vulkan/wsi/x11: Use wsi_configure_cpu_image
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:33 -05:00
Jason Ekstrand
afe2cb7b11
vulkan/wsi: Add a helper for creating CPU images
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:30 -05:00
Jason Ekstrand
1cc20fbefd
vulkan/wsi: Move select_memory_type to common and rework it a bit
...
Instead of taking a single boolean for device-local, take a set of
required properties and denied properties. This will let us require
additional things like being CPU mappable in the future.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:29 -05:00
Jason Ekstrand
fbb7b6e052
vulkan/wsi/wayland: Use a single memcpy in the SW path
...
The strides match. There's no reason to loop over image height.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:27 -05:00
Jason Ekstrand
ca6bd57e76
vulkan/wsi: Pass the size to MapMemory in the SW path
...
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17388 >
2022-07-07 10:21:24 -05:00
Tatsuyuki Ishi
2848e2f28e
radv/ci: Move sample_texture.*_compressed_format_* to faillist for gfx<=9
...
This turned out to be not a CTS bug but rather hardware bug around the
cache handle BCn textures.
It requires significant tracking to detect such cases, and it's likely
not worth a workaround since reading a texture as both compressed and
uncompressed in succession shall not be a realistic use case.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6689
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17345 >
2022-07-07 13:19:56 +00:00
Pierre-Eric Pelloux-Prayer
5791826b1a
mesa: skip draws with invalid indices offset
...
It's easy to misuse glDrawElements and end up with an
invalid indices offset.
Since this can cause a hang, detect this case and skip
the draw.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6625
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662 >
2022-07-07 12:25:05 +00:00
Pierre-Eric Pelloux-Prayer
3c61f2cc15
util/blob: use memcpy in read functions
...
Type casting may require specific alignment on some platforms;
since the input data can be provided by the application we can't
require any alignment.
Switch to using memcpy like the write functions do, and drop the
asserts.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6493
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662 >
2022-07-07 12:25:05 +00:00
Pierre-Eric Pelloux-Prayer
8856379a03
mesa/st: don't guess the internal format if it's known
...
This fixes tests using imageLoad/imageStore on texture
created using glEGLImageTargetTexture2DOES.
Before this change, the format was guessed as GL_RGBA,
which would be rejected by _mesa_get_shader_image_format.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662 >
2022-07-07 12:25:05 +00:00
Pierre-Eric Pelloux-Prayer
085bdd89c2
dri: store internal_format when known
...
For images created from textures or renderbuffer, the internal
format is known so store it.
This will be used in the next commit to replaces guessing it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16662 >
2022-07-07 12:25:05 +00:00
Lionel Landwerlin
f1dd487531
intel/nir: temporarly disable opt_uniform_atomics for RT/CL
...
Not had time to investiguate what is going is on but it's definitely a
contributor to failures.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16104 >
2022-07-07 10:21:48 +00:00
Gert Wollny
bf29ebc0a7
virgl: Submit the TGSI_PROPERTY_SEPARABLE_PROGRAM when the host understands it
...
We can't unconditionally support separable shader objects on the host,
so submit the property only if the shader is actually separable, the
host knows about the property, and supports SSO.
Without support for SSOs, the host can still compile and link the shaders,
it needs to do more work on interface matching though.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17344 >
2022-07-07 09:46:53 +00:00
Gert Wollny
198bcf7726
tgsi: Don't bother setting the TGSI_PROPERTY_SEPARABLE_PROGRAM
...
Most drivers don't care about the property, and virgl should only handle
it if the host supports it.
This is a partial revert of b634030 , i.e. we keep the definition of the
property, but we don't set it only based on the shader info.
Fixes: b634030542
tgsi: Add SEPARABLE_PROGRAM property
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17344 >
2022-07-07 09:46:53 +00:00
Iago Toral Quiroga
f4a3bccf94
v3dv: remove obsolete comment
...
multop + umul24 can only be used to implement 32-bit multiplies,
so for a full 64-bit result we always need to lower.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17372 >
2022-07-07 09:16:24 +00:00
Iago Toral Quiroga
152fc4fd28
v3dv: don't lower uadd_carry and usub_borrow
...
We can produce slightly better code for these in the backend, so
do that. For this we need to:
1. Fix our implementation of uadd_carry (which wasn't used) to return
an integer instead of a boolean value.
2. Add an implementation of usub_borrow.
Notice these are only used in Vulkan. In GL these instructions are
always unconditionally lowered by the state tracker in GLSL IR so
we never get to see them in the backend.
Shader-db stats from a collection of Vulkan samples:
total instructions in shared programs: 122351 -> 122345 (<.01%)
instructions in affected programs: 196 -> 190 (-3.06%)
helped: 2
HURT: 0
total uniforms in shared programs: 18670 -> 18672 (0.01%)
uniforms in affected programs: 59 -> 61 (3.39%)
helped: 0
HURT: 2
total max-temps in shared programs: 13145 -> 13147 (0.02%)
max-temps in affected programs: 27 -> 29 (7.41%)
helped: 0
HURT: 2
total inst-and-stalls in shared programs: 123052 -> 123046 (<.01%)
inst-and-stalls in affected programs: 197 -> 191 (-3.05%)
helped: 2
HURT: 0
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17372 >
2022-07-07 09:16:24 +00:00
Iago Toral Quiroga
84a0dca9df
nir: fix documentation for uadd_carry and usub_borry opcodes
...
These opcodes where fixed to return an integer instead of a boolean
value some time ago but the documentation for them was not updated
and still talked about a boolean result.
Fixes: b0d4ee520 ('nir/opcodes: Fix up uadd_carry and usub_borrow')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17372 >
2022-07-07 09:16:24 +00:00
Lionel Landwerlin
1b6c74c48d
intel/fs: make sure memory writes have landed for thread dispatch
...
The thread dispatch SEND instructions will dispatch new threads
immediately even before the caller of the SEND instruction has reached
EOT. So we really need to make sure all the memory writes are visible
to other threads within the DSS before the SEND.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15755 >
2022-07-07 09:48:20 +03:00
Clément Guérin
a1a22862c6
venus: implement VK_EXT_physical_device_drm
...
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17387 >
2022-07-07 02:46:45 +00:00
Dawn Han
fdf550cdf0
venus: enabled iub in physical device
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Dawn Han
32283b9703
Refactor and add template support for iub
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Dawn Han
abae9d4831
Add the iub binding count tracking
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Dawn Han
6bd8dda57b
Add iub type to vn_descriptor_type
...
Verified the pNext VkWriteDescriptorSet is not NULL on iub type
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Dawn Han
78e637f857
Refactor the descriptor enums to be extensible
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Dawn Han
40fb107664
Add iub features and properties passthrough
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16699 >
2022-07-07 02:37:36 +00:00
Guilherme Gallo
20827dfa9b
ci/lava: Update license header
...
Use SPDX to indicate the license.
Update authors of lava_job_submitter.py
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
3f3b0a28f2
ci/lava: Rename console color names
...
Use FG to indicate foreground colors
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
6ba2b33a8c
ci/lava: Flexibilize section marker regexes
...
In some jobs, such as
https://gitlab.freedesktop.org/gallo/mesa/-/jobs/24904100 , the kmsg is
interleaved with stderr/stdout in serial console, making it difficult to
confidently find the log messages to detect when the DUT is booting,
when the DUT is running etc.
Luckily, LAVA sends redundant messages about their signals. We can use
them to mitigate the chance of missing an interleaved message by being
more open to different messages, using the regex on both `debug` and
`target` LAVA log levels.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
24f368d652
ci/lava: Stop printing after the result line
...
There are some leftovers in the jobs logs after the result log line.
Only print until the init-stage2.sh output, to raise the chance to check
for the test script results at the first glance in the Gitlab logs.
Extra changes:
- Add `hung` status for jobs considered hanging in the Gitlab
- print them after the retry loop
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
f09aab08e9
ci/lava: Highlight job retrying message
...
It should be clear to the developer that the job was not successful in
the first run.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
868daded22
ci/lava: Highlight kernel messages in bold
...
This will serve to warn the user that those messages are processed
differently, e.g. the kmsgs does not trigger heartbeats and maybe
eventual targets of hint to retry the job immediately.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
29af421272
ci/lava: Don't print LAVA debug messages
...
Remove debug messages from the output in order to unclutter the log a
little more for the developers.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
466917ea4c
ci/lava: Add an integration test for LAVA jobs
...
test_full_yaml_log is a test that will look for a LAVA log YAML file at
`/tmp/log.yaml` and consume it as it was a realtime CI job.
It is useful for debugging issues related with LAVA.
Let's keep it skipped by default, to avoid introducing entire logs into
the codebase.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
c9d4076c1e
ci/lava: Wrap job definition dump into a collapsed section
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
fc2ae8d375
ci/lava: Wrap job info into a collapsed section
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
02cac49721
ci/lava: heartbeat: don't consider kernel message logs
...
Currently, the submitter consider that every new log that comes from the
DUT console is a signal that the device is healthy, but maybe that is
not the case, since in some kernel hangs/failures, no output is
presented except from some kernel messages.
This commit bypass the heartbeat when the LogFollower detect a kernel
message. Any log line that does follow the kmsg pattern will make the
job labeled as healthy again.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
aa26a6ab72
ci/lava: Follow job execution via LogFollower
...
Now LogFollower is used to deal with the LAVA logs.
Moreover, this commit adds timeouts per Gitlab section, if a section
takes longer than expected, cancel the job and retry again.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
2569d7d7df
ci/lava: Create LogFollower and move logging methods
...
- Create LogFollower to capture LAVA log and process it adding some
- GitlabSection and color treatment to it
- Break logs further, make new gitlab sections between testcases
- Implement LogFollower as ContextManager to deal with incomplete LAVA
jobs.
- Use template method to simplify gitlab log sections management
- Fix sections timestamps
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Guilherme Gallo
c86ba3640f
ci/lava: Create Gitlab log sections handler
...
Gitlab has support for collapsible sections, so it would be good to
create collapsed log sections for the LAVA setup logs. This way, the
Mesa developers to see only the execution of the scripts, instead of
LAVA messages clutter.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16323 >
2022-07-07 00:28:53 +00:00
Chia-I Wu
3831079fdf
vulkan/device_select: remove get_pdevice_proc_addr
...
It is optional and is needed only when a layer has physical device
extensions that may be unknown to the loader.
This simplifies the layer a bit, but more importantly, it works around a
bug in the loader when there is another layer in the layer chain that
wraps VkInstance.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16307 >
2022-07-06 23:53:25 +00:00
Dylan Baker
259449e573
docs: Bump 22.2 branchpoint by two weeks
...
There's been several requests to push the release back a bit to allow
more time in the 22.2 cycle, so we'll bump by two weeks. This adds an
extra 22.1 release to the schedule as well, due to the move.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17384 >
2022-07-06 15:11:36 -07:00
Hans-Kristian Arntzen
9dbfc21ab9
radv: Implement VK_EXT_shader_module_identifier.
...
Passes dEQP-VK.pipeline.*.shader_module_identifier.*
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17332 >
2022-07-06 16:27:21 +00:00
Hans-Kristian Arntzen
0119de08f2
vulkan: Add common code for VK_EXT_shader_module_identifier.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17332 >
2022-07-06 16:27:21 +00:00
Hans-Kristian Arntzen
6d66a43a70
vulkan: Update Vulkan XML and headers to 1.3.219.
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17332 >
2022-07-06 16:27:21 +00:00
Mike Blumenkrantz
0070dd2fa9
mesa: remove incomplete texture warning
...
ETOOSPAMMY
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yusuf Khan <yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17362 >
2022-07-06 15:35:46 +00:00
Corentin Noël
d92c1ca01b
virgl: Add support for passing the supported number of components from virgl
...
Return the capabilities reported by the host. No functional change in case the
host virgl implementation doesn't implement it.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Italo Nicola <italonicola@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16401 >
2022-07-06 13:12:38 +00:00
Corentin Noël
2283ac5832
virgl/ci: Update virglrenderer
...
Update virglrenderer to the latest version on time.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16401 >
2022-07-06 13:12:38 +00:00
Lucas Stach
a1ed056ee6
kmsro: add 'imx-lcdif' driver support
...
This is the scanout engine found on the NXP i.MX8MP SoC.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17369 >
2022-07-06 12:37:02 +00:00
Jesse Natalie
53565c9929
dzn: Add ABI helpers for D3D12 functions returning structs
...
The currently available D3D12 API headers have incorrect C function
prototypes for these functions when compiling for non-Windows platforms.
Future changes here will move these helpers into the DirectX-Headers
project, but:
* The process of getting a fix into the headers is still ongoing
* I'd prefer to avoid taking an immediate dependency on just-published
headers again
So, for now add some helpers to work around this problem in Dozen
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
074275d911
dzn: Add a DXCore enumeration path
...
WSL doesn't have DXGI, but it does have DXCore. DXCore also has a nice
property that it filters to only D3D12-capable adapters. We can rely
on DXCore as a first option even for Windows, because we'll be able
to let the Vulkan loader do preference sorting, instead of having to
rely on DXGI to do it for us.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
49967ea306
dzn: Move DXGI code to a separate file and only build it on Windows
...
The prototypes for physical device enumeration are moved to a new
dedicated header so that it can be included from a DXCore path,
which will C++, in the next commit
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
68c65de264
dzn: Use a custom adapter desc instead of DXGI adapter desc
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
9a2ab661b7
dzn: Don't hash adapter LUID as part of device UUID
...
Per the Vulkan spec, the device UUID should be identical between reboots.
It should also uniquely identify different instances of the same device,
e.g. 2 identical GPUs connected to different PCI ports, but D3D doesn't
currently expose a way to do both of these things. Prefer persistence
over uniqueness here.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
236282559e
dzn: Use IUnknown instead of IDXGIAdapter1 as the stored adapter
...
WSL doesn't support DXGI, and DirectX-Headers used to build for WSL
doesn't have the DXGI headers, so we need to isolate DXGI usage
and only build it on Windows
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
17c0888cfe
dzn: Skip dxil validator and some Windows-only debug flags for Linux
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
72a9e66b20
dzn: Fix maybe-uninitialized warning
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
45ad8125f5
dzn: Add an eventfd sync implementation
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
c7d8f1a7b8
dzn: Use u_dl to load D3D12
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
b31c0775e6
dzn: Use os_time_sleep instead of Win32 Sleep
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
1a01187e1b
dzn: Define COBJMACROS before any includes
...
Otherwise the IUnknown definition might get included before it.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jesse Natalie
f47e42fdba
dzn: Annotate sometimes-unused variables.
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17340 >
2022-07-06 12:18:55 +00:00
Jason Ekstrand
bfbcd966f3
nir: Use util_mask_sign_extend when serializing constants
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
642283a2c1
panfrost,asahi: Use util_sign_extend for unpacking
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
6787c96039
intel/decoder: Use util_mask_sign_extend()
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
bc5e77a9f2
isl: Use util_sign_extend
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
efc63ea02d
util,nir: Move mask_sign_extend from opt_load_store_vectorize to util
...
While we're moving it, reformat a bit to make it match util_sign_extend
better.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
a307bc8556
mesa/bptc: Use util_sign_extend
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
1df29825e7
util: Use util_sign_extend in fast_idiv_by_const
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
53eeb1e238
util: Use shifts in util_sign_extend
...
As long as we left-shift the unsigned version, this has no undefined
behavior and is fewer instructions. The only tricky bit is that a right
shift of a negative number is technically implementation-defined (not
undefined) behavior in C. However, if it's ever anything other than an
arithmatic right-shift, there's lots of other places where Mesa will
break today.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
6fee4584ea
util: Re-indent util_sign_extend, comment, and add asserts
...
The current implementation depends on both of these things for
correctness. If width > 64, you get UB wrap-around and, if
val >= (1 << width), the subtract trick won't work.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Jason Ekstrand
20016aa8f6
anv: Replace an assert() with unreachable()
...
Also move it to the end of the switch as is more conventional. For some
reason, later patches in the series make ANV fail to build because GCC
stops detecting the assert(!"str") as not returning.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17214 >
2022-07-06 11:23:18 +00:00
Georg Lehmann
2d6b0a4177
aco/optimizer: Optimize SOPC with literal to SOPK.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Georg Lehmann
52f8167b25
aco/optimizer: Convert s_add_u32 with literals to s_add_i32 if carry is not used.
...
To allow further optimizations to s_addk_i32.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Georg Lehmann
e06773281b
aco/ra: Optimize some SOP2 instructions with literal to SOPK.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Georg Lehmann
efdb323ad2
aco/ir: Pad SOP2 and SOPC to the same size as SOPK.
...
Being able to directly cast instructions simplifies optimizations.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Georg Lehmann
87b4f3daa1
aco/ra: Move mac encoding optimization to its own function.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Georg Lehmann
c9490436b6
aco/ra: Static assert that changing instruction type to VOP2 is valid.
...
It's not obvious that this is correct.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15999 >
2022-07-06 09:54:54 +00:00
Samuel Pitoiset
599b587220
radv/ci: update list of failures against CTS 1.3.3.0
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17370 >
2022-07-06 10:26:20 +02:00
Samuel Pitoiset
0effcda0fc
zink/ci: update list of failures
...
These regressions aren't related to LLVM at all and they are fixed
with recent 16-bit related fixes for ACO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17370 >
2022-07-06 10:26:20 +02:00
Lucas Stach
6ab2e1055b
etnaviv: drop scanout assumption for resources allocated via modifier interface
...
Now that usage flags can be specified even when using the modifier path for
allocation and frontends like GBM and EGL wayland do this properly, we can
drop the assumption that all resources allocated through the modifier
enabled path need to be SCANOUT capable.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17364 >
2022-07-06 07:43:26 +00:00
Boris Brezillon
99352b87dc
dzn: Take VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT into account
...
Use a typeless format when VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT is
set, so we can cast to compatible types at least. Still doesn't
work when formats are of the same size but from incompatible
types (like R32_FLOAT and RGBA8_UNORM), which Vulkan considers
as compatible while D3D12 doesn't, but it gets us closer to what
the Vulkan API wants.
D3D12_FEATURE_DATA_D3D12_OPTIONS12::RelaxedFormatCastingSupported
should address the remaining limitations.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17368 >
2022-07-06 06:15:46 +00:00
Boris Brezillon
d132ec924d
dzn: Support native image copies when formats are compatible
...
CopyTextureRegion() works fine if the formats belong to the
same group (matching the same _TYPELESS type), so let's avoid
creating a temporary resource in that case.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17368 >
2022-07-06 06:15:46 +00:00
Boris Brezillon
53a352e1cf
dzn: Provide a helper to check if 2 formats are compatible
...
D3D12 supports fomat casting through optional features. Let's
add a helper to query whether 2 formats are compatible or not.
The compatibility depends on the formats+usage pair
(CopyTextureRegion() is less strict than the texture sampling
logic).
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17368 >
2022-07-06 06:15:46 +00:00
Boris Brezillon
af294d9ba0
dzn: Query D3D12_FEATURE_D3D12_OPTIONS3 features
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17368 >
2022-07-06 06:15:46 +00:00
Iago Toral Quiroga
7dc951374c
v3dv: fix merge jobs
...
This only works if the framebuffer config is exactly the same so
testing both subpasses have the same attachments is not enough,
they also need to be exactly in the same order.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17358 >
2022-07-06 05:49:37 +00:00
Lionel Landwerlin
b91971c240
anv: use the right helper to invalidate memory
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17001 >
2022-07-06 02:04:48 +03:00
Mike Blumenkrantz
6759320c65
zink: use a std430 interface for bo types
...
no functional changes but is technically more correct
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 17:03:53 -04:00
Mike Blumenkrantz
900e78548c
zink: use std430 packing by default
...
this reduces bo size a bit
Reviewed-by: Dave Airlie <airlied@redhat.com >
fixes:
spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 17:03:51 -04:00
Mike Blumenkrantz
ab9e423c4f
zink: add an optimizer pass to enforce bo bounds
...
this eliminates (some) out-of-bounds bo access and will ensure that
bo sizing is always accurate by breaking all the cases where it isn't
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
48c19bb508
zink: pass zink_shader to optimize_nir during final optimize pass
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
9dd41991d0
zink: don't run nir_lower_uniforms_to_ubo repeatedly
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
ac2141a5b2
zink: handle bitsizes in get_bo_vars() analysis
...
this allows it to be run repeatedly
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
58780b3aa6
zink: move/refactor bo_vars struct creation in compiler
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
7b6020d487
zink: force unsized array in bo creation using the last block member type
...
if the last member of a block is an unsized array then the bo needs to have
an unsized array
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
ea8a0654f5
zink: further improve bo sizing
...
using the attribute slot size isn't sufficient in this case, as the layout
rules may have additional effects upon sizing
instead, just use the explicit size
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Mike Blumenkrantz
e241bbe1ce
zink: size uniform_0 ubo accurately
...
this one is always identifiable from lower_uniforms_to_ubo, so the
info should always be reliable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17239 >
2022-07-05 16:01:01 -04:00
Alyssa Rosenzweig
151aa19c21
ttn: Set nir->info.separate_shader
...
TGSI has no legitimate[1] notion of linked shaders, which means tgsi_to_nir
should conservatively assume everything all shaders are separable. This requires
setting nir->info.separate_shader to warn drivers that shader CSOs might be
mixed and matched. Otherwise, the driver might enable optimizations that
are invalid for separate shaders, causing issues when the shaders are
later treated as separable.
This will fix varying linking with u_blitter's shaders on Panfrost (Bifrost and
older), when util_blitter_clear is used with Panfrost.
[1] There was a TGSI property added recently to forward
nir->info.separate_shader up to virglrenderer, but it's not actually used for
anything in virglrenderer and I am still struggling to understand what the use
case would be. My gut says we should revert b634030542 ("tgsi: Add
SEPARABLE_PROGRAM property"), but I'm not interested in fighting that yak right
now. Notably, the u_blitter and hud shaders are separable but are not marked
with this property.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17282 >
2022-07-05 17:38:54 +00:00
Emma Anholt
e20329021a
ci/llvmpipe: Skip ssbo.layout.random.all_shared_buffer.36
...
This became too slow with the llvm uprev and now flakes as a timeout.
Fixes: 4d7c11aa8d ("ci/x86: update to llvm 13")
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17304 >
2022-07-05 17:02:33 +00:00
Emma Anholt
00ad29dd23
ci: Uprev deqp to 1.3.3.0.
...
New tests, dEQP line rasterization test fix that lets Intel pass.
Clears out bogus xfails from 1.3.2.0 uprev on a630, which I suspect were
"we lost the device twice on a full run once, and those fails got pasted
in without checking if it happened a full run again" (since we haven't
seen them in other full run attempts).
Also clears out the a630 vk asan xfails (essentially all tests run) by
turning off leak detection which was just catching leaks in vkcts.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17304 >
2022-07-05 17:02:33 +00:00
Rhys Perry
d55c4180d5
aco/tests: add vop3p constant combine tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
84b404d34d
aco: don't use 32-bit fp inline constants for fp16 vop3p literals
...
If we're applying the literal 0x3f800000 to a fp16 vop3p instruction, we
shouldn't use the 1.0 inline constant, because the hardware will use the
16-bit 1.0: 0x00003c00.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
994f9b5a39
aco: try sign-extending or shifting constants in propagate_constants_vop3p
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
33befb58b0
aco: fix redirect combine in propagate_constants_vop3p() with negatives
...
This previously didn't correctly consider negative integers when bits=16
(which sign-extend) and would have combined 0xfffe0000.xy as -2.yx. Now it
combines 0xfffeffff.xy as that instead. It was also skipped when bits=32.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
fc39c3a0b1
aco: don't use opsel to fold constants into dot accumulation sources
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
ae74474509
aco: fix propagate_constants_vop3p with integer vop3p and 16-bit constants
...
This would have created a 1.0.xx operand from 0x3c00.xx or 0x3c003c00.xy
for vop3p instructions which have 32-bit operands.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
9739c07d9e
aco: fix single-alignbyte do_pack_2x16() path with fp inline constants
...
We were using a 16-bit inline constant with a 32-bit instruction and the
test would have created
"v1: %_:v[0] = v_alignbyte_b32 0.5, %_:v[1][16:32], 2" instead.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
5d8f5615d0
aco: ignore precise flag when optimizing integer clamps
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
61eb632775
aco: include _e64 variants of 16-bit min/max in minmax optimizations
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
f2a346eb40
aco: don't accept med3 opcodes in get_minmax_info()
...
I don't think the presence of med3 here breaks anything, but it shouldn't
be here anyway.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Rhys Perry
f937c5be7c
aco: add and use constantValue16()
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16296 >
2022-07-05 16:39:56 +00:00
Alyssa Rosenzweig
154929d731
pan/va: Handle terminal barriers
...
If a shader ends with a workgroup barrier, it must wait for slot #7 at the end
to finish the barrier. After inserting flow control, we get:
BARRIER
NOP.wait
NOP.end
Currently, the flow control pass assumes that .end implies all other control
flow, and will merge this down to
BARRIER.end
However, this is incorrect. Slot #7 is no longer waited on. In theory, this
cannot affect the correctness of the shader. In practice, the hardware checks
that all barriers are reached. Terminating without waiting on slot #7 first
raises an INSTR_BARRIER_FAULT. We need to weaken the flow control merging
slightly to avoid this incorrect merge, instead emitting:
BARRIER.wait
NOP.end
Of course, all of these cases are inefficient: terminal barriers shouldn't be
emitted in the first place. I wrote out an optimization for this. We can merge
it if we find a workload that it actually helps.
Fixes test_half.vstore_half.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17264 >
2022-07-05 14:48:09 +00:00
M Henning
4ee6345d2e
nouveau: Drop C++03 compat code
...
Mesa as a whole requires C++14 nowadays, so this isn't needed any more.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17307 >
2022-07-05 13:23:12 +00:00
Samuel Pitoiset
184ae84a0a
radv: always enable VK_EXT_debug_utils
...
Instead of enabling it conditionally for SQTT. Other Vulkan drivers
always expose it as well.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6772
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17355 >
2022-07-05 12:20:13 +02:00
Emma Anholt
01988667fd
ir3: Retire the cp postsched pass now that we do RA in SSA.
...
Before, we needed CP post-sched to copy-propagate references to NIR
registers produced by out-of-ssa. Now that we're in SSA, this pass ends
up not doing anything useful, and actually gets in the way by occasionally
creating a cycle in the DAG.
The entire shader-db impact is:
instructions HURT: shaders/closed/steam/tropico-5/78.shader_test FRAG: 238 -> 242 (1.68%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17320 >
2022-07-04 22:15:58 +00:00
David Heidelberg
fb2266631f
Revert "ci/freedreno: temporary disable AmnesiaTDD"
...
This reverts commit f77695d13f .
Acked-by: Rob Clark <robdclark@chromium.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17353 >
2022-07-04 18:46:57 +02:00
Samuel Pitoiset
053312ab87
radv: disable DCC for Melty Blood Actress Again Current Code
...
A D3D9 game that uses feedback loops again.
See https://github.com/ValveSoftware/Proton/issues/271
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17356 >
2022-07-04 16:33:14 +02:00
Samuel Pitoiset
c1ad671828
zink/ci: update list of failures for piglit with RADV
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17354 >
2022-07-04 14:42:37 +02:00
Samuel Pitoiset
b11158cc8b
radv: remove old workaround for HTILE layers with F1 2021
...
Turns out this was likely a vkd3d-proton issue because it can no
longer be reproduced since it switched to dynamic rendering by default.
AMDGPU-PRO was also affected by the same issue at that time.
According to Hans-Kristian, some bugs related to that have also been
fixed at the same time.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17296 >
2022-07-04 11:51:36 +00:00
Samuel Pitoiset
25d5ef0450
radv: do not abort if SPM isn't supported for the current GPU
...
In a mixed GFX9/GFX10 setup, this would crash for the GFX9 logical
device. Just print a message intead of aborting.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17292 >
2022-07-04 13:08:32 +02:00
Samuel Pitoiset
06a48e599e
radv: use LOAD_CONTEXT_REG to load the opaque buffer size on GFX10+
...
For unknown reasons, COPY_DATA can hang on GFX10+ while it doesn't
hang on GFX9. Adding PFP_SYNC_ME before/after the COPY_DATA doesn't
fix the hang either.
Using a LOAD_CONTEXT_REG_INDEX packet shouldn't be needed unless the
driver supports preemption (shadow memory) which RADV doesn't support.
I don't have a real explanation but PFP_SYNC_ME+LOAD_CONTEXT_REG_INDEX
fixes a GPU hang with Space Engineers (game uses a bunch of consecutive
calls to vkCmdDrawIndirectByteCountEXT without anything in-between).
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5838
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17290 >
2022-07-04 08:42:53 +02:00
Timothy Arceri
4e797ac530
st/glsl: fix broken vertex attrib mapping
...
Here we move the nir_get_single_slot_attribs_mask() call that sets the
inputs_read mask after NIR optimisations have finished and after
st_nir_assign_vs_in_locations() has been called.
Besides fixing a bug where the mappings would be missaligned if
further NIR optimisations resulted in less inputs being read, it
also allows us to drop an additional nir gather info call.
Fixes: 0909a57b63 ("radeonsi/nir: Set vs_inputs_dual_locations and let NIR do the remap")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6240
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17326 >
2022-07-04 03:33:38 +00:00
Rob Clark
5d4425ca1c
freedreno/a6xx: Initialize VFD_FETCH[n].SIZE to zero
...
Avoid inheriting VBOs from other processes/submits (ie. anywhere it
might not be an actual valid iova).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6763
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17317 >
2022-07-03 23:20:46 +00:00
Rob Clark
8b197f4ba7
freedreno/a6xx: Split VFD_FETCH[] if needed
...
Avoid overflowing max pkt4 size by splitting VFD_FETCH[] emit.
Otherwise the maximum size of 32 VBOs would overflow and wrap to
zero.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17317 >
2022-07-03 23:20:46 +00:00
Rob Clark
9e1bf8e7ac
freedreno/registers: Small cleanup
...
Whitespace fix plus move a couple regs that ended split apart from the
rest of the VFD regs.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17317 >
2022-07-03 23:20:46 +00:00
Rob Clark
bc6f1afc79
freedreno: Add pkt4 assert
...
Add assert to catch places where we overflow max PKT4 size
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17317 >
2022-07-03 23:20:46 +00:00
Jonathan Marek
b41620f9ed
freedreno/registers: add missing varset="chip" for new enum values
...
Fixes: de8c769d11 ("freedreno/registers: add a7xx registers for drm/msm kernel driver")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6788
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17351 >
2022-07-03 18:01:17 +00:00
Lucas Stach
0993473054
etnaviv: rework resource status tracking (again)
...
While a resource might be shared across different contexts all synchronization
of commands is the resposibility of the user (OpenGL spec Chapter 5 "Shared
Objects and Multiple Contexts").
Currently etnaviv tries to be extremely helpful by flushing foreign contexts
when using a resource that is still pending there. This introduces a lot of
issues, as context flushes can now happen at basically any time and also
introduces a lot of overhead due to the needed tracking and locking. Get rid
of all this cross-context tracking and flushing.
The only real requirement here is that we need to track pending resources
without mutating the state of the etna_resource, as this might be shared
across multiple contexts and thus be used by multiple threads concurrently.
Introduce a hash table to track the current pending resources and their
states in the local context.
A side-effect of this change is that we don't need to keep all used
resources referenced until context flush time, as we don't need to mutate
them anymore to track the status. This allows to free some of them a bit
earlier. Note that this introduces a small possibility of a new resource
matching the key of a already destroyed resource still in the
pending_resources hashtable, but even if we get such a collision the worst
outcome is a not strictly necessary flush of the local context being
performed, which is acceptable if it doesn't happen very often.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
a11fa44b2d
etnaviv: add function to get resource status
...
Don't access the status member of etna_resource directly, as this
go away to get rid of shared mutable state. Add a wrapper function
that allows to plug in the new status lookup.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
ce4e5198a3
etnaviv: drm: rename etna_drm_table_lock
...
This lock is used to serialize much more than just the lookup tables. In
fact it's used for all device global state including the bo cache. Rename
it to better reflect its real usage.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
6e181476c3
etnaviv: drm: make etna_bo_map thread safe
...
This might be called from multiple threads at the same time. To avoid
taking a global lock just to guard against the fairly low chance of
multiple threads calling this on the same BO at the same time, we allow
for the threads to race. All threads will set up a mapping, but only
the first thread is able to set the map member of the etna_bo, all other
threads just roll back and use the mapping set up by the winning thread.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
5711329cbc
etnaviv: drm: don't cache mmap offset
...
The mmap offset is the only information we currently get from
DRM_ETNAVIV_GEM_INFO and there is no point in storing this
offset after the mapping has been established. Reduce the
shared mutable state on the etna_bo by inlining fetching the
offset into etna_bo_map.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
8997b9579f
etnaviv: drm: always use hash to track BO index
...
Currently the buffer index hash is only used if the BO is used in
multiple streams and the current index is cached on the BO. This
introduces some shared state on the BO, which necessitates the use
of a lock to keep this state consistent across threads, which
negates some of the benefits of caching the index.
Always use the hash to keep track of the submit BOs, to get rid
of the shared state and simplify the code.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14466 >
2022-07-03 17:41:55 +00:00
Lucas Stach
7bb62d9dd8
etnaviv: allow mapped buffers during execution
...
Etnaviv has no restrictions on buffers being mapped during execution. In
fact most buffers are already always mapped during their lifetime as the
unmap is a no-op. Let the frontend know that it doesn't need to bother
with unmapping buffers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17343 >
2022-07-02 19:15:43 +00:00
Lucas Stach
07369bf44d
etnaviv: expose real map buffer alignment
...
As we do not suballocate any buffers, the real map buffer alignment
is determined by the GEM BO map alignment, which is at least 4KB.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17343 >
2022-07-02 19:15:43 +00:00
Martin Roukala (né Peres)
b50aa918f4
radv/ci: do not reboot on soft-recovered hangs, just warn
...
The job will still fail, but it will at least go through until the end.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16841 >
2022-07-02 13:06:49 +03:00
Martin Roukala (né Peres)
acbec0fa23
radv/ci: allow specifying a warning pattern
...
This will be used to detect soft resets without aborting the run, but
still make the job fail.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16841 >
2022-07-02 13:06:49 +03:00
Samuel Pitoiset
3e90eb4463
radv/ci: add CI lists for LLVM on NAVI21
...
Copied and adjusted from the ACO lists.
v2: Martin Roukala
- add an extra test in the list of timeouts
- add an extra test in the list of flakes
- remove a fail
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16841 >
2022-07-02 13:06:49 +03:00
Martin Roukala (né Peres)
c0fbc31737
radv/ci: test the llvm backend on navi21
...
The LLVM backend is not officially supported by the RADV developers,
but it has been useful early during bring-up, or later when users are
experiencing what looks like a compiler bug. It is thus beneficial to
keep it working.
However, maintaining the vkcts expectations for every platform requires
more work and machine time than what we would like to commit to. This
is why we agreed that we would only keep LLVM tested on the latest
family of Radeon GPUs.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16841 >
2022-07-02 12:35:51 +03:00
Jesse Natalie
a0c2b34248
gallium/util: Move u_dl and u_pointer to src/util
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17327 >
2022-07-01 21:15:07 +00:00
Christian Gmeiner
1141ed5859
etnaviv: async shader compile
...
Passes following piglit:
- spec@khr_parallel_shader_compile@basic
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16172 >
2022-07-01 19:55:36 +00:00
Christian Gmeiner
a427a7f5d4
etnaviv: factor out shader screen related init/deint
...
This is a prep step for the next changes.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16172 >
2022-07-01 19:55:36 +00:00
Martin Roukala (né Peres)
4d7c11aa8d
ci/x86: update to llvm 13
...
Most CI tests are currently running on LLVM 11 (released over 2 years
ago), which predates some of the GPUs we have in CI and prevents
testing RADV's LLVM backend.
LLVM 13 is known to work for RADV, released almost 8 months ago, and
is already available in most distributions. Fedora 36 is even already
on LLVM 14.
So this commit updates x86 testing on llvm 13.
v2:
- store the llvm apt repo key locally (Michel Dänzer)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17188 >
2022-07-01 19:24:05 +00:00
Timur Kristóf
ff13fc381d
radv: Use NIR optimization to move discards to the top.
...
Fossil stats on Sienna Cichlid:
Totals from 1988 (1.55% of 128653) affected shaders:
VGPRs: 68096 -> 67928 (-0.25%); split: -0.61%, +0.36%
CodeSize: 5391936 -> 5391312 (-0.01%); split: -0.11%, +0.10%
MaxWaves: 53020 -> 52946 (-0.14%); split: +0.05%, -0.19%
Instrs: 992413 -> 992509 (+0.01%); split: -0.10%, +0.11%
Latency: 8643141 -> 8789295 (+1.69%); split: -0.31%, +2.00%
InvThroughput: 1680195 -> 1680605 (+0.02%); split: -0.04%, +0.07%
SClause: 50886 -> 51318 (+0.85%); split: -0.73%, +1.57%
Copies: 57017 -> 56741 (-0.48%); split: -1.28%, +0.80%
PreSGPRs: 66766 -> 67048 (+0.42%); split: -0.24%, +0.66%
PreVGPRs: 56832 -> 56935 (+0.18%); split: -0.44%, +0.62%
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/13037 >
2022-07-01 18:55:53 +00:00
Yiwei Zhang
1b4784c5fb
venus: swizzle the chroma channels for YVU420 to match the VkFormat
...
Test:
- testVP8EncodeDecodeVideoFromBufferToSurface
- android.media.cts.DecodeAccuracyTest
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/17323 >
2022-07-01 18:46:31 +00:00
Timur Kristóf
5d2a243dde
radv: Add CULL_PRIMITIVE to special output mask.
...
It isn't compiled to an output param, so can be safely ignored
from the param assignment.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17244 >
2022-07-01 18:09:07 +00:00
Timur Kristóf
7144d52d59
radv: Don't assign driver locations to mesh shader outputs.
...
Set all driver locations to zero.
These are ignored by ac_nir_lower_ngg anyway.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17244 >
2022-07-01 18:09:07 +00:00
Timur Kristóf
8bfeb467bf
ac/nir/ngg: Ignore driver location for mesh shader outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17244 >
2022-07-01 18:09:07 +00:00
Martin Roukala (né Peres)
66bd470922
ci/radv: enable vkcts testing on kabini
...
It seems like the hangs have been resolved on kabini, so let's allow
developers to run their tests on kabini, if they are *very* patient
(~10h).
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17129 >
2022-07-01 16:44:14 +00:00
David Heidelberg
1bcb883ea5
ci/freedreno: disable SpecOps trace, each run flaky
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17336 >
2022-07-01 15:47:09 +00:00
Jonathan Marek
de8c769d11
freedreno/registers: add a7xx registers for drm/msm kernel driver
...
Most of this is taken directly from the downstream kernel driver.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15602 >
2022-07-01 15:11:28 +00:00
Jesse Natalie
31fab141df
dzn: Support Vulkan loader interface v5
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17321 >
2022-07-01 14:56:18 +00:00
Konstantin Seurer
6a90d3832a
radv: Use two bools for ahit_status
...
This avoids using a VGPR and uses two SGPRs
instead since we only need to store 2 bits.
Quake II RTX:
Totals from 7 (0.46% of 1513) affected shaders:
CodeSize: 229364 -> 229148 (-0.09%); split: -0.12%, +0.02%
Instrs: 41937 -> 41879 (-0.14%)
Latency: 977374 -> 976723 (-0.07%)
InvThroughput: 651582 -> 651148 (-0.07%)
Copies: 5064 -> 5033 (-0.61%)
PreSGPRs: 430 -> 433 (+0.70%)
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17293 >
2022-07-01 14:31:49 +00:00
David Heidelberg
6f2a991f78
ci/freedreno: disable Stellaris trace
...
Revert when it gets fixed on CI runner (works on OnePlus 6T with
5.18 kernel).
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17167 >
2022-07-01 15:04:04 +02:00
David Heidelberg
f77695d13f
ci/freedreno: temporary disable AmnesiaTDD
...
Revert when https://gitlab.freedesktop.org/mesa/mesa/-/issues/6763 get fixed.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17167 >
2022-07-01 15:04:04 +02:00
David Heidelberg
74da4dc216
ci/freedreno: add more restricted traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17167 >
2022-07-01 15:04:03 +02:00
Daniel Schürmann
862f1eacb2
nir/opt_shrink_vectors: fix re-using of components for vecN
...
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17276 >
2022-07-01 12:01:21 +00:00
Danylo Piliaiev
c655387a02
ir3: Use NIR's info.writes_memory to detect when when to force late-z
...
Better than maintaining our old checks.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16818 >
2022-07-01 11:37:17 +00:00
Iago Toral Quiroga
7b91b39ba5
v3dv: fix pool descriptor count for inline uniform buffers
...
Fixes VK_ERROR_OUT_OF_POOL_MEMORY in the inlineuniformblocks
sample from Sascha Willems.
Fixes: ea3223e7a4 ('v3dv: implement VK_EXT_inline_uniform_block')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17311 >
2022-07-01 11:12:39 +00:00
Jordan Justen
d5884a716f
vulkan/wsi: Disable dma-buf sync file if ENOSYS is returned
...
ENOSYS is commented as "Invalid system call number". This is returned
by qemu-user for unbridged ioctls.
Fixes: 30b57f10b3 ("vulkan/wsi: Signal semaphores and fences from the dma-buf")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17325 >
2022-07-01 10:28:34 +00:00
Boris Brezillon
a577acf8f6
dzn: Mark transition barriers as executed when we execute barriers
...
It was previously done dzn_cmd_buffer_flush_transition_barriers(),
leaving the queue+flush case unhandled. Let's fix that by moving
this piece of code to dzn_cmd_buffer_exec_transition_barriers().
Fixes: 35356b1173 ("dzn: Cache and pack transition barriers")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17314 >
2022-07-01 09:42:58 +00:00
Eric Engestrom
c06926f694
broadcom/rpi4-skips: drop duplicated lines
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17312 >
2022-07-01 08:09:48 +00:00
Timothy Arceri
f533dfff55
glsl: drop non-nir path for atan in builtin functions
...
All drivers now use NIR. Here we drop the non NIR path and rename
the NIR path to drop the extra "_op" chars from the function names.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17308 >
2022-07-01 03:05:03 +00:00
Kenneth Graunke
589b03d02f
intel/fs: Opportunistically split SEND message payloads
...
While we've taken advantage of split-sends in select situations, there
are many other cases (such as sampler messages, framebuffer writes, and
URB writes) that have never received that treatment, and continued to
use monolithic send payloads.
This commit introduces a new optimization pass which detects SEND
messages with a single payload, finds an adjacent LOAD_PAYLOAD that
produces that payload, splits it two, and updates the SEND to use both
of the new smaller payloads.
In places where we manually used split SENDS, we rely on underlying
knowledge of the message to determine a natural split point. For
example, header and data, or address and value.
In this pass, we instead infer a natural split point by looking at the
source registers. Often times, consecutive LOAD_PAYLOAD sources may
already be grouped together in a contiguous block, such as a texture
coordinate. Then, there is another bit of data, such as a LOD, that
may come from elsewhere. We look for the point where the source list
switches VGRFs, and split it there. (If there is a message header, we
choose to split there, as it will naturally come from elsewhere.)
This not only reduces the payload sizes, alleviating register pressure,
but it means that we may be able to eliminate some payload construction
altogether, if we have a contiguous block already and some extra data
being tacked on to one side or the other.
shader-db results for Icelake are:
total instructions in shared programs: 19602513 -> 19369255 (-1.19%)
instructions in affected programs: 6085404 -> 5852146 (-3.83%)
helped: 23650 / HURT: 15
helped stats (abs) min: 1 max: 1344 x̄: 9.87 x̃: 3
helped stats (rel) min: 0.03% max: 35.71% x̄: 3.78% x̃: 2.15%
HURT stats (abs) min: 1 max: 44 x̄: 7.20 x̃: 2
HURT stats (rel) min: 1.04% max: 20.00% x̄: 4.13% x̃: 2.00%
95% mean confidence interval for instructions value: -10.16 -9.55
95% mean confidence interval for instructions %-change: -3.84% -3.72%
Instructions are helped.
total cycles in shared programs: 848180368 -> 842208063 (-0.70%)
cycles in affected programs: 599931746 -> 593959441 (-1.00%)
helped: 22114 / HURT: 13053
helped stats (abs) min: 1 max: 482486 x̄: 580.94 x̃: 22
helped stats (rel) min: <.01% max: 78.92% x̄: 4.76% x̃: 0.75%
HURT stats (abs) min: 1 max: 94022 x̄: 526.67 x̃: 22
HURT stats (rel) min: <.01% max: 188.99% x̄: 4.52% x̃: 0.61%
95% mean confidence interval for cycles value: -222.87 -116.79
95% mean confidence interval for cycles %-change: -1.44% -1.20%
Cycles are helped.
total spills in shared programs: 8387 -> 6569 (-21.68%)
spills in affected programs: 5110 -> 3292 (-35.58%)
helped: 359 / HURT: 3
total fills in shared programs: 11833 -> 8218 (-30.55%)
fills in affected programs: 8635 -> 5020 (-41.86%)
helped: 358 / HURT: 3
LOST: 1 SIMD16 shader, 659 SIMD32 shaders
GAINED: 65 SIMD16 shaders, 959 SIMD32 shaders
Total CPU time (seconds): 1505.48 -> 1474.08 (-2.09%)
Examining these results: the few shaders where spills/fills increased
were already spilling significantly, and were only slightly hurt. The
applications affected were also helped in countless other shaders, and
other shaders stopped spilling altogether or had 50% reductions. Many
SIMD16 shaders were gained, and overall we gain more SIMD32, though many
close to the register pressure line go back and forth.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17018 >
2022-07-01 02:05:45 +00:00
Kenneth Graunke
a8b93e628a
intel/compiler: Handle split-sends in EOT high-register pinning case
...
SEND messages with EOT need to use g112-g127 for their sources so that
the hardware is able to launch new threads while old ones are finishing
without worrying about register overlap when pushing payloads. For the
newer split-send messages, this applies to both source registers.
Our special case for this in the register allocator was only considering
the first source. This wasn't a problem because we hadn't ever tried to
use split-sends with EOT before. However, my new optimization pass is
going to introduce some shortly, so we'll need to handle them properly.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17018 >
2022-07-01 02:05:45 +00:00
Dave Airlie
68642e2c26
aco: drop radv_shader.h include
...
This shouldn't be used anymore
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445 >
2022-07-01 01:34:19 +00:00
Dave Airlie
9fe2b6b748
aco/radv: provide a vs prolog callback from aco to radv.
...
Avoid building the radv binary in aco, just callback with the
necessary info.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445 >
2022-07-01 01:34:19 +00:00
Dave Airlie
2dce77c239
aco/radv: provide a callback from aco shader building to build binary
...
This moves the radv specific code into radv, and calls back from
aco into radv.
This should allow easier radeonsi integration later.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445 >
2022-07-01 01:34:19 +00:00
Dave Airlie
e5ec50b3c7
aco: refactor the radv binary builder out of the core aco fn.
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16445 >
2022-07-01 01:34:19 +00:00
Kenneth Graunke
dd76196cea
intel/compiler: Convert brw_eu.cpp back to brw_eu.c
...
Now that we've removed the thread_local lookup tables using
pointer-to-member C++ features, this can go back to being a standard
C file, like it was in the past. We just need to annotate a couple
of things with "struct".
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
ea72ec98bf
intel/compiler: Remove use of thread_local for opcode tables
...
We had been using thread_local index -> opcode_desc tables to avoid
plumbing through a storage location throughout all the code. But now
we have done so with the new brw_isa_info structure. So we can just
store the tables there, and initialize it with the compiler.
This fixes crashes in gtk4-demo on iris, and should help with some
programs on zink as well. Something was going wrong with the
thread_local variables not being set up correctly. While we might be
able to work around that issue, there's really no advantage to storing
these lookup tables in TLS (beyond it being simpler to do originally).
So let's simply stop doing so.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6728
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6229
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
72e9843991
intel/compiler: Introduce a new brw_isa_info structure
...
This structure will contain the opcode mapping tables in the next
commit. For now, this is the mechanical change to plumb it into all
the necessary places, and it continues simply holding devinfo.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
342471e93d
intel/compiler: Move opcode_desc handling to a separate header
...
This patch creates a new header file, brw_isa_info.h, which will
contains all the functions related to opcode encoding on various
generations. Opcode numbers may have different meanings on different
hardware, so we remap them between an enum we can easily work with
and the hardware encoding.
We move the brw_inst setters and getters to brw_inst.h.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
c0784804a1
intel/tools: Stop malloc'ing device info in i965_disasm
...
There's not really any point, a stack allocated struct works fine.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
fdae90aa85
intel/compiler: Split 3DPRIM_* defines out to a separate header.
...
These clash with genxml and will become a problem shortly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
9f8784232a
intel/compiler: Fix brw_gfx_ver_enum.h to be a proper header file
...
This header file didn't include normal guards against being included
multiple times. It also defined a function in a header file without
marking it static inline.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
a141a351de
intel/compiler: Stop including src/mesa/main/config.h
...
src/mesa/main includes are for Mesa's OpenGL implementation, and the
compiler is used in Vulkan drivers and other tools. We really only
needed one #define, which is that we offer 32 samplers. It probably
makes more sense to have our own defined limit for that rather than
importing a project-wide value which theoretically could be adjusted,
so swap MAX_SAMPLERS for a new BRW_MAX_SAMPLERS and call it a day.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
434bc468fe
crocus: Use PIPE_* defines rather than ones from main/config.h
...
Gallium drivers shouldn't be including src/mesa/main headers, but we're
picking up a rogue main/config.h via the compiler, so this code I ported
over from i965 kept compiling. Use the PIPE_* defines instead so that
we can stop including that.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Kenneth Graunke
0ce9d7b7c9
iris: Use PIPE_* defines rather than ones from main/config.h
...
Gallium drivers shouldn't be including src/mesa/main headers, but we're
picking up a rogue main/config.h via the compiler, so this code I ported
over from i965 kept compiling. Use the PIPE_* defines instead so that
we can stop including that.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17309 >
2022-06-30 23:46:35 +00:00
Mike Blumenkrantz
90c5eea22b
zink: enforce viewport depth clamping
...
VUID-VkViewport-minDepth-01234 specifies that depth must be in the range [0.0, 1.0],
so the viewport must always be clamped to this range
this affects texture clears using u_blitter, as this expects to be able
to use the GL range of [-1.0, 1.0], so pass the depth value as though it's
been de-converted back to a GL z coordinate to account for viewport transform
cc: mesa-stable
fixes #6757
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17319 >
2022-06-30 22:57:10 +00:00
Mike Blumenkrantz
1334d39b36
lavapipe: don't remove xfb outputs
...
cc: mesa-stable
fixes:
dEQP-VK.transform_feedback.simple.multiquery_omit_write_1
dEQP-VK.transform_feedback.simple.multiquery_omit_write_3
dEQP-VK.transform_feedback.simple.query_omit_write_0_127_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_127_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_251_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_251_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_4_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_4_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_509_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_509_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_61_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_0_61_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_126_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_126_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_250_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_250_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_508_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_508_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_60_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_60_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_124_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_124_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_248_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_248_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_4_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_4_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_508_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_508_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_60_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_list_with_adjacency_0_60_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_127_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_127_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_251_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_251_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_509_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_509_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_61_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_61_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_127_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_127_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_251_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_251_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_509_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_509_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_61_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_61_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_line_strip_with_adjacency_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_127_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_127_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_251_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_251_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_509_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_509_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_61_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_61_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_fan_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_126_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_126_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_249_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_249_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_507_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_507_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_60_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_60_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_126_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_126_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_246_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_246_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_504_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_504_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_60_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_60_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_list_with_adjacency_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_127_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_127_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_251_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_251_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_509_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_509_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_61_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_61_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_0_6_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_126_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_126_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_250_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_250_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_508_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_508_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_60_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_60_64bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_6_32bits
dEQP-VK.transform_feedback.simple.query_omit_write_triangle_strip_with_adjacency_0_6_64bits
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17299 >
2022-06-30 22:46:51 +00:00
Mike Blumenkrantz
6004293f19
zink: disable turnip traces temporarily
...
this needs a libX11 update
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17313 >
2022-06-30 20:20:21 +00:00
Yiwei Zhang
9f59acaa48
venus: use narrow range to match up with mesa EGL
...
This matches up with the native gl drivers as well as the media stack.
Test: android.graphics.cts.MediaVulkanGpuTest
Test: android.media.cts.EncodeDecodeTest
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17306 >
2022-06-30 20:11:04 +00:00
Rhys Perry
93fd97cec4
radv/ci: re-enable vega10 fossils testing
...
Should work now.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17295 >
2022-06-30 19:30:55 +00:00
Rhys Perry
84f04fd080
aco/ra: update register file when updating phi definition
...
update_renames() fills in the wrong temp id.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 302cb5c900 ("aco/ra: remove some redundant code")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17295 >
2022-06-30 19:30:55 +00:00
Dylan Baker
4bcd753da4
docs: update calendar and link releases notes for 22.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17318 >
2022-06-30 19:11:44 +00:00
Dylan Baker
8c1dd372be
docs: add sah256sum for mesa 22.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17318 >
2022-06-30 19:11:44 +00:00
Dylan Baker
64e8391f05
docs: add release notes for 22.1.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17318 >
2022-06-30 19:11:44 +00:00
Emma Anholt
4faf8fa5b8
ci: Remove the trailing "when: never"s from rules.
...
This avoids the risks of concatenating our rulesets missing out on some
file list because of a "never" in the middle.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
ea886f23d1
ci/zink: Simplify lavapipe rules setup, and clarify what the rules are for.
...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
a27b95d113
ci/zink: Reuse anv-rules.
...
This makes it so that we respect collabora farm disables.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
05b41f9207
ci/freedreno: Filter when we run test jobs for VK or GL changes.
...
Not only runs less testing when only one driver is impacted, but also
makes sure zink+turnip is turned off when the farm is.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
f2164ab92c
ci: Split core GL from core VK-or-GL rules.
...
Now editing src/glx won't rerun Vulkan testing.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
02269059d1
ci: Simplify vulkan rules using !references.
...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
6587477292
ci/freedreno: Use !references to clean up restricted traces rules.
...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
f8e62280eb
ci: Pull common zink frontend rules to a shared rule list.
...
This drops the mesa/gallium lists from some build rules, since zink common
rules brings them in already. If we do more driver common rules, we might
end up with those core lists appearing in the yaml multiple times, but
that seems like a small price to pay for not being able to forget some.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
1ffb15ae72
ci: Pull out farm disables to a reused rule.
...
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Emma Anholt
5cc71ac75f
ci: Use "!references" to manage scheduled pipeline rules.
...
Because !references merging happens after yaml parsing, this lets us
remove a duplicated definition between .test-source-dep.yml and
.gitlab-ci.yml.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17287 >
2022-06-30 18:31:21 +00:00
Konstantin Seurer
9fc7d5e0e1
dozen: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
39abd90d9e
microsoft: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
85da294bfe
intel: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
f237deb003
d3d12: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
4676b3d3dd
nir: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
e83bd87ee9
radv: Use nir_test_mask instead of i2b(iand)
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Konstantin Seurer
1018d0f9c0
nir: Add a nir_test_mask helper
...
nir_ine_imm(b, nir_iand_imm(b, x, mask), 0) and
nir_i2b(b, nir_iand_imm(b, x, mask)) are common
patterns which become quite messy when they are
part of a larger expression. Clang-format does
not improve things either and we can end up with
some rather interesting looking code.
(RADV ray tracing pipeline and query lowering)
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17242 >
2022-06-30 18:00:32 +00:00
Daniel Schürmann
3ae0c39a58
radv: reorder some NIR passes
...
Totals from 6171 (4.57% of 134913) affected shaders: (GFX10.3)
CodeSize: 61916968 -> 61916676 (-0.00%); split: -0.01%, +0.01%
Instrs: 11473620 -> 11473797 (+0.00%); split: -0.01%, +0.01%
Latency: 161997216 -> 161997029 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 29075944 -> 29075862 (-0.00%); split: -0.00%, +0.00%
VClause: 199793 -> 199790 (-0.00%); split: -0.01%, +0.00%
SClause: 418180 -> 418013 (-0.04%)
Copies: 786921 -> 786884 (-0.00%); split: -0.06%, +0.06%
Branches: 348058 -> 348106 (+0.01%); split: -0.04%, +0.06%
PreSGPRs: 604400 -> 604396 (-0.00%)
PreVGPRs: 469415 -> 469430 (+0.00%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17279 >
2022-06-30 16:57:38 +00:00
Daniel Schürmann
7750281b43
radv: fix swizzles after nir_opt_algebraic_late
...
Fixes: 2e895f8b04 ('radv: vectorize nir_op_fabs')
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17279 >
2022-06-30 16:57:38 +00:00
Timur Kristóf
2ac3e921e3
ac/nir/ngg: Refactor LDS instructions in NGG GS vertex emit and export.
...
Change NGG GS emit vertex code to emit combined shared stores,
also change the export vertex code to emit combined shared loads.
This results in more optimal code generation, ie. fewer LDS
instructions are generated.
GS vertices are stored using an odd stride to minimize the chance
of bank conflicts, which means that unfortunately
we still can't use an alignment higher than 4 here,
so the best we can get are some ds_read2_b32 instructions.
Fossil DB stats on Navi 21 (formerly Sienna Cichlid):
Totals from 135 (0.10% of 128653) affected shaders:
VGPRs: 6416 -> 6512 (+1.50%)
CodeSize: 529436 -> 503792 (-4.84%)
MaxWaves: 2952 -> 2924 (-0.95%)
Instrs: 93384 -> 90176 (-3.44%)
Latency: 290283 -> 293611 (+1.15%); split: -0.36%, +1.50%
InvThroughput: 81218 -> 82598 (+1.70%)
Copies: 6603 -> 6606 (+0.05%)
PreVGPRs: 5037 -> 5076 (+0.77%)
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/11425 >
2022-06-30 18:15:50 +02:00
Mike Blumenkrantz
8ab1e9826d
zink: don't increment screen->num_contexts for copy context
...
this otherwise may trigger unwanted perf regressions
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17315 >
2022-06-30 14:48:42 +00:00
Mike Blumenkrantz
8af9caa506
zink: store context flags
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17315 >
2022-06-30 14:48:42 +00:00
Connor Abbott
c86563c29e
nv50/ir/ra: Fix copying compound for moves
...
In order to reduce moves when coalescing multiple registers into a
larger register, RA will try to coalesce MERGE instructions with their
definitions. For example, for something like this in GLSL:
uint a = ...;
uint b = ...;
uint64 x = packUint2x32(a, b);
The compiler will try to coalesce x with a and b, in the same way as
something like:
uint a = ...;
uint b = ...;
...
uint x = phi(a, b);
with the crucial difference that the definitions of a and b only clobber
part of the register, instead of the whole thing. This information is
carried through the compound flag and compMask bitmask. If compound is
set, then the value has been coalesced in such a way that not all the
defs clobber the entire register. The compMask bitmask describes which
subregister each def clobbers, although it does it in a slightly
convoluted way. It's an invariant that once compound is set on one def,
it must be set for all the defs in a given coalesced value.
In more detail, the constraints pass will first create extra moves:
uint a = ...;
uint b = ...;
uint a' = a;
uint b' = b;
uint64 x = packUint2x32(a', b');
and then RA will merge values involved in MERGE/SPLIT instructions,
merging x with a' and b' and making the combined value compound -- this
is relatively simple, and will always succeed since we just created a'
and b', so they never interfere with x, and x has no other definitions,
since we haven't started coalescing moves yet. Basically, we just replaced
the MERGE instruction with an equivalent sequence of partial writes to the
destination. The tricky part comes when we try to merge a' with a
and b' with b. We need to transfer the compound information from a' to a
and b' to b, which copyCompound() does, but we also need to transfer it
to any defs coalesced with a and b, which the code failed to do. Similarly,
if x is the argument to a phi instruction, then when we try to merge it
with other arguments to the same phi by coalescing moves, we'd have
problems guaranteeing that all the other merged defs stay up-to-date.
One tricky part of fixing this is that in order to properly propagate
the information from a' to a, we need to do it before the defs for a and
a' are merged in coalesceValues(), since we need to know which defs are
merged with a but not a' -- after coalesceValues() returns, all the defs
have been combined, so we don't know which is which. I took the approach
of calling copyCompound() inside coalesceValues(), instead of
afterwards.
v2: (mhenning) This now loops over mergedDefs in copyCompound, to update
it for changes made in bcf6a9ec
Cc: Ilia Mirkin <imirkin@alum.mit.edu >
Cc: Karol Herbst <kherbst@redhat.com >
Tested-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17115 >
2022-06-30 11:35:56 +00:00
Hyunjun Ko
6d145df51f
zink: remove the workaround for depth_clip_enable on turnip
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17248 >
2022-06-30 01:08:17 +00:00
Hyunjun Ko
f4b72fa26d
turnip: keep the depth_clip_disable state at the pipeline builder.
...
So we could later decide whether to enable Z_CLIP_DISABLE on not.
Closes : #6732
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17248 >
2022-06-30 01:08:17 +00:00
Hyunjun Ko
6cb41c5188
freedreno,ir3: rename Z_CLAMP_ENABLE to Z_CLIP_DISABLE
...
UNK5 of GRAS_CL_CNTL is still unclear though.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17248 >
2022-06-30 01:08:17 +00:00
Mike Blumenkrantz
0e7863c3b0
nir/types: fix glsl_matrix_type_is_row_major() assert
...
interface blocks can have row_major set
cc: mesa-stable
affects (zink):
dEQP-GLES2.functional.shaders*
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17238 >
2022-06-30 00:41:46 +00:00
Dave Airlie
c702de7484
zink: workaround depth sampler border color when z24 is z32
...
If there is a z24 unorm depth buffer, but it's the hw is using
a z32, the border color needs to be clamped appropriately.
This creates a second sampler with the clamped border color,
and uses it if needed. The checks might need some tightening up.
Fixes: zink on radv
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_unorm_depth
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_unorm_depth_uint_stencil_sample_depth
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17305 >
2022-06-30 00:22:52 +00:00
Christian Gmeiner
c017dfec62
ci: Remove -Wno-error=maybe-uninitialized
...
It is not needed anymore.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17121 >
2022-06-29 21:02:18 +00:00
Christian Gmeiner
37b4c8dbca
svga: Clear query before usage
...
Fixes the following compiler warning:
svga_pipe_query.c:1295:17: warning: 'result.u64' may be used uninitialized [-Werror=maybe-uninitialized]
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17121 >
2022-06-29 21:02:18 +00:00
Christian Gmeiner
d4922c0dfb
r600: Switch to unreachable(..)
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17121 >
2022-06-29 21:02:18 +00:00
Christian Gmeiner
828793cb82
gtest: Fix maybe-uninitialized compiler warning
...
This is a cherry-pick from upstream - 4679637f ("Fix warning maybe-uninitialized").
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17121 >
2022-06-29 21:02:18 +00:00
Jason Ekstrand
d06335ed76
vulkan: Depend on vk_pipeline_layout in vk_cmd_enqueue
...
Now that we have a common pipeline layout with reference counting, we
don't need these driver hooks for reference counting anymore.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Boris Brezillon
aa40a04ad9
dzn: Use the vk_pipeline_layout base struct
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Boris Brezillon
88f287a1d0
dzn: Use the vk_descriptor_set_layout base struct
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Jason Ekstrand
73eecffabd
panvk: Use the vk_pipeline_layout base struct
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Jason Ekstrand
f66f37a99e
panvk: Use the vk_descriptor_set_layout base struct
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Jason Ekstrand
a579d33352
lavapipe: Use the vk_pipeline_layout base struct
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:58 +00:00
Jason Ekstrand
003f401342
lavapipe: Use the vk_descriptor_set_layout base struct
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:57 +00:00
Jason Ekstrand
e6c75bcd9c
vulkan: Add a common implementation of pipeline layouts
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:57 +00:00
Jason Ekstrand
949ce92f05
vulkan: Add a base struct for descriptor set layouts
...
There's some tricky stuff in here with properly handling Vulkan
allocation scopes and reference counting. Probably best to do it once.
Also, this means that common code can now take references to descriptor
set layouts which seems useful.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:57 +00:00
Jason Ekstrand
d46db2e5a6
vulkan: Fix a comment
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17286 >
2022-06-29 20:31:57 +00:00
Michel Zou
bd3556a669
util/xmlconfig: fix -Wmaybe-uninitialized warning
...
```
xmlconfig.c:570:7: warning: 'userData.name' may be used uninitialized [-Wmaybe-uninitialized]
```
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16912 >
2022-06-29 20:06:13 +00:00
Boris Brezillon
4290c3d5b5
dzn: Fix -Wswitch warnings
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
804da0806d
dzn: Fix {back,front}_wr_uses_ref assignment
...
We're lacking parens, as reported by clang.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
da493e144f
dzn: Fix printf() format in dxgi_get_factory() error message
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
a1715875e1
dzn: Fix 'statement with no effect' warning
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
97dbebb558
dzn: Fix unused var warnings
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
bb8ca4bafe
dzn: Fix copies of block-based formats
...
D3D12 wants Width, Height and Depth to be aligned on the block width,
height and depth size. But Vulkan allows the width, height or depth to
be unaligned at the image boundary if image.{width,height,depth} is
not aligned.
Let's explicitly align things in the copy paths.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
e3cf48e8f5
dzn: Allow shaders to read from depth/stencil attachments
...
D3D12_RESOURCE_STATE_DEPTH_READ only provides access for fixed-function
depth/stencil test. If we want the shaders to be able to read the
depth/stencil attachment, we need to combine
D3D12_RESOURCE_STATE_DEPTH_READ and
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:42 -07:00
Boris Brezillon
d07befe4f8
dzn: Introduce dzn_cmd_buffer_queue_image_range_state_transition()
...
Sometimes there's no obvious mappings between a VkImageLayout and
a D3D12_RESOURCE_STATE, so let's just provide a helper that takes
before/after resource states instead of old/new layouts, and use it
to fix the resolve case.
Fixes: 35356b1173 ("dzn: Cache and pack transition barriers")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:38 -07:00
Boris Brezillon
ed78cf307b
dzn: Rename dzn_cmd_buffer_queue_image_subres_range_transition()
...
We are about to introduce the same function taking D3D12_RESOURCE_STATES
arguments instead of VkImageLayout ones. Let's rename the function
accordingly.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:33 -07:00
Boris Brezillon
9eb70b5dcf
dzn: Don't call dzn_cmd_buffer_queue_transition_barriers() prematurely
...
We want to pack ResourceBarriers() call as much as we can, so let's
not dzn_cmd_buffer_queue_transition_barriers() when we could still queue
new barriers.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17250 >
2022-06-29 09:54:22 -07:00
Juan A. Suarez Romero
037e7e8066
v3d/ci: Add flake test
...
This test works when executed alone, but fails when running the full
GLES3 CTS.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17300 >
2022-06-29 14:01:20 +02:00
Boris Brezillon
35356b1173
dzn: Cache and pack transition barriers
...
Some Vulkan -> D3D12 API mismatches force us to do behind-the-scene
transitions to get resources in the right state when executing
non-native operations. In this case, caching the transition until the
resource is actually used might save us unneeded transitions.
The packing aspect is mostly useful to limit the ExecuteBarriers()
call overhead. Right now we do per-resource packing, and any hole
in the subresource range will trigger several ExecuteBarriers()
calls. This can be improved by collecting barriers in a separate
array, and flushing the collected transition barriers just before
executing the operation using the subresources pointed by those
barriers. While not impossible, it'd be more verbose than what we
have right now, so I'm not entirely convinced it's worth it.
Caching could be improved to avoid any unnecessary flush when we do
blit or copy operations and transition the resources back to their
original state, since the user might decide to transition the image to
a new layout just after that. But doing that would require keeping
track of all resources used by dispatch/draw operations, which in turn
implies keeping info about which of the descriptor set resources are
used by the graphics/compute pipelines. Not sure the it's worth the
extra complexity given D3D12 enhanced barriers are just around the
corner, and those map pretty nicely to the vulkan barrier+image-layout
model.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17274 >
2022-06-29 11:39:13 +00:00
Hyunjun Ko
d2e769c1b6
turnip: fix wrong size for lrz cs when lrz_track_quirk is enabled.
...
Fixes: 4b5f0d98fd ("tu: Overhaul LRZ, implement on-GPU dir tracking and
LRZ fast-clear")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17289 >
2022-06-29 11:15:23 +00:00
Lionel Landwerlin
6d063ec900
anv: remove device features handling now in runtime
...
v2: Keep VkPhysicalDeviceBufferDeviceAddressFeaturesEXT (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/17272 >
2022-06-29 10:47:36 +00:00
Vasily Khoruzhick
7c7b900710
lima: fix buffer overallocation for index, vertex and constant buffers
...
24be011901 ("lima: wire up MSAA 4x support") switched to aligning all the
buffers to tile size and it resulted in allocating 16x more memory for
index, vertex and constant buffers.
We only want to align textures and render targets to tile size, not
other buffers, so restore old logic, but relax it.
Fixes: 24be011901 ("lima: wire up MSAA 4x support")
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17283 >
2022-06-29 09:25:24 +00:00
Samuel Pitoiset
00cc5ec5cf
radv: do not emit SQTT user data packets on the SDMA queue
...
They aren't supported and lead to GPU hangs.
Reported-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17256 >
2022-06-29 06:41:31 +00:00
Lionel Landwerlin
3e247cd05f
anv: disable non uniform indexing of UBOs
...
The feature we wanted to enable in 710393b3aa was
descriptorBindingUniformBufferUpdateAfterBind.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 710393b3aa ("anv: enable UBO indexing")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17200 >
2022-06-29 05:57:27 +00:00
Dave Airlie
afe47bf064
draw/cliptest: add support for guard band + full Z
...
This is hit using lavapipe with zink on top running
dEQP-GL45-ES31.functional.primitive_bounding_box.wide_points.global_state.vertex_tessellation_fragment.default_framebuffer_bbox_equal
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17270 >
2022-06-29 05:08:43 +00:00
Mike Blumenkrantz
202bbedc55
lavapipe: streamline xfb shader setup
...
this is a bit easier to read
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17268 >
2022-06-29 04:57:58 +00:00
Mike Blumenkrantz
f18d97e0bc
lavapipe: break out part of shader optimization into function
...
used in (distant) future work
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17268 >
2022-06-29 04:57:58 +00:00
Mike Blumenkrantz
4cb3043b53
zink: set PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY for device-local resources
...
these can't be mapped, so ensure tc doesn't try to pass UNSYNCHRONIZED
maps and break the resources
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17187 >
2022-06-29 04:40:07 +00:00
Connor Abbott
75724fe119
mesa/st: Fix border color type for stencil sampling
...
When the stencil aspect of a depth+stencil texture is sampled, it's
actually integer. Also fixup st_translate_color() that assumed it was
float. This fixes the border color on zink+turnip.
v2: Add "|| texBaseFormat == GL_STENCIL_INDEX" to catch the case where
S8 is emulated as D24S8.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
8183a728a2
tu: Fix stencil border color with has_z24uint_s8uint
...
On a650+ we use the new Z24UINT_S8UINT format to sample the stencil
aspect of D24S8, which returns stencil in the second component and also
uses the second integer component for the border color. However Vulkan
mandates that the first component is used for the stencil border color.
There's no workaround we know of, so we have to fall back to the old
behavior where there is a workaround. If we know the format, we can
fixup the border color ourselves though.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
74d09cac98
freedreno/a6xx: Fix border color with Z24UINT_S8UINT
...
With this special format the border color is in the second component of
the f16 member (that's also used for 8-bit and 16-bit integer formats).
This means we have to fix it up.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
e135c03446
freedreno/fdl: Note border color constraints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
4901a8f86e
freedreno/a6xx: Use fdl format swizzle
...
This makes sure that we use a consistent swizzle between computing the
border color and the texture descriptor, and lets us delete the gallium
version.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
39c64a4b53
freedreno/a6xx: Fix border color swizzling
...
From the API's point of view, border color replacement looks like this:
--------------------
| API Border Color |
--------------------
|
----------- | ---------------- ----------
| API fmt |-------->| User Swizzle |----->| Shader |
----------- ---------------- ----------
From the HW point of view, it looks like this:
-------------------
| HW Border Color |
-------------------
|
---------- ----------- | --------------- ----------
| HW fmt |-----| HW swap |------>| Tex Swizzle |----->| Shader |
---------- ----------- --------------- ----------
When the HW fmt + HW swap isn't enough to represent an API format, we
need to prepend our own swizzle to the the user's swizzle, so the tex
swizzle is a "format swizzle" composed with the user swizzle. However,
we don't want this format swizzle to be applied to border colors, so
there's a workaround in freedreno which is meant to undo the format
swizzle so that the HW border color with the format swizzle applied
equals the API border color, and everything is ok. However, on a6xx at
least it was incorrectly undoing the entire tex swizzle. This broke
border color with a user swizzle, because it was now effectively not
getting applied for the border color. It also made it seem like the user
swizzle is required for the workaround, which would have implications
for VK_EXT_border_color_swizzle with turnip, but it's not.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Connor Abbott
2a928ae325
freedreno/a6xx: Document border color/swizzle interaction
...
Make it clear that the swap happens before border color replacment but
the swizzle happens after.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17177 >
2022-06-29 03:00:56 +00:00
Timothy Arceri
9af897b9ed
glsl: merge lower_buffer_access with lower_shared_reference
...
There are no longer any other users of lower_buffer_access so here
we just merge them to make the code easier to follow.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17271 >
2022-06-29 02:33:38 +00:00
Sil Vilerino
a9a7a20318
d3d12: Fix debug_printf format strings for cross platform builds
...
Reviewed-By: Jesse Natalie <jenatali@microsoft.com >
Tested-by: Andrew Falcon <bluestang2006@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17260 >
2022-06-29 01:56:39 +00:00
Jesse Natalie
d4f7f21fa5
vulkan_entrypoints_gen: For Windows ARM64EC, prefix symbols with '#'
...
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17267 >
2022-06-29 01:18:19 +00:00
David Heidelberg
6c4cc0abc6
ci: traces: switch to brotli compressed traces
...
virgl: Also drop old pre-trim glxgears trace (cached).
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17280 >
2022-06-29 00:58:28 +00:00
Konstantin Seurer
098b5804a0
radv: Refactor lower_rt_derefs
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17123 >
2022-06-29 00:33:26 +00:00
Konstantin Seurer
9196fd3e1f
radv: Fix the t comparison for triangles
...
The accept range is defined like this:
Triangles: tmin < t < tmax
AABBs: tmin <= t <= tmax
(See https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#ray-intersection-candidate-determination )
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17123 >
2022-06-29 00:33:26 +00:00
Konstantin Seurer
1ec7e51997
radv: Introduce an enum for the any hit status
...
Use enum values instead of magic constants.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17123 >
2022-06-29 00:33:26 +00:00
Guilherme Gallo
3b8d10d270
ci/lava: Improve result parsing regex
...
LAVA job logs have an ongoing problem of message interleaving with kmsg.
So any kernel dumps and LAVA signals (which are being printed in kmsg)
will have a chance to clutter the pattern matching for `hwci: mesa:
(pass|fail)` line.
v2:
- Add an 1 second sleep before exiting the test script, to give enough
time to print the result message without conflicting with LAVA ENDTC
signal from kmsg
Closes : #6714
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17175 >
2022-06-28 22:51:45 +00:00
Lucas Stach
58313f3257
etnaviv: switch depth mode when linear PE is used
...
Early depth test is broken when the linear render target mode is used
and depth is written from the PE stage. It seems RA and PE disagree
about the cache layout in that case, so the RA sees unwritten/invalid
depth cache lines leading to random depth test fails. Early test works
fine if depth is written from the RA stage.
To work around this issue, detect the combination of linear RT, early
test and late write and switch to late test in that case.
Fixes: 53445284a4 ("etnaviv: add linear PE support")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17215 >
2022-06-28 20:13:16 +00:00
Danylo Piliaiev
4b5f0d98fd
tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear
...
On-GPU LRZ direction tracking allows LRZ to support secondary cmdbufs,
reusing LRZ between renderpasses, and in future to support LRZ when
VK_KHR_dynamic_rendering is used.
With on-gpu tracking we have to be careful keeping LRZ state in sync
with underlying depth image, which means we should invalidate LRZ
when underlying image is changed or the view of image is different
from previous renderpass.
All of this resulted in LRZ logic being thinly spread through the code,
making it hard to understand. So most of it was moved to tu_lrz.c.
For more details on past and new LRZ features see comment at the
top of tu_lrz.c.
Note about blob:
- Blob is much more happy to do LRZ_FLUSH, it flushes at the start
of the renderpass, after binning, and at the end of the renderpass.
- Blob seem not to care about changes in depth image done via
vkCmdCopyImage.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6347
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16251 >
2022-06-28 17:23:16 +00:00
Danylo Piliaiev
70f1d70ddd
freedreno: document GRAS_UNKNOWN_810A
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16251 >
2022-06-28 17:23:16 +00:00
Connor Abbott
1cd91fdec3
freedreno: Document a650-specific CP_REG_WRITE flag
...
v2: Danylo: clarified previously unknown GRAS_LRZ_CNTL field.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16251 >
2022-06-28 17:23:16 +00:00
Danylo Piliaiev
5592c366cf
freedreno: Document rest of GRAS_LRZ_CNTL, clarify UNK_25 event
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16251 >
2022-06-28 17:23:16 +00:00
Michel Zou
edc7f40a83
meson: drop dladdr check on win32
...
since !17208 there are 2 paths for disk_cache_get_function_identifier
on mingw: DETECT_OS_WINDOWS or HAVE_DLADDR (if dlfcn shims is present)
../src/util/disk_cache_os.c:47:1: error: redefinition of 'disk_cache_get_function_identifier'
47 | disk_cache_get_function_identifier(void *ptr, struct mesa_sha1 *ctx)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/util/disk_cache_os.c:36:
../src/util/disk_cache.h:121:1: note: previous definition of 'disk_cache_get_function_identifier' with type '_Bool(void *, struct _SHA1_CTX *)'
121 | disk_cache_get_function_identifier(void *ptr, struct mesa_sha1 *ctx)
here we disable the dladdr path from meson for consistency with msvc
fixes: 2dcbe8727
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17261 >
2022-06-28 14:02:14 +00:00
Boris Brezillon
3129520a73
ci/dzn: Add pipeline cache tests to the include list
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
91f1bd8f81
dzn: Cache pipeline info
...
We are already caching DXIL shaders individually, but that forces us
to retrieve the NIR shader, do the linking and binding translation
steps, to finally query the cache for each DXIL shader. This pipeline
caching is about skipping those steps when we can.
Note that a graphics/compute pipeline cache entry doesn't contain the
DXIL shaders, but hashes to retrieve those shaders from the same cache.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
d8b686783e
dzn: Cache DXIL shaders
...
This way we avoid the NIR -> DXIL translation when we have a cache hit.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
52e2ca084a
dzn: Caculate a binding translation hash
...
Binding translation has an impact on the final DXIL shader, and this
binding translation depends on the pipeline layout. Let's extend the
adjust_var_bindings() pass to caculate a hash we can then use in the
DXIL shader hash caculation.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
276c73580d
dzn: Cache NIR shaders
...
Saves us the SPIRV -> NIR translation, and all the lowering passes run
in dxil_spirv_nir_passes().
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
66764904b3
dzn: Move the compute shader compilation logic to a sub-function
...
Will make things easier when we introduce shader caching.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
6236d1eead
dzn: Drop unneeded goto statement in dzn_compute_pipeline_create()
...
The 'out' label is placed just after the if () block, we can thus
remove the 'goto out;' statement.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
d4630b703d
dzn: Add a generic cached blob wrapper
...
Basically what vk_pipeline_cache's raw_data_object abstraction provides,
but I'm not sure it makes sense to make it generic so I copied it here.
Might be more appropriate to make raw_data_object public.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
06f37025f1
dzn: Hash pipeline layout stages
...
DXIL shaders depend on the vulkan -> d3d12 binding translation done in
adjust_var_bindings(). In order to maximize our chances to re-use those
shaders, we need to hash the binding translation information and take
this hash into account when computing the DXIL shader hash.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
391d3251fa
dzn: Don't delegate binding translation to dxil_spirv_nir_passes()
...
We will need to hash var bindings if we want to cache DXIL shaders.
Let's move this pass to dzn_pipeline.c to prepare this transition.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:23 +00:00
Boris Brezillon
c7b43711f3
dzn: Save a few indentation levels in graphics_pipeline_compile_shaders()
...
We can compute the yz_flip_mode and force_sample_rate_shading outside
of the foreach_shader loop.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
84770a90bb
dzn: Use vk_to_mesa_shader_stage()
...
Use vk_to_mesa_shader_stage() to convert a VkShaderStageFlagBits into
its gl_shader_stage counterpart.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
f4a96675ec
dzn: Fix potential nir_shader leak
...
We leak the nir_shader object f a failure happens between the NIR
shader creation and the DXIL compilation. Let's drop the local
nir_shader pointer and use the one in the graphics_pipeline object
to avoid that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
af83f104da
dzn: Let dzn_pipeline_init() initialize the root signature in the stream
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
301fb478fe
dzn: Drop unused allocator passed to dzn_graphics_pipeline_create()
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
b886619313
dzn: Drop useless while(link_mask != 0)
...
That's not a `do {} while();`, just a simple `while() {}`, the second
while statement is a NOP.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
31357f3cf4
dzn: Pass the maximum stream size to d3d12_pipeline_state_stream_new_desc()
...
This way we can use d3d12_pipeline_state_stream_new_desc() directly
without doing
if (type == GRAPHICS)
d3d12_gfx_pipeline_state_stream_new_desc()
else
d3d12_compute_pipeline_state_stream_new_desc()
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
e4e531732b
dzn: Use d3d12_compute_pipeline_state_stream_new_desc() in the compute path
...
Fixes: 9feda65a83 ("dzn: Use CreatePipelineState()")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
d3e6ef195a
dzn: Fix assertion in d3d12_pipeline_state_stream_new_desc()
...
Fixes: 9feda65a83 ("dzn: Use CreatePipelineState()")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
26ca9a4344
dzn: Add missing D3D12_CACHED_PIPELINE_STATE to MAX_COMPUTE_PIPELINE_STATE_STREAM_SIZE
...
Fixes: 9feda65a83 ("dzn: Use CreatePipelineState()")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
c66caa1d58
dzn: Drop dzn_pipeline_cache.c
...
The core provides a conformant pipeline cache implementation, let's
use it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
b59abbe3d5
dzn: Initialize UUIDs
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Boris Brezillon
be019e69e2
dzn: Fix indentation
...
Replace tabs by spaces
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17140 >
2022-06-28 13:02:22 +00:00
Matti Hamalainen
aab5d176b8
pytracediff: implement pager ('less') invocation internally
...
In order to get rid of the ntracediff.sh wrapper script, implement
invocation of 'less' internally, if the stdout is determined to
be a tty. Otherwise just print out normally.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Matti Hamalainen
95fc0e1b7c
pytracediff: change how 'junk' calls are handled
...
Instead of discarding them at parsing phase, let the difflib
SequenceMatcher always ignore them, and optionally suppress
them from output if -I/--ignore-junk option is given.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Matti Hamalainen
cf4d1c1fed
pytracediff: make -M ("method only") option print arguments for differing calls
...
Basically implement the last item on the original feature request list of #4609 .
Example: ./pytracediff.py good.xml bad.xml -NM
Or suppress common calls completely via -C, e.g. -NC etc.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Matti Hamalainen
8819d372e5
pytracediff: add per-line difference highlighting for blocks
...
Highlight differing _lines_ in the differing blocks, with somewhat
different ANSI colors.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Matti Hamalainen
3421d9ecad
gallium/tools: reimplement tracediff completely in Python
...
The limitations of current approach for Gallium trace diffing via
'tracediff.sh' are becoming all too apparent, as we are first dumping
both trace to text and performing plain line-based sdiff on them.
This obviously loses the context of calls and sometimes results in
confusing diffs when subsequent calls are similar enough. It also
prevents us from formatting the diff output in ways that would
benefit readability.
In attempt to rectify the situation, reimplement the diffing completely
in Python, using difflib and adding the necessary plumbing into the trace
model objects etc.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Matti Hamalainen
6f70a1cd14
gallium/tools: add option for ignoring junk calls in trace dumper
...
Previously tracediff.sh used postprocessing sed-script to remove unwanted
calls from the dump output. Instead of that, add option to parse.py to
ignore a list of calls at parsing phase. Currently this list is hardcoded
in parse.py.
Also clean up the trace model code and pointer tracking a bit to avoid
static state in Pointer class.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17135 >
2022-06-28 11:40:58 +00:00
Jose Fonseca
5f00b54873
trace: Allow to control nir dumping via an environment variable.
...
As requested by Mike Blumenkrantz.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Jose Fonseca
c5ddb95953
trace: Bring state dump up to speed.
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Jose Fonseca
0296050c0e
trace: Parse character data more efficiently.
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Jose Fonseca
69fbcdb568
trace: Dump NIR.
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Jose Fonseca
382c6d395c
lavapipe: Prevent mapping buffers beyond their size.
...
This was breaking trace driver serialization, since it relies upon the
transfer box to know what to serialize.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Jose Fonseca
b78caa7f7d
trace: Fix framebuffer state serialization.
...
Ensure the argument name is serialized "state" not, "&tr_ctx->unwrapped_state".
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17107 >
2022-06-28 09:54:29 +00:00
Boris Brezillon
0371b1707b
dzn: Hook-up device-lost detection
...
Provide a vk_device::check_status() implementation so the code can
call it at key moments to detect when a device-lost event (device-removed
in D3D12) has been received.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17249 >
2022-06-28 09:38:27 +00:00
Boris Brezillon
6a491d1628
radv: Use vk_pipeline_hash_shader_stage()
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
d2bb3b11e5
radv: Kill unused fs_m local var in radv_create_shaders()
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
02384ca13c
tu: Use vk_pipeline_hash_shader_stage()
...
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
a8cd159538
v3dv: Use vk_pipeline_hash_shader_stage()
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
863b6317a3
v3dv: Fix nir_shader leaks in v3dv_meta_{clear,copy}()
...
Reported-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
17dff363ce
anv: Use vk_pipeline_hash_shader_stage()
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
542538cf02
vulkan: Add a vk_pipeline_hash_shader_stage() helper
...
All drivers implement some sort of shader hashing, but each of
them does it slightly differently. Let's provide a generic helper
to avoid new copies of the same logic and encourage new drivers
to use one of the already implemented function.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
5e5b54c9d1
nir/serialize: Silence integer-overflow false positive
...
Use util_sign_extend() to silence the following integer-overflow
error.
src/compiler/nir/nir_serialize.c:1333:40: runtime error: left shift of 1000165000 by 13 places cannot be represented in type 'int'
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Boris Brezillon
370ca07482
nir/serialize: Support texop >= 16
...
Extend the packed_instr struct to support texops above
nir_texop_fragment_fetch_amd.
Fixes: 603e6ba972 ("nir: add two new texture ops for multisample fragment color/mask fetches")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17186 >
2022-06-28 09:07:32 +00:00
Iago Toral Quiroga
cfccd93efc
broadcom/compiler: don't predicate postponed spills
...
The postponed spill is predicated using the condition from the
last write, but this is only correct if the register was only
written once in the TMU sequence, or if it is always written with
the same predication.
While we could try to track whether this is the case or not, it
would make the postponed spill path even more complex than it
already is, so let's just avoid predicating these. We are already
discouraging TMU spilling of registers in the middle of TMU
sequences, so this should not be a very common case.
Cc: mesa-stable
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17201 >
2022-06-28 05:49:51 +00:00
Iago Toral Quiroga
98420408d0
broadcom/compiler: fix postponed TMU spills with multiple writes
...
If we are spilling a register that is used in the middle of a TMU
sequence, we postpone the spill until the TMU sequence finishes,
at which point we inject the spill and rewrite the original
instruction to write to the new temp.
However, this doesn't work if the register is written multiple
times during the TMU sequence. In that scenario, we need to ensure
that all writes are rewritten to use the new temp, not just the last
one.
Cc: mesa-stable
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17201 >
2022-06-28 05:49:51 +00:00
Iago Toral Quiroga
0bc65b1d81
v3dv: fix leak
...
Cc: mesa-stable
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17201 >
2022-06-28 05:49:51 +00:00
Mike Blumenkrantz
1951065a16
zink: delete zink_resource_object::dt_has_data
...
this should be on the swapchain image
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
314a24998a
zink: use kopper_displaytarget type directly
...
casting this all over is super annoying and unnecessary
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
6786e508a2
zink: acquire swapchain images on image map
...
this is a weird one
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
b400f1defc
zink: no-op pixmap frontbuffer flush calls
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
5c5ab9e173
zink: delete zink_resource_object::acquire
...
this was duplicated from the swapchain object for convenience, but really
it just leads to desync if a swapchain is shared, so use the swapchain
one instead
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
8ab8b729d6
zink: ensure pending present flushes are handled during frontbuffer flush
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
fbaca89cd9
zink: flag batch as having work during frontbuffer flush
...
avoids having the flush deferred
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
8606e5cff8
zink: improve no-op acquire detection
...
the swapchain may have successfully completed the acquire in a previous
batch, in which case a new acquire is not needed
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
49d9a3605b
zink: remove unnecessary code in kopper readback acquire
...
this used to be important but no longer is, so modify the loop
code to handle this case implicitly
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
cb306a0adb
zink: remove broken kopper assert
...
in a single-buffered scenario this can and does happen
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
9625e99110
zink: use better determination for handling swapchain acquire submits
...
if the swapchain has data, it has already passed through this function and
thus does not need to attempt to synchronize another swapchain acquire
for the same image
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
92228a6d28
zink: move 'acquired' flag onto swapchain struct
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
c47378fb0f
zink: move to AoS for storing swapchain struct data
...
this is a bit less cumbersome
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
983dcda16a
zink: track whether current swapchain has data
...
duplicated from resource object since swapchains can be shared
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Mike Blumenkrantz
c1ce1889db
zink: fix kopper_acquire return value
...
this should be a VkResult
Fixes: ab1941fc0e ("zink: handle zombie swapchains")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17149 >
2022-06-28 02:42:02 +00:00
Vasily Khoruzhick
24be011901
lima: wire up MSAA 4x support
...
Utgard supports MSAA 4x, so wire it up.
RSW bits were already REd by Luc, the only remaining part was storing
non-resolved buffers, reloading them (including for depth/stencil) and
doing MSAA resolve.
To store non-resolved buffer we need to set mrt_pitch and mrt_bits
registers in WB, and to resolve non-resolved buffer we need to reload
it into individual samples and then write out with mrt_bits = 0, it's
now done by lima blitter.
We also need to do resolve on transfer_map() of multi-sampled buffers,
so utilize u_transfer_helper for that.
As a side fix, it turns out that our wb_reg definition wasn't correct,
'zero' isn't always zero, it's set if we need to swap channels, and
it goes before mrt_bits. mrt_bits actually enables multiple MRTs,
so this commit renames 'zero' to 'flags' and changes its position.
If mrt_bits == 0 and MSAA is enabled, GPU does resolve
in place, to expose this functionality we set PIPE_CAP_SURFACE_SAMPLE_COUNT.
Fixes dEQP-GLES2.functional.multisample.*
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13963 >
2022-06-28 00:00:35 +00:00
Emma Anholt
f93bee19d9
ci/turnip: Trim the a630 VK run a bit.
...
We have a lot of spilling coverage in a618 pre-merge, don't do it all (~2
minutes) here. Also, force-gmem touch testing should probably test less than
the default run does!
This should help make up for having added the tu-zink run.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17125 >
2022-06-27 22:38:54 +00:00
Emma Anholt
523ed9521b
ci/turnip: Test traces on turnip using zink.
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17125 >
2022-06-27 22:38:54 +00:00
Emma Anholt
8e53194f44
ci/freedreno: Add vulkan+gl integration testing in piglit.
...
The libvulkan-dev was needed for building zink, which ended up turning on
the vulkan tests in piglit. Split them out here.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17125 >
2022-06-27 22:38:54 +00:00
Emma Anholt
9090bb1fbd
ci/traces: Drop ZINK_USE_LAVAPIPE ICD override.
...
Not set in the tree any more.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17125 >
2022-06-27 22:38:54 +00:00
Emma Anholt
83709ac3cf
ci/traces: GC unused code for DXVK trace replay.
...
I haven't found any use of it since it was introduced, and it got in the
way of zink trace testing.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17125 >
2022-06-27 22:38:53 +00:00
Mike Blumenkrantz
67bbe79d35
lavapipe: always set point_tri_clip
...
this invokes GLES-compatible point clipping, which is more consistent
with vulkan expectations and fixes a number of zink tests
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17259 >
2022-06-27 21:36:44 +00:00
Alyssa Rosenzweig
f18492faa9
lima,panfrost: Do not ralloc contexts against the screen
...
ralloc is not thread-safe. While a given context can only be accessed from a
single thread at once, multiple contexts can be created against the same screen
at once. The ralloc allocations against the shared screens will race. Depending
on the result of the race, the same block of memory can be returned as the two
new contexts in two different threads, causing a use-after-free when the context
is freed later.
We free the context explicitly when it's destroyed anyway. If screens are
getting destroyed without the contexts getting destroyed first, that's a state
tracker bug, not a Panfrost one.
This matches what Iris does.
Fixes crash in test_integer_ops.int_math on Panfrost.
Fixes: 0fcf73bc2d ("panfrost: Move to use ralloc for some allocations")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17234 >
2022-06-27 21:21:00 +00:00
Mike Blumenkrantz
a530b90cd3
zink: remove swizzle from fbfetch lowering
...
I had this in at one point to fix something, but now it somehow just
breaks fbfetch instead of fixing anything
cc: mesa-stable
fixes:
dEQP-GLES31.functional.blend_equation_advanced*
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17254 >
2022-06-27 20:38:53 +00:00
Adam Jackson
31b04e420b
glx/dri: Fix DRI drawable release at MakeCurrent time
...
We want to release the drawables of the context we're coming from, but
we were releasing them from the context we're switching to. This is
probably not a big deal normally because both contexts are likely to be
on the same display, which is all that driReleaseDrawables is really
sensitive to. But if the contexts are on different Displays this would
go quite wrong.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17176 >
2022-06-27 20:03:26 +00:00
Jesse Natalie
59944831a7
microsoft/clc: Add a unit test for unused image kernel args
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17246 >
2022-06-27 16:54:27 +00:00
Jesse Natalie
ca23a4af67
microsoft/clc: Remove dead image vars
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17246 >
2022-06-27 16:54:27 +00:00
Jesse Natalie
fd37959680
microsoft/clc: Fix test double free in the case of compilation failure
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17246 >
2022-06-27 16:54:27 +00:00
Jesse Natalie
d69e258e8e
microsoft/clc: Enable tests that pass on server 2022
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17246 >
2022-06-27 16:54:27 +00:00
Jesse Natalie
2dcbe87271
util/disk_cache: Implement disk_cache_get_function_identifier for Windows
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17208 >
2022-06-27 16:18:32 +00:00
Lionel Landwerlin
9d7d1c0637
intel/clc: enable fp16 & subgroups for GRL
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17253 >
2022-06-27 15:31:49 +00:00
Lionel Landwerlin
cf44282deb
clc: add new feature options for intel_clc
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17253 >
2022-06-27 15:31:49 +00:00
Daniel Schürmann
2e895f8b04
radv: vectorize nir_op_fabs
...
Totals from 4 (0.00% of 134913) affected shaders: (GFX10.3)
CodeSize: 37868 -> 36576 (-3.41%)
Instrs: 5332 -> 5169 (-3.06%)
Latency: 24452 -> 24174 (-1.14%)
InvThroughput: 9784 -> 9462 (-3.29%)
VClause: 54 -> 50 (-7.41%)
Copies: 520 -> 519 (-0.19%)
PreVGPRs: 266 -> 264 (-0.75%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15176 >
2022-06-27 15:07:27 +00:00
Daniel Schürmann
b45a39c44b
radv: vectorize nir_op_fdiv & nir_op_flrp & nir_op_ineg
...
These instructions are lowered to fmul/isub.
So, prevent scalarization.
Totals from 49 (0.04% of 134913) affected shaders: (GFX10.3)
VGPRs: 2576 -> 2568 (-0.31%)
SpillVGPRs: 1145 -> 1132 (-1.14%); split: -2.10%, +0.96%
CodeSize: 663968 -> 659376 (-0.69%); split: -1.08%, +0.38%
Scratch: 113664 -> 112640 (-0.90%)
Instrs: 110274 -> 109683 (-0.54%); split: -0.81%, +0.27%
Latency: 2904434 -> 2869588 (-1.20%); split: -1.64%, +0.44%
InvThroughput: 1414237 -> 1396600 (-1.25%); split: -1.69%, +0.44%
VClause: 2899 -> 2891 (-0.28%); split: -0.93%, +0.66%
SClause: 1520 -> 1537 (+1.12%); split: -0.07%, +1.18%
Copies: 28829 -> 28662 (-0.58%); split: -1.90%, +1.32%
Branches: 3560 -> 3564 (+0.11%)
PreVGPRs: 2550 -> 2427 (-4.82%)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15176 >
2022-06-27 15:07:27 +00:00
Daniel Schürmann
def3690447
radv: use callback for nir_lower_to_scalar
...
Now uses nir_lower_alu_width.
This avoids scalarization and re-vectorization of 16bit instructions.
Totals from 289 (0.21% of 134913) affected shaders: (GFX10.3)
VGPRs: 12864 -> 13072 (+1.62%); split: -0.50%, +2.11%
SpillSGPRs: 609 -> 505 (-17.08%)
SpillVGPRs: 946 -> 1145 (+21.04%)
CodeSize: 2537024 -> 2576976 (+1.57%); split: -0.10%, +1.67%
Scratch: 89088 -> 113664 (+27.59%)
MaxWaves: 7150 -> 7134 (-0.22%)
Instrs: 458352 -> 460830 (+0.54%); split: -0.45%, +0.99%
Latency: 6615279 -> 6844092 (+3.46%); split: -0.08%, +3.54%
InvThroughput: 1929504 -> 2044989 (+5.99%); split: -0.22%, +6.21%
VClause: 7186 -> 7338 (+2.12%); split: -0.08%, +2.20%
SClause: 13144 -> 13116 (-0.21%)
Copies: 46152 -> 50127 (+8.61%); split: -0.11%, +8.73%
Branches: 16530 -> 16572 (+0.25%); split: -0.02%, +0.27%
PreSGPRs: 14903 -> 14905 (+0.01%); split: -0.01%, +0.03%
PreVGPRs: 11806 -> 11730 (-0.64%); split: -1.83%, +1.19%
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15176 >
2022-06-27 15:07:27 +00:00
Daniel Schürmann
4235dd7b47
radv: don't lower vectorized instructions to 32bit
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15176 >
2022-06-27 15:07:27 +00:00
Daniel Schürmann
c298ab0d23
aco: correctly validate v_fma_mixhi_f16 register assignment
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15176 >
2022-06-27 15:07:27 +00:00
Marcin Ślusarz
b6ba24cd62
anv: disable injection of primitive shading rate for mesh
...
It's not needed and causes issues for mesh code (it doesn't
mark the output as per-primitive, which confuses brw_compute_mue_map)
Fixes many tests matching:
dEQP-VK.fragment_shading_rate.dynamic_rendering.*.ms
Fixes: 1542ab70eb ("anv: handle primitive shading rate for mesh")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16196 >
2022-06-27 14:14:41 +00:00
Marcin Ślusarz
42b551fe7f
intel/compiler: adjust task payload offsets as late as possible
...
Otherwise passes which expect offsets to be in bytes (like
brw_nir_lower_mem_access_bit_sizes, called from brw_postprocess_nir)
may produce incorrect results.
Fixes 64-bit load/stores in task/mesh shaders.
Fixes: c36ae42e4c ("intel/compiler: Use nir_var_mem_task_payload")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16196 >
2022-06-27 14:14:41 +00:00
Marcin Ślusarz
3dc6a98d78
intel/common: allocate space for at least one task urb
...
Fixes: c93cbc77f7 ("intel/common: Add helper for URB allocation in Mesh pipeline")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16196 >
2022-06-27 14:14:41 +00:00
Emil Velikov
899aa7925b
c11: reinstate the original license and authorship
...
The original code that was copied in was Boost licensed, so keep that
in. Since Yonggang Luo has code quite some work, keep their copyright
alongside the original one.
Fixes: b2ddec4e98 ("c11: Implement c11/time.h with c11/impl/time.c")
Fixes: e6392fcf3d ("c11: Move the implementation of threads.h into c source code")
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17232 >
2022-06-27 11:46:22 +00:00
Sviatoslav Peleshko
3f6edbc725
intel/blorp: Dirty depth bounds dynamic state bits after blorp
...
Blorp emits its own 3DSTATE_DEPTH_BOUNDS, so we'll have to re-emit the
expected state after that.
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Fixes: 56ef501e3a ("blorp: disable depth bounds")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17205 >
2022-06-27 11:11:30 +00:00
Sviatoslav Peleshko
b6bb7f8998
anv: Dirty all dynamic state bits when creating command buffer state
...
This makes sure that we'll handle situations when the new state has
the same value as the default one, so we won't dirty some bits, and
consequently will not emit necessary commands (e.g. 3DSTATE_DEPTH_BOUNDS).
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Fixes: 48229d11 ("anv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6722
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17205 >
2022-06-27 11:11:30 +00:00
Marcin Ślusarz
f4386b81e6
intel: fix typos found by codespell
...
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17191 >
2022-06-27 10:20:55 +00:00
Boris Brezillon
ab0e09803a
dzn: Enable the depthClamp feature
...
depthClampEnable is actually the case we support properly.
!depthClampEnable requires extra work to make sure the
depth clamping that's forced by D3D12 is inactive (setting the
viewport depth range to [0,1] and dealing with the actual range
at the shader level), and clamp the depth value read by the
fragment shader in that case. This will be addressed separately.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17231 >
2022-06-27 10:05:56 +00:00
Boris Brezillon
a7d6f52821
dzn: Enable shader{Clip,Cull}Distance
...
DXIL has clip/cull distance builtins too.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17231 >
2022-06-27 10:05:55 +00:00
Boris Brezillon
716aeafb67
dzn: Enable dynamic indexing on all kind of descriptors
...
nir_to_dxil() supports it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17231 >
2022-06-27 10:05:55 +00:00
Boris Brezillon
8f4fe3d21f
dzn: Advertise shaderImageGatherExtended support
...
nir_to_dxil() takes tg4 offsets into account.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17231 >
2022-06-27 10:05:55 +00:00
Boris Brezillon
7988e966fc
dzn: Advertise anisotropic filtering support
...
We support it already, let's toggle the switch to expose it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17231 >
2022-06-27 10:05:55 +00:00
Boris Brezillon
ee536ea633
nir/serialize: Put dest last in packed_instr::tex
...
packed_instr::tex::dest must be last to match the packed_instr::any::dest
position.
Fixes: 35655865cb ("nir/serialize: pack instructions better")
Cc: stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17212 >
2022-06-27 09:39:22 +00:00
Lionel Landwerlin
68e5265fa1
anv: silence border color swizzle debug message
...
MESA-INTEL: debug: gfx11_CreateSampler: ignored VkStructureType 1000411001
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/17245 >
2022-06-27 09:01:00 +00:00
Samuel Pitoiset
fd997bde2f
radv: dump UMR waves before UMR rings
...
Dumping UMR rings might be slow and dumping waves before would make it
more chance to dump them without reporting "No active waves".
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17183 >
2022-06-27 08:36:49 +00:00
Samuel Pitoiset
4c908d4587
radv: fix command line for dumping waves with UMR
...
GFXOFF must be disabled before dumping waves and re-enabled after.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17183 >
2022-06-27 08:36:49 +00:00
Samuel Pitoiset
915bc6a179
radv: use RADEON_FLAG_VA_UNCACHED for the trace BO
...
Figured this while debugging a GPU hang with a simple CTS test. This
is to make sure data written by the CP are coherent on the CPU.
This also explains spurious GPU hang reports generated for Hitman 3
that made no sense without it. Now it's clear that this game hangs
after a DRAW_INDEX_INDIRECT packet.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17183 >
2022-06-27 08:36:49 +00:00
Samuel Pitoiset
db7890637e
radv: disable small primitive culling for user sample locations
...
The driver can't assume sample positions at (0.5, 0.5) when user
sample locations are used.
This doesn't fix anything in practice because NGGC is only enabled by
default on GFX10.3 and that extension is currently disabled on GFX10+,
but I would like to expose it at some point.
This fixes dEQP-VK.pipeline.*.sample_locations_ext.verify_location.*
(when the extension is enabled locally).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17228 >
2022-06-27 08:10:08 +00:00
Ella Stanforth
f392b6c1ad
v3dv: Implement VK_KHR_performance_query
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14061 >
2022-06-27 07:34:16 +00:00
Erico Nunes
f2a24fd4a2
ci: Revert "CI: Lima farm is offline"
...
The lab is up and running again.
This reverts commit 686e20afcd .
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Acked-by: Vasily Khoruzhick <anarsoul@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17240 >
2022-06-27 07:02:30 +00:00
Qiang Yu
04b15f88e7
radeonsi: replace llvm gs input handle with nir lowering
...
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/16788 >
2022-06-27 11:32:50 +08:00
Qiang Yu
36197b8dc0
ac/llvm: get back nir_intrinsic_load_gs_vertex_offset_amd
...
Will be used by radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:46 +08:00
Qiang Yu
e9f1f115fa
ac/nir: add triangle_strip_adjacency_fix to gs input lower
...
From radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:43 +08:00
Qiang Yu
f8ddee90ca
radeonsi: replace llvm es output with nir lowering
...
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/16788 >
2022-06-27 11:32:38 +08:00
Qiang Yu
109eb378e5
ac/nir: change es output lower param to esgs_itemsize
...
radeonsi may add extra dword to the stride, so let's pass it
directly.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:34 +08:00
Qiang Yu
8b5e8b2af7
ac/nir: remove unused param num_reserved_es_outputs from gs input lower
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:30 +08:00
Qiang Yu
c66eba2072
radeonsi: set lds for gs/es to handle nir shared memory load/store
...
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/16788 >
2022-06-27 11:32:26 +08:00
Qiang Yu
7ddd15f6c7
ac/nir: skip gl_ViewportIndex and gl_Layer write in ES
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:21 +08:00
Qiang Yu
06d493dde2
radeonsi: implement two esgs ring nir intrinsic
...
nir_intrinsic_load_ring_esgs_amd
nir_intrinsic_load_ring_es2gs_offset_amd
Will be used by esgs lowering.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:15 +08:00
Qiang Yu
9fc01f6e79
ac/llvm: fix code format alignment in visit_load_local_invocation_index
...
Used tab instead of space.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788 >
2022-06-27 11:32:00 +08:00
Qiang Yu
7847114343
radeonsi: replace llvm tes input load with nir lowering
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
6b6aeeecbb
radeonsi: set uses_vmem_load_other for nir_intrinsic_load_buffer_amd
...
Before lower TES load input to load buffer, mark this flag for this
intrinsic, otherwise we get corruption with GFX10 after the lowering.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
2b7e167bbd
radeonsi: enable PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS
...
This can remove special handling of tessfactors which also benifit
the nir lower pass which does not handle these as system value.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
7598bfd768
radeonsi: replace llvm tcs output with nir lower pass
...
Remove the store_tcs_outputs abi, we can use common output abi
to handle the tessfactor pass as vgpr.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
d00845faf4
ac/nir: add no_input_lds_space param to hs output lower
...
This is used by radeonsi to save some lds space when all LS output
is passed by register.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
8f8d06bd05
ac/llvm: handle write mask for nir_intrinsic_store_buffer_amd
...
tess lowering may generate buffer store with partial write mask.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
baaeca7d1a
radeonsi: implement nir_intrinsic_load_tess_rel_patch_id_amd for both tcs and tes
...
radv will lower this intrinsic before gets to llvm, so we just need to
implement it in radeonsi.
The tes version will be used in tess lower too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
3853dfcd44
radeonsi: implement nir_intrinsic_load_ring_tess_offchip(_offset)_amd
...
Used by tess lower latter.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
4ec864c057
radeonsi: preload tess offchip ring for tcs
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Sigend-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
ae9b02b4d0
ac/nir: add wave_size parameter to ac_nir_lower_hs_outputs_to_mem
...
Used by radeonsi and radv to reflect true wave size used, not minimal size.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
18d51831a8
ac/nir: add pass_tessfactors_by_reg param to hs output lower
...
radeonsi won't emit tess factor in the lower pass, need to keep
the output for llvm backend to pass it as parameter. This is used
by radeonsi for an optimization to save LDS write.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
6ccb9634de
ac/nir: use nir_intrinsic_load_hs_out_patch_data_offset_amd in tess lower
...
radeonsi load this from SGPR arg, can't use static value because TCS output
and TES input may not match (TCS output is not a key for TES) and
determined in runtime.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
fdf589321c
ac/nir: add nir_intrinsic_load_hs_out_patch_data_offset_amd
...
Also add radv and radeonsi implementation. Will be used in tess lowering.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
2ba6d2b107
ac/nir: remove unused parameter in tes input lower
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
07e025a390
radeonsi: implement nir_intrinsic_load_tcs_num_patches_amd
...
Used by ac_nir_lower_tess_io_to_mem.c.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
a1763ad4b3
radeonsi: replace llvm based fixed tcs with nir
...
Create nir passthrough shader with explicit input/output and vertex
output count so that it can be handled by compiler same as user tcs.
The drawback is we create more si_shader_selector with different
input/output and vertex output count which was handled by compiler
backend before.
As fixed function tcs can be handled like user tcs, we don't need
the dedicated fixed_func_tcs_shader state either.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
3ab9c42b43
radeonsi: add si_create_passthrough_tcs
...
For replacing si_create_fixed_func_tcs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
74350cf057
radeonsi: support multi stage shader state creation in nir shaderlib
...
For creating tcs passthrough shader.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
a599576654
radeonsi: use si_shader as parameter in si_get_nir_shader
...
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/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
05b829cd0c
radeonsi: deserialize nir binary in si_check_blend_dst_sampler_noop
...
We can do this parse with original nir instead of shader key pass
applied nir in si_get_nir_shader.
This can free si_get_nir_shader to just use si_shader as parameter.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705 >
2022-06-27 02:38:21 +00:00
Qiang Yu
3aa70d92ce
radv: no need to do gs_alloc_req for newer chips in ngg vs/tes
...
Copy from radeonsi.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17130 >
2022-06-27 02:12:13 +00:00
Qiang Yu
74e596a5f0
ac/llvm: conditionally check wave id in gs sendmsg
...
nir lowering already call this with wave id check, no need to
check inside ac_build_sendmsg_gs_alloc_req again.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17130 >
2022-06-27 02:12:13 +00:00
Bas Nieuwenhuizen
e75f11625d
radv: Deal with derefs from opaque types in function parameters.
...
Needs more copy propagation before nir_opt_derefs picks it up.
Note that the full general problem of opaque types stored in
intermediate variables is still open, but that seems like a whole
can of worms, and no sense to have gfxbench stay broken during the
time it takes to solve that.
Cc: mesa-stable
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5945
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17012 >
2022-06-27 01:23:43 +00:00
Alessandro Astone
a7d6365f20
Android.mk: Intermediate output paths may already be absolute
...
That is the case when OUT_DIR_COMMON_BASE is set.
Only prefix paths with AOSP_ABSOLUTE_PATH if they're relative.
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674 >
2022-06-26 22:06:36 +00:00
Alessandro Astone
5feb025086
Android.mk: Generate the dummy source in local-generated-sources-dir
...
A source file cannot be otherwise referenced by absolute path.
That happens when OUT_DIR_COMMON_BASE is set.
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674 >
2022-06-26 22:06:36 +00:00
Alessandro Astone
b0a1a28d97
Android.mk: Make mesa3d-lib work with absolute path meson outputs
...
LOCAL_PREBUILT_MODULE_FILE is the only variable that allows
specifying the absolute path to a prebuilt.
That happens when OUT_DIR_COMMON_BASE is set.
Since it does not have multilib variants, define two separate
libraries for multilib
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674 >
2022-06-26 22:06:36 +00:00
Alessandro Astone
46d4a0f8b2
Android.mk: Cleanup mesa3d-lib
...
Properly cleanup variables before declaring a library.
Explicitly require library dependencies.
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674 >
2022-06-26 22:06:36 +00:00
Kenneth Graunke
b28efd80eb
iris: Update comment about 2GB dynamic state range
...
We tracked this down with the HW teams back in 2020 and there's now a
documented workaround. Comments from the HW team say this applies all
the way through XeHP but we're not sure beyond that.
This is a bug that we hit but the Windows drivers didn't because Jason
decided to allocate our memory structures from the top end of the VMA
range explicitly to catch bugs like this, while Windows allocates from
zero and up, so they would need to allocate more than 2GB of dynamic
state before running into it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4880
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17216 >
2022-06-24 23:30:12 +00:00
Ryan Neph
627ba5c91b
venus: support VK_KHR_copy_commands2
...
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17226 >
2022-06-24 23:20:05 +00:00
Ryan Neph
8b81098519
venus: enable VK_EXT_image_view_min_lod
...
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17227 >
2022-06-24 23:09:48 +00:00
Ryan Neph
f862cc070f
venus: update venus-protocol with VK_EXT_image_view_min_lod
...
Copy in auto-generated protocol bindings.
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17227 >
2022-06-24 23:09:48 +00:00
Jason Ekstrand
21374eb777
vulkan/render_pass: Support VkAttachmentSampleCountInfoAMD
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Jason Ekstrand
541819b2d6
vulkan/render_pass: Allow for mixed sample counts
...
RADV supports VK_AMD_mixed_attachment_samples which does exactly what it
sounds like.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Jason Ekstrand
7e11cdc77a
vulkan/render_pass: Pass sample locations to barriers
...
This is required for depth/stencil images created with
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Jason Ekstrand
6216c59dbb
vulkan/render_pass: Use a special layout for self-dependencies
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Jason Ekstrand
f10012a2b2
anv: Use CmdBeginRendering for resumes in BeginCommandBuffer when possible
...
This lets us avoid the code duplication between BeginRendering and
BeginCommandBuffer and also lets us stop crawling core render pass
structs directly and instead focus on dynamic rendering concepts.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Jason Ekstrand
3a204d5cf3
vulkan/render_pass: Add a better helper for render pass inheritance
...
Instead of making drivers dive into the render pass and framebuffer
themselves, provide a helper that constructs a VkRenderingInfo for a
render pass resume that they can use instead. This should reduce code
duplication between driver implementations of BeginRendering and
BeginCommandBuffer.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16953 >
2022-06-24 22:37:53 +00:00
Mike Blumenkrantz
f904b95ef0
zink: add a turnip driver workaround for EXT_depth_clip_enable
...
this is broken
ref #6732
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17237 >
2022-06-24 19:54:44 +00:00
Mike Blumenkrantz
8f57818ce5
zink: fix-ish depth clipping without VK_EXT_depth_clip_enable
...
if this extension is unsupported, use the previous behavior and hope for the best
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17237 >
2022-06-24 19:54:44 +00:00
Jason Ekstrand
7c127ca018
nir/opt_memcpy: Add another case for function_temp
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com > (1.5 years later)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13166 >
2022-06-24 19:21:26 +00:00
Jason Ekstrand
dc85065944
nir: Add an options parameter to deref_instr_has_complex_use
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com > (1.5 years later)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13166 >
2022-06-24 19:21:26 +00:00
Jason Ekstrand
d6123460fd
nir/opt_memcpy: lower copies to/from tightly packed types
...
v2: Add comment by Jason (Lionel)
Reviewed-by: Kristian H. Kristensen <hoegsberg@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com > (1.5 years later)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13166 >
2022-06-24 19:21:26 +00:00
Mike Blumenkrantz
82127961d2
zink: remove another zink/tu fail
...
fixed in f1c1b9687e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17241 >
2022-06-24 19:03:46 +00:00
Boris Brezillon
c81016f53c
ci/dzn: Copy testlog.{css,xsl} to the result dir
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17235 >
2022-06-24 18:15:16 +00:00
Boris Brezillon
e9c37e5ba8
microsoft/compiler: Fix emit_ubo_var()
...
get_dword_size() is misleading, its name implies it's returning
a size in dwords, but it's actually returning a size in bytes.
This led to a wrong size passed to emit_cbv(). Instead of fixing
get_dword_size(), let's inline the code in emit_ubo_var().
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17230 >
2022-06-24 17:56:56 +00:00
Boris Brezillon
8e710f2cf3
dzn: Transition resource to RENDER_TARGET/DEPTH_WRITE before clears
...
When clear_attachment() is called, we must ensure the resource is
in the DEPTH_WRITE or RENDER_TARGET state.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17229 >
2022-06-24 17:42:11 +00:00
Boris Brezillon
02002c8f12
dzn: Clamp depthBiasConstantFactor when doing the float -> int conversion
...
If we don't do that, we might end up with an integer overflow/underflow.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17236 >
2022-06-24 16:45:12 +00:00
Boris Brezillon
9527fbe596
dzn: Fix CmdPushConstants()
...
The original offset value is overwritten in our first for(i: num_states)
iteration, messing up the compute push constant update if stageFlags
applies to both compute and graphics.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17233 >
2022-06-24 16:13:39 +00:00
Danylo Piliaiev
5aeefe8d75
tu: Don't count 3d blits in QUERY_TYPE_PRIMITIVES_GENERATED
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17164 >
2022-06-24 14:10:56 +00:00
Danylo Piliaiev
97ef19e6ce
tu: Use hw binning or sysmem with QUERY_TYPE_PRIMITIVES_GENERATED
...
Without hw binning in gmem primitives generated query result could be
multiplied by tile count, which is not expected by OpenGL users for
GL_PRIMITIVES_GENERATED.
See https://gitlab.khronos.org/vulkan/vulkan/-/issues/3131
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17164 >
2022-06-24 14:10:56 +00:00
Rhys Perry
33641b2a26
aco: cleanup force-waitcnt output
...
If we don't reset ctx.vm_cnt/gpr_map/etc, this will spam a lot of
s_waitcnt instructions.
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/17207 >
2022-06-24 12:44:55 +00:00
Yonggang Luo
9116b9f00d
CODEOWNERS: evelikov renamed to xexaxo
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17072 >
2022-06-24 12:28:59 +00:00
Yonggang Luo
3163f2e0a6
CODEOWNERS: Update c11 code owners
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17072 >
2022-06-24 12:28:59 +00:00
Sviatoslav Peleshko
318473eaf1
intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state
...
This change is pretty straightforward: if set this field when we don't emit
the blend state, then the garbage at offset=0 will be set as a blend state,
and this will cause artifacts until the proper blend state will be given.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6544
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6232
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17132 >
2022-06-24 10:06:34 +00:00
Karmjit Mahil
bb93ecacd7
pvr: Rename loop iterator variable.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
6e6e1e8406
pvr: Fix off by 1 error in buffer_id for ubo pds program.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
4240c83960
pvr: Handle vdm degen_cull_enable.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17206 >
2022-06-24 09:15:53 +00:00
Karmjit Mahil
7858c32550
pvr: Fix physical device limits.
...
This commit changes to the physical device limits which were
missed during the 1.17 transition.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17206 >
2022-06-24 09:15:53 +00:00
Lionel Landwerlin
eac5a2fdfa
anv: make apply_pipeline_layout/compute_push_layout visible to NIR debug
...
Useful for debug.
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/17209 >
2022-06-24 07:12:18 +00:00
Georg Lehmann
ed429af586
radv: Don't check if we need to copy immutable samplers for non push templates.
...
This should allow the compiler to optimize this out because it knows that
cmd_buffer is NULL.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17166 >
2022-06-24 06:32:43 +00:00
Andres Gomez
f075aa1c11
ci: add wrapper script for Valve's traces runner
...
Contributed by Charlie Turner.
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Andres Gomez
fd2f529a6b
ci: move b2c artifacts to its own directory
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Charlie Turner
cec48994cc
ci: upgrade to DXVK v1.10.1
...
Additionally, improve the building scripts.
Contributed by Andres Gomez.
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Charlie Turner
fe649b38c4
ci: upgrade gfxreconstruct build to v0.9.10
...
Additionally improve the style of the build script.
- Instead of using platform build tools, use the CMake wrappers
- Instead of build all targets, then manually stripping, use the
CMake helpers.
Contributed by Andres Gomez.
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Charlie Turner
433c436c32
ci: add Linux build of apitrace
...
This is needed for some of Valve's GL traces to run.
Additionally, make the building commands for apitrace more standard.
Contributed by Andres Gomez.
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Charlie Turner
084cf578ef
ci: fix shellcheck violations in the test-vk building script
...
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Andres Gomez
8756de2d80
ci: install gfxinfo-mupuf in the test-vk image
...
This python module is needed for Valve's tracing jobs.
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Andres Gomez
bf1362d7a4
ci: install a more recent version of Wine in the test-vk image
...
Debian's Wine 5.0 has shown some problems when running Vulkan tests in
the past. Let's install the stable version provided by WineHQ (7.0 at
this time).
v2:
- Remove OBS repository for Wine since it is unused (previously, it
was providing libfaudio0) (Daniel).
v3:
- Add WineHQ's repository GPG key (Michel).
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org > [v2]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Andres Gomez
01a1af1819
radv/ci: update vkd3d-proton results for AMD's Kabini
...
Signed-off-by: Andres Gomez <agomez@igalia.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17184 >
2022-06-24 05:32:53 +00:00
Mike Blumenkrantz
3f86344bd6
zink: use tracked barrier info for generated barriers
...
this should be simpler to read through and maintain while providing
the same results as well as some possible perf and compile time improvements
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17192 >
2022-06-24 01:56:28 +00:00
Mike Blumenkrantz
50e764fa50
zink: track gfx/compute descriptor barrier info
...
update_barriers has steadily grown more and more complex when the original
idea was for it to be a small function to handle deferred jit barriers and
simplify sync in patterns like bind_ubo -> draw -> buffer_subdata -> draw
instead, track the pending barrier info at bind time so that the stages and
access are already updated by the time draw/compute are reached
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17192 >
2022-06-24 01:56:28 +00:00
Mike Blumenkrantz
74dd6e69b4
zink: fix image bind counting
...
these must only be incremented if the image descriptor has changed
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17192 >
2022-06-24 01:56:28 +00:00
Mike Blumenkrantz
7d56912208
zink: track overall samplerview bind counts
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17192 >
2022-06-24 01:56:27 +00:00
Mike Blumenkrantz
49cc3696bd
zink: track ssbo bind counts
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17192 >
2022-06-24 01:56:27 +00:00
Mike Blumenkrantz
e38b2adb88
zink: use the bigger of the variable type and interface type for bo sizing
...
this avoids the scenario where the full bo size isn't accounted for because
no variable for the block has been created
cc: mesa-stable
affects:
KHR-GL33.shaders.uniform_block.random.all_per_block_buffers.3
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17217 >
2022-06-24 01:21:45 +00:00
Timothy Arceri
e060d98aac
util: use force_gl_map_buffer_synchronized workaround with RAGE
...
CC: 22.1 22.0 <mesa-stable>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1326
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17199 >
2022-06-24 00:29:24 +00:00
Timothy Arceri
5f686bfc85
util: add dri config option to disable GL_MAP_UNSYNCHRONIZED_BIT
...
GL_MAP_UNSYNCHRONIZED_BIT depends on the app having its threading
handled correctly. This allows us to force disable the bit when
they get it wrong.
CC: 22.1 22.0 <mesa-stable>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17199 >
2022-06-24 00:29:24 +00:00
Mike Blumenkrantz
b74d3e71be
lavapipe: skip post-copy pNext checking during pipeline creation for composites
...
these values should have all been set during pipeline compositing above,
so reapplying the values is at best, redundant, and at worst, broken
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17219 >
2022-06-24 00:19:03 +00:00
Mike Blumenkrantz
f8a92d28ad
lavapipe: add a pipeline library assert
...
ensure that pipeline libraries are created with the library bit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17219 >
2022-06-24 00:19:03 +00:00
Mike Blumenkrantz
2a69aeb9c1
lavapipe: fix renderpass info handling during pipeline creation
...
only the viewMask parameter of VkPipelineRenderingCreateInfoKHR can
be accessed in the fragment stage, so for pipeline libraries it should
be assumed that zs attachments exist for the purpose of copying dynamic
state values, and then these dynamic states will naturally be pruned
during final pipeline construction if the attachments turn out to not
be present
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17219 >
2022-06-24 00:19:03 +00:00
Mike Blumenkrantz
7018b630ed
lavapipe: copy more pNexts for pipeline creation
...
also add some unreachable() handlers for unknown types
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17219 >
2022-06-24 00:19:03 +00:00
Mike Blumenkrantz
3aaab4a232
lavapipe: zero out blend info if blend isn't enabled
...
this makes reading traces easier
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17219 >
2022-06-24 00:19:03 +00:00
Jason Ekstrand
9be88a8464
panfrost: Use u_default_clear_buffer
...
[Alyssa: This is required for OpenCL.]
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16044 >
2022-06-23 23:18:06 +00:00
Jason Ekstrand
f32ac20862
iris: Use u_default_clear_buffer
...
iris uses u_default_buffer_subdata for buffer uploads via a CPU map so
clearing shouldn't be substantially worse. We can do it with BLORP in
the future if we decide it's useful.
[Alyssa: A BLORP implementation is available at
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15931 however nobody
has taken to reviewing that solution.]
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16044 >
2022-06-23 23:18:06 +00:00
Jason Ekstrand
cd21d32fe4
gallium: Add a u_default_clear_buffer helper
...
[Alyssa: Add a default CPU implementation of pipe->clear_buffer(). This hook is
mandatory for OpenCL support. Even though this implementation isn't optimal by
any means, having a conformant default available in core will lower the barrier
of entry to OpenCL support.]
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16044 >
2022-06-23 23:18:06 +00:00
Lionel Landwerlin
9b11618dfa
anv: disable perf queries on non RCS engines
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17015 >
2022-06-23 22:47:37 +00:00
Alyssa Rosenzweig
f00ebb913a
u_blitter: Remove util_blitter_copy_buffer
...
It is now unused. We cannot yet remove the streamout functionality in u_blitter
as r600g still uses it for clear_buffer on GPUs older than Evergreen.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17142 >
2022-06-23 22:23:31 +00:00
Alyssa Rosenzweig
21f5c6ea87
r600g: Remove streamout-based buffer copy path
...
r600g is the only user of util_blitter_copy_buffer in tree, which implements
buffer copies with streamout. This path for r600g was added in 8ac9801669
("r600g: accelerate buffer copying"), a commit from 2012. At that point there
was no DMA path for buffer copies. Since then, a DMA path has been added,
conditional only on the kernel version -- not the hardware. It appears the
required kernel support has been mainline for at least 4 years now. Mesa 22.2
doesn't need to provide optimal performance on an old kernel -- for performance,
a DMA-capable kernel should be used, and for compatability, the CPU fallback
(used for unaligned buffers as it is) is still available. Remove the streamout
path "in the middle" that appears ~unused today.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17142 >
2022-06-23 22:23:31 +00:00
Enrico Galli
f367c55573
microsoft/spirv_to_dxil: Fix discard semantics
...
Unlike in nir, discard is not a super return in DXIL. Therefore, we
will lower discard and terminate to demote + return.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17179 >
2022-06-23 22:04:32 +00:00
Ian Romanick
6689fa2ab4
nir/range_analysis: Teach range analysis about fdot opcodes
...
This really, really helps on platforms where fabs() isn't free. A great
many shaders use a * frsq(fabs(fdot(a, a))) to normalize a vector.
Since the result of the fdot must be non-negative, the fabs can be
eliminated by an existing algebraic rule.
shader-db results:
r300 (run on R420 - X800XL)
total instructions in shared programs: 1369807 -> 1368550 (-0.09%)
instructions in affected programs: 59986 -> 58729 (-2.10%)
helped: 609
HURT: 0
total vinst in shared programs: 512899 -> 512861 (<.01%)
vinst in affected programs: 1522 -> 1484 (-2.50%)
helped: 36
HURT: 0
total sinst in shared programs: 260690 -> 260570 (-0.05%)
sinst in affected programs: 1419 -> 1299 (-8.46%)
helped: 120
HURT: 0
total consts in shared programs: 957295 -> 957230 (<.01%)
consts in affected programs: 849 -> 784 (-7.66%)
helped: 65
HURT: 0
LOST: 0
GAINED: 3
The 3 gained shaders are all vertex shaders from XCom: Enemy Unknown.
I'm guessing that game is never going to run on my X800XL. :)
i915
total instructions in shared programs: 791121 -> 780843 (-1.30%)
instructions in affected programs: 220170 -> 209892 (-4.67%)
helped: 2085
HURT: 0
total temps in shared programs: 47765 -> 47766 (<.01%)
temps in affected programs: 9 -> 10 (11.11%)
helped: 0
HURT: 1
total const in shared programs: 93048 -> 92983 (-0.07%)
const in affected programs: 784 -> 719 (-8.29%)
helped: 65
HURT: 0
LOST: 0
GAINED: 36
Haswell, Ivy Bridge, and Sandy Bridge had similar results. (Haswell shown)
total instructions in shared programs: 16702250 -> 16697908 (-0.03%)
instructions in affected programs: 119277 -> 114935 (-3.64%)
helped: 1065
HURT: 0
helped stats (abs) min: 1 max: 20 x̄: 4.08 x̃: 4
helped stats (rel) min: 0.48% max: 10.17% x̄: 3.66% x̃: 3.94%
95% mean confidence interval for instructions value: -4.26 -3.89
95% mean confidence interval for instructions %-change: -3.76% -3.56%
Instructions are helped.
total cycles in shared programs: 880772068 -> 880734134 (<.01%)
cycles in affected programs: 2134456 -> 2096522 (-1.78%)
helped: 941
HURT: 324
helped stats (abs) min: 2 max: 2180 x̄: 123.06 x̃: 44
helped stats (rel) min: 0.04% max: 49.96% x̄: 7.08% x̃: 3.81%
HURT stats (abs) min: 2 max: 2098 x̄: 240.33 x̃: 35
HURT stats (rel) min: 0.04% max: 77.07% x̄: 12.34% x̃: 3.00%
95% mean confidence interval for cycles value: -47.93 -12.04
95% mean confidence interval for cycles %-change: -2.87% -1.34%
Cycles are helped.
No shader-db changes on any other Intel platform.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17181 >
2022-06-23 18:46:27 +00:00
Sebastian Keller
f50fe9b0b6
egl/wayland: Don't try to access modifiers u_vector as dynarray
...
The modifiers are u_vectors, but the code was trying to access them
as dynarrays. This resulted in a wrong number of modifiers, which then
later on would also lead to invalid reads used as modifiers.
In the case of the iris driver, a wrongly read number of modifiers > 0
would also trigger an error message.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6643
Fixes: b5848b2dac ("egl/wayland: use surface dma-buf feedback to allocate surface buffers")
Reviewed-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17180 >
2022-06-23 16:12:15 +00:00
Jason Ekstrand
8ce7faab47
vulkan: Add a vk_pipeline_shader_stage_to_nir helper
...
This is similar to vk_shader_module_to_nir only it takes a
VkPipelineShaderStageCreateInfo and handles
VK_KHR_graphics_pipeline_library semantics for when a
VkShaderModuleCreateInfo is provided instead of an actual module.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17196 >
2022-06-23 15:41:00 +00:00
Jason Ekstrand
288c1c29fb
vulkan/nir: Make spirv_data const in vk_spirv_to_nir
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17196 >
2022-06-23 15:41:00 +00:00
Matt Coster
29a7d924c7
pvr: csbgen: Make all generated enums unambiguous
...
This change involves two enums:
* rogue_texstate.xml: All COMPRESSED_* members of FORMAT are moved
to FORMAT_COMPRESSED (without the prefix). A second field is added
to IMAGE_WORD0 (texformat_compressed) which overlaps with the
original (texformat), and
* rogue_pbestate.xml: REG_WORD0_LINESTRIDE was not a real enum; it's
removed entirely. It only has value when feature
pbe_stride_align_1pixel is present, so a FIXME comment was added to
this effect.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17204 >
2022-06-23 15:21:17 +00:00
Pavel Ondračka
6cc0a3ed44
r300: only run merge_movs pass on R500
...
This pass currently generates some swizzles that the R300 and R400
hardware can't handle, make it R500 for now.
Fixes: 6c2959c0
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17150 >
2022-06-23 12:59:11 +00:00
Vinson Lee
b1df00cb79
tu: Check dereferenced value of rop_reads_dst.
...
Fix defect reported by Coverity Scan.
Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking rop_reads_dst suggests that it may be
null, but it has already been dereferenced on all paths leading to the
check.
Fixes: 94be0dd0b8 ("tu: Implement extendedDynamicState2LogicOp")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17099 >
2022-06-23 11:11:56 +00:00
Connor Abbott
7d706af76b
ir3: Fix vectorizer condition for SSBOs
...
SSBO access works very differently from UBO access. Straddling
loads/stores isn't an issue, loads/stores instead must be aligned to the
element size and can have up to 4 components.
We support 16-bit access with SSBOs on a650+, and sometimes the
vectorizer tries to create a misaligned 32-bit access when combining
32-bit and 16-bit accesses. The UBO-focused logic didn't reject this,
which is now fixed. This fixes a number of VK-CTS regressions on a650+.
Fixes: bf49d4a084 ("freedreno/ir3: Enable load/store vectorization for SSBO access, too.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17040 >
2022-06-23 10:46:31 +00:00
Rhys Perry
6fc2622abd
aco: don't skip VS->TCS barrier if TCS output vertices doesn't match input
...
TCS invocations correspond to output patch vertices, not input. If they
differ, TCS invocations can be in a different subgroup than VS invocations
of the input patch.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6564
Fixes: 152092b8ea ("aco: skip s_barrier if TCS patches are within subgroup")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17174 >
2022-06-23 10:08:02 +00:00
Yonggang Luo
d4ce845a8d
meson: Enable wgl tests on mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
a9e34d6d8e
ci: Building all mesa functional with mingw on debian
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
cb53094ac1
d3d12: Turn d3d12_format.h to include d3d12_common.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
6cdebc11ad
ci: Trigger the new mingw/linux dockers to be build
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
bbfd6dfe2e
ci: Prepare the container for building all mesa components with mingw under linux
...
`x86_build-base-wine.sh` are usd to install wine and xvfb
`x86_build-mingw-patch.sh` are used to pull packages from msys2 that can be directly used.
`x86_build-mingw-source-deps.sh` are used to building llvm, libclc, clang, spirv-tools and directx-headers from source
xvfb are used to enable wgl tests on debian
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
20a236c755
ci/x86_build: Getting pushd popd be paired, avoid using cd
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
d52f280bd7
dzn: Fixes incompatible pointer type error
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
a387c9284a
microsoft/clc: Disable clc_compiler_test on non-windows platform
...
The test can compile, but can not pass, so compile it but not running it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
e1e94f8c81
microsoft/clc: Fixes narrowing error in clc_compiler_test.cpp with mingw/gcc
...
errors:
../../src/microsoft/clc/clc_compiler_test.cpp:563:19: error: narrowing conversion of '268435457' from 'int' to 'uint16_t' {aka 'short unsigned int'} [-Wnarrowing]
563 | 0x00000000, 0x10000001, 0x20000020, 0x30000300,
| ^~~~~~~~~~
../../src/microsoft/clc/clc_compiler_test.cpp:563:31: error: narrowing conversion of '536870944' from 'int' to 'uint16_t' {aka 'short unsigned int'} [-Wnarrowing]
563 | 0x00000000, 0x10000001, 0x20000020, 0x30000300,
| ^~~~~~~~~~
../../src/microsoft/clc/clc_compiler_test.cpp:563:43: error: narrowing conversion of '805307136' from 'int' to 'uint16_t' {aka 'short unsigned int'} [-Wnarrowing]
563 | 0x00000000, 0x10000001, 0x20000020, 0x30000300,
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
7cb78a27d8
d3d12: Fixes compiling error in d3d12/wgl/d3d12_wgl_framebuffer.cpp with gcc
...
error message:
```
../../src/gallium/winsys/d3d12/wgl/d3d12_wgl_framebuffer.cpp:231:42: error: no matching function for call to 'operator new(sizetype, d3d12_wgl_framebuffer*&)'
231 | new (fb) struct d3d12_wgl_framebuffer();
| ^
<built-in>: note: candidate: 'void* operator new(long long unsigned int)'
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
05097d1f6c
d3d12: Convert #include <Windows.h> to #include <windows.h> for mingw on linux
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Yonggang Luo
6b181fe1b2
d3d12: Use static_cast instead of dynamic_cast in d3d12_video_enc_h264.cpp
...
Because we may compile mesa with both rtti=enabled and rtti=disabled because of LLVM
Fixes errors:
../../src/gallium/drivers/d3d12/d3d12_video_enc_h264.cpp:777:7: error: 'dynamic_cast' not permitted with '-fno-rtti'
777 | dynamic_cast<d3d12_video_bitstream_builder_h264 *>(pD3D12Enc->m_upBitstreamBuilder.get());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16084 >
2022-06-23 09:27:06 +00:00
Jason Ekstrand
deb36dc6c2
turnip: Use the new border color helpers
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15359 >
2022-06-23 00:01:41 +00:00
Jason Ekstrand
498a8e77dd
lavapipe: Use the new border color helper
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15359 >
2022-06-23 00:01:41 +00:00
Jason Ekstrand
b8882718b7
panvk: Use the new border color helpers
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15359 >
2022-06-23 00:01:41 +00:00
Jason Ekstrand
981cf8a41d
vulkan: Add some border color helpers
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15359 >
2022-06-23 00:01:41 +00:00
Zhang, Jianxun
bc42bbff4c
iris: Wa_14016820455 for GFX_VERx10 == 12.5
...
Reprogram SF CLIP viewport pointer by not skipping its
dirty flag bit.
Many thanks to Lin, Shuicheng <shuicheng.lin@intel.com >,
Jerez Plata, Francisco <francisco.jerez.plata@intel.com >,
Graunke, Kenneth W <kenneth.w.graunke@intel.com >,
and others for their great help.
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17171 >
2022-06-22 22:22:50 +00:00
Lionel Landwerlin
5d05ffa465
anv: limit RT writes to number of color outputs
...
Not doing so crates skews occlusion queries. Fixes Zink's piglit
occlusion_query tests.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: a4f502de32 ("anv: fix VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT state")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6205
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15740 >
2022-06-22 21:45:52 +00:00
Alyssa Rosenzweig
76981e5615
agx: Handle loop { if { loop { .. } } }
...
We need to push loop nesting to handle this correctly -- at the end of
the innermost loop, the correct nesting is 1 (from the if), not 0.
Fixes assertion failure in
dEQP-GLES2.functional.shaders.struct.local.dynamic_loop_nested_struct_array_fragment,UnexpectedPass
dEQP-GLES2.functional.shaders.struct.local.dynamic_loop_nested_struct_array_vertex,UnexpectedPass
dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array_fragment,UnexpectedPass
dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array_vertex,UnexpectedPass
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17128 >
2022-06-22 21:23:50 +00:00
Emma Anholt
062e822e1b
ci/bare-metal: Collapse artifacts wget by default.
...
In trying to figure out why an rpi3 job took so long, I wished that the
wget verbosity was hidden by default, and that it told me how long it took
like other sections do.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17146 >
2022-06-22 20:59:54 +00:00
Emma Anholt
13bf36588d
ci/bare-metal: Consolidate needs declarations in .baremetal-test-*.
...
We had it set up for arm64 asan already, do it for everyone else too. In
cleaning up the duplication, this fixes a pasteo in rpi3 which had the
"artifacts: false" on the wrong job, causing it to do a slow download of
the mesa build from gitlab.
Doing this required also moving the ".use-debian/arm_test" in as well, so
that its "needs:" didn't overwrite ours if it appeared after us in the
consumer's "extends:"
Should save about 20 seconds on rpi3 jobs.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17146 >
2022-06-22 20:59:54 +00:00
Emma Anholt
1f9566cbb0
ci/bare-metal: Remove "stage: test" from .baremetal-test.
...
This is not one of the valid stages in the top level "stages:"
declaration, you're supposed to get your stage from your
test-source-dep.yml include. Avoids issues when .baremetal-test gets
included after your test-source-dep.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17146 >
2022-06-22 20:59:54 +00:00
Mike Blumenkrantz
e13f04fcf0
zink: flag dmabufs for foreign queue transition on flush_resource call
...
this is needed by ext_external_objects
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15810 >
2022-06-22 20:42:02 +00:00
Mike Blumenkrantz
32c34e93aa
zink: add flag to indicate if a resource is a dmabuf
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15810 >
2022-06-22 20:42:02 +00:00
Emma Anholt
69cad6dcb7
ci/freedreno: Turn a530 back on by default and update expectations.
...
I think it should be fixed since I redid how we manage serial around
restarts. Haven't seen a fail in the manual runs I've done.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17004 >
2022-06-22 20:07:36 +00:00
Emma Anholt
4e3c51cbd8
freedreno/a5xx: Set the buffer bit appropriately in XS_CTRL_REG0.
...
This seems to be how the bit gets used, from grepping my blob traces.
Hopefully this helps stabilize some stuff.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17004 >
2022-06-22 20:07:36 +00:00
Emma Anholt
6cf2b24eaf
freedreno/ir3: Disable image/ssbo 16-bit conversion folding pre-a6xx.
...
I don't see it in blob dumps, and the reordered args tripped up validation.
Fixes: 49dc60efa1 ("freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17004 >
2022-06-22 20:07:36 +00:00
Ian Romanick
fd1f2d3b5a
nir: Add and use algebraic property "is selection"
...
There are several places that should have supported the various sized
versions of bcsel and the various nir_op_[fi]csel_* opcodes. Rather
than enumerate the whole list, add a property.
v2: Make the comment for NIR_OP_IS_SELECTION more descriptive.
Suggested by Jason.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17048 >
2022-06-22 19:26:59 +00:00
Ian Romanick
a2a2fbc510
nir/algebraic: Fix NaN-unsafe fcsel patterns
...
For example, the proof for this pattern
(('bcsel', ('flt', 'a@32', 0), 'b@32', 'c@32'), ('fcsel_ge', a, c, b)),
would be
bcsel(a < 0, b, c)
bcsel(!(a < 0), c, b)
bcsel(a >= 0, c, b)
fcsel_ge(a, c, b)
However, !(a < 0) => (a >= 0) is well known to produce different
results if `a` is NaN.
Instead of that replacement, use this replacement:
bcsel(a < 0, b, c)
bcsel(-0 < -a, b, c)
bcsel(0 < -a, b, c)
fcsel_gt(-a, b, c)
This is NaN-safe and exact.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Fixes: 0f5b3c37c5 ("nir: Add opcodes for fused comp + csel and optimizations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17048 >
2022-06-22 19:26:59 +00:00
Ian Romanick
ccd18ec4f3
nir: i32csel opcodes should compare with integer zero
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Noticed-by: Georg Lehmann <dadschoorse@gmail.com >
Fixes: 0f5b3c37c5 ("nir: Add opcodes for fused comp + csel and optimizations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17048 >
2022-06-22 19:26:59 +00:00
Connor Abbott
d455838081
tu: Fix linemode for tessellation with isolines
...
Fixes: 542211676c ("turnip: enable VK_EXT_line_rasterization")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17190 >
2022-06-22 17:57:53 +00:00
Alyssa Rosenzweig
e812e8892a
v3d: Drop workaround for u_blitter bug
...
This doesn't seem to be necessary.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17113 >
2022-06-22 17:07:10 +00:00
Danylo Piliaiev
f1c1b9687e
tu: Do not expose storage image/buffer features for PACK16 formats
...
We don't support storing into them.
Fixes GL CTS tests running through ZINK:
KHR-GL46.packed_pixels.pbo_rectangle.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17168 >
2022-06-22 14:39:47 +00:00
Emma Anholt
4309e09d6f
vc4: Propagate txf_ms's dest_type to the lowered txf.
...
This was missing, and the added validation caught it.
Fixes: 708c47e663 ("nir: Validate nir_tex_instr::dest_type bitsize")
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17172 >
2022-06-22 07:10:18 -07:00
Emma Anholt
1de87497ba
ci/vc4: Turn on deqp-egl testing by default.
...
Now that we have one less job, let's flip this on.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17172 >
2022-06-22 07:10:14 -07:00
Emma Anholt
e9fad0b9aa
ci/vc4: Merge quick_shader in with deqp-gles
...
All 4 jobs had a total of about 26 minutes of runner time, so squish them
onto 3 runners and use gbm for the .shader_tests to avoid X overhead and
hopefully succeed with full concurrency.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17172 >
2022-06-22 07:09:53 -07:00
Mike Blumenkrantz
872a1ae69e
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
90586f812c
mesa: explicitly disallow multiple pointsize exports from generating
...
for the fixedfunc vertex case this is important since the fixedfunc shader
may have already added an (attenuated) pointsize
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
096c5aa34a
mesa: enforce pointsize exports if pointsize is being clamped
...
min/max pointsize clamping affects the value that must be used,
meaning that it may not be 1.0
in the case where clamping changes the value from 1.0, ensure the shader
export path is used if attenuation isn't enabled
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
3e2c132eb8
mesa: skip pointsize exports if pointsize attenuation is enabled
...
attenuation has its own method of exporting pointsize in fixedfunc shaders,
so ensure the attenuated size isn't overwritten
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
de732cf61b
mesa: rename PointSizeIsOne -> PointSizeIsSet
...
this will better convey the meaning of the value
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
b2155a044d
mesa: break out PointSizeIsOne setting to util function
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Mike Blumenkrantz
4830cc77cb
nir/lower_point_size: apply point size clamping
...
point size min/max values are provided through the state vars, so ensure
these are always applied in order to respect ARB_point_parameters
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145 >
2022-06-22 13:27:29 +00:00
Italo Nicola
42a1264951
virgl: overpropagate precise flags
...
As it turns out, MOVs weren't the only instructions that blocked precise
flags propagation in the transition to nir-to-tgsi.
This commit fixes some rendering regressions caused by a4a34cd3 .
Fixes: a4a34cd3
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collanora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17144 >
2022-06-22 12:58:58 +00:00
Jason Volk
e1488d9374
radeon: Support shared memory user pointers.
...
The RADEON_GEM_USERPTR_ANONONLY flag is hardcoded here which excludes
shared memory pages. DRM is actually capable of supporting shared file-
backed memory, but only if it's read-only. This mutability intent has to
be conveyed through the stack, so a flags argument is added to the winsys
regime to pass RADEON_FLAG_READ_ONLY.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16115 >
2022-06-22 12:23:02 +00:00
Marcin Ślusarz
f871aa10a1
intel/compiler: assert that base is 0 for [load|store]_shared intrins
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17143 >
2022-06-22 10:32:13 +00:00
Timur Kristóf
e5970fe22a
nir/lower_task_shader: don't use base index for shared memory intrinsics
...
Intel backend doesn't handle them very well.
Fixes: 8aff8d3dd4 ("nir: Add common task shader lowering to make the backend's job easier.")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17143 >
2022-06-22 10:32:13 +00:00
Marcin Ślusarz
49b8fffeed
nir/lower_task_shader: insert barrier before/after shared memory read/write
...
Fixes: 8aff8d3dd4 ("nir: Add common task shader lowering to make the backend's job easier.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17143 >
2022-06-22 10:32:13 +00:00
Connor Abbott
c601ba332b
ir3/sched: Fix could_sched() determination
...
This needs to be accurate so that when we split and then schedule a new
a0.x/a1.x/p0.x write we will eventually make progress. It wasn't taking
the kill_path into account which could create an infinite loop as we
keep scheduling writes whose uses are blocked because they are memory
instructions not on the kill_path.
Closes : #6413
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16635 >
2022-06-22 10:09:13 +00:00
Danylo Piliaiev
a8671b2182
meson/tu: Don't compile libdrm paths if KGSL is selected
...
Even if there is libdrm we shouldn't use it if KGSL is selected.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17173 >
2022-06-22 11:52:36 +03:00
Danylo Piliaiev
6ad7be1b36
meson/pps: Check if libdrm exists to compile pps
...
For Turnip with KGSL we may have perffeto enabled but we don't
have libdrm.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17173 >
2022-06-22 11:52:36 +03:00
Danylo Piliaiev
ee6a0c675b
meson: Define _GNU_SOURCE for android host system
...
Otherwise sched_getaffinity isn't be defined and util_cpu_detect_once
fails to compile.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17173 >
2022-06-22 11:52:36 +03:00
Samuel Pitoiset
ad3d6d9c6e
radv/llvm: always emit a null export even if the FS doesn't discard
...
Even with a noop FS, the color blend state can still be non-zero, and
then SPI color related registers won't be 0 and this would hang.
Fixes: bdf3797aeb ("ac,radeonsi: don't export null from PS if it has no effect on gfx10+")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17169 >
2022-06-22 08:31:30 +02:00
Pavel Asyutchenko
17645cb29c
llvmpipe: enable PIPE_CAP_FBFETCH_ZS
...
Support for it was added in previous commits.
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
ccaa7920ef
llvmpipe: implement FB fetch for depth/stencil
...
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
0ba3e797ee
llvmpipe: simplify early/late zs tests selection
...
This does not change selection logic.
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
443ef18f0c
llvmpipe: enable per-sample shading when FB fetch is used
...
This matches specifications of both color and ZS fetch extensions.
Cc: mesa-stable
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
8788b17596
nir_to_tgsi: Don't count ZS fbfetch vars as outputs
...
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
959b748038
glsl: add language support for GL_ARM_shader_framebuffer_fetch_depth_stencil
...
This extension adds built-in variables gl_LastFragDepthARM and gl_LastFragStencilARM
which can be implemented almost the same as gl_LastFragData from color fetch extension.
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Pavel Asyutchenko
41f22a1823
gallium: add PIPE_CAP_FBFETCH_ZS and expose extension
...
st/mesa will expose GL_ARM_shader_framebuffer_fetch_depth_stencil
if this new capability is supported by the driver.
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Dave Airlie
68e8940114
glx/drisw: use xcb instead of X to query connection
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17155 >
2022-06-22 03:28:21 +00:00
Dave Airlie
d3e723fb77
wsi/x11: add xcb_put_image support for larger transfers.
...
This was noticed as a problem in the EGL code, just fixup wsi.
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17155 >
2022-06-22 03:28:21 +00:00
Dave Airlie
c5dbb1139c
egl/x11: add missing put_image cookie cleanups
...
These might not be required but be consistent with the wsi code.
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17155 >
2022-06-22 03:28:21 +00:00
Dave Airlie
e6082ac62e
egl/x11: split large put image requests to avoid server destroy
...
wezterm in fullscreen 4k was exceeding the xcb max request size
on the put image with llvmpipe. This fixes it to send sub-images,
the Xlib put image used in glx does this internally, but not
the xcb one, so just do it in sections here.
Cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17155 >
2022-06-22 03:28:21 +00:00
Mike Blumenkrantz
e8fc5cca90
zink: fix dual_src_blend driconf workaround
...
not sure when this broke but it broke
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17156 >
2022-06-22 03:14:18 +00:00
Mike Blumenkrantz
ea005c9e04
glx/drisw: invalidate drawables upon binding context if flush extension exists
...
this forces surface resize as expected
cc: mesa-stable
fixes #6706
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17147 >
2022-06-22 02:18:37 +00:00
Mike Blumenkrantz
23b63e536e
glx/drisw: store the flush extension to the screen
...
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17147 >
2022-06-22 02:18:37 +00:00
Guilherme Gallo
cee1c4fc7f
ci/lava: Filter out undesired messages
...
Some LAVA jobs emit lots of messages "Listened to connection for
namespace 'common' for up to 1s" in a row at the end of the logs, making
difficult to see the result of the test script.
This commit removes those lines until a proper solution is deployed on
the LAVA side.
Closes : #6116
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17151 >
2022-06-22 01:48:16 +00:00
Jason Ekstrand
64d074879b
vulkan/wsi: Use HAVE_LIBDRM to detect DRM instead of !_WIN32
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17170 >
2022-06-22 01:15:20 +00:00
Jordan Justen
a7127fbc4c
intel/tools: Print memory info in intel_dev_info
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Jordan Justen
eaf2a35a76
iris/bufmgr: Use memory info from devinfo
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Jordan Justen
1505f94397
anv: Use memory info from devinfo
...
Rework:
* Jordan: Drop regions.valid (Lionel implemented a fallback)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Lionel Landwerlin
4289c9ec13
intel/dev: add a fallback when memory regions are not available
...
We have this in Anv and it could be reused in Iris for integrated
memory system.
Rework:
* Jordan: Drop regions.valid (Lionel implemented a fallback)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Lionel Landwerlin
4e727297e8
intel/dev: add a helper to update memory info
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Jordan Justen
4aecfbf0f4
intel/dev: Add devinfo::mem to store i915 regions information
...
Reworks:
* Lionel: Change check on memory region valid to vram size
* Jordan: Drop regions.valid (Lionel implemented a fallback)
* Jordan: Rename devinfo::regions to devinfo::mem.
* Jordan: Add devinfo::mem::use_class_instance
* Add mesa_logw for lmem requiring regions. (s-b Lionel)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17075 >
2022-06-22 00:30:49 +00:00
Alyssa Rosenzweig
1222c86e34
panfrost: Bump ESSL_FEATURE_LEVEL on Valhall
...
This advertises ARB_gpu_shader5 on Valhall, which should be working now. On the
GLES3.1 side, this notably adds support for sample variables and dynamic offsets
for texture gathers, both of which should now be working.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
74460a5d75
panfrost: Enable CAP_INDIRECT_TEMP_ADDR on Valhall
...
For parity with Bifrost. Apparently this pattern is sufficiently obscure that
the shader-db results on Mali-G57 are mostly noise.
total instructions in shared programs: 2675116 -> 2674820 (-0.01%)
instructions in affected programs: 4336 -> 4040 (-6.83%)
helped: 8
HURT: 1
helped stats (abs) min: 1.0 max: 52.0 x̄: 37.88 x̃: 49
helped stats (rel) min: 0.46% max: 8.20% x̄: 5.97% x̃: 7.56%
HURT stats (abs) min: 7.0 max: 7.0 x̄: 7.00 x̃: 7
HURT stats (rel) min: 5.98% max: 5.98% x̄: 5.98% x̃: 5.98%
95% mean confidence interval for instructions value: -52.90 -12.88
95% mean confidence interval for instructions %-change: -8.48% -0.81%
Instructions are helped.
total cvt in shared programs: 14127.08 -> 14126.53 (<.01%)
cvt in affected programs: 33.84 -> 33.30 (-1.62%)
helped: 10
HURT: 1
helped stats (abs) min: 0.015625 max: 0.125 x̄: 0.06 x̃: 0
helped stats (rel) min: 0.71% max: 2.93% x̄: 1.76% x̃: 1.78%
HURT stats (abs) min: 0.09375 max: 0.09375 x̄: 0.09 x̃: 0
HURT stats (rel) min: 7.89% max: 7.89% x̄: 7.89% x̃: 7.89%
95% mean confidence interval for cvt value: -0.09 -0.01
95% mean confidence interval for cvt %-change: -2.89% 1.13%
Inconclusive result (%-change mean confidence interval includes 0).
total sfu in shared programs: 7572 -> 7555.69 (-0.22%)
sfu in affected programs: 37.19 -> 20.88 (-43.87%)
helped: 6
HURT: 3
helped stats (abs) min: 2.75 max: 2.75 x̄: 2.75 x̃: 2
helped stats (rel) min: 47.31% max: 48.89% x̄: 48.63% x̃: 48.89%
HURT stats (abs) min: 0.0625 max: 0.0625 x̄: 0.06 x̃: 0
HURT stats (rel) min: 5.56% max: 6.25% x̄: 5.79% x̃: 5.56%
95% mean confidence interval for sfu value: -2.89 -0.73
95% mean confidence interval for sfu %-change: -51.41% -9.57%
Sfu are helped.
total quadwords in shared programs: 1450040 -> 1449896 (<.01%)
quadwords in affected programs: 1992 -> 1848 (-7.23%)
helped: 6
HURT: 0
helped stats (abs) min: 24.0 max: 24.0 x̄: 24.00 x̃: 24
helped stats (rel) min: 6.82% max: 7.50% x̄: 7.24% x̃: 7.32%
95% mean confidence interval for quadwords value: -24.00 -24.00
95% mean confidence interval for quadwords %-change: -7.48% -6.99%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
7d84bb00dc
panfrost: Enable more FP16 caps on Valhall
...
This brings the FP16 capabilities of Valhall to parity with Bifrost.
Supporting FP16 constant buffers in particular reduces ALU in a ton of GLES
shaders, so that's a nice win. FP16 derivatives get vectorized which is a big
win where that applies, but they are considerably less common.
The lost shaders are from enabling PIPE_SHADER_CAP_FP16_CONST_BUFFERS (these
shaders compile on Midgard but not on Bifrost). The shaders in question declare
the same uniform in linked vertex and fragment shaders with different
precisions. This is contrary to the GLSL ES specification, which states
precisions must match for default uniforms of linked shaders. All the lost
shaders are in 8 Ball Pool and Hill Climb Racing. As those are proprietary
games, if that becomes a problem in the future, drirc is the solution.
total instructions in shared programs: 2697897 -> 2674595 (-0.86%)
instructions in affected programs: 1019922 -> 996620 (-2.28%)
helped: 4838
HURT: 2599
helped stats (abs) min: 1.0 max: 52.0 x̄: 7.13 x̃: 5
helped stats (rel) min: 0.16% max: 46.51% x̄: 8.04% x̃: 5.33%
HURT stats (abs) min: 1.0 max: 36.0 x̄: 4.30 x̃: 3
HURT stats (rel) min: 0.17% max: 133.33% x̄: 10.53% x̃: 3.85%
95% mean confidence interval for instructions value: -3.32 -2.95
95% mean confidence interval for instructions %-change: -1.89% -1.22%
Instructions are helped.
total cycles in shared programs: 141764.61 -> 140602.88 (-0.82%)
cycles in affected programs: 5728.22 -> 4566.48 (-20.28%)
helped: 665
HURT: 89
helped stats (abs) min: 0.015625 max: 15.0 x̄: 1.75 x̃: 0
helped stats (rel) min: 0.30% max: 61.54% x̄: 11.17% x̃: 4.62%
HURT stats (abs) min: 0.015625 max: 0.265625 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.30% max: 66.67% x̄: 6.77% x̃: 1.94%
95% mean confidence interval for cycles value: -1.77 -1.31
95% mean confidence interval for cycles %-change: -10.11% -7.99%
Cycles are helped.
total fma in shared programs: 22577.56 -> 22575.91 (<.01%)
fma in affected programs: 2422.78 -> 2421.12 (-0.07%)
helped: 533
HURT: 653
helped stats (abs) min: 0.015625 max: 0.0625 x̄: 0.03 x̃: 0
helped stats (rel) min: 0.30% max: 50.00% x̄: 8.25% x̃: 1.35%
HURT stats (abs) min: 0.015625 max: 0.125 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.19% max: 100.00% x̄: 4.53% x̃: 2.08%
95% mean confidence interval for fma value: -0.00 0.00
95% mean confidence interval for fma %-change: -1.98% -0.44%
Inconclusive result (value mean confidence interval includes 0).
total cvt in shared programs: 14460.95 -> 14122.50 (-2.34%)
cvt in affected programs: 6159.02 -> 5820.56 (-5.50%)
helped: 4827
HURT: 2577
helped stats (abs) min: 0.015625 max: 0.796875 x̄: 0.11 x̃: 0
helped stats (rel) min: 0.20% max: 81.82% x̄: 17.78% x̃: 12.90%
HURT stats (abs) min: 0.015625 max: 0.546875 x̄: 0.07 x̃: 0
HURT stats (rel) min: 0.00% max: 600.00% x̄: 43.66% x̃: 13.04%
95% mean confidence interval for cvt value: -0.05 -0.04
95% mean confidence interval for cvt %-change: 2.28% 4.93%
Inconclusive result (value mean confidence interval and %-change mean confidence interval disagree).
total sfu in shared programs: 7593.56 -> 7571.06 (-0.30%)
sfu in affected programs: 357.19 -> 334.69 (-6.30%)
helped: 149
HURT: 1
helped stats (abs) min: 0.0625 max: 0.25 x̄: 0.15 x̃: 0
helped stats (rel) min: 5.26% max: 36.36% x̄: 6.79% x̃: 5.56%
HURT stats (abs) min: 0.0625 max: 0.0625 x̄: 0.06 x̃: 0
HURT stats (rel) min: 3.57% max: 3.57% x̄: 3.57% x̃: 3.57%
95% mean confidence interval for sfu value: -0.16 -0.14
95% mean confidence interval for sfu %-change: -7.51% -5.93%
Sfu are helped.
total v in shared programs: 8722.62 -> 8722.31 (<.01%)
v in affected programs: 1.62 -> 1.31 (-19.23%)
helped: 2
HURT: 0
total ls in shared programs: 129666 -> 128494 (-0.90%)
ls in affected programs: 4163 -> 2991 (-28.15%)
helped: 192
HURT: 0
helped stats (abs) min: 1.0 max: 15.0 x̄: 6.10 x̃: 5
helped stats (rel) min: 4.35% max: 75.00% x̄: 30.23% x̃: 26.32%
95% mean confidence interval for ls value: -6.67 -5.54
95% mean confidence interval for ls %-change: -32.67% -27.79%
Ls are helped.
total quadwords in shared programs: 1461496 -> 1449768 (-0.80%)
quadwords in affected programs: 273592 -> 261864 (-4.29%)
helped: 1992
HURT: 687
helped stats (abs) min: 8.0 max: 24.0 x̄: 8.76 x̃: 8
helped stats (rel) min: 1.43% max: 50.00% x̄: 16.30% x̃: 11.11%
HURT stats (abs) min: 8.0 max: 16.0 x̄: 8.31 x̃: 8
HURT stats (rel) min: 1.92% max: 100.00% x̄: 36.39% x̃: 25.00%
95% mean confidence interval for quadwords value: -4.67 -4.08
95% mean confidence interval for quadwords %-change: -3.95% -1.62%
Quadwords are helped.
total threads in shared programs: 53496 -> 53551 (0.10%)
threads in affected programs: 112 -> 167 (49.11%)
helped: 74
HURT: 19
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.42 0.76
95% mean confidence interval for threads %-change: 56.83% 81.88%
Threads are helped.
total loops in shared programs: 128 -> 127 (-0.78%)
loops in affected programs: 1 -> 0
helped: 1
HURT: 0
total fills in shared programs: 684 -> 672 (-1.75%)
fills in affected programs: 160 -> 148 (-7.50%)
helped: 2
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
3fedf22b60
pan/bi: Tune lower_vars_to_scratch
...
Increase the threshold to lower indirect indexing of arrays to scratch memory
all the way up to 256 bytes, which was the lowest power-of-two threshold for
which enabling the pass on Mali-G57 was a win in shaderdb.
It's difficult to tell what threshold is optimal here. The shader-db stats are
based on a rough cycle model that assumes a 16:1 ratio between CVT and
load/store on Valhall, and a 24:1 ratio between arithmetic and load/store on
Bifrost. Those ratios are at most rules of thumb, as the number of cycles
required by a load/store instruction will vary tremendously based on caching and
the memory controller. However, they may well be lower bounds (if those are the
upper bounds on instruction issuing in the Mali shader cores). As such, a large
threshold seems well motivated.
shader-db results on Mali-G52 follow, results on Mali-G57 were similar. Note the
shader that's hurt for spills/fills is *helped* for load/store overall.
cycles helped: 129 -> 98 (-24.03%) (spills: 17 -> 20 (17.65%); fills: 34 -> 40 (17.65%))
ldst helped: 129 -> 98 (-24.03%) (spills: 17 -> 20 (17.65%); fills: 34 -> 40 (17.65%))
total instructions in shared programs: 2415410 -> 2415372 (<.01%)
instructions in affected programs: 1041 -> 1003 (-3.65%)
helped: 3
HURT: 0
helped stats (abs) min: 2.0 max: 31.0 x̄: 12.67 x̃: 5
helped stats (rel) min: 2.08% max: 6.02% x̄: 3.90% x̃: 3.60%
total tuples in shared programs: 1928558 -> 1928527 (<.01%)
tuples in affected programs: 826 -> 795 (-3.75%)
helped: 2
HURT: 1
helped stats (abs) min: 6.0 max: 26.0 x̄: 16.00 x̃: 16
helped stats (rel) min: 3.72% max: 9.68% x̄: 6.70% x̃: 6.70%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.54% max: 1.54% x̄: 1.54% x̃: 1.54%
total clauses in shared programs: 355013 -> 354981 (<.01%)
clauses in affected programs: 220 -> 188 (-14.55%)
helped: 3
HURT: 0
helped stats (abs) min: 2.0 max: 27.0 x̄: 10.67 x̃: 3
helped stats (rel) min: 13.99% max: 21.43% x̄: 16.93% x̃: 15.38%
total cycles in shared programs: 166610.27 -> 166574.90 (-0.02%)
cycles in affected programs: 138 -> 102.62 (-25.63%)
helped: 3
HURT: 0
helped stats (abs) min: 0.4583330000000001 max: 31.0 x̄: 11.79 x̃: 3
helped stats (rel) min: 15.28% max: 65.28% x̄: 34.86% x̃: 24.03%
total arith in shared programs: 73690.13 -> 73690.58 (<.01%)
arith in affected programs: 29.71 -> 30.17 (1.54%)
helped: 1
HURT: 2
helped stats (abs) min: 0.0833339999999998 max: 0.0833339999999998 x̄: 0.08 x̃: 0
helped stats (rel) min: 3.85% max: 3.85% x̄: 3.85% x̃: 3.85%
HURT stats (abs) min: 0.125 max: 0.4166659999999993 x̄: 0.27 x̃: 0
HURT stats (rel) min: 1.66% max: 5.17% x̄: 3.42% x̃: 3.42%
total ldst in shared programs: 135611 -> 135571 (-0.03%)
ldst in affected programs: 138 -> 98 (-28.99%)
helped: 3
HURT: 0
helped stats (abs) min: 3.0 max: 31.0 x̄: 13.33 x̃: 6
helped stats (rel) min: 24.03% max: 100.00% x̄: 74.68% x̃: 100.00%
total quadwords in shared programs: 1674599 -> 1674523 (<.01%)
quadwords in affected programs: 838 -> 762 (-9.07%)
helped: 3
HURT: 0
helped stats (abs) min: 2.0 max: 65.0 x̄: 25.33 x̃: 9
helped stats (rel) min: 3.39% max: 15.00% x̄: 9.14% x̃: 9.04%
total spills in shared programs: 37 -> 40 (8.11%)
spills in affected programs: 17 -> 20 (17.65%)
helped: 0
HURT: 1
total fills in shared programs: 190 -> 196 (3.16%)
fills in affected programs: 34 -> 40 (17.65%)
helped: 0
HURT: 1
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
fd021a618f
pan/va: Replace MKVEC.v4i8 with MKVEC.v2i8
...
This is the instruction that the hardware actually supports. Do the rename, use
the more specific accurate model in the IR, and rework the Valhall texturing
code to emit MKVEC.v2i8 instead of MKVEC.v4i8.
Will fix:
dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
c570693c19
pan/va: Pack MKVEC.v2i8 byte lanes
...
They are in a different place, but the encoding is otherwise as usual. This will
be required for texture gathers with dynamic offsets.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
10301885ab
pan/bi: Constant fold MKVEC.v2i8
...
Constant MKVEC.v2i8 will be generated during texturing on Valhall, just like
constant MKVEC.v4i8 is currently generated.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
2833d0472a
pan/bi: Model MKVEC.v2i8
...
Valhall does not have Bifrost's 4-source MKVEC.v4i8. Instead, it has a (somewhat
limtied) 3-source MKVEC.v2i8. The full MKVEC.v4i8 may be lowered to a pair of
MKVEC.v2i8 instructions.
For good code quality on both Bifrost and Valhall, we need to model both
instructions in their full generality.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
6792b15971
pan/bi: Remove FRSCALE from IR
...
It's just LDEXP in different clothing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
21bedd2c97
pan/va: Rename RSCALE to LDEXP
...
This avoids needless variation from Bifrost. While at it, fix the opcode
definition: there are no abs/neg/swizzle modifiers on the signed integer source,
and there's no clamp. However, there are round and infinity modes, like on
Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
0da28ee2c7
pan/va: Implement sample positions FAU packing
...
This will fix:
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position.default_framebuffer
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
9dd0bc92b5
pan/va: Lower FADD_RSCALE.f32 to FMA_RSCALE.f32
...
We generate FADD_RSCALE.f32 in our sample variables implementations. Valhall
doesn't have a dedicated FADD_RSCALE.f32 implementation, it should be aliased to
FMA_RSCALE.f32. Handle that alias in isel lowering. This will fix:
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
1a882ecdab
pan/bi: Align accesses with packed TLS
...
When lowering vars to scratch, we need to be careful with alignment on Valhall,
where packed TLS access must not straddle a 16-byte boundary. Fixes regressions
when enabling indirect access to temps on Valhall.
Fixes: 6761dbf891 ("panfrost: Use packed TLS on Valhall")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
5ee1179c94
pan/bi: Fix LD_BUFFER.i16 definition
...
This was missing the message, breaking UBO-to-push and who-knows-what-else, when
enabling fp16 const buffers.
Fixes: 3dc2095b07 ("pan/bi: Model LD_BUFFER instructions")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101 >
2022-06-21 22:42:34 +00:00
Alyssa Rosenzweig
40accfd3b7
pan/va: Unit test va_mark_last
...
This pass is super easy to unit test, so we have no excuse not to test
thoroughly. va_mark_last only inserts annotations in a shader without any
annotations, so our test cases are simply annotated shaders. The CASE macro just
has to compare the case against the case with the annotations stripped and added
back with va_mark_last.
In retrospect, I should have used that technique for the flow control insertion
tests too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
4b7e337b45
pan/va: Mark last register reads
...
On Valhall, register reads may be marked as "last" [1]. Setting the last flag
promises the hardware that the value of the register is no longer required. This
may enable hardware optimizations. In particular, it may permit the hardware to
avoid register file writes if a write to the marked register is still in the
forwarding buffer. This may improve power efficiency.
In principle, this is trivial: run liveness analysis and mark killed sources,
like we would in an SSA-based register allocator. In practice, there are a few
wrinkles to avoid hazards around staging registers and 64-bit register pairs,
requiring some additional data flow analysis and fix ups. However, nothing here
is particularly "hard", and all the ideas are already in use for the Bifrost
scheduler and the Bifrost/Valhall scoreboard analyses.
[1] In Mesa's compiler, this is called discard for historical reasons.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
d4377e1255
pan/va: Use validate_register_pair for BLEND pack
...
Instead of open-coding. Noticed by inspection.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
b48933d641
pan/va: Include BLEND for va_swap_12
...
This helps "contain the crazy" and avoids special casing BLEND in compiler
passes. The Valhall instruction is roughly the same as its Bifrost counterpart,
as long as we fix up the source order (as we already do for bitwise operations)
everything works out.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
738a1572d2
pan/va: Move va_flow_is_wait_or_none to common
...
We want to use this helper in the "mark last" pass too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
1b29a99b7b
pan/va: Add header guards to valhall_enums.h
...
Otherwise we can't #include in multiple places.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
c5a8736552
pan/bi: Constify bi_is_staging_src argument
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
2075bff4e8
pan/bi: Mark bi_postra_liveness_ins as MUST_CHECK
...
Post-RA liveness relies on the caller updating the live variable with the
results of bi_postra_liveness_ins. It is not automatic, as with regular
liveness. This means ignoring the result of bi_postra_liveness_ins is surely an
error. Mark it as MUST_CHECK to catch that error at compile time.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
43d00c2971
pan/va: Unit test barrier handling
...
Add a unit test for the quirk discovered in the previos commit, because this
will cause flakes (instead of fails) if we get it wrong. Better have a
deterministic fail mode.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
8c6b9b9c92
pan/va: Workaround quirk of barrier handling
...
For some unknown reason, waiting for general slots (at least for memory stores)
doesn't work properly on a BARRIER instruction. We need to wait for all general
slots right before issuing the BARRIER in addition to the general wait on the
BARRIER itself. I don't know if this is a hardware bug or some hideous
gate-saving quirk, but I observe the Mali-G78 DDK using the same workaround,
which implies this really is necessary.
Fixes rare flakes in:
dEQP-GLES31.functional.compute.shared_var.work_group_size.float_128_1_1
Note that the flakes from that test are extremely timing dependent. Without this
change, that test is racy but we almost always win the race. Reproducing the
issue reliably requires high system load (e.g. running the CTS in the
background) and simultaneously running that test a large number of times.
Minimal shader-db impact. In particular, no cycle count regressions.
total instructions in shared programs: 2699419 -> 2699458 (<.01%)
instructions in affected programs: 22014 -> 22053 (0.18%)
helped: 2
HURT: 25
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.12% max: 0.12% x̄: 0.12% x̃: 0.12%
HURT stats (abs) min: 1.0 max: 3.0 x̄: 1.64 x̃: 1
HURT stats (rel) min: 0.07% max: 2.82% x̄: 0.69% x̃: 0.49%
95% mean confidence interval for instructions value: 1.01 1.87
95% mean confidence interval for instructions %-change: 0.38% 0.88%
Instructions are HURT.
total cvt in shared programs: 14468.81 -> 14469.42 (<.01%)
cvt in affected programs: 221.33 -> 221.94 (0.28%)
helped: 2
HURT: 25
helped stats (abs) min: 0.015625 max: 0.015625 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.18% max: 0.18% x̄: 0.18% x̃: 0.18%
HURT stats (abs) min: 0.015625 max: 0.046875 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.10% max: 4.44% x̄: 1.06% x̃: 0.79%
95% mean confidence interval for cvt value: 0.02 0.03
95% mean confidence interval for cvt %-change: 0.57% 1.36%
Cvt are HURT.
total quadwords in shared programs: 1462496 -> 1462528 (<.01%)
quadwords in affected programs: 4632 -> 4664 (0.69%)
helped: 0
HURT: 4
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 0.35% max: 7.69% x̄: 4.03% x̃: 4.03%
95% mean confidence interval for quadwords value: 8.00 8.00
95% mean confidence interval for quadwords %-change: -2.71% 10.76%
Inconclusive result (%-change mean confidence interval includes 0).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
7fa545528d
pan/va: Simplify insert flow tests
...
Test cases for insert flow are necessarily the reference test cases with the
NOPs stripped out. That means we don't need to duplicate the test bodies.
Deduplicate.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Alyssa Rosenzweig
35fcf8d3d7
pan/va: Move VA_NUM_GENERAL_SLOTS to common
...
This definition is a hardware property. It's not specific to the flow control
insertion pass, so move it to common code where other passes can use it.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17091 >
2022-06-21 22:19:59 +00:00
Emma Anholt
d9c03df584
ci: Remove the unused .test-manual
...
Everyone uses .test-manual-mr now, retire the one you don't want.
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Emma Anholt
5f09b1ebe9
ci/bare-metal: Add test phase timeouts to all boards.
...
This should help with "marge got stuck for an hour and all I got was this
failed job with no results/" when a system intermittently wedges.
This replaces the BM_POE_TIMEOUT ("did we get something on serial in the
last 3 minutes?") that rpi had, in favor of checking that the whole test
job gets through in 20 minutes.
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Emma Anholt
cd3d9a7a92
ci/bare-metal: Add handling of netboot firmwares for servo boards.
...
My local trogdor has a netboot firmware and I want to be able to use it to
test the timeout code I'm working on.
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Emma Anholt
3f8114d1e0
ci/bare-metal: Get rid of servo's serial feed threads.
...
If the SerialBuffers can just feed the same line queue, then we don't need
the extra threads reading line queues into a new merged line queue.
Less python threading code is always better. Plus, now we can pass args
to SerialBuffer.lines() for timeout/phase.
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Emma Anholt
ca453714aa
ci/bare-metal: Add per-boot-stage timeouts for fastboot and poe.
...
This should avoid the 1-hour timeouts if something goes wrong, and just
restart.
Fixes : #6682
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Emma Anholt
1e15ec1949
ci/bare-metal: Apply autopep8 to our python scripts.
...
My editor likes to pep8 as I edit, and I'm tired of carefully not
committing those changes.
Acked-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17096 >
2022-06-21 21:38:25 +00:00
Danylo Piliaiev
909e7aaf57
tu: Reset xfb_used at the end of a renderpass
...
Otherwise xfb_used could be true until the end of command buffer,
which is not what we intended it to be.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17162 >
2022-06-21 21:15:10 +00:00
Emma Anholt
086faecbba
turnip: Document some fields about resolves.
...
I noticed the unk12 pattern, and cwabbott and danylo had figured out some
more details.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17126 >
2022-06-21 19:40:58 +00:00
Emma Anholt
d4c664a670
ci: Terminate capture-devcoredump before tarring up artifacts.
...
Every few weeks we'd get a flake where the script noticed the devcore
right as we were wrapping up, and then tar would exit because the file it
was tarring changed underneath it. Just kill devcores before we do that
-- even if we kill it while it's working, it's so rare that it probably
won't bother anyone.
Fixes : #5867
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16820 >
2022-06-21 17:46:05 +00:00
Lionel Landwerlin
efc398c722
vulkan/wsi: fix crash with debug names on swapchain
...
If you set a name of on a swapchain object, because the base object
struct has not been initialized with a VkDevice,
vk_object_base_finish() will segfault when trying to free the object
name.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: cb1e0db23e ("vulkan/wsi: Make wsi_swapchain inherit from vk_object_base")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17165 >
2022-06-21 17:05:10 +00:00
Lionel Landwerlin
4f10eddf77
anv: fix index buffer emission
...
In the following case :
vkCmdBindPipeline(compute_pipeline);
vkCmdDispatch(...);
vkCmdBindPipeline(graphics_pipeline);
vkCmdBindIndexBuffer(buffer)
vkCmdDraw(...);
We're emitting the 3DSTATE_INDEX_BUFFER instruction while the HW is
still in GPGPU mode, because we're dealing the pipeline selection to
vkCmdDraw().
Found while debugging Age Of Empire 4, HW is hung on
3DSTATE_INDEX_BUFFER instruction.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17153 >
2022-06-21 16:24:10 +00:00
Timur Kristóf
21ea19d504
zink: Always enable depth clamping, make depth clipping independent.
...
Enabling depth clamping ensures that the Vulkan driver respects
the depth range that zink sets on viewport objects in zink_draw.
When depth clipping is required, use VK_EXT_depth_clip_enable to
enable that independently of depth clamping.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16929 >
2022-06-21 15:44:54 +00:00
Timur Kristóf
82e08f6b1e
zink: Enable the VK_EXT_depth_clip_enable extension.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16929 >
2022-06-21 15:44:54 +00:00
Timur Kristóf
810135fb42
gallium/u_blitter: Fix depth.
...
Fix the transform to make sure it doesn't disturb the depth range
of the blitted image. Set the Z coordinates of the vertices
by hand instead of relying on the transform to do it.
This is a pre-requisite to Zink always enabling depth clamping.
Fixes: 26c6640835
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16929 >
2022-06-21 15:44:54 +00:00
Sarah Walker
ee491967c3
pvr: Update for firmware 1.17@6256262
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17139 >
2022-06-21 15:09:10 +00:00
Erik Faye-Lund
ee9c3d2625
docs: set language to english
...
It seems recent versions of Sphinx has started issuing a warning when
language isn't set to a recognized value. Since we're building with
warnings as errors on CI, this causes issues for people.
We're writing English docs, so we should set this to English. I probably
confused this setting with the highlight_language setting or something
when I set this up initially.
Fixes: 00cd1346bf ("docs: use sphinx")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6711
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17159 >
2022-06-21 13:54:28 +00:00
Danylo Piliaiev
48540caec9
tu: Disable sample counting for 3d blits during occlusion query
...
Per Vulkan spec only "Draw" commands should be counted towards
occlusion query.
Apparently RB_SAMPLE_COUNT_CONTROL::UNK0 bool controls whether
sample counting is enabled, so we could use it to disable
sample counting for 3d blits which are sometimes used for
clear/copy/blit/gmem-store/resolve operations.
Fixes GL CTS tests running through Zink:
dEQP-GLES3.functional.occlusion_query.depth_clear
dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_clear
dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_clear
dEQP-GLES3.functional.occlusion_query.scissor_stencil_clear
dEQP-GLES3.functional.occlusion_query.stencil_clear
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6559
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17138 >
2022-06-21 13:13:36 +00:00
Gert Wollny
0c3fae4e6e
virgl: Don't let ntt optimize the register allocation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15995 >
2022-06-21 11:24:09 +00:00
Martin Roukala (né Peres)
677a42378b
ci/radv: add a missing flake
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17131 >
2022-06-21 13:11:05 +03:00
Martin Roukala (né Peres)
f86e12743c
ci/radv: move a test from the fail list to the flake list
...
The test was misidentified as a "fail", when it actually has a very
high failure rate (>95%). The test happened to pass twice within the
last week, so let's mark this test as a flake.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17131 >
2022-06-21 13:10:51 +03:00
Boris Brezillon
d232f5a026
dzn: Fix the 2DMSArray case in dzn_image_get_dsv_desc()
...
Texture2DMSArray element is not initialized, making 2DMSArray DS
views buggy.
Reported-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17158 >
2022-06-21 08:39:40 +00:00
Samuel Pitoiset
6cab999d6a
radv,aco: rename radv_prolog_binary/radv_shader_prolog to shader_part
...
The same structures and functions will be re-used for PS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17084 >
2022-06-21 08:04:50 +00:00
Christian Gmeiner
5cce02325c
ir3: Create at least one thread for async shader compile
...
On a single core CPU system we end with num_threads being 0 and we do
_NOT_ create any async compile threads in util_queue_init(..).
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17124 >
2022-06-21 07:18:56 +00:00
Christian Gmeiner
3196bde941
freedreno: Wait for async compile jobs to finish
...
initial_variants_synchronous(..) allows initial shader variant
compilation asynchronously if debug.debug_message == NULL. If the
debug callback gets changed it seems like a good idea to wait until
all async shader compiles are done.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17124 >
2022-06-21 07:18:56 +00:00
Vinson Lee
081b1eeacd
microsoft/compiler: Fix assert.
...
Fix defect reported by Coverity Scan.
Side effect in assertion (ASSERT_SIDE_EFFECT)
assignment_where_comparison_intended: Assignment var->type =
glsl_int_type() has a side effect. This code will work differently in a
non-debug build.
Fixes: afb64e10c1 ("microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c")
Suggested-by: Boris Brezillon <boris.brezillon@collabora.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17097 >
2022-06-21 06:54:18 +00:00
Vinson Lee
2b87073133
radv: Remove unnecessary null check.
...
Fix defect reported by Coverity Scan.
Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking subpass suggests that it may be null,
but it has already been dereferenced on all paths leading to the check.
Fixes: 779e09639b ("radv: configure DB_Z_INFO.NUM_SAMPLES correctly on GFX11")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17100 >
2022-06-21 04:00:46 +00:00
David Heidelberg
9cf3608952
ci: Uprev apitrace to 790380e05854
...
Better context error reporting, fix crash for replaying PlagueIncEvolved
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17136 >
2022-06-20 21:51:28 +02:00
Filip Gawin
6cbb19110b
r300: prefer old not native swizzle in constant folding
...
r300 and r400 have strict rules with swizzles, so we
will need to convert swizzle back.
Operating on 0, 1, H in this case unnecessarily makes
rest of r300 overly complicated.
(also it's not currently able to handle this)
helps with:
deqp-gles2@functional@shaders@random@exponential@fragment@24
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17117 >
2022-06-20 19:10:00 +00:00
Alyssa Rosenzweig
b6a30b72ab
panfrost: Implement provoking vertices on Valhall
...
Starting with Valhall, the provoking vertex state is specified per-framebuffer
(batch) instead of per-draw. We use the pan_tristate infrastructure to translate
between desktop OpenGL's per-draw semantics to Valhall's per-framebuffer
semantic. This is notably not required for GLES or Vulkan.
If the provoking vertex is unset when the tiler context is generated, it could
be set (incompatibly) later in the batch, and the tiler context's provoking
vertex field would no longer match the framebuffer's. That would violate a
hardware invariant. To ensure that doesn't happen, we make sure to set provoking
vertexes *before* generating the tiler context so it can't change after.
Fixes arb-provoking-vertex-render on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17068 >
2022-06-20 18:38:16 +00:00
Alyssa Rosenzweig
9cdd32257f
panfrost: Add tristate_is_defined helper
...
This is useful to ensure that the tri-state has been set. It could be inlined,
but the tri-state structure is designed to be opaque so this matches better.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17068 >
2022-06-20 18:38:16 +00:00
Alyssa Rosenzweig
950d27f9bf
panfrost: Fix batch state changes on Valhall
...
If we need to change batch state (currently just point coord origins), not only
do we need to flush the old batch, but also set the desired state on the new
batch. That second step was missing. Fix that so this mechanism works as
intended.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Fixes: 3641dfe436 ("panfrost: Flip point coords in hardware")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17068 >
2022-06-20 18:38:16 +00:00
Alyssa Rosenzweig
e9190c45d5
panfrost: Disable QUADS on Valhall
...
Even with the fixes in the rest of the series, arb-provoking-vertex-render is
still failing on Valhall for a single subcase (involving QUADS). It seems likely
that QUADS support is broken on Valhall, given it's not used in any of the APIs
for which Arm ships drivers.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17068 >
2022-06-20 18:38:16 +00:00
Marcin Ślusarz
008163f382
intel/compiler: vectorize task payload loads/stores
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17000 >
2022-06-20 17:38:20 +00:00
Marcin Ślusarz
97b53ad759
nir/opt_load_store_vectorize: handle task payloads
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17000 >
2022-06-20 17:38:20 +00:00
Karmjit Mahil
fad7e858f2
pvr: Extend hard coding infra to allow per stage per device coding.
...
This commit extends the graphics hard coding infrastructure to
allow the independent hard coding of stages, i.e. hard code fragment
stage and vertex stage separately instead of having to hard code
everything.
It also extends the infrastructure to allow per device hard coding.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17106 >
2022-06-20 16:59:01 +00:00
Karmjit Mahil
c6933cc9de
pvr: Enable 33.15.11.3 (AXE-1-16M).
...
This commit adds 33.15.11.3 in the supported BVNCs and addresses
differences in the descriptor limits between devices so that the
physical device limit is accurate.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17106 >
2022-06-20 16:59:01 +00:00
Frank Binns
62cc9bba06
pvr: Add TI AM62 as a supported device.
...
The AM62 platform contains an IMG AXE-1-16M GPU.
Co-Authored-By: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17106 >
2022-06-20 16:59:01 +00:00
David Heidelberg
57ad38c2fc
ci/freedreno: disable non-existing trace
...
Never existed in the repository.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17137 >
2022-06-20 16:36:10 +00:00
Juan A. Suarez Romero
c0626a6bd2
v3dv/ci: Update expected results
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17141 >
2022-06-20 15:37:39 +00:00
Boris Brezillon
1987fb0091
ci/dzn: Move to a .toml description
...
This way we don't force a CI run on all platforms anytime we add a
group of test, and, as a bonus, we make dozen CI consistent with other
platforms.
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Suggested-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17074 >
2022-06-20 14:48:51 +00:00
David Heidelberg
2bbb11eca2
ci/freedreno: smuggle myself into restricted traces access list
...
Already have access into traces-db-restricted repository, so this just
allow me to trigger the job without patching.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17016 >
2022-06-20 12:42:41 +00:00
David Heidelberg
dfe9b856cb
ci/freedreno: update restricted traces to the brotli compressed version
...
Save some space on proxies and speedup network transfer to the runners.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17016 >
2022-06-20 12:42:41 +00:00
Matti Hamalainen
11ac33c2a9
gallium/tools: fixes to option handling
...
Not all options in the options object are set by all tools.
Instead of using argparse result objects directly, use separate
with default settings and copy relevant attributes there.
Signed-off-by: Matti Hamalainen <ccr@tnsp.org >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17108 >
2022-06-20 12:35:53 +00:00
Mykhailo Skorokhodov
50b21fb6e4
anv: Use sampleLocationsEnable for sample locations
...
The spec says: "sampleLocationsEnable controls whether custom sample
locations are used. If sampleLocationsEnable is VK_FALSE, the default
sample locations are used and the values specified in
sampleLocationsInfo are ignored."
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6675
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17134 >
2022-06-20 11:58:09 +00:00
Erik Faye-Lund
419b8c7f8d
dzn: correct order of src_subres and dst_subres args
...
Fixes: 2d0798440b ("dzn: Add support for dynamic rendering")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17133 >
2022-06-20 11:16:15 +00:00
Georg Lehmann
7afecd8ad8
radv: Check descriptor pool entry count before allocating a new set.
...
It's simpler and more efficient.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17127 >
2022-06-20 10:50:01 +00:00
Georg Lehmann
ceb3ae2afb
radv: Remove redundant memset in radv_descriptor_set_create.
...
The memset below also clears this memory, plus the descriptor set header.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17127 >
2022-06-20 10:50:01 +00:00
Karmjit Mahil
7c25c6f04e
pvr: Add graphics pipeline hard coding infrastructure.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Karmjit Mahil
e47350a245
pvr: Remove unused output_selects from vertex shader state.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Karmjit Mahil
66f4c9abc9
pvr: Change compute hard coding infrastructure.
...
This commit changes the way in which the hard coding is done in
the compute pipeline to allow easier hard coding for demos other
than the simple-compute demo.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16999 >
2022-06-20 08:13:11 +00:00
Marcin Ślusarz
4e4ef72aac
intel/dev: fixup max_cs_workgroup_threads after hwconfig is read
...
Without it we get max value from gfx12 on gfx>12.
Fixes: d9ff9ea9c3 ("intel/dev: Read hwconfig from i915")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17063 >
2022-06-20 07:43:43 +00:00
Samuel Pitoiset
5485bf7b1b
aco: fix validation of SOP1 instructions without definitions
...
Like s_setpc_b64.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17082 >
2022-06-20 07:08:28 +00:00
Samuel Pitoiset
6dd2699e9f
radv/amdgpu: do not add "global" BO to the virtual BO list
...
To avoid dangling BO references if it's destroyed without being
previously unbound. This is under Vulkan spec clarification but it
looks like the "global" BO fix is simple enough to workaround the
issue for now.
This fixes a CPU hang with Halo Infinite because the kernel rejects
a submission (invalid BO handle found).
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17085 >
2022-06-20 06:43:53 +00:00
Samuel Pitoiset
b4cc10b342
radv/amdgpu: make sure to reset the number of BO when there is no ranges
...
If an application binds a sparse resource and then unbind it with NULL,
the number of "real" BOs in the virtual BO list should be reset to 0.
Otherwise, it might use a dangling BO reference if it's destroyed just
after being unbound.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17085 >
2022-06-20 06:43:53 +00:00
Samuel Pitoiset
29f34cc806
ci: uprev vkd3d-proton to 39d07dea2cef34bfb3ed39741f026bc637e3eec4
...
The 2.6 version is old (released 4 months ago), the latest contains
even more useful tests (+2900 tests). Use the master branch by default,
so it could be regularly updated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17105 >
2022-06-20 07:52:02 +02:00
Mike Blumenkrantz
6072d5d8dc
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
420270cb4f
zink: relax zink_resource_buffer_needs_barrier checks
...
this now matches zink_resource_image_needs_barrier
cc: mesa-stable
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
f889bece46
zink: don't short-circuit gfx stage finding during barrier generation
...
according to spec, all stages must be specified, not just the first one
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
1fa3f03442
zink: collect gfx stages for all bindings during barrier generation
...
it's important to get the full mask in order to accurately provide
dependency info
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
9e3ed65324
zink: add a #define for vk shader bits
...
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
80569f9e5f
zink: track image binds
...
track all the things
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
47361daffc
zink: rework buffer barrier generation
...
by passing through the draw buffers, more accurate barriers can be generated
to ensure synchronization for both the draw buffer scopes and
descriptor binding scopes
ref #6597
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
db0fda6f36
zink: track vertex buffer bind counts on resources
...
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
7b88dbfd78
zink: move draw-time barrier generation down a little
...
ensure that this occurs after potential rebind handling
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111 >
2022-06-20 00:50:48 +00:00
Mike Blumenkrantz
9ca0c0b4b4
mesa/st: increment num_uniforms for hw accel select shaders
...
this otherwise breaks nir_lower_uniforms_to_ubo() and probably lots
of drivers
Fixes: 9b22ab4167 ("mesa/st: implement hardware accelerated GL_SELECT")
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17092 >
2022-06-18 20:18:18 +00:00
Mike Blumenkrantz
81557a4fdf
zink: unset PIPE_CAP_DITHERING
...
there's no point in updating blend state for this when it does nothing,
so skip updates for this functionality
in the future, I expect zink will export this conditionally based on
the underlying driver, and some sort of functionality will be implemented
to do something
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17043 >
2022-06-18 17:56:28 +00:00
Mike Blumenkrantz
371660b877
mesa/st: add PIPE_CAP_DITHERING
...
this is for drivers like zink that may or may not
handle dithering and so getting blend state changes
when this state changes isn't useful
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17043 >
2022-06-18 17:56:28 +00:00
Martin Roukala (né Peres)
8a9f7087a1
radv/ci: test vkd3d on kabini
...
The machine is extremely slow and fails to finish vkcts, but vkd3d may
still be used as a way to detect extreme regressions.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17081 >
2022-06-18 19:33:24 +03:00
Martin Roukala (né Peres)
f7ed0941c4
Revert "ci/valve: uprev boot2container"
...
This reverts commit 4824396572 .
The newest version of b2c has changed the mount point of the cache
device, which is has proven to be working very well in my local
testing, but ends up confusing podman when the cache device had been
initialized using an older version of b2c. The end result is that we
end up using tmpfs to run our jobs, and some machines just run out of
RAM before the end of the job...
We'll be fixing this issue, cut a new b2c release, then re-introduce
in Mesa.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17120 >
2022-06-18 16:03:58 +00:00
Jason Ekstrand
7a8ec23c9d
anv: Properly clamp attachment layer counts
...
Vulkan requires that the acutal layer count come from
VkRenderingInfo::layerCount or VkFramebufferCreateInfo::layers rather
than from the image view itself.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17060 >
2022-06-17 18:33:58 -05:00
Chia-I Wu
858cd2797c
freedreno/fdl: use XYZW swap for PIPE_FORMAT_X24S8_UINT
...
We used to use WZYX and apply swizzles. Because swizzles apply for
border colors as well, the gallium driver un-swizzled the border colors
to cancel out swizzles. That did not work for turnip because turnip
advertises customBorderColorWithoutFormat and does not know when to
un-swizzle.
This change replaces WZYX by XYZW and removes the swizzles.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6516
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16647 >
2022-06-17 18:39:47 +00:00
Icecream95
d8803c724b
panfrost: Remove sync arguments from panfrost_batch_submit
...
Whether a sync object is used cannot depend on where the batch is
submitted from, remove the in_sync and out_sync fields from
panfrost_batch_submit.
Always use an output syncobj, this is required for glFinish to work
correctly. This could be skipped for batches which another batch
depends on, but because of the existence of empty batches which emit
no job, doing so is not trivial.
Never use an input syncobj. There appears to be no point to this, the
kernel driver does implicit sync anyway.
Fixes "seconds per frame" rendering with Neverball; previously, every
batch was submitted with out_sync=0, so DRI's frame throttling could
do nothing. New jobs would keep getting submitted until more than a
thousand were queued in the kernel, which increased rendering latency
for the compositor far beyond acceptable levels.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16966 >
2022-06-17 18:13:46 +00:00
Icecream95
b538519bbc
panfrost: Use a macro for checking for a shared bind type
...
PAN_BIND_SHARED_MASK is all binding flags that mean that a resource
might be shared and accessible by other contexts.
Don't replace the usage of this pattern in panfrost_should_afbc and
panfrost_should_tile in case a new binding is introduced that not all
layouts can support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16966 >
2022-06-17 18:13:46 +00:00
Andres Calderon Jaramillo
cd04679a08
mesa/st: Account for YUV color space and range.
...
This patch plumbs the YUV color space and range provided through
EGL_EXT_image_dma_buf_import all the way to nir_lower_tex().
NIR already accounts for the YUV color space courtesy of commit
d8fdb8da . However, the color space was wired only for i965/i915 (see
6c11a799 ) and not for Gallium.
Tested-by: Andres Calderon Jaramillo <andrescj@chromium.org >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16651 >
2022-06-17 17:25:44 +00:00
Andres Calderon Jaramillo
a5d09d7a0a
nir: Account for YUV range.
...
This patch expands on what commit
d8fdb8dab4 did. It adds support for
YUV-to-RGB conversions depending on the range of the YUV samples.
The conversion matrices and offsets are derived from
https://gist.github.com/yohhoy/dafa5a47dade85d8b40625261af3776a .
Tested-by: Andres Calderon Jaramillo <andrescj@chromium.org >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16651 >
2022-06-17 17:25:44 +00:00
Ian Romanick
676acfe956
intel/fs: Add missing synchronization for WaW dependency
...
v2: Do the synchronization in the correct place. Noticed by Curro.
Fixes: b5fa43952a ("intel/fs: Better handle constant sources of FS_OPCODE_PACK_HALF_2x16_SPLIT")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Tested-by: Felix DeGrood <felix.j.degrood@intel.com > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17037 >
2022-06-17 17:05:43 +00:00
Rob Clark
736a07155f
Revert "ci: freedreno farm is down"
...
They seem to be responding again.
This reverts commit 551442b53e .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17110 >
2022-06-17 16:11:37 +00:00
Lionel Landwerlin
03e543a422
intel/validator: validate dst/src types against devinfo support
...
v2: deal with src3_a1/src3_a16 instruction types (Curro)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16985 >
2022-06-17 15:43:05 +00:00
Ken Johnson
2866ae32da
mesa/main: Correct alloca() use without #include "c99_alloca.h"
...
Fixes: d231f95591 ("mesa: add hw select name stack code path")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17073 >
2022-06-17 14:24:47 +00:00
Roman Stratiienko
45267d5181
Android.mk: Fix c11-related build failures
...
When building with Android.mk we are ending-up with:
gcc ..... -std=gnu99 .... -std=c11 .... target.o
^^^^^^^^^^ ^^^^^^^^
| |
_______________^_____ _____^___________
AOSP/KATI GENERATED MESON GENERATED
Some compilers uses first -std=gnu99 option and ignores second,
which results:
c99 implicit declaration of function static_assert()
This patch filters-out the first '-std=gnu99' from the cflags obtained
from AOSP/KATI dummy target output to avoid such kind of errors.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Mauro Rossi <issor.oruam@gmail.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17078 >
2022-06-17 12:28:46 +00:00
Martin Roukala (né Peres)
4824396572
ci/valve: uprev boot2container
...
The latest version of the initramfs brings in the latest podman, but
most importantly brings in the usage of collapsed sections, thus
reducing the amount of scrolling up necessary when wanting to find out
the list of failures/flakes.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17051 >
2022-06-17 11:31:36 +00:00
Daniel Stone
551442b53e
ci: freedreno farm is down
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17104 >
2022-06-17 09:27:53 +01:00
Mike Blumenkrantz
d275765630
zink: print runtime warning on missing EXT_border_color_swizzle
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17029 >
2022-06-17 01:32:25 +00:00
Mike Blumenkrantz
46b4017b37
zink: use VK_EXT_border_color_swizzle
...
if borderColorSwizzleFromImage isn't supported, assume the border color
must be pre-swizzled
fixes #6651
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17029 >
2022-06-17 01:32:25 +00:00
Mike Blumenkrantz
1effd3be67
zink: hook up VK_EXT_border_color_swizzle
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17029 >
2022-06-17 01:32:25 +00:00
Mike Blumenkrantz
be4f120476
zink: be a little selective about BAR fallback memory type
...
some resources MUST be host-visible, so use the appropriate heap for them
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17093 >
2022-06-17 01:14:45 +00:00
Mike Blumenkrantz
5750050432
zink: move BAR allocation demotion up the stack
...
having this so far down in the BO allocation path meant that slabs were
getting demoted to device-local and then stored as BAR in the pb cache,
which broke the cache pretty badly
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17093 >
2022-06-17 01:14:45 +00:00
Mike Blumenkrantz
d63e04e583
zink: store and reuse memory heap flags for buffer placement
...
the flags in vk_domain_from_heap() are the MINIMUM required flags for
the heap, but there may be other flags present, so ensure those are picked
up as expected
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17093 >
2022-06-17 01:14:45 +00:00
Mike Blumenkrantz
ce5aa07db1
zink: fix buffer transfer flushes with offsets
...
the src and dst ofsets need to be adjusted by the base map offset
in order to flush the correct region
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17095 >
2022-06-17 00:56:33 +00:00
Mike Blumenkrantz
28d23c9e26
zink: use only the extents for buffer unmap flushes
...
flush_region is relative to the map, so passing in the offsets again
breaks the flush (if the flush hook is implemented correctly)
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17095 >
2022-06-17 00:56:33 +00:00
Mike Blumenkrantz
2645430b06
zink: unify actual map calls in buffer mapping
...
make this a bit easier to debug by moving the calls to one place
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17095 >
2022-06-17 00:56:33 +00:00
Mike Blumenkrantz
dd5d215c62
zink: rename a variable
...
make this a little clearer to read
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17095 >
2022-06-17 00:56:32 +00:00
Yiwei Zhang
b37d97bb86
venus: resolve YV12 AHB to VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM
...
YV12 is a 3-plane format with minigbm. This change mitigates the crash
of testGLViewLargerHeightDecodeAccuracy[4], and successfully creates the
host side image and imports the memory.
vk_format(1000156002) drm_fourcc(842094169)
offsets(0, 27648, 34560, 0)
strides(256, 128, 128, 0)
modifier(0)
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/16913 >
2022-06-17 00:40:10 +00:00
Brian Paul
a7911faa95
gallivm: use enum types instead of unsigned in lp_bld_sample.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
86c9f3f034
draw: asst. clean-up in draw_vbuf.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
63457cb63d
draw: asst. clean-up in draw_pt_vsplit.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
f0dfc05660
draw: asst. clean-up in draw_pt_util.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
9586a38e39
draw: asst. clean-up in draw_pt_fetch_shader_pipeline.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
fcdbf7112c
draw: asst. clean-up in draw_pt_fetch_shader_emit.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
2eabffdd86
draw: asst. clean-up in draw_pt.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
a8cb20339c
draw: asst. clean-up in draw_pt.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
824ccace17
draw: asst. clean-up in draw_private.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
91a21fb519
draw: asst. clean-up in draw_pipe_validate.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
49a115e86c
draw: asst. clean-up in draw_pipe.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
7e1a1e898a
draw: asst. clean-up in draw_gs.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
14d4fe286b
draw: asst. clean-up in draw_context.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
b2d9be8627
draw: s/unsigned/enum pipe_prim_type/
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
e20664cbc3
llvmpipe: asst. clean-ups in lp_state_fs.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
c5521d5af1
gallivm: asst. clean-ups in lp_bld_logic.
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
eef5e6ac7c
llvmpipe: s/unsigned/enum pipe_compare_func/
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
9c19ed1b88
llvmpipe: use enum blend types instead of unsigned
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Brian Paul
cde8d3479e
llvmpipe: minor clean-up in lp_state_blend.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17064 >
2022-06-16 23:46:23 +00:00
Dylan Baker
c00281903b
docs: Extend calendar entries for 22.1 by 3 releases.
...
This gives us a last release of the 22.1 series lining up with 22.2.1,
assuming that the 22.1.0 is on time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17090 >
2022-06-16 23:41:23 +00:00
Dylan Baker
77c7caa6bb
docs: Add calendar entries for 22.2 release candidates.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17090 >
2022-06-16 23:41:23 +00:00
Dylan Baker
8b5d4fa54b
docs: drop 22.1.4 calendar entry.
...
We're done with the 22.1 series, so lets not have it on the calendar
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17090 >
2022-06-16 23:41:23 +00:00
Mike Blumenkrantz
8987e266e4
kmsro: add error message on drm ioctl failure
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16949 >
2022-06-16 23:15:09 +00:00
Mike Blumenkrantz
c24d8ba316
drisw: probe kms if fd is passed
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16949 >
2022-06-16 23:15:09 +00:00
Jesse Natalie
7a9617b869
dzn: Skip another test that times out occasionally
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17089 >
2022-06-16 23:00:27 +00:00
Dave Airlie
6e5d126a65
llvmpipe: disable alpha test branch if multisample is enabled.
...
If multisample is enabled and alpha testing happens, the
branch can jump out of the fragment shader before the other
samples are generated. Just don't take the branch optimisation
post alpha test if multisample is enabled.
This should fix some rendering bugs in kicad with multisample
enabled.
Cc: mesa-stable
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17049 >
2022-06-16 22:45:13 +00:00
Mike Blumenkrantz
18585cac04
zink: radv baseline updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17088 >
2022-06-16 22:28:27 +00:00
Yonggang Luo
ada1baddce
docs: Update windows build requirement with Visual Studio
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17044 >
2022-06-16 21:49:54 +00:00
Yonggang Luo
d39553da10
ci/vs2019: Upgrade Windows 10 SDK version to 20348
...
This comes with stdalign.h for more C11 conformance
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17044 >
2022-06-16 21:49:54 +00:00
Yonggang Luo
c17a0d956a
meson/clover: Getting clover can be built with no-rtti llvm in mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17055 >
2022-06-16 20:38:35 +00:00
Yonggang Luo
86f87dbe21
meson/rtti: Using get_argument_syntax to check msvc compatible compiler
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17055 >
2022-06-16 20:38:35 +00:00
Yonggang Luo
2d934ac110
meson: Use cc.get_argument_syntax instead cc.get_id when possible.
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17065 >
2022-06-16 19:59:58 +00:00
Yonggang Luo
1173c0f33a
meson: Using get_argument_syntax as the --compiler_id option for gen_vs_module_defs.py
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17065 >
2022-06-16 19:59:58 +00:00
Jesse Natalie
686e20afcd
CI: Lima farm is offline
...
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17087 >
2022-06-16 19:30:21 +00:00
David Heidelberg
2df90aa562
ci/iris: disable Blender Diorama trace (incompatible with perf. traces)
...
Sadly, Blender Diorama trace causes crash for our performance tracing as we
use it right now.
Let's disable it for now, until we figure out what's wrong.
Reported in: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6676
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17083 >
2022-06-16 19:07:15 +00:00
Yiwei Zhang
d7f2e6c8d0
venus: add fence feedback
...
- intercept to record feedback cmds for:
- vkQueueSubmit
- add feedback code path for
- vkGetFenceStatus
- vkResetFences
- VN_PERF_NO_FENCE_FEEDBACK can disable fence feedback
Test: dEQP-VK.synchronization.basic.fence.*
Test: dEQP-VK.wsi.android.swapchain.render.basic*
Test: dEQP-VK.api.object_management.*
Test: dEQP-VK.api.external.fence.sync_fd.*
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
9f9d543b12
venus: renderer to store allow_vk_wait_syncs capset
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
8ecac4c063
venus: create per queue family command pool for feedback cmd
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
1a7632e54b
venus: add NO_FENCE_FEEDBACK perf option and disable sparse resource
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
942ec179f3
venus: add event feedback
...
- add perf option VN_PERF_NO_EVENT_FEEDBACK
- intercept to record feedback cmds for:
- vkCmdSetEvent
- vkCmdResetEvent
- add feedback code path for
- vkGetEventStatus
- vkSetEvent
- vkResetEvent
Test: dEQP-VK.synchronization.basic.event.*
Test: dEQP-VK.api.command_buffers.record_simul*
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
f2563788a1
venus: add feedback check/set/reset helpers
...
Implemented:
- vn_feedback_get_status
- vn_feedback_reset_status
- vn_feedback_set_status
- vn_feedback_get_counter
- vn_feedback_set_counter
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
e52da323b0
venus: add vn_feedback_pool backed by coherent buffer (part 2)
...
Implemented:
- vn_feedback_pool_alloc
- vn_feedback_pool_free
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
27a24caf16
venus: add vn_feedback_pool backed by coherent buffer (part 1)
...
Implemented:
- vn_feedback_pool_init
- vn_feedback_pool_fini
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
d578f6c727
venus: let device track queue families used for device creation
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
4cf87d8822
venus: adjust device resources init order
...
queue init involves fence creation, and we need to do that at the last
to prepare for other resource creation dependencies involved in fence
creation.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
cf55a3f70e
venus: fix a missing mtx_destroy in vn_device_init
...
This was introduced in commit e08960482 , however, the logic around has
been largly refactored since then. It's not worth adding the fixes tag.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
cb8dfa4966
venus: fix the queue init failure path
...
The prior behavior can ignore certain failure result, and might also
clean up queues that are never initialized.
Fixes: ddd7533055 ("venus: initial support for queue/fence/semaphore")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Yiwei Zhang
01a0bfc3f9
venus: fix a bug on buffer cache init failure path
...
The failure path was never hit though, and will not either.
Fixes: 65abd1d4ae ("venus: implement vn_buffer_cache_entries_create")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16731 >
2022-06-16 19:00:36 +00:00
Dylan Baker
b91511b9a8
docs: update calendar and link releases notes for 22.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17086 >
2022-06-16 18:55:46 +00:00
Dylan Baker
a1ba2bdf3d
docs: add sha256sum to 22.1.2 notes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17086 >
2022-06-16 18:55:46 +00:00
Dylan Baker
4b5a73062b
docs: add release notes for 22.1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17086 >
2022-06-16 18:55:46 +00:00
Samuel Pitoiset
16c47ad347
radv: advertise VK_EXT_border_color_swizzle on GFX10+
...
On GFX9 and older, the driver needs to swizzle itself it seems.
Exposing it on GFX10+, allows us to test it with Zink, at least.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17057 >
2022-06-16 18:31:33 +00:00
Mike Blumenkrantz
09a7304d5a
zink: tu ci baseline update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17080 >
2022-06-16 15:18:45 +00:00
Iván Briano
4666ef720e
anv: do not get rid of empty/useless fragment shaders
...
This was an optimization done a while ago that doesn't seem to be having
much of an impact anymore, and on the other hand, causes all sorts of
breakage with queries, as many of our HW counters don't get incremented
when rasterization is disabled.
This fixes a bunch of issues Zink has with ANV, but more importantly, it
fixes upcoming CTS tests:
dEQP-VK.transform_feedback.primitives_generated_query.*.empty_frag.*
dEQP-VK.transform_feedback.primitives_generated_query.*.no_attachment.*
dEQP-VK.transform_feedback.primitives_generated_query.*.color_write_disable_*
Cc: mesa-stable
Reviewed-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/17038 >
2022-06-16 14:42:12 +00:00
Danylo Piliaiev
10f6191fb5
turnip: copy disasm strings for pipeline executables
...
A single compiled_shaders instance could be reused by several
pipelines, but strings from disasm info could be stolen only once.
So now we have to copy them.
Fixes crashes when using RenderDoc.
Fixes: 05329d7f9a
("tu: Implement pipeline caching with shared Vulkan cache")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17053 >
2022-06-16 08:45:34 +00:00
Samuel Pitoiset
9df7ad0320
radv/ci: add vkd3d-proton testing
...
The vkd3d-proton can be very useful, I recently found issues while
implementing VK_EXT_primitives_generated_query and
VK_KHR_fragment_shader_barycentric.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17050 >
2022-06-16 06:36:36 +00:00
Samuel Pitoiset
5878eca643
ci: add VKD3D_PROTON_RESULTS to the list of variables to pass down for testing
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17050 >
2022-06-16 06:36:36 +00:00
Samuel Pitoiset
08113e5c02
ci: print a message when vk3d-proton returns successfully
...
To detect if an error occured.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17050 >
2022-06-16 06:36:36 +00:00
Samuel Pitoiset
70ba820395
ci: update vkd3d-proton builder/runner
...
Do not need to cross compile just for running the testsuite. Only
RADV will make use of it anyways.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17050 >
2022-06-16 06:36:36 +00:00
Samuel Pitoiset
3f2de5e662
radv/ci: refactor test machines and dEQP rules to reduce copy&paste config
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17050 >
2022-06-16 06:36:36 +00:00
Ruijing Dong
365bf2a3b0
radeonsi/vcn: support unified queue in vcn4
...
- use unified queue only in vcn4
- implement signature and engine-info ib headers
in vcn4
- implemented unified queue functions
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16911 >
2022-06-16 03:30:47 +00:00
Ruijing Dong
515112eabd
radeonsi/vcn: prepare for unified queue in vcn4
...
- apply unified queue ib headers to vcn4
- re-use encoding queue as unified queue
- define unified queue functions and structures
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16911 >
2022-06-16 03:30:47 +00:00
Mark Janes
7b74747854
iris: provide a callback to INTEL_MEASURE to clean up snapshots
...
Snapshots are processed asynchronously by INTEL_MEASURE, but snapshot
memory is allocated and associated with an iris batch. Provide a
callback that will free snapshot memory after a batch is fully
processed.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16571 >
2022-06-16 02:58:08 +00:00
Mark Janes
a1a5f6430a
intel: provide a callback to clean up after intel_measure_gather
...
The caller may have passed ownership of intel_measure_batch structures
to intel_measure until they are ready to be gathered. The caller
needs a notification when rendering is complete and snapshots have
been processed, so it can free the resources that measure the batch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16571 >
2022-06-16 02:58:08 +00:00
Mark Janes
34a130fedf
anv: fix performance bug in INTEL_MEASURE
...
Re-allocating the buffer object for snapshots carries a heavy penalty
at run-time. When resetting a command buffer, the buffer object that
is allocated for snapshots may be re-used directly on subsequent
renders.
Stale snapshot data will persist in the buffer object. To verify that
rendering is complete, zero the final timestamp value and check that
it has been written before gathering data.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16571 >
2022-06-16 02:58:08 +00:00
Mark Janes
c4c096e66e
intel: relax assertion in INTEL_MEASURE
...
It is possible that a secondary command buffer was submitted with no
renders in it. For that case, no timestamp will be collected. Only
verify that timestamps if the index is nonzero.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16571 >
2022-06-16 02:58:08 +00:00
Mark Janes
3c53c6b247
intel: parse intel_measure environment without side effects
...
If an application links agaist both iris and anv, they will clash when
parsing the INTEL_MEASURE environment variable.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16571 >
2022-06-16 02:58:08 +00:00
Jan Beich
78523eea2f
vulkan/wsi: treat EBADF as missing DMA_BUF_IOCTL_{EXPORT,IMPORT}_SYNC_FILE
...
FreeBSD supports DMA-BUF but not DMA_BUF_IOCTL_SYNC and similar yet.
As it returns EBADF instead of ENOTTY all consumers fail due to
VK_ERROR_OUT_OF_HOST_MEMORY.
Fixes: 30b57f10b3 ("vulkan/wsi: Signal semaphores and fences from the dma-buf")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17070 >
2022-06-16 02:33:23 +00:00
Mike Blumenkrantz
1783a261f6
zink: only enable vtn debugging if validation is active
...
this is otherwise incredibly cumbersome and eats up minutes in ci
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17069 >
2022-06-16 02:18:53 +00:00
Mike Blumenkrantz
1bd94b07f6
zink: always bind on the sparse queue
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
0f9bc1ebe3
zink: detect sparse-only binding queue
...
still prefer binding on the gfx queue when available, but store a separate
sparse binding queue if necessary
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
d1456a6b0a
zink: add semaphore handling for sparse binds
...
this is a little tricky since it's possible to need a truly unreasonable
number of sparse binds in one go, so the current implementation will
daisy-chain through the sparse submits such that:
* sparse bind A creates signal semaphore X
* sparse bind B waits on X, creates signal semaphore Y
* sparse bind C waits on Y, creates signal semaphore Z
thus, any number of sparse binds will produce exactly one semaphore
that can be waited on by the following submit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
285a5144cc
zink: add batch api for adding a wait semaphore
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
48b56d2efd
zink: use a dynarray for semaphore wait flags
...
ensure that any number of semaphore waits is handled as expected
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Mike Blumenkrantz
f5ac058812
zink: remove thread_queue
...
I had originally intended to hook this up properly with synchronization et al,
but I didn't do it, and now it's seeming less smart anyway, so let's
remove the footgun
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17066 >
2022-06-16 02:01:53 +00:00
Connor Abbott
cba6da2b21
tu: Save/restore *_BIN_CONTROL in 3d GMEM store path
...
These are normally only set once because it's constant across the entire
renderpass, but they're trashed by the 3d store path because it needs to
store to CCU instead of GMEM. Therefore we need to save/restore them. Do
it in a way compatible with #5181 .
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Connor Abbott
a9d7b47613
tu: Add missing WFI to the 3d GMEM store path
...
Similar to the 2d path.
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Connor Abbott
705c0d0373
tu: Fix 3d GMEM store swizzle in texture descriptor
...
Even though image views for attachments must use the identity swizzle,
there are cases where we have to add in our own swizzle, in particular
for D24S8 when the view is depth-only/stencil-only. Therefore we have to
reset it to the identity, similar to what we do with input attachments.
Fixes: b157a5d ("tu: Implement non-aligned multisample GMEM STORE_OP_STORE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17058 >
2022-06-16 01:10:24 +00:00
Rhys Perry
33e7ba2e3e
aco: update SMEM offset workaround for LLVM 15
...
This isn't needed since LLVM 15's b0ccf38b018.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6663
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17036 >
2022-06-16 00:47:51 +00:00
Mike Blumenkrantz
d301883aba
zink: use uint64_t for batch_id
...
this maps directly to the vulkan api and allows removal of timeline
wrapping code
the consequence of this is a ~0.26% reduction in drawoverhead performance
on base cases (n=1000), but the simplification and deletions seem worth it
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17045 >
2022-06-16 00:30:45 +00:00
Tiago Koji Castro Shibata
4622e99e10
d3d12: fallback to integrated adapter instead of arbitrary one
...
Using the integrated adapter when none is specified uses less power by
default and doesn't break scenarios on Optimus systems (for example, on
Surface Books, detaching the screen gets prohibited because the GPU on
the performance base is in use)
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17005 >
2022-06-16 00:19:54 +00:00
Mike Blumenkrantz
3b867ae69b
zink: anv ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
bd859e1f96
zink: clamp renderpass layers better
...
this needs to be the minimum layer, not the maximum
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
7edecbf4c2
zink: clamp dynamic fb layers better
...
this needs to be the minimum layer, not the maximum
Fixes: c81cd989c8 ("zink: use dynamic rendering (most of the time)")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Mike Blumenkrantz
f74df6205d
zink: add a function for getting the minimum framebuffer layers
...
this clamps the layer count to the smallest number of layers rather
than the largest
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17061 >
2022-06-16 00:05:52 +00:00
Emma Anholt
979f213110
ci/iris: Disable blender-demo-cube_diorama on APL.
...
It has timed out on 3 jobs today.
Fixes: 96f0944a69 ("ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17041 >
2022-06-15 23:28:23 +00:00
Connor Abbott
6dfabab08f
freedreno/a6xx: Support more 3-component formats
...
These should be trivially enableable. This gets us some test coverage on
turnip because there are no tests of RGB32 texel buffers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16980 >
2022-06-15 22:48:38 +00:00
Connor Abbott
2e63c570dd
tu: Enable uniform texture buffers with NPOT formats
...
This is enough for zink to expose ARB_texture_buffer_object_rgb32 and
therefore GL 4.0. We could enable sampled images with a few more
workarounds, but the blob doesn't bother and there isn't any need at the
moment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16980 >
2022-06-15 22:48:38 +00:00
Boris Brezillon
db2d264989
dzn: Enable support for geometry shaders
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:01 +00:00
Boris Brezillon
e9066ff2be
dzn: Disable rasterization if the last geometry stage doesn't write the position
...
If we don't do that, and we get passed a dummy geometry shader (one
that has no EmitVertex() calls) we get a DXIL validation error.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
e11035bf6d
microsoft/compiler: Support gl_Layer
...
Maps pretty nicely to SV_RenderTargetArrayIndex, so nothing complicated
here.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
9c45ee3f86
microsoft/compiler: Fix Layer type
...
DXIL wants a uint, but we get passed an int.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
afb64e10c1
microsoft/compiler: Move d3d12_fix_io_uint_type() to dxil_nir.c
...
We currently have two implementations of the same logic. Let's pick
the d3d12 one, move it to dxil_nir.c and let nir_to_dxil() call it
when appropriate.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Boris Brezillon
c9b2c79d16
d3d12: Keep access masks up-to-date when removing vars in d3d12_disable_multisampling()
...
Fixes: e5cf19fced ("d3d12: Modify shaders when MSAA is disabled")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17039 >
2022-06-15 22:04:00 +00:00
Mike Lothian
e1accb1c4c
util: Fix invalid usage of alignas in u_cpu_detect.c
...
This fixes the following errors when compiling Mesa with Clang 14:
../mesa-9999/src/util/u_cpu_detect.c:368:5: error: expected ';' after struct
} alignas(16) fxarea;
^
;
This has been tested with Clang 14.0.5 and GCC 12.1
Fixes: e3bc78b8e3 ("util: use c11 alignas instead of rolling our own")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6667
Signed-off-by: Mike Lothian <mike@fireburn.co.uk >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17035 >
2022-06-15 21:27:57 +00:00
Marek Olšák
e24354c1b2
radeonsi/gfx11: rework GDS streamout code to single-lane and enable streamout
...
GDS is basically scalar in gfx11.
This is not exactly how it's supposed to be done (we should be using
the GDS_STRMOUT registers), but it works.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
44e4d42c23
radeonsi/gfx11: add missing register shadowing code
...
it doesn't work yet
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
fbd68a3839
radeonsi/gfx11: drop the ES vertex count requirement
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
99fd408946
radeonsi/gfx11: don't allocate unused wait_mem_scratch
...
We sync using PWS instead of memory.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
98d6a3d6c6
radeonsi/gfx11: don't use memory for waiting for cache flushes
...
There is a new flush/wait mechanism called PixelWaitSync that uses
an internal counter.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
56d4e0be86
radeonsi/gfx11: synchronize correctly before setting SPI_ATTRIBUTE_RING_*
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
fa25eba744
radeonsi/gfx11: allocate more space for pipeline statistics
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
0e8beb1eed
radeonsi/gfx11: compile monolithic PS if it writes memory
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
ee7150da79
amd/gfx11: add PixelWaitSync packet fields
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Marek Olšák
7d8847d963
ac/llvm: fix tcs_wave_id unpacking on gfx11
...
no effect on behavior because the higher bits are always zero
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990 >
2022-06-15 20:52:42 +00:00
Emma Anholt
ae432b67b7
ci/dzn: Skip a test that intermittently times out at a minute.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17054 >
2022-06-15 20:30:46 +00:00
Christian Gmeiner
15f394cc7a
nir: Fix unused-variable compile warnings
...
Fixes: 8492e78f9d ("nir/deref: Handle SSBO array bindings specially")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17021 >
2022-06-15 19:43:27 +00:00
Guilherme Gallo
75973e3a1c
ci/lava: Add support for more complex color codes
...
Currently, the LAVA job submitter is employing a temporary solution for
the bash escape code mangling in the LAVA jobs. Until the issue is not
fixed on the LAVA side, the submitter will replace the wrong characters
with the fixed ones.
This commit improves the regex pattern to comprehend the scenarios of
color codes with font formatting and background color information, such
as: `echo -e "\e[1;41;39mRed background with white bold text color\e[0m"`
Fixes : #5503
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17046 >
2022-06-15 19:10:09 +00:00
Timur Kristóf
08435b1c6f
radv: Always use 3D block ID and grid size in task shaders.
...
These are needed to address the task draw and payload ring buffers
when the task shader dispatch is 3 dimensional.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
0fb9573c57
ac/nir/taskmesh: Preserve workgroup ID Y and Z when applying firstTask.
...
NV_mesh_shader workgroups are only 1 dimensional, so it's OK to
only add firstTask to the X dimension.
However, let's keep the Y and Z dimensions so this doesn't mess up
the workgroup ID for future 3 dimensional task shader dispatches.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
b243e94f07
radv: Lower mesh shader 3D workgroup ID to 1D index.
...
This allows future mesh shaders to use a 3D workgroup ID.
Also changes how the NV_mesh_shader first_task is emulated.
The new code moves the responsibility from ac_nir into radv.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
e05f63f56c
ac/nir/ngg: Add mesh shader workgroup index.
...
This will allow lowering 3D workgroup ID to a 1D index.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17023 >
2022-06-15 18:28:58 +00:00
Timur Kristóf
856a8acab0
radv: Enable NGG wave ID for mesh shader scratch ring.
...
This wave ID is used to address the scratch ring, so it should be
enabled when the scratch ring is used.
Note: the naming is confusing here, as this ID is actually the same
accross the whole workgroup. (It would be more appropriate to call
it workgroup ID instead.)
Fixes: 0280b526d5
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17022 >
2022-06-15 18:05:51 +00:00
Yonggang Luo
a9e2c699aa
util/c11: Update function u_thread_create to be c11 conformance
...
Do not assume thrd_t to be a pointer or integer, as the C11 standard tells us:
thrd_t: implementation-defined complete object type identifying a thread
At https://en.cppreference.com/w/c/thread
So we always return the thread creation return code instead of thrd_t value, and judge the return
code properly.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
6e33ef2bb9
c11: Implement thread_local in c11/threads.h
...
Use thread_local when possible
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
09cd5c9bdb
c11: Fixes memory leak of pack in thrd_create on win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
e6392fcf3d
c11: Move the implementation of threads.h into c source code
...
By doing this, now the global variable impl_tss_dtor_tbl are only defined one time.
So the memory usage would reduced
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
b7773fd105
util: Define WIN32_LEAN_AND_MEAN before include of windows.h in u_thread.h
...
This is a prepare for move the c11 threads implementation into c source code
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:17 +00:00
Yonggang Luo
be00a7c8ac
glx: using C++11 keyword thread_local
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:16 +00:00
Yonggang Luo
0f3064ee44
intel: using C++11 keyword thread_local
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15087 >
2022-06-15 17:37:16 +00:00
Chia-I Wu
af0080c4ef
turnip: advertise VK_EXT_border_color_swizzle
...
We already support the functionality so just advertise it. Pass all
dEQP-VK*border_swizzle*.
v2: update freedreno-a630-fails.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17019 >
2022-06-15 15:48:47 +00:00
Sergi Blanch Torne
ea33e44ce4
ci/crosvm: clean crosvm socket
...
When the 'vm stop' command fails because the crosvm instance
that would be listening to it is already dead, remove the
socket file to avoid crosvm complaining and refusing to boot
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16963 >
2022-06-15 14:03:42 +00:00
Samuel Pitoiset
4480e577a4
zink/ci: update list of failures again
...
Only two tests have been fixed and the list has been incorrectly
updated.
Fixes: b240be28e3 ("zink: check for pending clears to determine write status of zs attachments")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16975 >
2022-06-15 13:14:17 +00:00
Samuel Pitoiset
8589230602
radv/ci: add GLES/GLCTS testing with Zink on NAVI10
...
This includes GLES{2,3,21} and GL46.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16975 >
2022-06-15 13:14:17 +00:00
Samuel Pitoiset
8ffabb2511
ci/valve: split .b2c-test into .b2c-test-vk and .b2c-test-gl
...
We have to use a different test image for GL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16975 >
2022-06-15 13:14:17 +00:00
Samuel Pitoiset
c895e5d140
zink/ci: change the surface type used for dEQP
...
This was for vk-cts-image, but it seems like Mesa CI only supports
pbuffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16975 >
2022-06-15 13:14:17 +00:00
Brian Paul
470f8b2267
llvmpipe: asst. clean-ups in lp_scene.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
99dcb5bcec
llvmpipe: asst. clean-ups in lp_tex_sample.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
a14fd548f5
llvmpipe: asst. clean-ups in lp_linear_sampler.c
...
Whitespace fixes.
Move loop var decls into loops.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
dde4f9969c
llvmpipe: fix comment typo in lp_bld_interp.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
eeb9938c64
gallivm: asst. clean-ups in lp_bld_nir.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
7f4d1c7486
llvmpipe: misc clean-ups in lp_bld_interp.c
...
Remove trailing whitespace.
Replace unsigned with enum types.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
846900fe3f
gallivm: minor clean-ups in lp_bld_sample_soa.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
5a1ad575c8
llvmpipe: asst. clean-ups in lp_rast_priv.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
27decb562e
llvmpipe: asst. clean-ups in lp_rast_tri_tmp.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
0230d7a771
llvmpipe: asst. clean-ups in lp_bld_blend_aos.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
10b9958aab
llvmpipe: misc clean-up in lp_rast_tri.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
1e3d8791a6
llvmpipe: minor clean-ups in lp_state_fs_analysis.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
b81b24c67d
llvmpipe: minor whitespace/formatting cleanups in lp_state_setup.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
f5e2c6d86e
llvmpipe: whitespace clean-ups in lp_rast.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
26eeb0a090
llvmpipe: asst. clean-ups in lp_setup_tri.c, lp_setup_rect.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
c9cb9eec05
llvmpipe: asst. clean-ups in lp_state_fs_linear.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
03b256f405
llvmpipe: asst. clean-ups in lp_state_fs_linear_llvm.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
b61f3334d4
llvmpipe: minor clean-ups in lp_jit.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:05 +00:00
Brian Paul
c6bd6140de
llvmpipe: asst. clean-ups in lp_state_fs.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
3717acdc43
gallivm: clean-ups in lp_bld_tgsi.[ch]
...
And move/rename LP_MAX_INSTRUCTIONS.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
9a4504af59
gallivm: asst. clean-ups in lp_bld_sample_soa.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
f921a55d83
llvmpipe: asst. clean-up in lp_setup_context.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
f18a23d87c
gallivm: clean-up in lp_bld_sample.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
dee76459ca
llvmpipe: asst. clean-up and add comments in lp_state_fs.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
8432e0ee3d
llvmpipe: asst. clean-ups in lp_scene.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
c1ddfa15a4
llvmpipe: asst. clean-ups in lp_linear.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
b3dc37d22d
llvmpipe: asst. clean-ups in lp_rast.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
e060d7747d
llvmpipe: fix comment typo in lp_linear_fastpath.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
d10f61db0d
llvmpipe: asst. clean-ups in lp_rast_linear.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
5622b802e2
llvmpipe: asst. clean-up in lp_state_derived.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
5f671de486
gallivm: add const qualifier in lp_bld_nir_soa.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
3d6192c0b8
gallivm: clean-up in lp_bld_nir.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
aa9bd004a9
gallivm: cleanup lp_bld_arit.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
059afb8a90
gallivm: asst. clean-ups in lp_bld_type.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
7111d20832
llvmpipe: asst. clean-ups in lp_state_setup.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
97e8837b44
llvmpipe: asst. clean-ups in lp_setup.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
fe48f5adff
llvmpipe: asst. clean-ups in lp_linear_fastpath.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
ff619d9cc5
gallivm: asst. clean-ups in lp_bld_sample.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
f203bfb375
gallivm: whitespace fixes in lp_bld_tgsi.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Brian Paul
1c2d1ad7ba
gallivm: assorted clean-ups in lp_bld_nir_aos.c
...
Whitespace fixes. Wrap lines to 78 chars. Add const qualifiers, etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16937 >
2022-06-15 12:30:04 +00:00
Erik Faye-Lund
d8fcd699f1
docs/zink: correct requirement for tbos
...
This requirement is for ARB_texture_buffer_object_rgb32, which obviously
needs the UNIFORM_TEXEL_BUFFER bit, not SAMPLED_IMAGE.
Fixes: c3d7de47cd ("docs/zink: add GL 4.0 requirements")
Fixes: 6b38907b7f ("zink: fix feature requirement")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17024 >
2022-06-15 12:24:43 +00:00
Yonggang Luo
5ac12eeebd
ci: Building spirv-to-dxil on both mingw and debian/x64
...
debian/i386 needs cross compile of `DirectX-Headers`, so just enable spirv-to-dxil on debian/x64
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
29baa326b9
microsoft/spirv_to_dxil: Fixes maybe-uninitialized compiling error in dxil_spirv_nir.c
...
Fixes following errors:
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c
In file included from ../src/compiler/nir/nir_builder.h:365,
from ../src/microsoft/compiler/dxil_nir.h:29,
from ../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c:28:
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c: In function 'dxil_spirv_nir_passes':
src/compiler/nir/nir_builder_opcodes.h:1321:11: error: 'dyn_yz_flip_mask' may be used uninitialized in this function [-Werror=maybe-uninitialized]
1321 | return nir_build_alu2(build, nir_op_iand, src0, src1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c:290:59: note: 'dyn_yz_flip_mask' was declared here
290 | nir_ssa_def *y_flip_mask = NULL, *z_flip_mask = NULL, *dyn_yz_flip_mask;
| ^~~~~~~~~~~~~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
2e79e4b6d8
microsoft/clc: Add missing void to no-parameter function signature
...
Fixes this warning:
../../src/microsoft/clc/clc_compiler.c:1218:10: error: no previous prototype for 'clc_compiler_get_version' [-Werror=missing-prototypes]
1218 | uint64_t clc_compiler_get_version()
| ^~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
484658a74b
microsoft/clc: Delete unused local variables
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
a88ac30d38
microsoft/spirv_to_dxil: Delete unused local variable
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
beaaa84cea
dxil: Fixes warning about comparing different enum value and enum literal
...
warnings:
../../src/microsoft/spirv_to_dxil/spirv_to_dxil.c: In function 'spirv_to_dxil':
../../src/microsoft/spirv_to_dxil/spirv_to_dxil.c:101:14: warning: comparison between 'dxil_spirv_shader_stage' and 'enum <anonymous>' [-Wenum-compare]
101 | if (stage == MESA_SHADER_NONE || stage == MESA_SHADER_KERNEL)
| ^~
../../src/microsoft/spirv_to_dxil/spirv_to_dxil.c:101:43: warning: comparison between 'dxil_spirv_shader_stage' and 'enum <anonymous>' [-Wenum-compare]
101 | if (stage == MESA_SHADER_NONE || stage == MESA_SHADER_KERNEL)
| ^~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
0d0283f698
dxil: Sync dxil_spirv_shader_stage with gl_shader_stage
...
Add STATIC_ASSERT to guard `dxil_spirv_shader_stage` and `gl_shader_stage`
to be same for each enum value.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
ed7e78b084
dxil: Fixes compiling dxcapi.h with mingw.
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
4ae6cf2a74
microsoft/compiler: Fix error from double extern
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Yonggang Luo
2e61138d97
microsoft/compiler: Include stddef.h before using size_t
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16671 >
2022-06-15 11:38:24 +00:00
Pierre-Eric Pelloux-Prayer
aa58ff191f
Revert "winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+"
...
This reverts commit 8edafaa25c .
This fixes hangs on Navi21.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17032 >
2022-06-15 10:38:04 +00:00
Pierre-Eric Pelloux-Prayer
b75ef3815f
radeonsi: use helpers to access si_screen::aux_context
...
This avoids to mistakenly use the context without locking it first.
The aux_context_lock needs to become a recursive one now, since
si_texture_get_handle can call si_reallocate_texture_inplace which
uses resource_create which may use the aux_context too.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6666
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17032 >
2022-06-15 10:38:04 +00:00
Pierre-Eric Pelloux-Prayer
bda1c081bd
radeonsi: add helper to use si_screen::aux_context
...
This context needs to be locked before usage, and flushed after.
If it's forgotten, radeonsi may crash (eg #6666 ).
To avoid this kind of error, introduce 2 helpers.
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17032 >
2022-06-15 10:38:03 +00:00
Jordan Justen
81d6ae31d6
anv, iris: Enable compute engine with INTEL_COMPUTE_CLASS=1
...
If this environment variable is set, then a detected compute engine
will be used as described in docs/envvars.rst.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:20 +00:00
Jordan Justen
0c90c695f5
anv, iris: Add support for I915_ENGINE_CLASS_COMPUTE
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:20 +00:00
Jordan Justen
b27720f2a1
anv: Move STATE_BASE_ADDRESS programming into init_common_queue_state()
...
This is now needed following Ken's 8831cb38aa .
Ref: 8831cb38aa ("anv: Stop updating STATE_BASE_ADDRESS on XeHP")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:20 +00:00
Jordan Justen
09d12e6727
anv: Add support for I915_ENGINE_CLASS_COMPUTE in init_device_state()
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:20 +00:00
Jordan Justen
60e29fc7c5
intel/gem: Add support for I915_ENGINE_CLASS_COMPUTE
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:20 +00:00
Jordan Justen
2d0edbbd37
drm-uapi/i915_drm.h: Update from drm-next (2022-05-06)
...
git://anongit.freedesktop.org/drm/drm 98bcaafd7fb06647529227561ee72e37d3f00ff0
This defines I915_ENGINE_CLASS_COMPUTE to access the compute engine
when available.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395 >
2022-06-15 08:58:19 +00:00
Samuel Pitoiset
aaf6eb6c46
ci: fix passing down MESA_LOADER_DRIVER_OVERRIDE for zink-anv-tgl
...
zink-anv-tgl wasn't using Zink at all because this variable was missing
and then not passed to the runners...
This introduces a list of failures for Zink/Anv and also few tests
are skipped because they take too long (> 60s).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17031 >
2022-06-15 08:32:44 +00:00
Lionel Landwerlin
b0cd7bc8c1
anv: don't expose EXT_border_color_swizzle on gfx7
...
This requires EXT_custom_border_color which isn't supported on gfx7.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fbcf65bfea ("anv: VK_EXT_border_color_swizzle")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17025 >
2022-06-15 07:30:52 +00:00
Qiang Yu
fd27d5157f
gallium: disable hardware select for crocus
...
piglit select tests fail, so add a gallium cap to disable
for crocus explicitly.
crocus may choose to enable hardware select only for GPU
SKU which tested to be OK again.
Fixes: 6489af145c ("mesa: enable HardwareAcceleratedSelect")
Closes : #6644
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16955 >
2022-06-15 03:01:58 +00:00
Alexander Kanavin
934bc2e8ca
swrast_kms: use swkmsDRI2Extension instead of driDRI2Extension
...
This set of changes:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15649
caused a regression in Xorg when using swrast_kms:
(EE) AIGLX error: Calling driver entry point failed
This commit changes the swrast_kms driver to use a dedicated screen init function
(which I believe was overlooked); I also took the opportunity to rename the
associated plumbling to have swrast-specific names.
Signed-off-by: Alexander Kanavin <alex@linutronix.de >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16942 >
2022-06-15 01:44:21 +00:00
Vinson Lee
fd91295473
microsoft/spirv_to_dxil: Fix missing-prototypes errors.
...
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c: At top level:
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c:646:1: error: no previous prototype for ‘dxil_spirv_nir_link’ [-Werror=missing-prototypes]
646 | dxil_spirv_nir_link(nir_shader *nir, nir_shader *prev_stage_nir)
| ^~~~~~~~~~~~~~~~~~~
../src/microsoft/spirv_to_dxil/dxil_spirv_nir.c:666:1: error: no previous prototype for ‘dxil_spirv_nir_passes’ [-Werror=missing-prototypes]
666 | dxil_spirv_nir_passes(nir_shader *nir,
| ^~~~~~~~~~~~~~~~~~~~~
Fixes: c86ea7daa3 ("microsoft/spirv_to_dxil: Extract NIR passes out of spirv_to_dxil()")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17011 >
2022-06-15 01:29:04 +00:00
Boris Brezillon
e46f4ec5f3
ci/windows: Skip dEQP-VK.api.command_buffers.record_many_draws*
...
Those tend to timeout, so let's skip them for now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
dd78dc25e7
ci/windows: Add dEQP-VK.dynamic_state.* to the test list
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
672447be7f
ci/windows: Allow skipping deqp tests if we have to
...
Useful to skip tests that are known to crash.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
1acf0b4bd4
dzn: Support dynamic line width
...
.wideLines = false, which forbids the user to set the line width
to something different than 1. We're thus safe to claim support
for dynamic line width and do nothing in CmdSetLineWidth() other
than checking the value passed is 1.0f.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
7d9afb93cc
dzn: Support dynamic depth testing parameters properly
...
Now that we have support for pipeline variants, we can take the dynamic
depth testing parameters into account and create a new pipeline state
using those dynamic parameters.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
91f3c7a9fb
dzn: Fix triangle-fan emulation
...
We were completely ignoring the primitive-restart case in the
index-rewrite logic used to emulate triangle fans. Unfortunately, this
case is way more complicated than a regular index rewrite:
- we need to skip all primitive-restart entries when turning the triangle
fan into a triangle list, which implies serializing the index buffer
rewrite procedure (at least I didn't find any clever way to parallelize
things)
- the number of triangles can no longer be extrapolated from the number
of indices in the original index buffer, thus forcing us to lower
direct indexed draws into indirect draws and patching the indexCount
value when the new index buffer is forged
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
741b5ded49
dzn: Fix primitiveRestart support
...
We can't hardcode the strip cut value to 0xffffffff, otherwise we break
support for 16-bit index buffers. Let's use the pipeline variant
infrastructure to deal with that case.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Boris Brezillon
81fb1cfdad
dzn: Prepare support for pipeline variants
...
Some D3D12 states can't be updated dynamically and require the creation
of a new pipeline state. In order to support setting those dynamically
we will have to support creating pipeline variants at draw time.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16971 >
2022-06-15 00:10:42 +00:00
Icecream95
ec70291da9
panfrost: Stop using sparse_array for batch BOs
...
Iterating over a util_sparse_array is very expensive; replace this
with a standard dynarray.
Using the sparse 'nodearray' datastructure instead was tested, but
found to be slower in some cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16988 >
2022-06-14 23:44:02 +00:00
Connor Abbott
169e03800d
tu: Implement VK_EXT_color_write_enable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16936 >
2022-06-14 23:18:17 +00:00
Connor Abbott
94be0dd0b8
tu: Implement extendedDynamicState2LogicOp
...
Because this impacts most of the registers in the BLEND draw state, we
make the entire draw state dynamic so that it all gets re-emitted when
the logicOp changes. This also lays the groundwork for
VK_EXT_color_write_enable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16936 >
2022-06-14 23:18:17 +00:00
Connor Abbott
c23eb99357
tu: Fix partial-write LRZ determination
...
There were a few problems with this:
- It wasn't considering logic op at all, which is another source of
reading from the destination.
- It was conditioned on the blend_enable_mask, so it was missing the
case where there's no blending but some of the outputs were masked
out.
- It wasn't considering attachments with less than 4 components (for
example, normals in a typical deferred rendering setup) and would
always consider them partially written unless the user added extra
unnecessary components.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16936 >
2022-06-14 23:18:17 +00:00
Boris Brezillon
b3b53952b0
dzn: Vulkan 1.1 wants maxPerSetDescriptors >= 1024
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
59a6ddd85c
dzn: Implement GetDescriptorSetLayoutSupport()
...
The 2048 descriptors limit comes from the maximum number of samplers
per heap, but the limit for other descriptors is actually much bigger.
Let's implement GetDescriptorSetLayoutSupport() to reflect that.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
1554ece8bd
dzn: Add a dzn_desc_type_has_sampler() helper
...
Add a dzn_desc_type_has_sampler() helper instead of duplicating
the SAMPLER || COMBINED_IMAGE_SAMPLER test everywhere.
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
fb52be9376
dzn: Lower alignment requirements when allocating buffers or single-sample images
...
VkMemoryDedicatedAllocateInfo, when present, provides us with extra
information about the memory usage, which allow us to lower the alignment
requirements.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
96a7f81072
dzn: Check that no export is requested in the memory allocation path
...
We don't support exporting memory objects yet, so let's make sure the
user doesn't request that.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
8c23d9db0b
dzn: Add dummy {Create,Destroy}SamplerYcbcrConversion() implementations
...
We don't support Ycbcr sampler conversion. Add dummy implementations to
make us Vulkan 1.1 compliant.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
439b1fc8e8
dzn: Add a dummy GetImageSparseMemoryRequirements2()
...
We don't support sparse memory yet, but this function needs to be
present.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
cd8e322816
dzn: Add a dummy GetDeviceGroupPeerMemoryFeatures()
...
We don't support device groups, but Vulkan 1.1 requires a
GetDeviceGroupPeerMemoryFeatures() implementation, so let's just
advertise no peer-memory features.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
cc7158fe2f
dzn: Return empty external properties
...
We don't support importing/exporting images yet, so let's zero out the
whole external properties struct, if present.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
fa79d036f1
dzn: Decorrelate external image info and external image properties
...
One can be present without the other.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
cd4bc4893b
microsoft/compiler: Support load_sample_id_no_per_sample
...
It's like load_sample_id except it shouldn't force per-sample shading
when not already enabled. In that case, we simply return 0.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
65309dab45
microsoft/compiler: s/assert()/unreachable()/ in emit_intrinsic()
...
Use an unreachable() statement instead of the incorrect assertion in the
unsupported intrinsic path.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
82d3433d2a
microsoft/compiler: Set typed_uav_load_additional_formats when appropriate
...
This flag should be set to true when the RWTexture is attached a vector,
and we always declare a vec4 right now, so it should always be true.
Might be worth reworking the dxil_module_get_res_type() to use a scalar
when the image only has one component.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
303175cfec
microsoft/compiler: Images are no longer reprensented by uniform vars
...
emit_barrier_impl() was still checking the nir_var_uniform flag to
detect images, which is no longer correct.
Fixes: cfdc7ee066 ("spirv: Use nir_var_mem_image")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
cdbc8a8c85
spirv: Add a dst/src type to image deref loads/stores coming from OpAtomic{Load,Store}
...
nir_to_dxil() uses those types to pick the right operation overload,
and atomic loads/stores are no different from their non-atomic
counterpart apart from the atomicity property, so it makes sense to
pass a type to the deref_{load,store} intrinsic in that case too.
Suggested-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Boris Brezillon
b78d3ebe72
vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask
...
This field copy was missing in
vk_get_physical_device_core_1_1_property_ext().
Fixes: 19ff5019b7 ("vulkan: Add helpers for filling exts for core features and properties.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926 >
2022-06-14 22:44:42 +00:00
Yonggang Luo
e3a7ccba57
ci/vs2019: Convert mesa_build.ps1 to using PowerShell 7 && operator
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:34 +00:00
Yonggang Luo
47bce47736
ci/vs2019: Remove comment for windows_test_vs2019 that not true
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:34 +00:00
Yonggang Luo
97e7f6d068
ci/vs2019: Split install of vs2019 and choco into separate Docker image
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:34 +00:00
Yonggang Luo
cfa67ec750
ci/vs2019: Split choco install output
...
Compiling code should be done in docker containers using --isolation=process for efficiency,
but installing dependencies will fail when run that way. Split the "install" dependencies from
the "build" dependencies, so the former can be run in a container using --isolation=hyperv,
and the latter can use --isolation=process.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:34 +00:00
Yonggang Luo
322c807b3c
ci/vs2019: Install all build artifacts into C:\mesa-deps
...
By building everything under `deps` directory, remove the `deps` after
them installed.
We can use spirv-as from Vulkan-SDK, so that test won't depends on mesa-deps
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:34 +00:00
Yonggang Luo
9ceb170cb1
ci/vs2019: ignore _build and _install directory by write * into .gitignore
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
33e5b08a7d
ci/vs2019: Reduce the vs2019 build tools components to be installed
...
NOTE:
Microsoft.VisualStudio.Component.Windows10SDK.19041 are part of
Microsoft.VisualStudio.Workload.NativeDesktop, so it's actually using Windows10SDK.19041 before,
not Windows10SDK.18362
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
6d23d87325
ci/vs2019: Show the total vs2019 install time
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
d960151dc2
ci/vs2019: Split call to C:\vs_buildtools.exe into multiple lines
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
a740b8430a
ci/vs2019: Add a dedicated script for entering VS dev shell
...
Then we can remove cmd.exe invocations, and spread those configure commands
over multiple lines since they're not strings anymore.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
24e177aff2
ci/vs2019: Use shared VULKAN_SDK_VERSION for install and build vulkan related packages
...
Get `Vulkan-SDK` `Vulkan-Runtime` `SPIRV-Tools` and `SPIRV-Headers` to be consistence version
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
918dbc1fa8
ci/vs2019: Disable progess bar for pip3 install
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
e301f31116
ci/vs2019: Disable progress when install python
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
86d6e532b3
ci/vs2019: Ignore error when removing directory recursively
...
While we're at it, do the same thing when creating the llvm-project directory
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
5baaa3b361
ci/vs2019: Ignore cert install output, it's too long
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
5608834068
ci/vs2019: Do not install subprojects
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
d1e7e58807
ci/vs2019: Rename to vsInstallPath
...
installPath is too generic
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
0511f0eb8a
ci/vs2019: Give each option its own line in mesa_build.ps1
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
f2aba8564c
ci/vs2019: Update editorconfig for ps1 files
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
66eec65c5b
ci/vs2019: switch to powershell 7
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Yonggang Luo
6445379f04
ci/vs2019: There is no meaning to set $env:ErrorActionPreference
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16934 >
2022-06-14 21:14:33 +00:00
Mike Blumenkrantz
b240be28e3
zink: check for pending clears to determine write status of zs attachments
...
as @Venemo discovered, zs layouts were being incorrectly set to readonly
in the case where the attachment was only used for an explicit clear,
so ensure that gets taken into account
cc: mesa-stable
fixes (radv):
dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_clear
dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_clear
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17033 >
2022-06-14 20:58:55 +00:00
Jose Maria Casanova Crespo
901f5e6a31
v3dv/ci: increase fraction to 10 on v3dv ci jobs.
...
We reduce the v3dv ci jobs time execution from ~20min to
8-11 min.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17026 >
2022-06-14 20:33:34 +00:00
Mike Blumenkrantz
8c0f3cdfac
zink: clamp dynamic renderArea to framebuffer size
...
it's illegal to have a renderArea larger than the attachments, so perform
clamping to avoid that scenario
Fixes: c81cd989c8 ("zink: use dynamic rendering (most of the time)")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16947 >
2022-06-14 20:12:46 +00:00
Mike Blumenkrantz
87c7e75721
zink: fix cubemap lowering bit size
...
this isn't always 32
Fixes: 2d745904ca ("zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass")
fixes:
dEQP-GL45-ES31.functional.program_uniform.by_pointer.render.struct_in_array.sampler2D_samplerCube_*
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17008 >
2022-06-14 19:57:40 +00:00
Mike Blumenkrantz
de6af39534
zink: fix cubemap lowering for array samplers
...
each sampler is 1 driver location, so use the base variable
Fixes: 2d745904ca ("zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass")
fixes:
dEQP-GL45-ES31.functional.shaders.opaque_type_indexing.sampler.const_expression.*.samplercubearray
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17008 >
2022-06-14 19:57:40 +00:00
Mike Blumenkrantz
876bfb6bc3
zink: skip some emulated cube code if the extension is present
...
cuts down on some cpu overhead
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944 >
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
d8b4ceb27a
zink: rename nonseamless struct members to emulate_nonseamless
...
make it clearer that this is separate from the gallium state
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944 >
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
08858070b1
zink: use VK_EXT_non_seamless_cube_map when available
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944 >
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
616773e62b
zink: hook up VK_EXT_non_seamless_cube_map
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16944 >
2022-06-14 19:35:42 +00:00
Mike Blumenkrantz
03d7f31054
zink: don't print VK_EXT_shader_atomic_float warning for nir_intrinsic_image_deref_atomic_exchange
...
this is covered by base spec and doesn't require the extension
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
d8877437d6
zink: avoid uninit values in renderpass state
...
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
4c908e3d7b
zink: only add necessary binds during dmabuf export
...
SHARED might only be present, so add it conditionally
Fixes: 4eeabb59f5 ("zink: rebind resources for export as needed")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
44cf6f7564
zink: fix generated tcs deletion
...
deleting the generated shader on the first loop iteration like this was
broken if the shader was used in multiple programs, so delete at the end
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
cf34d3fe05
zink: unset generated tcs pointer from tes on deletion
...
otherwise this will free the generated tcs multiple times if the tes
is used by multiple programs
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
c36c5ff057
zink: use the patch_vertices value from the shader key, not the context
...
ctx shouldn't be used here unless necessary
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
338d986439
zink: fix generated tcs update path
...
is_generated is in a union with the generated tcs pointer for tes shaders,
so check the shader stage too
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Mike Blumenkrantz
336b5c8823
zink: fix dynamic stride conditional in pipeline creation
...
if dynamic stride isn't used then this struct member must be filled
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17010 >
2022-06-14 19:21:15 +00:00
Louis-Francis Ratté-Boulianne
1a89e358d6
dzn: Enable dEQP-VK.pipeline.vertex_input.* test cases
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955 >
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
ac34866166
dzn: Allow some non-native formats to be used as vertex inputs
...
This requires shader-side lowering, which is handled in
dxil_nir_lower_vs_vertex_conversion().
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955 >
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
b53f9011b1
microsoft/compiler: Add support for more scaled formats
...
Lower 8 and 16 bit scaled formats to integer formats.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955 >
2022-06-14 17:42:51 +00:00
Louis-Francis Ratté-Boulianne
b0b9b50077
d3d12: Move d3d12_nir_lower_vs_vertex_conversion() to a common place
...
So we can re-use it in dozen.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15955 >
2022-06-14 17:42:51 +00:00
Jesse Natalie
c378bbab75
mesa: Use C11 alignas for cross-platform SSE support
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
8fbad5e42f
gallium: clean up PIPE_ALIGN_STACK-definition
...
There's really just one case where this is supported; on GCC for x86.
All other cases do nothing, so let's remove the complexity that is no
longer needed.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
d1349eb500
gallium: remove unused macros
...
These aren't used, so let's remove them.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
ea7ba77be9
gallium: remove repeated check
...
This is already inside an "#if defined(__GNUC__)" conditional, there's no
need to repeat the __GNUC__-check.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
1b53fb625e
gallium: use c++11 alignas instead of PIPE_ALIGN_VAR
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
04ca04ba46
gallium: use c11 alignas instead of PIPE_ALIGN_VAR
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
69d2d38f6e
llvmpipe: use c11 alignas instead of PIPE_ALIGN_VAR
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
3c82e23f9a
gallium: reorganize includes
...
There's no reason to have standard includes in two different sections of
the header, let's merge them. While we're at it, let's sort the includes
as well.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:38 +00:00
Erik Faye-Lund
d791184b46
gallium: remove stale comment
...
This hasn't been true for a long time, let's remove the comment.
Fixes: 0d4898ae80 ("include,gallium: Remove pre-MSVC 2013 compatibility.")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
e3bc78b8e3
util: use c11 alignas instead of rolling our own
...
Due to how alignas is defined, it itsn't allowed to use it on a struct,
it needs to be used on the first member instead. So move the declaration
in those cases.
This still leaves the ALIGN16 macro using compiler-specific directives,
because it's a lot of work to untangle the above. This probably deserves
its own MR.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
2c43044507
vulkan/util: assume c11
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
ec9d7872ac
glcpp: remove outdated msvc hack
...
While MSVC doesn't do __STDC_VERSION__ correctly for C99, it does for
C11, which is what we now require. So we can remove this hack.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
3a62badb2e
util: use c11 alignof instead of our own
...
...with an exception for MSVC, which doesn't have stdalign.h, so let's
add a definition for that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
e83f13c04e
c99_compat.h: assume c99 support
...
Reviewed-By: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
ffd26b1c3b
llvmpipe: assume c99
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
5dc30f9342
util: sort includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16908 >
2022-06-14 15:08:37 +00:00
Erik Faye-Lund
7c864499eb
dzn: enable two more exts
...
These are already implemented, so let's turn them on!
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17027 >
2022-06-14 14:55:27 +00:00
Erik Faye-Lund
b45f1e24ae
dzn: use a null-rtv to handle no-attachment
...
This fixes a crash in this test:
dEQP-VK.renderpass2.suballocation.simple.color_unused_omit_blend_state
Fixes: 2d0798440b ("dzn: Add support for dynamic rendering")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17027 >
2022-06-14 14:55:27 +00:00
Boris Brezillon
bd4c8f562c
microsoft/compiler: Truncate function names when needed
...
DXIL metadata strings and function names have a limited size. Truncate
the name when they don't fit. This is a quick&dirty workaround since it
doesn't address the problem for all kind of strings, and doesn't ensure
there's no collision in the function names after the truncation. That's
not an issue right now because I don't think we have implementations
keeping more than one function (the entrypoint), but it might be a
problem at some point.
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16961 >
2022-06-14 14:15:55 +00:00
Boris Brezillon
69339066fc
microsoft/compiler: Pick a type that matches interpolation mode for structs
...
We can't use linear interpolation on integer types, and varyings using
a struct type might actually contain only fp32 members, in which case
interpolation should happen as requested.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16961 >
2022-06-14 14:15:55 +00:00
Alejandro Piñeiro
51bdac4846
v3dv/pipeline: expand nir_optimize, drop st_nir_opts
...
Right now we had two methods that tries to optimize the nir shader,
nir_optimize and st_nir_opts. The latter is being used when we are
linking, but again, it has basically the same purpose that
nir_optimize.
So this commit adds more lowerings to nir_optimize_nir, add some extra
comments on the method, and replaces st_nir_opts with nir_optimize.
Ideally we would like to just use the already existing
v3d_optimize_nir that we have at the backend But:
* Using it leads to some regressions on Vulkan CTS tests, due some
lowerings that are already there.
* We would need to move to the backend some additional
lowerings/optimizations that are used on the Vulkan
frontend. That would require to check that we are not getting any
regression or performance drop on OpenGL
So for now we are keeping a Vulkan specific nir_optimize method.
Additionally this fixes the following test:
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones
Shaderdb stats, using some well known Vulkan apps (ue4 demos, Quake3e,
etc):
total instructions in shared programs: 124974 -> 125108 (0.11%)
instructions in affected programs: 50328 -> 50462 (0.27%)
helped: 4
HURT: 79
total uniforms in shared programs: 19019 -> 19020 (<.01%)
uniforms in affected programs: 60 -> 61 (1.67%)
helped: 0
HURT: 1
total max-temps in shared programs: 13438 -> 13444 (0.04%)
max-temps in affected programs: 85 -> 91 (7.06%)
helped: 0
HURT: 2
total inst-and-stalls in shared programs: 125715 -> 125849 (0.11%)
inst-and-stalls in affected programs: 50429 -> 50563 (0.27%)
helped: 4
HURT: 79
total nops in shared programs: 8203 -> 8204 (0.01%)
nops in affected programs: 732 -> 733 (0.14%)
helped: 7
HURT: 9
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986 >
2022-06-14 13:12:46 +00:00
Alejandro Piñeiro
36c547342a
v3dv/pipeline: call nir_lower_explicit_io after first nir optimization loop
...
That is what most others Vulkan drivers do (radv, anv, turnip at
least).
The origin of this change cames from a CTS test where the loop
unrolling converted a ubo index defined inside a loop from constant to
non constant. That is not desiderable on any driver, but a problem on
v3dv, as v3dv doesn't support that case.
Although we initially tried to fix it on the loop unroll, we discarded
that approach, and focused on the existing nir lowerings/optimizations
as this was not happening with other drivers.
We noted that in other drivers this case of a ubo index going from
const to non-const were also happening with nir_lower_explicit_io, but
in that case it was able to be converted back to a const on following
lowerings. The only difference with other drivers is that we were
calling it before the first nir optimization loop.
So this change helps with fixing the following CTS test (for that we
also need to run additional lowerings, which we do in a later patch):
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones
You can get further details on the following issue and RFC merge
request, specially the merge request:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6051
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15391
We also made some shaderdb stats with our usual Vulkan apps (ue4
demos, quake3, etc):
Total instructions in shared programs: 125014 -> 124974 (-0.03%)
instructions in affected programs: 7544 -> 7504 (-0.53%)
helped: 7
HURT: 4
total uniforms in shared programs: 19026 -> 19019 (-0.04%)
uniforms in affected programs: 514 -> 507 (-1.36%)
helped: 5
HURT: 0
total max-temps in shared programs: 13430 -> 13438 (0.06%)
max-temps in affected programs: 270 -> 278 (2.96%)
helped: 0
HURT: 8
total sfu-stalls in shared programs: 739 -> 741 (0.27%)
sfu-stalls in affected programs: 30 -> 32 (6.67%)
helped: 0
HURT: 2
total inst-and-stalls in shared programs: 125753 -> 125715 (-0.03%)
inst-and-stalls in affected programs: 7685 -> 7647 (-0.49%)
helped: 7
HURT: 4
total nops in shared programs: 8228 -> 8203 (-0.30%)
nops in affected programs: 546 -> 521 (-4.58%)
helped: 9
HURT: 2
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986 >
2022-06-14 13:12:46 +00:00
Alejandro Piñeiro
481df13f27
nir: get res binding using component 0, instead of asssumig an uint
...
Needed to be able to call nir_opt_gcm on the v3dv driver. This change
is needed as on v3dv we honor vulkan resource index returning a vec2.
See commit 21b0a4c80c for more info.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16986 >
2022-06-14 13:12:46 +00:00
Christian Gmeiner
d364d445ad
isaspec: Handle patterns bigger then 64 bit
...
Currently uint64_t_to_bitmask(..) is used in combination with
the pattern 'match'. This only works for values smaller then
64 bit. Add support for bigger isa sizes.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16996 >
2022-06-14 12:35:39 +00:00
Christian Gmeiner
119d8488dd
isaspec: Extend split_bits(..) to accept a bitsize
...
Make split_bits(..) more generic.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16996 >
2022-06-14 12:35:39 +00:00
David Heidelberg
96f0944a69
ci/panfrost: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
2f474462f9
ci/crocus: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
df298cff15
ci/virgl: iris: disable Counter Strike 1.6 trace flaking
...
Changes very often, but does look correct.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
bb1af12b8a
ci/virgl: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
f58168850f
ci/iris: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
de9378e701
ci/llvmpipe: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
a7f7f2a1dd
ci/freedreno: fix A530 glmark2@ideas:speed=10000 trace
...
Just one-pixel change in rendering, look correct to me.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
David Heidelberg
e8cf79f664
ci/freedreno: add Blender, Warzone2100, Freedoom and Unvanquished traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16909 >
2022-06-14 11:52:45 +00:00
Iago Toral Quiroga
4a7446e4e4
v3dv: handle barriers at the end of a command buffer
...
Since we only consume barriers at the beginning of a new job, if
a command buffer ends with a barrier we will not handle it. Fix
this by emitting a noop job in that case to consume it. Ideally,
we could do better and check the pending barrier state to fine
tune the noop job so we don't wait on all queues, but for now
this fixes flakyness with some CTS pipeline barrier tests that
started to show up after we optimized binning sync barriers. It
is likely that the additional sync we had before that change was
enough to prevent the problem from showing up.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17020 >
2022-06-14 11:30:33 +00:00
Iago Toral Quiroga
d6702b99a2
v3dv: merge pending secondary barrier state into primary command buffers
...
When we switched to using structs to track barrier state we made a mistake
and started to overwrite barrier state in primary command buffers with
the pending state from secondary command buffers executed inside them, when we
should've been merging the state instead.
Fixes flakyness with some CTS barrier tests.
Fixes: f7ce42636c ('v3dv: use an explicit struct type to track barrier state')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17020 >
2022-06-14 11:30:33 +00:00
Iago Toral Quiroga
a97f78eb14
broadcom/compiler: disable flags optimization for loop conditions
...
This is not safe because it may skip regenerating the flags for the
loop condition in the loop continue block and these flags may be
stomped in the loop body by other conditionals.
Fixes: 9909fe6ba ('broadcom/compiler: Skip bool_to_cond where possible')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17020 >
2022-06-14 11:30:33 +00:00
David Heidelberg
2b0e45b18e
ci/etnaviv: gc2000: drop flakes from fails
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003 >
2022-06-14 11:23:57 +00:00
David Heidelberg
93173a3a58
ci/etnaviv: add recent flakes for gc2000
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003 >
2022-06-14 11:23:56 +00:00
David Heidelberg
7596c6d34e
ci/etnaviv: disable tests which takes too long
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003 >
2022-06-14 11:23:56 +00:00
David Heidelberg
b02c88680e
ci/etnaviv: add recent fails and remove 3 unexpected passes
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003 >
2022-06-14 11:23:56 +00:00
David Heidelberg
016f9e89d4
ci/etnaviv: sort fails.txt
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17003 >
2022-06-14 11:23:56 +00:00
Erik Faye-Lund
4ab49e2530
dzn: handle stencil-attachment-optimal layout
...
We missed this one, whoops.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16997 >
2022-06-14 10:35:59 +00:00
Erik Faye-Lund
7dc5255469
dzn: correct assert-condition
...
This logic accidentally got flipped in a refactoring. Let's correct it!
Fixes: e293691a99 ("dzn: Get rid of the render pass logic")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16997 >
2022-06-14 10:35:59 +00:00
Martin Roukala (né Peres)
427c34eeca
ci/valve: do not extract the install tarball on the runner
...
Until now, we have been extracing the install.tar image on the gitlab
runner before sharing it to the test machine through a MINIO bucket.
It turns out that hardlinks and symlinks do not get shared, so let's
just extract the tarball directly on the test machine to fix the issue.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16968 >
2022-06-14 06:51:59 +00:00
Samuel Pitoiset
cee1142fa3
ci: bump the hang-detection tool in the test image for Vulkan
...
I recently fixed one issue that triggered an assertion in the
Vulkan common code. This was because the tool allocated cmdbuf
from the wrong pool (in presence of multiple queues).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17002 >
2022-06-14 08:02:37 +02:00
Pavel Ondračka
fa645861af
r300: expose PIPE_CAP_LEGACY_MATH_RULES
...
We are already doing the 0*anything = 0 by default and we are also
using the DX versions of math ops like RCP. It looks like R300 and
R400 can't do IEEE math anyway (but its hard to tell without docs).
For R500 we can do IEEE math, but testing showed that some apps
are dependent on the DX behavior, so considering we only advertise
GLSL 1.20 where this is left ot the driver, just keep the curent
status and expose PIPE_CAP_LEGACY_MATH_RULES so that nine can stop
emiting math workarounds.
Also fixes two Xnine tests.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17007 >
2022-06-14 06:07:11 +00:00
Mike Blumenkrantz
fbcf65bfea
anv: VK_EXT_border_color_swizzle
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16992 >
2022-06-14 01:52:50 +00:00
Mike Blumenkrantz
efa58f6b47
lavapipe: VK_EXT_border_color_swizzle
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16992 >
2022-06-14 01:52:50 +00:00
Marek Olšák
4c5f7b86ec
gallium/u_threaded: fix buffer busyness tracking
...
The order of calls was incorrect.
Fixes: e9c41b3214 - gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5327
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Jonathan Strobl <jonathan.strobl@gmx.de >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16989 >
2022-06-14 01:25:27 +00:00
Jason Ekstrand
ce60195ecd
anv: Use NIR_PASS(_, ...)
...
I don't know when this was added but it's really neat and we should use
it instead of NIR_PASS_V since NIR_DEBUG=print and a few validation
things will work better.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17014 >
2022-06-13 22:31:25 +00:00
Jason Ekstrand
844a70f439
intel/compiler: Use NIR_PASS(_, ...)
...
I don't know when this was added but it's really neat and we should use
it instead of NIR_PASS_V since NIR_DEBUG=print and a few validation
things will work better.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17014 >
2022-06-13 22:31:25 +00:00
David Heidelberg
65bafa2a35
ci: uprev piglit 2022-06-09
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16946 >
2022-06-13 22:45:19 +02:00
Mike Blumenkrantz
399104f049
zink: fix up KILL to a more sensible log message
...
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17009 >
2022-06-13 15:20:25 -04:00
Mike Blumenkrantz
23892bff6b
zink: unset res->swapchain upon killing a swapchain
...
this otherwise causes the driver to make bad assumptions about
how the resource should be handled
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17009 >
2022-06-13 15:20:25 -04:00
Mike Blumenkrantz
ea9e30f9d2
zink: add implicit sync workaround for non-mesa drivers
...
implicit sync is hard, and many drivers get it wrong, so assume that
anyone who isn't mesa might need some hand-holding
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17009 >
2022-06-13 15:20:21 -04:00
Renato Pereyra
2ef6b0aab1
Revert "wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes"
...
This reverts commit 44a20baeb8 .
Signed-off-by: Renato Pereyra <renatopereyra@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16954 >
2022-06-13 17:58:46 +00:00
Renato Pereyra
ee587f202e
Revert "wsi/x11: Don't leak xcb_get_geometry_reply_t."
...
This reverts commit 24049b8771 .
Signed-off-by: Renato Pereyra <renatopereyra@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16954 >
2022-06-13 17:58:46 +00:00
Mike Blumenkrantz
4bee678df3
zink: defer old swapchain destruction
...
ensure that swapchains that are about to be presented asynchronously
cannot be destroyed
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932 >
2022-06-13 17:44:27 +00:00
Mike Blumenkrantz
1dfa19c541
zink: keep a count of async presents occuring for a given swapchain
...
this provides info about whether a swapchain is in use in another thread
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932 >
2022-06-13 17:44:27 +00:00
Mike Blumenkrantz
892f42271f
zink: use separate pointer for swapchain presents
...
this ensures that the same pointer is being accessed from the present
thread as was intended when the present was queued
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932 >
2022-06-13 17:44:27 +00:00
Alyssa Rosenzweig
9bdd0854ea
panvk: Use common CmdBeginRenderPass
...
The runtime already handles this.
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/16950 >
2022-06-13 17:27:36 +00:00
Alyssa Rosenzweig
f00e0bfd8a
panvk: Simplify depth clear preload condition
...
Easier to understand and equivalent in practice.
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/16950 >
2022-06-13 17:27:36 +00:00
Alyssa Rosenzweig
ec2bf34d97
panvk: Fix stencil clears of combined ZS images
...
If we have a combined Z/S image, the image has depth, so we proceed down the
depth path, which does not set clear.s even though there's *also* a stencil
component. Unify the control flow to fix this.
Fixes (among others):
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image.single_layer.d24_unorm_s8_uint_multiple_subresourcerange
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/16950 >
2022-06-13 17:27:36 +00:00
Alyssa Rosenzweig
588ee38351
panvk: Clear Z/S attachments without a shader
...
Rather than generating shaders to clear depth and stencil attachments, run the
rasterizer without a shader and configure the depth/stencil hardware to do the
clear. These settings are known to be efficient on Valhall, presumably the
depth/stencil pipeline on Bifrost is similar enough that it is also the
efficient way there. It's certainly much simpler.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16950 >
2022-06-13 17:27:36 +00:00
Alyssa Rosenzweig
03c34a8887
panvk: Remove unused pushmaps
...
These were removed in an earlier series containing ae77c207e0 ("panvk: Use push
constants for copy shaders"), but the unused variables hung around.
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/16950 >
2022-06-13 17:27:36 +00:00
Alyssa Rosenzweig
2136643a51
panvk: Don't specialize clear shaders for RT
...
On Bifrost and newer, blend descriptors are decoupled from render target. That
means we can always use a clear shader reading from blend_descriptor_0 and
specify the desired render target in the sole blend descriptor we pass.
Likewise on Bifrost and newer we don't need blend descriptors when we don't
blend, which is the case for the Z/S clears.
This reduces the number of shaders compiled on startup from 468 to 426.
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/16950 >
2022-06-13 17:27:36 +00:00
Samuel Pitoiset
4bd6519b6b
radv: remove remaining unused pCreateInfo pointers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Samuel Pitoiset
653ded5704
radv: update the check to determine if rasterization is enabled
...
Use radv_graphics_pipeline_info instead of pCreateInfo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Samuel Pitoiset
e8a0f514d4
radv: update the check to determine if dynamic sample location is needed
...
Use radv_graphics_pipeline_info instead of pCreateInfo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Samuel Pitoiset
15586cdaf8
radv: update the check to determine if dynamic discard rectangle is needed
...
Use radv_graphics_pipeline_info instead of pCreateInfo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Samuel Pitoiset
a42190b647
radv: update radv_is_vrs_enabled() to use radv_graphics_pipeline_info
...
pCreateInfo pointers have to be completely replaced for graphics
pipeline library.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Samuel Pitoiset
839b1f4e91
radv: remove redundant check when importing vertex input info
...
It's already checked by the caller.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16958 >
2022-06-13 16:46:32 +00:00
Mike Blumenkrantz
11e55bce49
zink: cap driver inlining using ssa allocation limit
...
usually inlining is optimal for cpu drivers since the majority of
time is spent in the shaders, and any amount of reduction to shader code
will be optimal
if, however, the shaders are still really big after inlining, this improvement
will be negated by the insane amount of time spent doing stupid llvm optimizer
passes, so check post-inline size to see whether it exceeds a size threshold
lavapipe release build - 1700% improvement
* spec@arb_tessellation_shader@execution@variable-indexing@tcs-output-array-vec4-index-rd-after-barrier
before: 142.15s user 0.42s system 99% cpu 2:23.14 total
after: 8.60s user 0.07s system 99% cpu 8.677 total
fixes #6647
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16977 >
2022-06-13 16:04:01 +00:00
Alyssa Rosenzweig
44223e5f28
panfrost: Disable CRC at <16x16 tile sizes
...
The hardware writes one CRC per (effective) tile, the tile size of the CRC
buffer is the same as the configured effective tile size. However, all our CRC
infrastructure assumes 16x16 tiles. In case CRC is used with smaller tiles,
buffer overflows and incorrect rendering are all possible. Don't use CRC at
smaller tile sizes. Note disabling CRC correctly invalidates any bound CRC
buffers.
Fixes: 2e97d7c835 ("panfrost: Transaction elimination support")
Closes : #6332
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16983 >
2022-06-13 15:46:12 +00:00
Alyssa Rosenzweig
cac0578ee5
panfrost: Inline pan_fbd_has_zs_crc_ext
...
It has a single user -- in a section of code that only runs for MFBD GPUs and
that has already decided whether to use CRCs -- so inlining it simplifies its
definition greatly and may avoid redeciding the CRC setting.
[Note for mesa-stable maintainers: This is not a bug fix but is marked for
backport so the next patch applies cleanly.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16983 >
2022-06-13 15:46:12 +00:00
Samuel Pitoiset
11bbcc423c
zink/ci: update list of expected failures with RADV
...
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/6597
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16974 >
2022-06-13 15:31:55 +00:00
Connor Abbott
3cd39c2b32
tu: Enable VK_KHR_swapchain_mutable_format
...
This is already implemented entirely in common code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16976 >
2022-06-13 14:58:32 +00:00
Denis Pauk
79b88852c8
panvk: Return VK_ERROR_INCOMPATIBLE_DRIVER for Midgard
...
Midgard is unsupported after merge of !16915
Signed-off-by: Denis Pauk <pauk.denis@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16991 >
2022-06-13 14:44:16 +00:00
Alyssa Rosenzweig
c43882ad54
panfrost: Allow pixels using discard to be killed
...
info.fs.sidefx considers discard() to be a side effect. That definition is...
dubious at best. It certainly isn't the definition needed for forward pixel
kill. The only reason pixels couldn't be killed by FPK is if the shader has side
effects in the sense of writing to memory. Use that more precise condition so
FPK works more often.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Closes : #5607
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16984 >
2022-06-13 14:23:55 +00:00
Francisco Jerez
96e7e92f0d
intel/fs/xehp+: Emit scheduling fence for all NIR barriers on platforms with LSC.
...
Tested-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/15743 >
2022-06-12 12:56:47 +03:00
Tapani Pälli
47773a5d7c
intel/fs: setup SEND message descriptor from nir scope
...
This fixes many tests in following groups on DG2:
dEQP-VK.memory_model.*
dEQP-VK.fragment_shader_interlock.*
v2: use memory scope and setup descriptor also
for barriers without defined scope (Curro),
use local scope and flush type none with
NIR_SCOPE_NONE scope, cleanups (Lionel)
v3: use LSC_FENCE_THREADGROUP for NIR_SCOPE_WORKGROUP,
remove default case (Curro), use eviction if scope
was not defined, use LSC_FENCE_GPU scope for vertex
stage
v4: use LSC_FENCE_TILE independent of stage for device
scope (Curro)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15743 >
2022-06-12 12:29:47 +03:00
Mike Blumenkrantz
92f9a509cf
zink: more lavapipe glcts fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16994 >
2022-06-11 21:04:48 +00:00
Mike Blumenkrantz
d64fbb8886
zink: warn on missing customBorderColorWithoutFormat
...
this is required
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16982 >
2022-06-11 13:42:42 +00:00
Eric Engestrom
92e61dcee5
docs: show and link to the new macOS CI
...
Show the badge with the status of the new macOS CI introduced in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16875 ,
and make it a link to the build details.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16941 >
2022-06-11 12:44:42 +01:00
Marek Olšák
9490ae5561
ac/gpu_info: clamp gart_size_kb and vram_size_kb to fix buggy kernel driver
...
amdgpu returns 12 TB of GTT on Kaveri, which resulted in 0 KB of GTT
after the conversion to uint32_t, which caused us to report 0 as the UBO
size, which disabled UBOs and downgraded the driver to OpenGL 3.0.
Fixes: aee8ee17a5 - radeonsi: change max TBO/SSBO sizes again and rework max alloc size
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6642
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
bdf3797aeb
ac,radeonsi: don't export null from PS if it has no effect on gfx10+
...
We just need to pass the uses_discard flag to the epilog.
The hw skips the export anyway. This will hang if SPI registers declare
an output format or KILL_ENABLE is set because those cases require
an export with done=1.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
e4b7088779
radeonsi: allocate only 1 GDS OA counter for gfx10 NGG streamout
...
It works with just one.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
0f48c581f9
radeonsi: allocate GDS only once per process
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
4d4bd7cb5b
winsys/amdgpu: add a kernel GDS management workaround retrying on -ENOMEM
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
dfa8dcf80e
radeonsi: remove streamout code from shaders if no streamout buffers are bound
...
This is an optimization using asynchronous shader compilation.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
dbbbe73d05
radeonsi: fix NGG streamout hang by allocating GDS in the right place
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
3f900df071
radeonsi: inline gfx10_emit_streamout_begin/end
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
002e34d860
radeonsi: unconditionally enable the streamout overflow query with NGG
...
It fails some tests, but we need it for gfx11.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
0f4f98ea50
radeonsi: fix a crash in gfx10_sh_query_get_result_resource
...
If tmp_buffer (in ssbo[1]) is NULL, setting the writable bit causes
the called function to access the NULL buffer.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
fc392ff104
radeonsi: fix an NGG streamout hang with monolithic shaders
...
ac_llvm_add_target_dep_function_attr has no effect if the function is
inlined.
amdgpu-gds-size determines m0 for ds_sub_u32 gds, which hangs if it's 0.
This helps both gfx10 and gfx11, though it will only be used by gfx11
after we enable streamout.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
a9f7744cfe
radeonsi: rework how vs_state_bits is set and unpacked
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
c2342e6770
radeonsi: move GS_STATE bits to the end to make space at the beginning
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
c9c7dcb619
radeonsi: rename and regroup VS_STATE definitions
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
091617002f
radeonsi: rework how VS_STATE_BITS are set for VS, TES, and GS
...
We need more GS/NGG bits, so we need to add current_gs_state for that.
This simplifies the logic in the draw code.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
928e5f240d
radeonsi: simplify how pipeline statistic offsets are computed
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
57b7dcd9db
radeonsi: add BREAK_BATCH at the beginning of IBs
...
to fix possible issues if the previous IB comes from a different app
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
eea46094ff
radeonsi: set INTERPOLATE_COMP_Z to 0 to work around an EQAA bug
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
4f3c74ddfb
radeonsi: determine DB_SHADER_CONTROL in si_shader_ps
...
This is cleaner and more flexible.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
8e879dcedd
radeonsi: restructure PS no-export fixups
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
7cbea71aab
radeonsi: fix polygon stippling without color and Z outputs (v2)
...
We need to handle the fact that it kills pixels.
v2: also update si_update_ps_inputs_read_or_disabled
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
56359e9f6e
radeonsi: remove unused dword from wait_mem_scratch
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
8e0d34ce98
radeonsi: fix uninitialized wait_mem_scratch_tmz
...
The initialization was dead code because it's allocated later.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
705e9af29a
radeonsi: don't use info.gs.invocations if it's not GS
...
It's a union, which makes gs.invocations undefined for VS and TES.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
3b9cd2469e
radeonsi: print LDS size in bytes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Marek Olšák
8edafaa25c
winsys/amdgpu: use AMDGPU_IB_FLAG_PREAMBLE for the CS preamble on gfx10+
...
This skips the preamble for following IBs if the queue receives IBs from
the same context back-to-back. This eliminates VGT_FLUSH (for tess and
legacy GS) and PS_PARTIAL_FLUSH (for gfx11) in those cases if the preamble
contains them.
v2: only use this on gfx10+ due to stability issues on Stoney and limited
testing
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16885 >
2022-06-11 11:14:16 +00:00
Konstantin Seurer
1592921c59
radv: Move some rt intrinsics to the top
...
We need to move tr intrinsics to the top of the
shader that might be overwritten by
nir_intrinsic_rt_trace_ray.
Fixes the Khronos reflection sample.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16889 >
2022-06-11 09:30:56 +00:00
Erik Faye-Lund
cbcdcc412c
dzn: enable binding_model tests
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16904 >
2022-06-10 22:14:14 +00:00
Erik Faye-Lund
5288fe31b4
microsoft/spirv_to_dxil: lower cube-images to 2d arrays
...
textureLoad() doesn't work on cube images. We need to lower cube
images to 2D arrays.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16904 >
2022-06-10 22:14:14 +00:00
Erik Faye-Lund
00837c6bef
microsoft/compiler: make sampler-lowering optional
...
We don't want this in DZN, so let's make it optional.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16904 >
2022-06-10 22:14:14 +00:00
Erik Faye-Lund
fff03d2bd3
microsoft/compiler: mark image-functions as such
...
These functions only deal with images, so let's make that clear.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16904 >
2022-06-10 22:14:14 +00:00
Erik Faye-Lund
b386802bb9
d3d12: move cubemap-lowering to common-code
...
We're going to want to do part of this in DZN as well.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16904 >
2022-06-10 22:14:14 +00:00
Mike Blumenkrantz
98d7a9a9e4
zink: run copy_prop_vars during optimization
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16973 >
2022-06-10 21:10:51 +00:00
Mike Blumenkrantz
5a95c6b328
zink: rewrite atomic ssbo intrinsics as atomic derefs
...
todo--
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16973 >
2022-06-10 21:10:51 +00:00
Mike Blumenkrantz
0afb2e34c2
zink: more requirement docs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16981 >
2022-06-10 20:53:34 +00:00
Mike Blumenkrantz
3b8e4457d2
zink: add feature req for border colors
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16981 >
2022-06-10 20:53:34 +00:00
Mike Blumenkrantz
6b38907b7f
zink: fix feature requirement
...
this is ARB_texture_buffer_object_rgb32, and both bits are needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16981 >
2022-06-10 20:53:34 +00:00
Georg Lehmann
9ccc683973
anv: Implement VK_EXT_non_seamless_cube_map.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12730 >
2022-06-10 18:31:57 +00:00
Pierre-Eric Pelloux-Prayer
3d37291e1c
radeonsi: prevent recursion in si_decompress_dcc
...
This avoids u_blitter recursion:
#0 util_blitter_set_running_flag
#1 util_blitter_custom_color
#2 si_blit_decompress_color
#3 si_decompress_dcc
#4 si_texture_disable_dcc
#5 si_update_ps_colorbuf0_slot
#6 si_bind_ps_shader
#7 util_blitter_restore_fragment_states
#8 util_blitter_custom_color
#9 si_blit_decompress_color
#10 si_decompress_dcc
#11 si_sdma_copy_image
#12 si_blit
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16962 >
2022-06-10 17:40:18 +00:00
Pierre-Eric Pelloux-Prayer
813e60f1ea
tradeonsi: fix preamble state producing incorrect packets
...
If the first time the preamble is written, one of the rings
isn't allocated, we wouldn't write the RING_SIZE to the preamble.
Later, when the preamble gets updated after the ring allocation,
the new RING_SIZE packet would overwrite other packets.
To prevent this, always write the RING_SIZE (the alternative would
be to write NOP packets).
This fix "*ERROR* Illegal register access in command stream" hangs
I observed on GFX8.
Fixes: 32c7805ccc ("radeonsi: merge all preamble states into one")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16962 >
2022-06-10 17:40:18 +00:00
Georg Lehmann
dcdd31ae96
aco: Remove r128_a16 MIMG builder option.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16969 >
2022-06-10 15:51:26 +00:00
Georg Lehmann
0ca6653ada
aco: Print r128/a16 MIMG bits separately.
...
These both exist since Navi and we can have instructions which are one but
not the other.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16969 >
2022-06-10 15:51:26 +00:00
Samuel Pitoiset
1dd2915298
zink/ci: skip two KHR-GL46 tests that timeout most of the time with RADV
...
Also timeout in vk-cts-image.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16972 >
2022-06-10 15:38:50 +00:00
Samuel Pitoiset
8f0e8808c0
radv/ci: rename deqp-XXX jobs to vkcts-XXX
...
This looks clearer and will avoid confusion with future Zink CI testing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16943 >
2022-06-10 15:16:11 +00:00
Danylo Piliaiev
19682028eb
tu/autotune: Prevent division by zero
...
src/freedreno/vulkan/tu_autotune.c:509:48: runtime error: division by zero
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16967 >
2022-06-10 14:09:59 +00:00
Danylo Piliaiev
4846d53b18
turnip: Fix out-of-bounds builder->shader_iova access
...
src/freedreno/vulkan/tu_pipeline.c:1722:72: runtime error: index 5 out of bounds for type 'uint64_t [5]'
Fixes: 05329d7f9a
("tu: Implement pipeline caching with shared Vulkan cache")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16967 >
2022-06-10 14:09:59 +00:00
Erik Faye-Lund
003d052810
ci/windows: add back build-error detection
...
This was accidentally broken while refactoring the script.
Fixes: bf3c772e5e ("ci: Improve vs2019 mesa_build.ps1 for remove the need of cmd.exe")
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16965 >
2022-06-10 12:36:59 +00:00
Chia-I Wu
3933752c7f
turnip: force sample interpolations for sample shading
...
Sample shading has similiar definitions in Vulkan and OpenGL, and they
both require unique associated data. While the definition for Vulkan
might change, we should stick to the current definition until the change
takes place and until apps (i.e., ANGLE) are updated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16700 >
2022-06-10 12:08:32 +00:00
Boris Brezillon
d9ec7df2f4
nir: Fix flat new_var assignment in create_new_io_vars()
...
If the type is not an array, glsl_get_length() returns 0 and we don't
update the new_vars[]/flat_vars[] entries.
Fixes: bcd14756ee ("nir/lower_io_to_vector: add flat mode")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16960 >
2022-06-10 08:06:46 +00:00
Boris Brezillon
b12417a2c7
microsoft/compiler: Lower fquantize2f16
...
As far as I can't tell, there's no native operation doing this
equivalent of fquantize2f16. Let's lower this operation to
if (val < MIN_FLOAT16)
return -INFINITY;
else if (val > MAX_FLOAT16)
return -INFINITY;
else if (fabs(val) < SMALLER_NORMALIZED_FLOAT16)
return 0;
else
return val;
which matches the definition of OpQuantizeToF16:
"
If Value is an infinity, the result is the same infinity.
If Value is a NaN, the result is a NaN, but not necessarily the same NaN.
If Value is positive with a magnitude too large to represent as a 16-bit
floating-point value, the result is positive infinity. If Value is negative
with a magnitude too large to represent as a 16-bit floating-point value,
the result is negative infinity. If the magnitude of Value is too small to
represent as a normalized 16-bit floating-point value, the result may be
either +0 or -0.
"
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16959 >
2022-06-10 07:45:05 +00:00
Kristian H. Kristensen
279f32e042
util/u_debug: Use 'initialized' instead of 'first'
...
Using 'initialized' to guard the one-time init, means it can be set to
false as part of .bss instead setting 'first' to true in .data. This
is more efficient and works at .ctor time.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16952 >
2022-06-10 06:56:04 +00:00
Mike Blumenkrantz
1f323437df
zink: add new flakes
...
these take a while to run and I don't want anyone failing ci
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16957 >
2022-06-09 23:57:43 -04:00
Emma Anholt
070ce23078
crocus: Enable PIPE_CAP_LEGACY_MATH_RULES.
...
Now that TTN hooks this up to use_legacy_math_rules, we can flip the
switch and gallium nine can get the desired behavior from the hardware
instead of emitting math workarounds.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
fa118be9ae
iris: Enable PIPE_CAP_LEGACY_MATH_RULES.
...
Now that TTN hooks this up to use_legacy_math_rules, we can flip the
switch and gallium nine can get the desired behavior from the hardware
instead of emitting math workarounds.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
3d4eaba63a
Revert "nine: Disable optional use of TTN when MUL_ZERO_WINS is available."
...
This reverts commit 7f01299c40 .
Now that I've got it hooked up to use_legacy_math_rules on the NIR side
and made sure that NIR frontends on drivers with
PIPE_CAP_LEGACY_MATH_RULES handle it, we should be able to enable this
again.
Fixes : #5678
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
c761f9bde5
gallium: Rename PIPE_CAP_TGSI_LEGACY_MATH_RULES to drop "TGSI"
...
Now NIR drivers can implement it as well.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
b61097dd45
tgsi_to_nir: Set use_legacy_math_rules for TGSI_PROPERTY_LEGACY_MATH_RULES.
...
These control the same behavior, now that we've clarified what the flags
do.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
1e2e52eff7
nouveau/nir: Implement mul_zero_wins behavior for use_legacy_math_rules.
...
This is the same flag TGSI sets for LEGACY_MATH_RULES.
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Tested-by: Mobin Aydinfar <mobin@mobintestserver.ir >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
a05bfff8cb
r600/sfn: Implement 0*x=0 behavior for use_legacy_math_rules.
...
The TGSI backend chooses these opcodes for LEGACY_MATH_RULES, so do the
same thing here for ARB programs which want the same behavior.
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
c93e5a7c94
nir_to_tgsi: Set LEGACY_MATH_RULES cap for use_legacy_math_rules shaders.
...
This should help get correct math for ARB_fp/vp after the NTT transition,
and will be used for wine nine shortly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
76b203eb39
gallium: Rename MUL_ZERO_WINS to LEGACY_MATH_RULES.
...
This is a clearer name for what it does than MUL_ZERO_WINS, and matches up
to the new name in shader_info.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:32 +00:00
Emma Anholt
cf265c6606
nir: Rename is_arb_asm to use_legacy_math_rules and document its meaning.
...
On iris and crocus, this flag is used to set "alt mode" math on the shader
as a whole. Some other drivers have a similar mode for DX9/ARB-program
behavior, so document what it does so we can start using it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:32 +00:00
Mike Blumenkrantz
0d90b168d8
zink: update tu a630 baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16956 >
2022-06-09 23:09:16 -04:00
Mike Blumenkrantz
bbe5136658
zink: fix 32bit bo rewriting
...
this was correct for 64bit loads and manually converted 32bit loads (e.g., bindless),
but it was broken for the case where 64bit was not supported, as the offset wasn't
being correctly adjusted
break out the offset division to hopefully make this a little clearer
Fixes: 150d6ee97e ("zink: move all 64-32bit shader load rewriting to nir pass")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
ea8fc23119
zink: avoid adding more 64bit alus during bo rewriting
...
nir_unpack_64_2x32 isn't supported, but split is, so use that
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
cdaa601de3
zink: scalarize when rewriting explicit 64bit io
...
all of ntv requires scalarized io since the offsets are now array indices
instead of byte offsets, so enforce scalarization here to avoid breaking
the universe
Fixes: 150d6ee97e ("zink: move all 64-32bit shader load rewriting to nir pass")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
5b2f850425
zink: rewrite 64bit shader i/o as 32bit
...
zink can't use lower_io, so this all has to be done manually and in
excruciating depth and detail
fixes (tu):
KHR-Single-GL46.arrays_of_arrays_gl.InteractionFunctionCalls2
KHR-GL46.gpu_shader_fp64.fp64.named_uniform_blocks
KHR-GL46.gpu_shader_fp64.fp64.varyings
KHR-GL46.vertex_attrib_binding.advanced-bindingUpdate
KHR-Single-GL46.enhanced_layouts.varying_array_components
KHR-Single-GL46.enhanced_layouts.varying_array_locations
KHR-Single-GL46.enhanced_layouts.varying_components
KHR-Single-GL46.enhanced_layouts.varying_locations
KHR-Single-GL46.enhanced_layouts.xfb_explicit_location
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.highp_mat3x4
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_vec3
dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_vec4
dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.highp_vec3
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
5ff65a6ae7
zink: implement nir_op_unpack_64_2x32 in ntv
...
it's really annoying to not have the full suite of these, so just do it
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
24725e572e
zink: improve/expand manual xfb emission
...
I left this semi-unfinished back when I discovered that I could blast
out xfb values inline with variable declarations, but this is not viable
for all scenarios, so it has to work and it has to be able to pass cts
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
26338c4abb
zink: if a variable is flagged as being xfb, treat it as manual xfb output
...
this allows passes to flag variables as "needs manual action" for further
handling later on
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
e9d28cbe3f
zink: fix variable locations in manual xfb emission
...
the last output isn't always only consuming 1 slot, so ensure that the
xfb outputs begin at the appropriate place
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
fd516b0a9f
zink: flag all shader i/o variables as !is_xfb
...
reclaiming this flag for internal use
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
31ba19ff68
zink: fix ntv partial stores
...
the previous conditional here was stupid and wrong: it should be comparing
to see whether the writemask is the full mask of the type's size
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
b59d67431d
zink: run more int64 passes during optimization loop if int64 isn't available
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
7c75ce6204
zink: don't lower pack/unpack intrinsics
...
this just ends up propagating the bitsize that we don't want, making it
harder to remove them later
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
3d8131341b
zink: always scalarize pack/unpack alu ops
...
these are tricky
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
b1f684c80b
zink: run nir_lower_alu_to_scalar in optimizer loop for 64bit lowering
...
ensure that pack/unpack ops aren't passing swizzles since those are hard
to implement
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
941046be80
zink: break out nir alu typing in ntv
...
this is reusable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Mike Blumenkrantz
02a3a5ff31
zink: flag optimization pass after inlining uniforms
...
this probably generated some pretty gnarly code
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669 >
2022-06-10 02:35:12 +00:00
Kenneth Graunke
a8e718c7e5
intel/compiler: Fix A64 header construction with a uniform address
...
fs_visitor::assign_curb_setup() maps UNIFORM registers to HW regs,
and contains the following assert:
assert(inst->src[i].stride == 0);
emit_a64_oword_block_header's striding tricks run afoul of this
restriction, by producing stride 1 values on a 64-bit UNIFORM source.
Work around this by copying the UNIFORM value to a VGRF first.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16938 >
2022-06-10 02:14:57 +00:00
Jason Ekstrand
30b57f10b3
vulkan/wsi: Signal semaphores and fences from the dma-buf
...
Instead of attempting to signal based on the memory object, use the new
DMA_BUF_IOCTL_EXPORT_SYNC_FILE to get a sync_file for the dma-buf and
use that to signal the semaphore or fence. Because this happens before
we transfer ownership back to the driver, the resulting sync_file should
only contain dma_fences from the compositor and/or display and shouldn't
be mixed up with the driver in any way. This gives us a real semaphore
and fence (as opposed to the dummy objects we've used int the past)
without over-synchronization.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
18bd05827d
vulkan/wsi: Set memory ownership after signaling fences and semaphores
...
This isn't a functional change today because the set of drivers which
use set_ownership and those that use signal_fence/semaphore_for_memory
are mutually exclusive. It's important for the next commit, though.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
6930f08860
vulkan/wsi: Re-arrange QueueSubmit code in wsi_common_queue_present
...
Instead of treating the blit submit specially in the buffer_blit_queue
case, treat the dummy submit as special. This lets us keep all the
handling of special-queue blits together. It also means that the
wsi_memory_signal_submit_info gets chained into the final submit which
is what we want if we're to rely on it for implicit sync. If we chain
it into the dummy submit, we'll implicit sync on all work previous to
the blit but not the blit. This won't work if X11 or a Wayland
compositor is depending on that to synchronize the linear copy.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
bee3d2e156
vulkan/wsi: Reset fences earlier in wsi_common_queue_present
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
d211f4891a
vulkan/wsi: Use a STACK_ARRAY for stage_flags
...
This avoids the heap allocation in the common case.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jesse Natalie
e60bb58de7
dzn: Init sync types before wsi
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
0c764afac1
turnip: Set supported_sync_types before wsi_init
...
The WSI code is about to start querying for available semaphore handle
types via GetPhysicalDeviceExternalSemaphoreProperties in wsi_init().
For drivers that use vk_sync, supported_sync_types needs to be
initialized before GetPhysicalDeviceExternalSemaphoreProperties is
called. Really, wsi_init() should be the very last step of physical
device setup.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
4c95b574d1
turnip: Use the common QueuePresent implementation
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
513d73b160
turnip: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
12920b227f
pvr: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
384c31425a
lavapipe: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
e60ff7f1aa
radv: Drop create_sync_for_memory
...
Also, stop setting wsi_device::signal_semaphore/fence_with_memory
because those cause the WSI code to call the function we just dropped.
Since the core WSI code is now setting dummy syncs by default, we don't
need any of this anymore.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
3ed70d775c
v3dv: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
a09e08ae95
panvk: Use the common AcquireNextImage implementation
...
The only reason for the wrapper was so that we could dummy signal the
semaphore and fence. Now that the WSI code always dos this for us, we
can drop our wrapper.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
b03216de9c
wsi: Always signal semaphores and fences in wsi_common_acquire_next_image
...
If the driver wants to do something special, it can reset the semaphore
or fence again and re-signal it. Sure, that wastes a malloc/free but
this is the window-system path. It'll be fine.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
e32892130f
vulkan/wsi: Fix a signal_semaphore_with_memory check
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Jason Ekstrand
a820dc4a8e
anv/wsi: Stop resetting semaphores
...
This will happen automatically when they're waited on by the dummy
submit in wsi_common_queue_present().
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4037 >
2022-06-10 01:33:12 +00:00
Kenneth Graunke
18b3ad5a09
intel: Set a more useful fake devinfo->gtt_size in no-hw mode
...
With the old value, anv didn't think that the hardware supported 48-bit
addresses, and hit this assert:
assert(device->supports_48bit_addresses == !device->use_relocations);
The new value of 1ull << 48 is the one reported on my Icelake machine.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16933 >
2022-06-10 00:56:36 +00:00
Ian Romanick
65d6708bc3
anv: Remove FS executables when applying the null FS optimization
...
If the executables are still hanging out,
anv_GetPipelineExecutableStatisticsKHR will try to dereference NULL
pointers in pipeline->shaders[MESA_SHADER_FRAGMENT].
At least in terms of fossil-db output, this matches the behavior from
before 73b3efcd59 .
Fixes: 73b3efcd59 ("anv: Handle the null FS optimization after compiling shaders")
Closes : #6590
Reviewed-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/16898 >
2022-06-10 00:22:05 +00:00
Georg Lehmann
17818800d0
radv: Implement VK_EXT_non_seamless_cube_map.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12729 >
2022-06-09 23:39:43 +00:00
Georg Lehmann
d5d16a4f00
vulkan: Spec update to 1.3.217.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12729 >
2022-06-09 23:39:43 +00:00
Vasily Khoruzhick
570020c810
lima: implement lima-specific blitter
...
It should be more efficient than u_blitter since it skips
vertex shader stage. Also it's a prerequisite for supporting
MSAA since u_blitter can't do MSAA resolve for us.
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16686 >
2022-06-09 23:25:02 +00:00
Jason Ekstrand
133620196d
compiler/types: Don't place members in the previous substruct's end padding
...
With the following structures :
struct StructA
{
uint64_t value0;
uint8_t value1;
};
struct TopStruct
{
struct StructA a;
uint8_t value3;
};
Currently offsetof(struct TopStruct, value3) = 9. While the same code
on the CPU gives offsetof(struct TopStruct, value3) = 16.
This is impacting OpenCL kernels we're trying to use to build
acceleration structures.
v2: Add comment/link to some description of the alignment/size
computation
Cc: mesa-stable
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/16940 >
2022-06-09 22:55:37 +00:00
Emma Anholt
2aeb83117a
.gitignore: Qualify the path for the ignored build directory.
...
This was origally added for scons, which is gone, but keep it around since
enough people use "build" for their meson builds that you probably
shouldn't add anything to git under that name. The qualifying '/' is
needed because we have a .gitlab-ci/build/ directory where we do check in
code.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16827 >
2022-06-09 22:53:37 +00:00
Emma Anholt
d2677cb6d7
mesa/st: Abort the linking on driver link failure.
...
If the driver said it can't do the shader, then listen to it and don't ask
it to create the shaders anyway. Fixes a bunch of spam on i915/r300 (with
!16878 ) about unsupported opcodes during dEQP runs.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16895 >
2022-06-09 22:28:01 +00:00
Emma Anholt
c426e21ff1
turnip: Reverse the order of walking pipes or tiles on odd rows.
...
This improves the cache locality compared to raster order. Improves
gfxbench vk-5-normal perf by 3.3009% +/- 0.105934% (n=3).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16917 >
2022-06-09 20:36:42 +00:00
Chia-I Wu
790fc8455f
ci/turnip: add a link to VkPhysicalDeviceMemoryProperties failure
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16939 >
2022-06-09 19:55:32 +00:00
Emma Anholt
e8d4eaf172
ci/iris: Disable skqp until it can be stabilized.
...
It keeps blocking marge with flakes across many different tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16951 >
2022-06-09 18:35:24 +00:00
Yonggang Luo
0ef513699d
util: Add unittest for timespec_get
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
ef44bbdbed
util: Remove unused function timespec_passed
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
1cc1ebdc46
util: always enable timespec_test.cpp
...
c11/time.h always contains `struct timespec` now
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
5abf590c71
util: Remove usage of designated initializers in timespec_test.cpp
...
As the default option for msvc 2019 does support designated initializers
```
../src/util/tests/timespec_test.cpp(302): error C7555: use of designated initializers requires at least '/std:c++20'
../src/util/tests/timespec_test.cpp(303): error C7555: use of designated initializers requires at least '/std:c++20'
../src/util/tests/timespec_test.cpp(312): error C7555: use of designated initializers requires at least '/std:c++20'
../src/util/tests/timespec_test.cpp(313): error C7555: use of designated initializers requires at least '/std:c++20'
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
672a93cd6d
util: Use timespec_get directly, it's always present
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
65d5ee4012
c11: Implement timespec_get on win32 properly when not available
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
b2ddec4e98
c11: Implement c11/time.h with c11/impl/time.c
...
Create c11/time.h instead of put timespec_get in `c11/threads.h`
Creating impl folder is used to avoid `#include <time.h>` point the c11/time.h file
Detecting if `struct timespec` present with meson
Define TIME_UTC in `c11/time.h` instead `c11/threads.h`
Define `struct timespec` in `c11/time.h` when not present.
Implement timespec_get in c11/impl/time.c instead threads.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:34 +00:00
Yonggang Luo
fe01757ddf
c11/threads: Remove the detecting code for HAVE_TIMESPEC_GET in threads_win32.h
...
The meson already detecting it properly now, so remove the duplicated detecting code
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:33 +00:00
Yonggang Luo
a6dd77149a
meson: Fixes timespec_get detect code
...
Add functions_to_detect dictionary to records the paths to include
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15497 >
2022-06-09 17:23:33 +00:00
Jesse Natalie
cc805aef69
d3d12: Properly set HS input control point count
...
Looks like some hardware needs this info in the shader to match the
topology. Since there's no spot in the shader info for it, we're
currently using the array size of the TCS input vars to store it.
Cc: mesa-stable
Reviewed-by: Paul Dodzweit <paul.dodzweit@amd.com >
Tested-by: Paul Dodzweit <paul.dodzweit@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16920 >
2022-06-09 17:08:18 +00:00
Konstantin Seurer
08577bbb70
nir/nir_lower_io: Optimize 32-bit inbounds access
...
Perform address calculation in 32 bits when
dealing with inbounds array derefs.
Closes : #6562
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16729 >
2022-06-09 16:20:16 +00:00
Konstantin Seurer
f19cbe98e3
nir,spirv: Preserve inbounds access information
...
Preserving information about inbounds access and
the required bit size for the bounds will help
with avoiding 64-bit operations when lowering io.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16729 >
2022-06-09 16:20:16 +00:00
Boris Brezillon
e6301b886b
dzn: Enable depth-bounds testing
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16948 >
2022-06-09 08:21:14 -07:00
Boris Brezillon
9feda65a83
dzn: Use CreatePipelineState()
...
This way we can easily extend the logic to support new features, like
depth-bounds testing.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16948 >
2022-06-09 08:21:09 -07:00
Boris Brezillon
83c7fab53f
dzn: Drop an unused argument passed to dzn_graphics_pipeline_translate_vi()
...
The 'out' argument is not used, let's drop it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16948 >
2022-06-09 08:21:04 -07:00
Boris Brezillon
185bae4c60
dzn: Switch to ID3D12Device2
...
So we can use the CreatePipelineState method and unlock new features
like depth-bounds tests.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16948 >
2022-06-09 08:20:54 -07:00
Mike Blumenkrantz
ee1a0a0772
zink: always create descriptor templates
...
the 'notemplates' debug mode is somewhat misleading since there's no
uncached+notemplates mechanism, meaning that if the descriptor cache
explodes it'll still use templates for updating in the fallback path
Fixes: 4e3768914d ("zink: add ZINK_DESCRIPTORS env var to explicitly set a mode")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16927 >
2022-06-09 12:17:45 +00:00
Mike Blumenkrantz
3156a5705d
zink: fix buffer descriptor hashing
...
since all the buffers are now an array descriptor, hashing needs
to iterate over all the descriptors in order to be accurate
Fixes: a7327c7cac ("zink: implement indirect buffer indexing")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16927 >
2022-06-09 12:17:45 +00:00
Mike Blumenkrantz
b818c0862b
zink: simplify some compiler bo code
...
this is a bit easier to read
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16927 >
2022-06-09 12:17:45 +00:00
Yurii Kolesnykov
bcc22b9e4d
Init macOS GitHub Action
...
Closes #6517
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16875 >
2022-06-09 09:24:52 +00:00
Yurii Kolesnykov
69b95b7839
Remove Travis CI config
...
Closes #4919
Signed-off-by: Yurii Kolesnykov <root@yurikoles.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16875 >
2022-06-09 09:24:52 +00:00
Juan A. Suarez Romero
ef6cc03b17
v3d: add ARB_polygon_offset_clamp extension support
...
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/16925 >
2022-06-09 09:05:58 +00:00
Icecream95
a2463ec271
panfrost: Constant stencil value tracking
...
If stencil is constant across the resource, then it can be treated as
if it was cleared.
Improves performance in applications which create a stencil buffer but
do not use it. Originally the same was done for depth to help some 2D
applications, but that gave mixed results so the patch was dropped.
v2: Don't do anything if a fragment job wouldn't be needed otherwise.
v3: Set stencil_value when a batch is cleared (Alyssa)
v4: Handle clears when the stencil is already known (Alyssa)
v5: Make sure shared resources are not used (Alyssa)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16646 >
2022-06-09 08:51:09 +00:00
Samuel Pitoiset
79877d5df5
radv: advertise VK_EXT_primitives_generated_query
...
Pass all dEQP-VK.transform_feedback.primitives_generated_query.*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
1ebf463a5a
radv: implement VK_EXT_primitives_generated_query
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
e0edf8d240
radv: add few helpers related to streamout
...
Streamout must be enabled for the PRIMITIVES_GENERATED query to work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
f3daf7ce40
radv: flush the NGG query state when the argument is declared
...
When primitives generated query is used, the driver also needs to
emulate counting for NGG VS/TES.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
fe57fe1fd8
ac/nir/ngg: count the number of generated primitives for VS and TES
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
60b07a0ab2
radv: declare the NGG query argument for primitives generated query
...
To emulare counting for NGG VS/TES.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
11734f935a
radv: add primitives_generated_query to the graphics pipeline key
...
Different shader variants will be used to not hurt when the features
aren't enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
dc8cf44f60
radv: track if primitives generated query features are enabled
...
This will be used to conditionally declare the NGG query argument
for NGG VS/TES and also adjust the NGG shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Samuel Pitoiset
3efbbf9588
radv: rename ngg_gs_state to ngg_query_state
...
This state will be used by NGG VS and NGG TES too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15639 >
2022-06-09 08:02:39 +00:00
Erico Nunes
6b9b28f94e
lima/ci: Don't skip piglit opengl 1 tests
...
Some extensions and features we support only get covered in this space.
We still get a 10min runtime, so it makes sense to include them from
now on.
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/16928 >
2022-06-09 07:48:29 +00:00
Charmaine Lee
704c9b2825
svga: fix shared memory index
...
State tracker only declares one shared memory for GLSL and all
references to the shared memory are with index 0.
So fix the shared memory index in the declaration to use 0 index.
Fixes spec@arb_compute_shader@execution@shared*
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16930 >
2022-06-09 07:40:30 +00:00
Charmaine Lee
d9aedaa795
svga: fix reference to NULL offset for atomic counter
...
ntt does not supply an offset source for HWATOMIC.
So no need to reference the offset source for HWATOMIC.
Fixes spec@arb_compute_shader@execution@basic*
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16930 >
2022-06-09 07:40:30 +00:00
Timothy Arceri
893b4d98f8
glsl: inline do_common_optimization() call
...
The function was previously a helper for when some drivers still
called the GLSL IR optimisations in a loop. No drivers do that
anymore.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16924 >
2022-06-08 22:58:50 +00:00
Timothy Arceri
d09a37ef54
glsl: remove never true do_dead_code() parameter
...
Since we have now switched all drivers to using NIR and therefore
the NIR based uniform linker this param never needs to be set to
true so remove it.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16924 >
2022-06-08 22:58:50 +00:00
Dylan Baker
3223f5b63f
docs: link releases notes for 21.3.9
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16931 >
2022-06-08 22:04:43 +00:00
Dylan Baker
c44ece1679
docs Add sha256 sums for 21.3.9
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16931 >
2022-06-08 22:04:43 +00:00
Dylan Baker
d413674160
docs: add release notes for 21.3.9
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16931 >
2022-06-08 22:04:43 +00:00
Jason Ekstrand
4655ff1f5b
nir/deref: Handle RESTRICT for SSBO deref bindings
...
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
8492e78f9d
nir/deref: Handle SSBO array bindings specially
...
Instead of just checking for the variables to match, check that the
entire deref up to the interface type matches.
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
a5b1274275
nir/vars_tests: Use nir_var_mem_global instead of ssbo
...
We're about to add a bunch of SSBO special cases which will depend on
SSBOs always being either structs or arrays of structs. All those
little vector SSBOs we're creating will no longer be valid. Switch to
nir_var_mem_global to avoid this.
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
2d221c64e7
nir: Increase nir_variable_data::mode to 16 bits
...
This is required if we want to have variables with nir_var_mem_global
which we will for CL eventually. Also, they're useful in unit tests
because they're the most generic thing imaginable and can't get
eliminated by normal means.
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
0ad2dfe942
nir/deref: Re-arrange variable checks in compare_deref_paths
...
Instead of having a bunch of mode checks as special cases, assert that
the modes equal and then switch on the mode. This should make the
special cases a bit easier to understand. Handling of `a_var == b_var`
looks redundant now but it won't be in the next patch.
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
130d9d80db
nir/deref: Make compare_deref_paths take a stop callback
...
This will let us use it to compare only the first part of a pair of
deref paths and continue the comparison later.
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
7ebcdada00
nir/deref: Use an index in compare_deref_paths
...
Instead of incrementing pointers, use an integer index. This makes it
clear that we always increment them together. It'll also make the next
change a bit easier. We use a pointer to an integer because the next
patch is going to let us abort the walk and we want to be able to
continue where we left off.
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Jason Ekstrand
4d80b3217e
nir/deref: Break out a helper for compare_deref_paths
...
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Rhys Perry
cb5c1bcb7c
nir/deref: stop assuming coherent accesses of different SSBOs may alias
...
Whether it's coherent should be irrelevant and the ACCESS_RESTRICT check
above should consider all cases aliasing unless NIR makes it clear they're
not.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894 >
2022-06-08 21:30:59 +00:00
Georg Lehmann
5ebb014bdf
radv, aco: Round texture array layer in NIR.
...
Foz-DB Navi21:
Totals from 9100 (6.75% of 134913) affected shaders:
VGPRs: 609912 -> 610104 (+0.03%); split: -0.01%, +0.05%
SpillSGPRs: 1459 -> 1489 (+2.06%)
CodeSize: 66705920 -> 66620288 (-0.13%); split: -0.13%, +0.00%
MaxWaves: 148546 -> 148518 (-0.02%); split: +0.00%, -0.02%
Instrs: 12278485 -> 12255821 (-0.18%); split: -0.19%, +0.00%
Latency: 277414916 -> 277261192 (-0.06%); split: -0.08%, +0.02%
InvThroughput: 48431180 -> 48394637 (-0.08%); split: -0.11%, +0.03%
VClause: 250866 -> 251062 (+0.08%); split: -0.04%, +0.11%
SClause: 498377 -> 498173 (-0.04%); split: -0.08%, +0.04%
Copies: 652835 -> 655371 (+0.39%); split: -0.09%, +0.48%
Branches: 284367 -> 284371 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 498580 -> 498477 (-0.02%)
PreVGPRs: 558436 -> 558709 (+0.05%); split: -0.01%, +0.06%
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16871 >
2022-06-08 20:57:22 +00:00
Georg Lehmann
1b68d3e43a
nir/lower_tex: Add lower_array_layer_round_even option.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16871 >
2022-06-08 20:57:22 +00:00
Konstantin Seurer
2cb0c9ea13
radv: Advertise VK_KHR_ray_tracing_maintenance1
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
16585664cd
radv: vkCmdTraceRaysIndirect2KHR
...
This changes the trace rays logic to always use
VkTraceRaysIndirectCommand2KHR and implements
vkCmdTraceRaysIndirect2KHR. I renamed the
load_sbt_amd to sbt_base_amd and moved the SBT
load lowering from ACO to NIR.
Note that we can not just upload one pointer to
all the trace parameters because that would
be incompatible with traceRaysIndirect.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
3aa0ea8279
nir: Handle ray_launch_size_addr in opt_preamble
...
Found this while working on traceRaysIndirect2.
I don't think this is relevant for now at least
since we don't use the pass in RADV.
Fixes: 938c9d9 ("nir: Add a ray launch size addr intrinsic")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
fea155348f
radv: PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
e8ac9dd23f
radv: ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
5d56c2cfc0
radv: Add accel struct queries for maintenance1
...
Implements the new
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR
and
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR
query types.
The documentation is a bit lacking for now but
the fist type probably refers to the instance
count and the second type refers to the
acceleration structure size which we already
store in radv_acceleration_structure. To support
size queries, this commit adds a size member
to the acceleration structure header.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
d5dd0df65f
radv: ray cull mask
...
Lower the cull_mask system value to rt variable
load and advertise the corresponding capability.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
2e0e150e69
spirv: Add plumbing for ray_cull_mask
...
Add a new cull_mask system value that is exposed
by the ray_cull_mask capability of
SPV_KHR_ray_cull_mask.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Konstantin Seurer
7c44cb6f5e
vulkan: Spec update to 1.3.216
...
Update the vulkan headers and xml to 1.3.216
including the spirv headers. The new spirv spec
added new OpAlias*INTEL ops, which we ignore in
vtn_gather_types_c.py.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16430 >
2022-06-08 20:20:21 +00:00
Vasily Khoruzhick
2b001b57a0
u_transfer_helper: flush temporary transfer first for MSAA
...
vtbl->transfer_map may return staging buffer and not real one and it
exposes a problem in MSAA resolve path, since u_transfer_helper does
blit from a resource that is still mapped and it's not flushed yet.
Add explicit flush_region() for a temporary transfer before doing flush
for MSAA resolve.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16923 >
2022-06-08 19:48:02 +00:00
Mike Blumenkrantz
e6c1426166
aux/tc: handle link_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16906 >
2022-06-08 19:00:37 +00:00
Mike Blumenkrantz
549d3ea600
aux/trace: add pipe_context::link_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16906 >
2022-06-08 19:00:37 +00:00
Alyssa Rosenzweig
c0d6539827
panvk: Drop support for Midgard
...
We've discussed this at length and have agreed that Midgard + Vulkan is DOA, but
have let the code linger. Now it's getting in the way of forward progress for
PanVK... That means it's time to drop the code paths and commit t to not
supporting it.
Midgard is only *barely* Vulkan 1.0 capable, Arm's driver was mainly
experimental. Today, there are no known workloads today for hardware of that
class, given the relatively weak CPU and GPU, Linux, and arm64. Even with a
perfect Vulkan driver, FEX + DXVK on RK3399 won't be performant.
There is a risk here: in the future, 2D workloads (like desktop compositors)
might hard depend on Vulkan. It seems this is bound to happen but about a decade
out. I worry about contributing to hardware obsolescence due to missing Vulkan
drivers, however such a change would obsolete far more than Midgard v5...
There's plenty of GL2 hardware that's still alive and well, for one. It doesn't
look like Utgard will be going anywhere, even then.
For the record: I think depending on Vulkan for 2D workloads is a bad idea. It's
unfortunately on brand for some compositors.
Getting conformant Vulkan 1.0 on Midgard would be a massive amount of work on
top of conformant Bifrost/Valhall PanVK, and the performance would make it
useless for interesting 3D workloads -- especially by 2025 standards.
If there's a retrocomputing urge in the future to build a Midgard + Vulkan
driver, that could happen later. But it would be a lot more work than reverting
this commit. The compiler would need significant work to be appropriate for
anything newer than OpenGL ES 3.0, even dEQP-GLES31 tortures it pretty bad.
Support for non-32bit types is lacklustre. Piles of basic shader features in
Vulkan 1.0 are missing or broken in the Midgard compiler. Even if you got
everything working, basic extensions like subgroup ops are architecturally
impossible to implement.
On the core driver side, we would need support for indirect draws -- on Vulkan,
stalling and doing it on the CPU is a nonoption. In fact, the indirect draw code
is needed for plain indexed draws in Vulkan, meaning Zink + PanVK can be
expected to have terrible performance on anything older than Valhall. (As far as
workloads to justify building a Vulkan driver, Zink/ANGLE are the worst
examples. The existing GL driver works well and is not much work to maintain. If
it were, sticking it in Amber branch would still be less work than trying to
build a competent Vulkan driver for that hardware.)
Where does PanVK fit in? Android, for one. High end Valhall devices might run
FEX + DXVK acceptably. For whatever it's worth, Valhall is the first Mali
hardware that can support Vulkan properly, even Bifrost Vulkan is a slow mess
that you wouldn't want to use for anything if you had another option.
In theory Arm ships Vulkan drivers for this class of hardware. In practice,
Arm's drivers have long sucked on Linux, assuming you could get your hands on a
build. It didn't take much for Panfrost to win the Linux/Mali market.
The highest end Midgard getting wide use with Panfrost is the RK3399 with the
Mali-T860, as in the Pinebook Pro. Even by today's standards, RK3399 is showing
its limits. It seems unlikely that its users in 10 years from now will also be
using Vulkan-required 2030 desktop environment eye candy. Graphically, the
nicest experience on RK3399 is sway or weston, with GLES2 renderers.
Realistically, sway won't go Vulkan-only for a long-time.
Making ourselves crazy trying to support Midgard poorly in PanVK seems like
letting perfect (Vulkan support) be the enemy of good (Vulkan support). In that
light, future developers making core 2D software Vulkan-only (forcing software
rasterization instead of using the hardware OpenGL) are doing a lot more
e-wasting than us simply not providing Midgard Vulkan drivers because we don't
have the resources to do so, and keeping the broken code in-tree will just get
in the way of forward progress for shipping PanVK at all.
There are good reasons, after all, that turnip starts with a6xx.
(If proper Vulkan support only began with Valhall, will we support Bifrost
long term? Unclear. There are some good arguments on both sides here.)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16915 >
2022-06-08 18:43:06 +00:00
Michel Zou
3684776f79
lavapipe: allow null handleTypes
...
handleTypes is allowed to be null with VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Closes #6501
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16590 >
2022-06-08 18:43:57 +02:00
Boris Brezillon
35dd4ac886
microsoft/compiler: Drop the auto_link parameter passed to nir_to_dxil()
...
Now that all nir_to_dxil() have transitioned to explicit linking, we
can drop the auto_link parameter and simplify the signature logic along
the way.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
74c94faf32
microsoft/spirv_to_dxil: Let spirv_to_dxil() handle the linking
...
That's still a dummy linking we do here, and it's likely to be
incorrect for complex scenarios. Not sure the previous situation
was any better though, and at least, doing that allows us to
get rid of the special cases we have in dxil_signature.c.
Reviewed-by: Enrico Galli <enrico.galli@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
77c81357f4
dzn: Fix vertex input handling
...
Vertex shaders are allowed to define input variables pointing to the
same location but a different, or even variables that overlap other
variables, as long as only one of them is used in a shader invocation.
One way to support that case would be to merge overlapping variables,
but we can also declare one input element per variable, and make those
point to the same input slot/offset. The only limitation with the
second approach is the maximum number of VS input registers, meaning
that only (32 - num_sysvals) input variables can be defined.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
4f1cb63bf3
dzn: Fix unitialized var access in dzn_meta_compile_shader()
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
df63772f76
dzn: Handle varying linking explicitly
...
Now that dxil_spirv_nir.h exposes an helper to run the
DXIL-SPIRV specific passes, we can handle the varying linking
on our side and tell nir_to_dxil() we don't want automatic
varying index/register assignment, which should fix a bunch
of compiler errors.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
dc52e557ff
dzn: Fix maxVertexInputAttributes limit
...
The current implementation doesn't allow more than
MAX_VERTEX_GENERIC_ATTRIBS vertex attributes.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
a4fa63a103
microsoft/spirv_to_dxil: vectorize IOs
...
DXIL doesn't like when 2 different variables occupy the same slot, so
let's vectorize IOs to avoid that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
45f8b2ee50
microsoft/compiler: Allow vulkan users to handle varyings linking
...
Letting the compiler decide which slot should be used for varyings when
it doesn't know about the varyings written/read by the previous/next
stage doesn't work well. So let's the caller decide when it wants
automatic index/register assignment through a dedicated parameter,
instead of assuming Vulkan users always want that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
d105a16408
microsoft/spirv_to_dxil: Add a linking helper
...
Linking should be done in reverse order, starting from the last
pipeline stage and going backward, so we can eliminate outputs from the
previous stage that are never used by the next stage, and possibly
kill some instructions and input variables too.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
424bb7357f
microsoft/spirv_to_dxil: Remove dead IO vars at the end of dxil_spirv_nir_passes()
...
No need to keep them around if they're unused. Moreover, this should
allow the linking step to get rid of outputs when the next stage
doesn't use them.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
d3e321c853
microsoft/compiler: Make input_mappings immune to driver_location holes
...
Right now, nir_to_dxil() assumes driver_location on inputs will be
contiguous, which is true for GL, and also true for Vulkan shaders
with the current implementation. But we are trying to delegate
the varying linking step to Dozen, and that means the driver will
assign the driver_location field.
For everything except vertex shaders this works fine, because we
are in control of the ID we assign to each variable, and can make
sure no holes exists in this assignment, but vertex inputs expect
the index value (which is directly extracted from the
driver_location field) to match the input index defined at pipeline
creation time. The compiler has a hack to treat Vulkan differently
and extract the index from the var->data.location field instead,
but that's a bit confusing.
Moreover, the input_mappings[] array is already indexed with
the var->data.driver_location field in the input load emission
path, so it makes sense to index it with the same field when
emitting signatures.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
e8fd20da90
microsoft/spirv_to_dxil: Constify the descriptor binding mapping fields
...
spirv_to_dxil() doesn't modify those, so let's constify them.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
c86ea7daa3
microsoft/spirv_to_dxil: Extract NIR passes out of spirv_to_dxil()
...
Extract NIR passes out of spirv_to_dxil() so we can re-use them
without separately and do the varying linking in Dozen. This way
we will also be able to use vk_shader_module_to_nir() which
takes care of the SPIRV -> NIR translation, plus a bunch of
common lowering passes.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
ca5520c3cb
microsoft/compiler: Make sure all SV_Position components are written
...
Not entirely sure if writing to only some components of
gl_Position/SPIRV-PositionBuiltin from a vertex-processing stage is
allowed, but
https://github.com/dneto0/spirv-samples/blob/main/spvasm/SpvModuleScopeVarParserTest_BuiltinPosition_StorePositionMember_OneAccessChain.spvasm
does exactly that.
Let's make sure all SV_Position components are written, otherwise the
DXIL validator complains.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
9368641c3f
microsoft/spirv2dxil: Add a debug option
...
So we can dump NIR shaders.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Boris Brezillon
447d448513
ci/windows: Bump spirv-samples commit-ID
...
We need the fix adding a Block decoration to the BuiltIn struct in
SpvModuleScopeVarParserTest_BuiltinPosition_BuiltIn_Position_Initializer.spvasm.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16221 >
2022-06-08 15:17:05 +00:00
Rhys Perry
961a28d9d9
gitlab: ask that reporters don't include long logs in descriptions
...
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/14733 >
2022-06-08 15:06:51 +00:00
Rhys Perry
9c1e00afb1
gitlab: ask for useful titles
...
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/14733 >
2022-06-08 15:06:51 +00:00
Alyssa Rosenzweig
2338dcd392
asahi,agx: Don't set PIPE_CAP_POINT_COORD_ORIGIN_UPPER_LEFT
...
Tell the state tracker our point coordinates have a lower left origin
instead of an upper left origin, and remove our point coordinate
flipping code. Saves an instruction in any shader that reads
gl_PointCoord.y
Note: the OpenGL blob also emits an "fadd $y', ^y.neg, 1.0" to flip
point coordinates, so this isn't just a Metal weirdness.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16829 >
2022-06-08 14:10:50 +00:00
Alyssa Rosenzweig
e749f67f89
mesa,gallium: Make point coord origin a CAP
...
When lower_wpos_pntc is used, the state tracker inserts code to
transform gl_PointCoord.y according to a uniform, to account for
API-requested point coordinate origin and framebuffer orientation. With
the transformation, driver-supplied point coordinates are expected to
have an upper left origin.
If the hardware point coordinate supports (only) a lower left origin,
the backend has to use lower_wpos_pntc and then lower *again* to flip
back. This ends up transforming twice, which is wasteful:
a = load point coord Y with lower left origin
a' = 1.0 - a
a'' = uniform_transform(a')
However, lower_wpos_pntc is quite capable of transforming for a lower
left origin too, it just needs to flip the transformation. Add a CAP
specifying the point coordinate origin convention, rather than assuming
upper-left. This simplifies the Asahi code greatly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16829 >
2022-06-08 14:10:50 +00:00
Alyssa Rosenzweig
10a2406232
pan/perf: Fix performance counters on G57
...
The performance counter layout depends on the number of L2 blocks and the number
of shader cores. It doesn't make a ton of sense to hardcode these into the XML
files. Instead, let's make the coutner offsets in the XML files relative to the
categories (blocks), so we can calculate the offsets of the categories
themselves at runtime based on the computed layout. This fixes performance
counters on Mali-G57 as implemented on MT8192.
There is little code change here, mainly churn from changing the XML definition.
Postprocessing for the XML to make it suitable for Mesa uses Antonio Caggiano's
https://gitlab.freedesktop.org/panfrost/hwc-helper tool.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16803 >
2022-06-08 13:57:18 +00:00
Alyssa Rosenzweig
0ecbfcc892
panfrost: Add panfrost_query_l2_slices helper
...
The number of L2 performance counter blocks equals the number of L2 slices, so
add a query to get this. This information isn't needed by the Mesa driver, so
don't get it in the default device initialization path.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16803 >
2022-06-08 13:57:18 +00:00
Alyssa Rosenzweig
58b408611f
panfrost: Remove is_64b assignments
...
These are redundant with GenXML defaults, they're just noise.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
ae4841c105
panfrost: Remove redundant first_tag access
...
This already happens in the common prepare_rsd call.
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
c999a9daa8
panfrost: Deduplicate indirect dispatch structs
...
The input is specified in two identical structs, tear that apart.
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
ae77c207e0
panvk: Use push constants for copy shaders
...
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
1a0217e3fb
panvk: Use push constants for clear
...
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
f227fb6da2
panfrost: Use push constants for indirect draws
...
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
43884a9b09
panfrost: Use push constants for indirect dispatch
...
Much simpler than creating a UBO and relying on it getting optimized to a push
constant, with possible reordering.
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/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
90beea75f6
pan/bi: Don't reorder push with no_ubo_to_push
...
Otherwise, load_push_constant won't work properly. This could probably be made
to work if we tried hard enough, but we still don't want reordering for internal
(meta) shaders which are layed out deliberately.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
17ea1642e2
pan/bi: Implement load_push_constant
...
Bifrost supports "fast access uniforms" loaded from a single contiguous buffer.
This maps directly to Vulkan push constants, with some caveats:
* No indirect access. Indirects need to be lowered to a UBO pull.
* Strict alignment requirements. These will be met in practice.
Implement the NIR intrinsic and map it to the native hardware construct.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16916 >
2022-06-08 13:42:42 +00:00
Alyssa Rosenzweig
3c5f1595b8
panfrost: Fix inverted indirect dispatch condition
...
Inverted condition -- indirect dispatch gets disabled when WLS is in use, not
the other way around. Not sure how this worked before...
Fixes: fd7b44882c ("panfrost: Use direct dispatch with shared memory")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16916 >
2022-06-08 13:42:42 +00:00
Chia-I Wu
5c17a04282
turnip: consider render pass costs in autotune
...
To be able to sum drawcall cost and render pass cost, the units of costs
are changed to bytes. With that, tu_autotune_use_bypass can make
decisions by comparing the costs of sysmem rendering and gmem rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16733 >
2022-06-08 12:48:08 +00:00
Chia-I Wu
ce118a7002
turnip: estimate render pass costs
...
They will be used by autotuner.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16733 >
2022-06-08 12:48:08 +00:00
Chia-I Wu
fe9a2374e6
turnip: include stencil test for drawcall costs
...
Stencil test reads from and writes to the stencil buffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16733 >
2022-06-08 12:48:08 +00:00
Chia-I Wu
2dc10165a1
turnip: base pipeline draw costs on colorWriteMask
...
drawcall_base_cost estimates the memory bandwidth per sample.
colorWriteMask should be more accurate than fs outputs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16733 >
2022-06-08 12:48:08 +00:00
Chia-I Wu
6fe7b92114
turnip: if-checks autotune debug macros
...
This avoids bitrot while the compiler can easily optimize away those
checks.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16733 >
2022-06-08 12:48:08 +00:00
Marek Olšák
b7cb4d4f6f
radeonsi: set the max UBO size same as the max SSBO size
...
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/16901 >
2022-06-08 10:23:20 +00:00
Marek Olšák
b750844319
radeonsi: compute PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT correctly
...
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/16901 >
2022-06-08 10:23:20 +00:00
Marek Olšák
aee8ee17a5
radeonsi: change max TBO/SSBO sizes again and rework max alloc size
...
Allow 1/4 of the max heap size, but maximum of 512 MB on 32-bit
architectures.
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/16901 >
2022-06-08 10:23:20 +00:00
Marek Olšák
c1adb33a93
radeonsi: clamp against MAX_TEXEL_BUFFER_ELEMENTS correctly
...
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/16901 >
2022-06-08 10:23:20 +00:00
Marek Olšák
91e533c6aa
radeonsi: report correct maximum compute grid sizes
...
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/16901 >
2022-06-08 10:23:20 +00:00
Marek Olšák
ecda7be628
radeonsi: increase the max compute LDS size to 64KB for gfx7+
...
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/16901 >
2022-06-08 10:23:19 +00:00
Matt Coster
0fbcaa4b3a
pvr: debug: Implement PVR_DEBUG variable
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16907 >
2022-06-08 10:51:37 +01:00
Matt Coster
7c615b4103
pvr: csbgen: Add *_unpack() functions for all generated struct types
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
4c0941f0d4
pvr: csbgen: Fix "local variable may be undefined" lints
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
9f8556a44a
pvr: csbgen: Replace map() and filter() with list comprehension
...
Guido originally wanted to drop these (along with reduce()) in 3.0, but
compromised to just recommending list comprehension instead [1].
[1]: https://www.artima.com/weblogs/viewpost.jsp?thread=98196
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
2285ddc720
pvr: csbgen: Isolate "main" function with __name__ check
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
a8b80c610b
pvr: csbgen: Add typing information
...
This is generally PEP-484 stuff, but there is one functional change.
The base class Node needed to have an add() method to allow typed
dynamic dispatch. This could have been decorated @abstractmethod, but
that would require an error-raising implementation on all leaf-type
nodes. Instead, I added a base implementation that just errors out with
information from the subclass instance.
As a simple optimization, subclass implementations of add() (instead of
raising the same (or similar) error) now call super().add() in the
case of invalid child nodes.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
f2de3716d8
pvr: csbgen: Remove unused function parameters
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
14ca712362
pvr: csbgen: Remove "dim" functionality from Group
...
This allowed for nested groups rendered as arrays. Support for this had
mostly been removed already; this removes the additional value to make
typing easier.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
6961c31938
pvr: csbgen: Cleanup imports
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
34a76ec4e6
pvr: csbgen: Make some loops more pythonic
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
b813ca5d3b
pvr: csbgen: Add a missing @staticmethod decorator
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Matt Coster
89d6a1cfe4
pvr: csbgen: Formatting pass (PEP-8 plus other minor changes)
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16884 >
2022-06-08 09:13:22 +00:00
Timur Kristóf
0280b526d5
radv: Implement mesh shader scratch ring.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
6056583ae1
ac/nir/ngg: Use variables for outputs without cross-invocation access.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
b664279755
ac/nir/ngg: Use mesh shader scratch ring when outputs don't fit LDS.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
304a0e948b
ac/nir/ngg: Clean up mesh shader output LDS layout.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
02c87e66e9
nir: Introduce new intrinsics for AMD specific mesh shader task ring.
...
The mesh shader task ring is a buffer in VRAM which we will use to
store some mesh shader outputs that don't fit into LDS.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
b730f91247
radv: Implement task shader draw and payload rings.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
ac5ab8d227
ac: Add task shader ring information.
...
Similarly to tessellation rings information, move the task
rings info to ac_gpu_info.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Timur Kristóf
086e499b47
ac: Add RDNA2 task+mesh shader draw packet opcodes.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16737 >
2022-06-08 08:43:51 +00:00
Karmjit Mahil
721fb18a38
pvr: Fix incorrect samples to cr_isp_aa_mode conversion.
...
This commit fixes the use of 'case 3' where 'case 4' should have
been.
Reported-by: Matt Coster <matt.coster@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16883 >
2022-06-08 08:35:44 +00:00
Karmjit Mahil
61db3154b4
pvr: Write immutable descriptor words in vkAllocateDescriptorSets().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16883 >
2022-06-08 08:35:44 +00:00
Karmjit Mahil
81077a4c7d
pvr: Add csb enum helper funciton header.
...
A new header is introduced which groups all vk, uint, rogue types
to csb enum type conversions.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16883 >
2022-06-08 08:35:44 +00:00
Georg Lehmann
d8493e5310
radv, aco: Lower txf offset in NIR.
...
Foz-DB Navi21:
Totals from 384 (0.28% of 134913) affected shaders:
VGPRs: 29736 -> 29536 (-0.67%)
CodeSize: 2455796 -> 2452652 (-0.13%); split: -0.13%, +0.01%
MaxWaves: 6350 -> 6358 (+0.13%)
Instrs: 457743 -> 456273 (-0.32%); split: -0.33%, +0.01%
Latency: 6680266 -> 6730612 (+0.75%); split: -0.03%, +0.78%
InvThroughput: 1562936 -> 1599375 (+2.33%); split: -0.05%, +2.38%
VClause: 9258 -> 9291 (+0.36%); split: -0.14%, +0.50%
SClause: 15713 -> 15707 (-0.04%); split: -0.08%, +0.04%
Copies: 26878 -> 27021 (+0.53%); split: -0.03%, +0.56%
PreVGPRs: 27259 -> 27230 (-0.11%); split: -0.11%, +0.01%
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16869 >
2022-06-08 08:13:01 +00:00
Pierre-Eric Pelloux-Prayer
b81f05e94d
radeonsi: set size in si_texture_get_handle
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6507
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6491
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813 >
2022-06-08 09:42:47 +02:00
Pierre-Eric Pelloux-Prayer
bce227611d
va/surface: set the correct size in vaExportSurfaceHandle
...
The size must be the size of the total object, not the size
of the resource.
For instance, when using a single object for a multi-plane
format, the size of each plane should be equal to the size
of the underlying object to match libva's documentation:
/** Total size of this object (may include regions which are
* not part of the surface). */
uint32_t size;
Fixes: 13b79266e4 ("frontend/va: Setting the size of VADRMPRIMESurfaceDescriptor")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813 >
2022-06-08 09:42:44 +02:00
Pierre-Eric Pelloux-Prayer
8c07d7cbdd
gallium: add size attribute to winsys_handle
...
This is needed at least for the VA-API frontend where the exporter
needs to know the total size of the object.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813 >
2022-06-08 09:42:42 +02:00
Pierre-Eric Pelloux-Prayer
baf0e66dae
gallium: update winsys_handle documentation
...
The function names are resource_***_handle, not textures_***_handles.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813 >
2022-06-08 09:42:26 +02:00
Mike Blumenkrantz
cb5973a3dd
zink: only update layout when doing mixed zs attachment renderpass check
...
avoid doing any sort of extra work here and avoid multi-context weirdness
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16900 >
2022-06-08 02:55:05 +00:00
Mike Blumenkrantz
8f9c21b15e
zink: break out of zs mixed layout update loop when work is done
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16900 >
2022-06-08 02:55:05 +00:00
Jordan Justen
ffb0c97caf
intel: Build mi_builder_test whenever build-tests is set
...
Previously `install-intel-gpu-tests` controlled this, but now
`install-intel-gpu-tests` will only be used to decide if it should be
installed.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16902 >
2022-06-07 18:26:02 +00:00
Jason Ekstrand
04fae05f7d
lavapipe: Use vk_image_buffer_copy_layout
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
420717b2ce
panvk: Use vk_image_buffer_copy_layout
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
8d6b7eb5ce
radv: Use vk_image_buffer_copy_layout
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
c144030f7e
vulkan,radv: Steal some image offset/extent helpers from radv
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
81603e7dc2
anv: Use the common image<->buffer copy helper
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
80547e5379
vulkan: Add a helper for image<->buffer copies
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
ed0cd6f654
vulkan/format: Add a vk_format_get_aspect_format helper
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
69e4d39d18
vulkan,radv: Move vk_format_get_plane_format to common code
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:42 +00:00
Jason Ekstrand
1436fa55a6
radv: Use the common image offset/extent sanitize helpers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:41 +00:00
Jason Ekstrand
2c2b3e68e1
vulkan,anv: Move the image offset/extent sanitize helpers to common code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16873 >
2022-06-07 17:57:41 +00:00
Jason Ekstrand
4923458577
ttn: Populate the images/textures/samplers_used fields in shader_info
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6630
Fixes: 625b352f14 ("nir: Set image_buffers and msaa_images in lower_samplers_as_deref")
Tested-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16910 >
2022-06-07 17:18:39 +00:00
Jesse Natalie
f618d0292a
d3d12: Report PIPE_CAP_ACCELERATED as 0 on WARP
...
Acked-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16892 >
2022-06-07 16:00:23 +00:00
Yonggang Luo
0cb05d13b0
docs: Fixes dispatch.rst with __THREAD_INITIAL_EXEC
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16858 >
2022-06-07 14:55:14 +00:00
Rajnesh Kanwal
4dd5f03edc
pvr: Remove clang-format off comment from vk_format.h
...
This enables clang formatting for vk_format.h. This was disabled
as we were using tabs for indentation and vk_format.h uses three
spaces for indentation.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:11 +01:00
Rajnesh Kanwal
9acb8ba3db
pvr: Move transfer logic to pvr_job_transfer.[ch]
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:11 +01:00
Rajnesh Kanwal
16d4ca6e14
pvr: Add services winsys transfer cmd submit interface.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
df671f6a8f
pvr: Change ALIGN macro to ALIGN_ATTR.
...
ALIGN is defined as a function in u_math.h and same name is
used to define a macro in pvr_rogue_fwif_shared.h. This commit
resolves this conflict.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
7a93e8900e
pvr: Fix UTIL_ARCH_BIG_ENDIAN check in vk_format.h.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
2d0f49534f
pvr: Restrict argument to dev_info where possible.
...
Avoid passing whole device structure. In most of the cases
we only need dev_info from device pointer to check for
features and ERNs.
This commits simply avoids the need to carry device pointer
where ever we go.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
4b6c18fea8
pvr: Fix ISP_RENDER_MODE_TYPE enum in rogue_cr.xml
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
11d8973efb
pvr: Add transfer 3d parameter heap support.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
0c3c1a8be4
pvr: Remove vk_format_is_pure_integer and use common helper.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
72c634fb23
pvr: Allow signal_sync pointer to be NULL in job submission.
...
This allows the common driver to pass NULL signal_sync for cases
where there are multiple jobs (of the same type) to be processed.
In that case, it's useless to maintain the signal_syncs other than
the one returned by the last submission.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
ce36859b95
pvr: Add support for R32G32B32A32_UINT, R32_UINT and R8_UINT formats.
...
These formats are required by vkCmdCopyBuffer implementation. The
formats in pvr_format_table are exposed to applications as well.
Given these formats are supported for rendering and sampling, there
shouldn't be a problem exposing these to applications.
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Rajnesh Kanwal
86f703e7b1
pvr: Pass device info struct in pds generator.
...
Fixes a potential NULL pointer dereference.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897 >
2022-06-07 14:55:10 +01:00
Konstantin Seurer
b24216c52d
radv: Fix the accel struct size calculation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16874 >
2022-06-07 12:26:02 +00:00
Rhys Perry
062b5a9ba1
ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser
...
Fixes -amdgpu-atomic-optimizations=true option.
From CommandLine.h:
/// Reset all command line options to a state that looks as if they have
/// never appeared on the command line. This is useful for being able to parse
/// a command line multiple times (especially useful for writing tests).
void ResetAllOptionOccurrences();
/// Reset the command line parser back to its initial state. This
/// removes
/// all options, categories, and subcommands and returns the parser to a state
/// where no options are supported.
void ResetCommandLineParser();
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Fixes: 7e2874dc93 ("ac: reset LLVM command line parser")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16850 >
2022-06-07 10:29:56 +00:00
Juan A. Suarez Romero
2c70b1a217
v3d: release all color buffers on context destroy
...
All of them must be released on context destroy, and not only the first
one.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16903 >
2022-06-07 10:05:55 +00:00
Jordan Justen
8381f64251
intel: Fix build of mi_builder_tests by including c99_compat.h
...
We need this so C++ will understand "restrict" which is used in the
genxml output.
Fixes: 9f717b5f23 ("util: remove needless c99_compat.h includes")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16899 >
2022-06-07 08:27:19 +00:00
Boris Brezillon
c06b265ec7
dzn: Emit missing transition barriers for rendering attachments
...
VkRenderingAttachmentInitialLayoutInfoMESA provides information about
the initialLayout -> currentLayout that's expected when we begin a
render pass. Let's take it into account.
Fixes: 2d0798440b ("dzn: Add support for dynamic rendering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16792 >
2022-06-07 08:15:25 +00:00
Samuel Pitoiset
f06da59fd7
radv: report the marketing name as part of the device name
...
This now reports something like "AMD Radeon RX 5700 XT (RADV NAVI10)".
This introduces a new variable for storing the marketing name because
the existing device name is used by the shaders cache and must remain
the same to avoid any issues with precompilation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4802
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11027 >
2022-06-07 07:48:07 +00:00
Samuel Pitoiset
42b3735716
radv/winsys: add get_chip_name() to the null winsys
...
Make it return "Null hardware", this is just for RADV_FORCE_FAMILY.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11027 >
2022-06-07 07:48:07 +00:00
Marek Olšák
ad8f9d5d58
gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> *_UINT
...
to imply the maximum of 4GB - 1.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:58 -04:00
Marek Olšák
fd6b8999d7
gallium: rename PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE->MAX_TEXEL_BUFFER_ELEMENTS_UINT
...
to allow exposing 4G - 1. The "SIZE" was also a misnomer because it meant
elements. This no longer clamps the size to INT_MAX in st/mesa.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:58 -04:00
Marek Olšák
dc4a3a18e9
gallium: add PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT for UBOs
...
We plan to report UINT32_MAX for UBOs.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
406cf871b2
gallium: rename PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE to *_BUFFER0_*
...
UBOs will use a larger limit.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
2a151238a0
st/mesa: round down MaxUniformBlockSize to a multiple of 4 for piglit
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
0081925856
st/mesa: limit MaxComputeWorkGroupCount to INT_MAX - 1 due to failing tests
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
9c7256fb8d
mesa: change GL_MAX_SHADER_STORAGE_BLOCK_SIZE to UINT
...
so that we can report 4G - 1.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
939d2e0860
mesa: change GL_MAX_TEXTURE_BUFFER_SIZE to UINT
...
so that we can report 4G - 1.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
eaac8a1986
mesa: change GL_MAX_UNIFORM_BLOCK_SIZE to UINT
...
to allow 4GB - 1.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
e76d5c7bc5
mesa: change GL_MAX_COMPUTE_WORK_GROUP_COUNT to UINT
...
AMD wants to report UINT32_MAX here.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
c1381daab8
mesa: clamp UINT values greater than INT_MAX for glGetInteger
...
so that values greater than INT_MAX report INT_MAX with glGetInteger and
the full value with glGetInteger64. This allows exposing compute grid sizes
and max buffer sizes greater than INT_MAX.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Mike Blumenkrantz
7acc91fe87
mesa/st: use util_streaming_load_memcpy for compute pbo copying
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16732 >
2022-06-07 03:33:20 +00:00
Mike Blumenkrantz
a7831c5f6e
streaming-memcpy: move to src/util/ and compile unconditionally
...
this is useful, so make it available for general use
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16732 >
2022-06-07 03:33:20 +00:00
Mike Blumenkrantz
c370fa362b
mesa/streaming-memcpy: add memcpy fallback
...
this makes it more compatible and able to be used from the caller without ifdefs
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16732 >
2022-06-07 03:33:20 +00:00
Emma Anholt
03e8908e27
ci/crocus: Drop g41's xfail for rgba_half_float_oes.
...
Something fixed it recently, noticed when I was testing this MR and ran
manual jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
ab3a1d41c5
glsl: Drop INT_DIV_TO_MUL_RCP lowering.
...
nir_lower_int_to_float() does this at the end of compilation, no need to
do it up front.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Vasily Khoruzhick
5ec0301ec7
lima: Lower nir_op_idiv with other scalar math operations.
...
This will end up appearing in the backend once we move GLSL's
idiv->fmul+frcp lowering to NIR.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
5c499d6d1a
nir: Fix idiv lowering on !NativeIntegers when lower_fdiv is also set.
...
Avoids a regression when turning off GLSL's int div lowering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
464b32c030
glsl: Drop the div-to-mul-rcp lowering for floats.
...
NIR has fdiv, and all the NIR backends have to have lower_fdiv set
appropriately already since various passes (format conversions,
tgsi_to_nir, nir_fast_normalize(), etc.) might generate one.
This causes softpipe and llvmpipe to now do actual divides, since
lower_fdiv is not set there. Note that llvmpipe's rcp implementation is a
divide of 1.0 by x, so now we're going to be just doing div(x, y) instead
of mul(x, div(1.0, y)).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
594d3982f7
tgsi_exec: Fix inf/nan handling for divide by zero.
...
For RCP and for DDIV, we do division without any src1 != 0 checks, and we
should do the same here so that we get infs or nans as appropriate instead
of undefined.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
0fbd1b1f4c
glsl: Move exp/log-to-exp2/log2 lowering to glsl-to-NIR.
...
It's way more concise to write as nir_builder calls.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
d024eb6fab
glsl: Remove stale lower_instructions comments.
...
Should have been in 3a42e92a4f ("glsl: Drop the dead MOD_TO_FLOOR path.")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
8c4b88ee48
gallium+glsl: Remove EmitNoSat/PIPE_CAP_VERTEX_SHADER_SATURATE
...
The drivers not setting it were:
- nv30, which gets lowering using NIR's lower_fsat flag.
- r300, which gets lowering using NIR's lower_fsat flag.
- a2xx, which has was getting it optimized back to fsat anyway.
This drops the check for the cap from gallium nine. While nine does have
a non-nir path, I think it's safe to assume that if you have SM3
texturing, you can do fsat.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Emma Anholt
7a8e3c80fd
nouveau/nv30: Make sure fsat is lowered in the VS.
...
GLSL lowers fsat to clamps based on PIPE_CAP_VERTEX_SHADER_SATURATE
(EmitNoSat), but nir is happy to optimize that back to fsat unless you
tell it not to.
Noticed by inspection while looking at deleting EmitNoSat.
Fixes: ca1ec72726 ("nv30/40: Switch to using NIR-to-TGSI by default.")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Qiang Yu
61c500ee9b
radeonsi: replace llvm ls/hs interface lds ops with nir lowered ones
...
Use ac nir lower pass to generate these lds load/store ops explicitly.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Timur Kristóf
f7f2770e72
ac/nir: Add remappability to tess and ESGS I/O lowering passes.
...
This will be used for radeonsi to map common I/O location to fixed
slots agreed by different shader stages.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
666dbbf1a3
ac/nir: skip gl_Layer/gl_ViewportIndex write for LS
...
This is from radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
87dfff3e6b
radeonsi: add tcs_vgpr_only_inputs parameter to si_get_nir_shader
...
Will be used later.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
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/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
47dd3525fb
radeonsi: implement load_lshs_vertex_stride abi
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
6a95452ddf
ac/nir: use nir_intrinsic_load_lshs_vertex_stride_amd
...
For radeonsi which pass this value by argument.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
33b4b923ee
nir: add nir_intrinsic_load_lshs_vertex_stride_amd
...
For loading LS-HS vertex stride by shader argument in radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:14 +00:00
Qiang Yu
e35ff669b5
ac/llvm: get back nir_intrinsic_load_tess_rel_patch_id_amd
...
radeonsi will use it. This can be removed again after radeonsi support
radv_nir_lower_abi like lower pass.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16418 >
2022-06-07 01:40:13 +00:00
Timothy Arceri
4237932685
glsl: tidy up link_varyings_and_uniforms()
...
All uniform linking is now done via nir based linker not via this
code so we drop that from its name. We also drop a bunch of unused
parameters.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16880 >
2022-06-07 01:11:19 +00:00
Timothy Arceri
f00be793e4
glsl: drop extra optimise swizzles call
...
As per the comment this was meant to tidy things up after varying
linking but varying linking has been moved into a nir based linker
so this extra call is no longer needed.
This optimisation pass is still called in the regular glsl ir
optimisation loop.
No shader-db change on Iris (BDW).
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16880 >
2022-06-07 01:11:19 +00:00
Emma Anholt
7af5929b54
turnip: Move tile loads back into the draw CS.
...
Now that we don't need to know if HW binning actually will get used or
not, we can just emit the tile loads into the start of the draw CS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Danylo Piliaiev
ecabd3b5a9
turnip: Allow nested CP_COND_REG_EXEC
...
This ends up being needed for moving tile loads into the draw cs.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
a92fad45e9
turnip: Allow load/store skipping in vkCmdClearAttachments().
...
We have to use a 3D draw to make it possible (so it goes through the
binner's visibility calcs), but hopefully the increased overhead for apps
with non-skippable rendering balances against skipping in others.
The real motivation is to get draw-time state out of tile load setup.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
b8619ef343
turnip: Refactor a bit of subpass attachment processing.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
83ae4a5ed4
turnip: Include 3d-based CmdClearAttachments() in binning visibility.
...
It means the clear's draw can get skipped when it doesn't intersect with
the tile.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
48403628a2
turnip: Refactor a bit of repeated code for subpass setup.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
5b119c0148
ci/turnip: Add a little forced touch-testing of XFB with no binning requested.
...
This is just a couple of seconds of runtime.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
046438b7a4
turnip: Use fb->binning_possible to decide on conditional tile load/stores.
...
When !fb->binning but fb->binning_possible, we can just set the VSC
per-tile visibility reg to all visible in the "whoops, we'd rather not bin
but we had to anyway for XFB" case. This gets that EndRenderPass state out
of tile_load_cs/store_cs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
6c37b4ded1
turnip: Move binning decisions from FB usage time to FB creation time.
...
This is mostly about helping me understand which choices are constant for the object as opposed to runtime decisions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
ceeaac340a
turnip: Refactor a bit of tu6_emit_tile_select().
...
Reduce redundant code, make the used SET_VISIBILITY_OVERRIDE value clearer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
2cad0dd03b
turnip: Don't bother creating tile_load/store_cs for sysmem rendering.
...
They won't get called, so don't bother.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826 >
2022-06-07 00:00:28 +00:00
Emma Anholt
f69aa01c4e
ci/i915: Update manual piglit job expectations.
...
These shaders are near the instruction count limit, and something changed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16896 >
2022-06-06 21:48:11 +00:00
Emma Anholt
5d0f36d826
ci/i915: Merge the piglit and deqp runs.
...
One less button to click.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16896 >
2022-06-06 21:48:11 +00:00
Nagappa Koppad, Basanagouda
a99e85db9e
iris:Duplicate DRM fd internally instead of reuse.
...
Scenario we want to avoid is double close of DRM fd in iris driver.
Signed-off-by: Nagappa Koppad, Basanagouda <basanagouda.nagappa.koppad@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6620
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16886 >
2022-06-06 20:04:28 +00:00
Alyssa Rosenzweig
01fd789ad5
docs: Document Mali-G57 conformance
...
Update the Panfrost driver documentation and the Mesa 22.2 release notes to
advertise the new Valhall support.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16890 >
2022-06-06 19:30:15 +00:00
Alyssa Rosenzweig
feb9020039
panfrost: Enable Mali-G57
...
Everything required for conformant OpenGL ES 3.1 support on Valhall (v9) is now
upstream -- all that's left is to enable implementations! Add the GPU ID for the
Mali-G57 implemented in the MediaTek MT8192 system-on-chip.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16890 >
2022-06-06 19:30:15 +00:00
Rhys Perry
40db52488b
aco: consider fma with multiplication by power-of-two unfused
...
fossil-db (Sienna Cichlid):
Totals from 700 (0.43% of 162353) affected shaders:
MaxWaves: 18986 -> 18990 (+0.02%)
Instrs: 546475 -> 539729 (-1.23%); split: -1.24%, +0.00%
CodeSize: 2823716 -> 2808504 (-0.54%); split: -0.55%, +0.01%
VGPRs: 25304 -> 25288 (-0.06%)
Latency: 2180102 -> 2168187 (-0.55%); split: -0.55%, +0.01%
InvThroughput: 466223 -> 457326 (-1.91%)
VClause: 6768 -> 6797 (+0.43%); split: -0.01%, +0.44%
SClause: 12235 -> 12237 (+0.02%); split: -0.22%, +0.24%
Copies: 34498 -> 34479 (-0.06%); split: -0.21%, +0.15%
PreVGPRs: 20968 -> 20958 (-0.05%)
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/15862 >
2022-06-06 19:06:01 +00:00
Qiang Yu
6489af145c
mesa: enable HardwareAcceleratedSelect
...
Could be enabled/disabled by MESA_HW_ACCEL_SELECT.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
e8658adaa8
virgl: return -1 for PIPE_CAP_ACCELERATED
...
There's no way currently in virgl to determine whether it's running
above CPU or GPU. This info will be used to disable HW SELECT.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
1b3fd8b3d2
zink: reset PIPE_CAP_ACCELERATED when cpu soft rendering
...
This field can be used to disable some unsupport/unproper hardware
acceleration. Reset it when zink is runing on cpu rendering.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
9b22ab4167
mesa/st: implement hardware accelerated GL_SELECT
...
Use an internal geometry shader to handle input primitives. Do full
accurate culling and clipping in the shader and output hit result and
min/max depth to a SSBO for final being written to select buffer.
With multiple result slots in SSBO we can left multiple draws on the
fly and wait them done when buffer is full or exit GL_SELECT mode.
This provides quicker selection response compared to software based
solution. Tested on Discovery Studio 2020: some complex model needs
1~2s selection response time originally, now it's almost selected
immidiately.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
19f3737262
mesa: pass select result buffer offset as attribute/varying
...
Will be used by geometry shader to store hit result.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
c41ac0682e
mesa: add HWSelectModeBeginEnd dispatch table
...
Used when in glBegin/End section and HW GL_RENDER mode.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
8373248cf0
mesa: set CurrentServerDispatch too when glBegin/End
...
When glthread not enabled, CurrentClientDispatch and CurrentServerDispatch
should be same. This does not cause problems before because OutsideBeginEnd
and BeginEnd have same BeginEnd entries, so when
CurrentServerDispatch==OutsideBeginEnd
CurrentClientDispatch==BeginEnd
will call into same BeginEnd _mesa_* functions.
But we'll add another dispatch table to replace BeginEnd when HW GL_SELECT
mode, so this needs to be fixed. Otherwise some function like _mesa_Rectf
which always call with CurrentServerDispatch will go into wrong entries.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
90b34c9184
mapi: add api setup header for hw select mode
...
Used by GL_SELECT mode dispatch table setup.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
f890b49c29
mesa/vbo: enclose none-vertex functions with HW_SELECT_MODE
...
For constructing dispatch table used in GL_SELECT mode. Every vertex
inserted need to also insert a name stack offset attribute.
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
d231f95591
mesa: add hw select name stack code path
...
HW code path will not flush vertex whenever name stack change.
It will save the current name stack and write to select buffer
only when no space left or exit select mode.
This let us submit multi draws from different name stack at
once instead of submit draws for a single name stack then
wait it finish before submit next one.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
429c7fbaa1
mesa: refine name stack code to prepare for hw select
...
No functional change, just pack existing software based implementation into
the HardwareAcceleratedSelect switch, will add hardware implementation in
next commit.
ctx->Select.NameStackDepth is sure to be <=MAX_NAME_STACK_DEPTH, so removed
the overflow check in _mesa_LoadName.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Sgined-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
b3ba33b6f1
mesa: add _mesa_bufferobj_get_subdata
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
2224d6c35d
mesa: add hardware accelerated select constant
...
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/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
ff8ae4e589
nir/builder: add load/store array variable helper functions
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
1ef734cde6
mesa/vbo: remove unused vbo_context->binding
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Qiang Yu
feea8fed44
mesa/program: fix nir output reg overflow
...
outputs_written is uint64_t, should count max reg number
by util_last_bit64(). Otherwise the following access will
overflow the allocated array with a smaller size.
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15765 >
2022-06-06 18:23:49 +00:00
Alyssa Rosenzweig
28801cfba0
pan/va: Unit test constant lowering pass
...
Like other optimizations, breaking this pass may not affect functional
correctness. It's also dead simple to unit test the pass, so we have no excuse
not to. Add unit tests for the functionality we currently support, since we just
extended it and want to make sure everything still works.
This includes tests for use of modifiers to get more small constants. There are
lots of subtle gotchas there, so let's add lots of unit tests to make sure we
got it right.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16862 >
2022-06-06 18:10:24 +00:00
Alyssa Rosenzweig
9cfafbb09b
pan/va: Try widening small constants
...
Many small integers are availabled as small constants, but the table of small
constants is tightly packed. Zero and sign extensions are usually required to
access small integers. When packing constants, try zero/sign extension for
unsigned/signed integer instructions respectively.
total instructions in shared programs: 2716912 -> 2707795 (-0.34%)
instructions in affected programs: 1045609 -> 1036492 (-0.87%)
helped: 4460
HURT: 125
helped stats (abs) min: 1.0 max: 58.0 x̄: 2.14 x̃: 1
helped stats (rel) min: 0.14% max: 23.85% x̄: 1.35% x̃: 0.88%
HURT stats (abs) min: 1.0 max: 68.0 x̄: 3.41 x̃: 1
HURT stats (rel) min: 0.34% max: 3.88% x̄: 0.93% x̃: 0.70%
95% mean confidence interval for instructions value: -2.09 -1.89
95% mean confidence interval for instructions %-change: -1.33% -1.25%
Instructions are helped.
total cycles in shared programs: 141984.06 -> 141932.42 (-0.04%)
cycles in affected programs: 552.08 -> 500.44 (-9.35%)
helped: 18
HURT: 0
helped stats (abs) min: 0.015625 max: 11.0 x̄: 2.87 x̃: 0
helped stats (rel) min: 0.50% max: 19.64% x̄: 5.36% x̃: 1.53%
95% mean confidence interval for cycles value: -5.17 -0.56
95% mean confidence interval for cycles %-change: -9.28% -1.44%
Cycles are helped.
total cvt in shared programs: 13805.05 -> 13663.39 (-1.03%)
cvt in affected programs: 6127.45 -> 5985.80 (-2.31%)
helped: 4460
HURT: 125
helped stats (abs) min: 0.015625 max: 0.90625 x̄: 0.03 x̃: 0
helped stats (rel) min: 0.35% max: 50.00% x̄: 5.19% x̃: 4.00%
HURT stats (abs) min: 0.015625 max: 1.0625 x̄: 0.05 x̃: 0
HURT stats (rel) min: 0.77% max: 9.30% x̄: 3.40% x̃: 2.78%
95% mean confidence interval for cvt value: -0.03 -0.03
95% mean confidence interval for cvt %-change: -5.10% -4.81%
Cvt are helped.
total ls in shared programs: 129545 -> 129494 (-0.04%)
ls in affected programs: 495 -> 444 (-10.30%)
helped: 6
HURT: 0
helped stats (abs) min: 2.0 max: 11.0 x̄: 8.50 x̃: 11
helped stats (rel) min: 1.49% max: 19.64% x̄: 13.95% x̃: 19.64%
95% mean confidence interval for ls value: -12.68 -4.32
95% mean confidence interval for ls %-change: -23.23% -4.67%
Ls are helped.
total quadwords in shared programs: 1476416 -> 1469824 (-0.45%)
quadwords in affected programs: 121208 -> 114616 (-5.44%)
helped: 820
HURT: 16
helped stats (abs) min: 8.0 max: 32.0 x̄: 8.28 x̃: 8
helped stats (rel) min: 1.39% max: 50.00% x̄: 11.00% x̃: 10.00%
HURT stats (abs) min: 8.0 max: 32.0 x̄: 12.50 x̃: 8
HURT stats (rel) min: 1.38% max: 10.00% x̄: 6.19% x̃: 7.14%
95% mean confidence interval for quadwords value: -8.14 -7.63
95% mean confidence interval for quadwords %-change: -11.20% -10.15%
Quadwords are helped.
total threads in shared programs: 53633 -> 53663 (0.06%)
threads in affected programs: 39 -> 69 (76.92%)
helped: 33
HURT: 3
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.64 1.02
95% mean confidence interval for threads %-change: 73.27% 101.73%
Threads are helped.
total spills in shared programs: 154 -> 103 (-33.12%)
spills in affected programs: 75 -> 24 (-68.00%)
helped: 6
HURT: 0
total fills in shared programs: 656 -> 656 (0.00%)
fills in affected programs: 148 -> 148 (0.00%)
helped: 2
HURT: 4
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16862 >
2022-06-06 18:10:23 +00:00
Alyssa Rosenzweig
72146051d5
pan/va: Try negating small constants when lowering
...
If a constant is used with a floating point instruction with a floating-point
negate modifier, we can use the modifier to negate constants in the table for
free. Each floating point in the table is positive, so this is required for
negative small constants.
total instructions in shared programs: 2728438 -> 2716912 (-0.42%)
instructions in affected programs: 1418220 -> 1406694 (-0.81%)
helped: 6053
HURT: 94
helped stats (abs) min: 1.0 max: 43.0 x̄: 1.94 x̃: 1
helped stats (rel) min: 0.06% max: 18.18% x̄: 1.34% x̃: 0.84%
HURT stats (abs) min: 1.0 max: 5.0 x̄: 2.34 x̃: 2
HURT stats (rel) min: 0.09% max: 21.43% x̄: 1.87% x̃: 0.91%
95% mean confidence interval for instructions value: -1.93 -1.82
95% mean confidence interval for instructions %-change: -1.34% -1.25%
Instructions are helped.
total cycles in shared programs: 142103 -> 141984.06 (-0.08%)
cycles in affected programs: 766.70 -> 647.77 (-15.51%)
helped: 97
HURT: 0
helped stats (abs) min: 0.015625 max: 40.0 x̄: 1.23 x̃: 0
helped stats (rel) min: 0.27% max: 41.24% x̄: 3.63% x̃: 2.08%
95% mean confidence interval for cycles value: -2.41 -0.04
95% mean confidence interval for cycles %-change: -4.68% -2.57%
Cycles are helped.
total cvt in shared programs: 13983.34 -> 13805.05 (-1.28%)
cvt in affected programs: 7952.45 -> 7774.16 (-2.24%)
helped: 6049
HURT: 98
helped stats (abs) min: 0.015625 max: 0.359375 x̄: 0.03 x̃: 0
helped stats (rel) min: 0.25% max: 100.00% x̄: 4.74% x̃: 2.52%
HURT stats (abs) min: 0.015625 max: 0.078125 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.17% max: 100.00% x̄: 5.48% x̃: 2.54%
95% mean confidence interval for cvt value: -0.03 -0.03
95% mean confidence interval for cvt %-change: -4.83% -4.32%
Cvt are helped.
total ls in shared programs: 129660 -> 129545 (-0.09%)
ls in affected programs: 601 -> 486 (-19.13%)
helped: 7
HURT: 0
helped stats (abs) min: 3.0 max: 40.0 x̄: 16.43 x̃: 8
helped stats (rel) min: 2.88% max: 41.24% x̄: 17.41% x̃: 12.50%
95% mean confidence interval for ls value: -31.42 -1.44
95% mean confidence interval for ls %-change: -29.25% -5.58%
Ls are helped.
total quadwords in shared programs: 1482728 -> 1476416 (-0.43%)
quadwords in affected programs: 131200 -> 124888 (-4.81%)
helped: 798
HURT: 15
helped stats (abs) min: 8.0 max: 24.0 x̄: 8.06 x̃: 8
helped stats (rel) min: 0.34% max: 50.00% x̄: 10.15% x̃: 6.67%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 1.49% max: 100.00% x̄: 11.25% x̃: 2.78%
95% mean confidence interval for quadwords value: -7.92 -7.60
95% mean confidence interval for quadwords %-change: -10.52% -8.99%
Quadwords are helped.
total threads in shared programs: 53585 -> 53633 (0.09%)
threads in affected programs: 51 -> 99 (94.12%)
helped: 49
HURT: 1
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.88 1.04
95% mean confidence interval for threads %-change: 90.97% 103.03%
Threads are helped.
total spills in shared programs: 125 -> 154 (23.20%)
spills in affected programs: 75 -> 104 (38.67%)
helped: 3
HURT: 4
total fills in shared programs: 800 -> 656 (-18.00%)
fills in affected programs: 476 -> 332 (-30.25%)
helped: 7
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16862 >
2022-06-06 18:10:23 +00:00
Alyssa Rosenzweig
cecfa0c44a
pan/va: Record which instructions are signed
...
We need to distinguish signed integer instructions from unsigned integer
instructions, to distinguish sign-extension and zero-extension of sources.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16862 >
2022-06-06 18:10:23 +00:00
Rhys Perry
f4c02d9116
aco: fix SMEM load_global with VGPR address and non-zero offset
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 3e9517c757 ("aco: implement _amd global access intrinsics")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16775 >
2022-06-06 17:47:59 +00:00
Rhys Perry
4d9f3fcf9c
aco: fix SMEM load_global_amd with non-zero offset
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 3e9517c757 ("aco: implement _amd global access intrinsics")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16775 >
2022-06-06 17:47:59 +00:00
Juan A. Suarez Romero
695f66cecd
v3d: save only required states in blitter
...
Some blitter operations, like clear, doesn't require to save all the
states.
This is particular important because, besides saving time, the blitter
operation restores the state required for the operation, and if we saved
more states than those, these ones won't be restored and will be leak.
So this also fixes some leaks when running CTS tests.
CC: mesa-stable
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/16837 >
2022-06-06 16:25:53 +00:00
Juan A. Suarez Romero
92474951a3
v3d: use function to initialize refcount
...
Call proper pipe reference function to initialize the reference
counting.
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/16837 >
2022-06-06 16:25:53 +00:00
Alyssa Rosenzweig
e57dfed419
pan/bi: Implement b2i with MUX
...
The result_type modifier propagation looks for MUX instructions, so using this
canonical b2i implementation allows the sequence b2i(cmp) to be fused.
It's also faster on its own: on Valhall, MUX may be implemented as CSEL on the
CVT unit, while AND may only be implemented on the SFU unit. So in case this
doesn't get fused, we expect 4x better throughput for b2i with this
implementation. Similarly, on Bifrost, MUX may be scheduled to either unit (as
CSEL on FMA or MUX on ADD), whereas AND may only be scheduled to FMA.
Results on Mali-G52:
total instructions in shared programs: 2419171 -> 2414814 (-0.18%)
instructions in affected programs: 272203 -> 267846 (-1.60%)
helped: 767
HURT: 0
helped stats (abs) min: 1.0 max: 138.0 x̄: 5.68 x̃: 2
helped stats (rel) min: 0.12% max: 15.57% x̄: 2.09% x̃: 0.68%
95% mean confidence interval for instructions value: -6.68 -4.68
95% mean confidence interval for instructions %-change: -2.37% -1.82%
Instructions are helped.
total tuples in shared programs: 1932822 -> 1929234 (-0.19%)
tuples in affected programs: 76485 -> 72897 (-4.69%)
helped: 380
HURT: 3
helped stats (abs) min: 1.0 max: 138.0 x̄: 9.46 x̃: 1
helped stats (rel) min: 0.14% max: 15.96% x̄: 3.81% x̃: 0.92%
HURT stats (abs) min: 1.0 max: 6.0 x̄: 2.67 x̃: 1
HURT stats (rel) min: 0.38% max: 8.57% x̄: 3.80% x̃: 2.44%
95% mean confidence interval for tuples value: -11.30 -7.44
95% mean confidence interval for tuples %-change: -4.27% -3.22%
Tuples are helped.
total clauses in shared programs: 356094 -> 355992 (-0.03%)
clauses in affected programs: 3264 -> 3162 (-3.12%)
helped: 80
HURT: 0
helped stats (abs) min: 1.0 max: 9.0 x̄: 1.27 x̃: 1
helped stats (rel) min: 0.81% max: 50.00% x̄: 4.83% x̃: 3.39%
95% mean confidence interval for clauses value: -1.49 -1.06
95% mean confidence interval for clauses %-change: -6.23% -3.43%
Clauses are helped.
total cycles in shared programs: 167337.10 -> 167329.19 (<.01%)
cycles in affected programs: 510.08 -> 502.17 (-1.55%)
helped: 80
HURT: 2
helped stats (abs) min: 0.041665999999999315 max: 0.7916659999999993 x̄: 0.10 x̃: 0
helped stats (rel) min: 0.51% max: 13.64% x̄: 2.12% x̃: 1.34%
HURT stats (abs) min: 0.041665999999999315 max: 0.0416669999999999 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.39% max: 2.78% x̄: 1.58% x̃: 1.58%
95% mean confidence interval for cycles value: -0.12 -0.07
95% mean confidence interval for cycles %-change: -2.59% -1.48%
Cycles are helped.
total arith in shared programs: 73819.54 -> 73669.25 (-0.20%)
arith in affected programs: 2840.54 -> 2690.25 (-5.29%)
helped: 383
HURT: 3
helped stats (abs) min: 0.041665999999999315 max: 5.75 x̄: 0.39 x̃: 0
helped stats (rel) min: 0.33% max: 18.81% x̄: 4.39% x̃: 0.98%
HURT stats (abs) min: 0.041665999999999315 max: 0.25 x̄: 0.11 x̃: 0
HURT stats (rel) min: 0.39% max: 8.96% x̄: 4.04% x̃: 2.78%
95% mean confidence interval for arith value: -0.47 -0.31
95% mean confidence interval for arith %-change: -4.93% -3.71%
Arith are helped.
total quadwords in shared programs: 1679798 -> 1676259 (-0.21%)
quadwords in affected programs: 72826 -> 69287 (-4.86%)
helped: 381
HURT: 15
helped stats (abs) min: 1.0 max: 142.0 x̄: 9.35 x̃: 1
helped stats (rel) min: 0.25% max: 18.87% x̄: 4.33% x̃: 1.13%
HURT stats (abs) min: 1.0 max: 6.0 x̄: 1.47 x̃: 1
HURT stats (rel) min: 0.30% max: 6.25% x̄: 0.77% x̃: 0.35%
95% mean confidence interval for quadwords value: -10.76 -7.11
95% mean confidence interval for quadwords %-change: -4.71% -3.56%
Quadwords are helped.
Results on Mali-G57:
total instructions in shared programs: 2704193 -> 2699317 (-0.18%)
instructions in affected programs: 293366 -> 288490 (-1.66%)
helped: 758
HURT: 5
helped stats (abs) min: 1.0 max: 151.0 x̄: 6.45 x̃: 2
helped stats (rel) min: 0.11% max: 22.22% x̄: 2.05% x̃: 0.64%
HURT stats (abs) min: 1.0 max: 7.0 x̄: 2.20 x̃: 1
HURT stats (rel) min: 0.22% max: 1.69% x̄: 0.87% x̃: 1.08%
95% mean confidence interval for instructions value: -7.42 -5.36
95% mean confidence interval for instructions %-change: -2.27% -1.79%
Instructions are helped.
total cycles in shared programs: 141711.73 -> 141711.84 (<.01%)
cycles in affected programs: 214.36 -> 214.47 (0.05%)
helped: 4
HURT: 42
helped stats (abs) min: 0.015625 max: 0.359375 x̄: 0.20 x̃: 0
helped stats (rel) min: 1.85% max: 12.78% x̄: 9.12% x̃: 10.93%
HURT stats (abs) min: 0.015625 max: 0.09375 x̄: 0.02 x̃: 0
HURT stats (rel) min: 0.17% max: 17.65% x̄: 0.84% x̃: 0.34%
95% mean confidence interval for cycles value: -0.02 0.03
95% mean confidence interval for cycles %-change: -1.23% 1.17%
Inconclusive result (value mean confidence interval includes 0).
total cvt in shared programs: 14479.14 -> 14474.19 (-0.03%)
cvt in affected programs: 2877.05 -> 2872.09 (-0.17%)
helped: 508
HURT: 209
helped stats (abs) min: 0.015625 max: 0.453125 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.25% max: 16.67% x̄: 1.23% x̃: 0.37%
HURT stats (abs) min: 0.015625 max: 0.296875 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.15% max: 18.18% x̄: 1.70% x̃: 0.34%
95% mean confidence interval for cvt value: -0.01 -0.00
95% mean confidence interval for cvt %-change: -0.57% -0.18%
Cvt are helped.
total sfu in shared programs: 7875.69 -> 7590.75 (-3.62%)
sfu in affected programs: 1567.38 -> 1282.44 (-18.18%)
helped: 906
HURT: 0
helped stats (abs) min: 0.0625 max: 8.625 x̄: 0.31 x̃: 0
helped stats (rel) min: 2.38% max: 100.00% x̄: 16.80% x̃: 5.63%
95% mean confidence interval for sfu value: -0.37 -0.26
95% mean confidence interval for sfu %-change: -18.43% -15.17%
Sfu are helped.
total quadwords in shared programs: 1468152 -> 1465800 (-0.16%)
quadwords in affected programs: 37104 -> 34752 (-6.34%)
helped: 161
HURT: 2
helped stats (abs) min: 8.0 max: 80.0 x̄: 14.71 x̃: 8
helped stats (rel) min: 1.67% max: 20.00% x̄: 8.05% x̃: 7.69%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 3.57% max: 3.85% x̄: 3.71% x̃: 3.71%
95% mean confidence interval for quadwords value: -16.29 -12.57
95% mean confidence interval for quadwords %-change: -8.58% -7.22%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16857 >
2022-06-06 16:08:25 +00:00
Alyssa Rosenzweig
8f3b62f87e
pan/va: Add MUX lowering tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16857 >
2022-06-06 16:08:25 +00:00
Alyssa Rosenzweig
677a66b3eb
pan/va: Lower MUX to CSEL where possible
...
CSEL executes on the conversion unit (CVT), while MUX executes on the special
function unit (SFU). Throughput on CVT is 4x higher than SFU, so this is
(almost) always an optimization.
The "real" MUX is still used for unusual cases, like 8-bit and bitselect.
Note that it's easier for us to use MUX everywhere for the IR. This is an easy
fixup to get better codegen on Valhall without touching the core Bifrost code.
shader-db is a bit of a toss up: register pressure and instruction count are
hurt in some cases due to restrictions on FAU access. In particular, a shader
that muxes between two uniforms needs an extra move due to extra constant
(zero). However, in terms of throughput this is still a win: 2 CVT instructions
(MOV + CSEL) have 2x throughput to 1 SFU instruction (MUX). The MOV has
opportunities for CSE, but that can hurt pressure in turn. Overall, cycles are
helped substantially.
total instructions in shared programs: 2728438 -> 2731597 (0.12%)
instructions in affected programs: 414391 -> 417550 (0.76%)
helped: 87
HURT: 1063
helped stats (abs) min: 1.0 max: 6.0 x̄: 5.17 x̃: 6
helped stats (rel) min: 0.19% max: 15.79% x̄: 4.12% x̃: 4.11%
HURT stats (abs) min: 1.0 max: 56.0 x̄: 3.40 x̃: 2
HURT stats (rel) min: 0.11% max: 23.43% x̄: 1.15% x̃: 0.63%
95% mean confidence interval for instructions value: 2.47 3.03
95% mean confidence interval for instructions %-change: 0.61% 0.90%
Instructions are HURT.
total cycles in shared programs: 142103 -> 142015.75 (-0.06%)
cycles in affected programs: 1263.45 -> 1176.20 (-6.91%)
helped: 281
HURT: 176
helped stats (abs) min: 0.015625 max: 2.234375 x̄: 0.50 x̃: 0
helped stats (rel) min: 0.71% max: 54.17% x̄: 16.93% x̃: 15.31%
HURT stats (abs) min: 0.015625 max: 30.0 x̄: 0.30 x̃: 0
HURT stats (rel) min: 0.84% max: 120.00% x̄: 7.16% x̃: 5.00%
95% mean confidence interval for cycles value: -0.33 -0.05
95% mean confidence interval for cycles %-change: -9.08% -6.22%
Cycles are helped.
total cvt in shared programs: 13983.34 -> 14891.70 (6.50%)
cvt in affected programs: 7498.36 -> 8406.72 (12.11%)
helped: 71
HURT: 4711
helped stats (abs) min: 0.0625 max: 0.0625 x̄: 0.06 x̃: 0
helped stats (rel) min: 5.41% max: 40.00% x̄: 10.23% x̃: 9.30%
HURT stats (abs) min: 0.015625 max: 2.640625 x̄: 0.19 x̃: 0
HURT stats (rel) min: 0.18% max: 141.18% x̄: 16.21% x̃: 9.52%
95% mean confidence interval for cvt value: 0.18 0.20
95% mean confidence interval for cvt %-change: 15.21% 16.42%
Cvt are HURT.
total sfu in shared programs: 11320.44 -> 7882.56 (-30.37%)
sfu in affected programs: 7618.50 -> 4180.62 (-45.13%)
helped: 4782
HURT: 0
helped stats (abs) min: 0.0625 max: 10.5625 x̄: 0.72 x̃: 0
helped stats (rel) min: 1.34% max: 100.00% x̄: 41.91% x̃: 37.50%
95% mean confidence interval for sfu value: -0.75 -0.68
95% mean confidence interval for sfu %-change: -42.68% -41.14%
Sfu are helped.
total ls in shared programs: 129660 -> 129690 (0.02%)
ls in affected programs: 25 -> 55 (120.00%)
helped: 0
HURT: 1
total quadwords in shared programs: 1482728 -> 1484128 (0.09%)
quadwords in affected programs: 58624 -> 60024 (2.39%)
helped: 24
HURT: 195
helped stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
helped stats (rel) min: 3.70% max: 20.00% x̄: 10.34% x̃: 10.00%
HURT stats (abs) min: 8.0 max: 24.0 x̄: 8.16 x̃: 8
HURT stats (rel) min: 1.41% max: 50.00% x̄: 4.84% x̃: 2.56%
95% mean confidence interval for quadwords value: 5.70 7.09
95% mean confidence interval for quadwords %-change: 2.22% 4.14%
Quadwords are HURT.
total spills in shared programs: 125 -> 127 (1.60%)
spills in affected programs: 0 -> 2
helped: 0
HURT: 1
total fills in shared programs: 800 -> 828 (3.50%)
fills in affected programs: 0 -> 28
helped: 0
HURT: 1
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16857 >
2022-06-06 16:08:25 +00:00
Alyssa Rosenzweig
3741606b25
pan/va: Implement more lanes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16857 >
2022-06-06 16:08:25 +00:00
Alyssa Rosenzweig
1768afa5b9
pan/bi: Extract MUX to CSEL optimization
...
It's portable, and useful to both Bifrost and Valhall, in the clause scheduler
and in an instruction selection respectively. Move it from the Bifrost clause
scheduler to common code so we can share the benefits.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16857 >
2022-06-06 16:08:25 +00:00
Frank Binns
fd0f02ec4e
pvr: shorten error to err in label names
...
This is for consistency with the rest of the driver.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16882 >
2022-06-06 15:58:33 +00:00
Juan A. Suarez Romero
8f3c60a93d
v3d/ci: Add traces
...
Add a job to run and test traces from Tracies DB.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16809 >
2022-06-06 15:18:50 +00:00
Alyssa Rosenzweig
c87629771d
panfrost: Don't calculate min/max indices on v9
...
On Valhall, we always* use memory-allocated IDVS, which does not require min/max
indices. As such, we do not want to calculate min/max indices, as this is quite
slow. Skip this step.
* except for blit shaders, which don't use an index buffer anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16867 >
2022-06-06 14:58:53 +00:00
Alyssa Rosenzweig
ca6d06fa91
panfrost: Extract panfrost_get_index_buffer helper
...
Memory-allocated IDVS does not require min/max indices to be calculated, but it
of course requires an index buffer. Extract a helper to upload the index buffer
without calculating bounds.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16867 >
2022-06-06 14:58:53 +00:00
Alyssa Rosenzweig
e1fb182d90
pan/va: Do not insert NOPs into empty shaders
...
It's unnecessary and breaks the empty shader optimizations. Noticed while
inspecting a trace from dEQP-GLES3.functional.color_clear.masked_scissored_rgb,
which does not produce any varyings other than gl_Position in its vertex shader
and hence should omit the varying shader.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16868 >
2022-06-06 14:28:59 +00:00
Konstantin Seurer
e8da8fc5b7
radv: Require an alignment of 64 for accel structs
...
Top level acceleration structures need the bottom
6 bits to store the root ids of instances. If we
don't require that alignment, more "advanced"
allocators like VMA may sub allocate a buffer
which can lead to the 6 getting lost.
Fixes the Khronos ray tracing Vulkan samples.
Closes : #6598
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16870 >
2022-06-06 13:49:24 +00:00
David Heidelberg
9eb40f57a2
ci/virgl: traces: temporarily disable nheko trace
...
Disable nheko trace until apitrace gets fixed.
apitrace currently fails with this trace, when more than 1 run is
requested.
Upstream issue: https://github.com/apitrace/apitrace/issues/800
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16887 >
2022-06-06 13:29:36 +00:00
Mike Blumenkrantz
de63ccfc1e
zink: remove buffer valid range tracking from blit
...
I copy/pasted too hard. this code could never be reached
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
79685199f4
zink: invalidate blit dsts if fully covered
...
tiling perf++ since there's no need to load
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
de1e67b39d
zink: hook up surface invalidation to LOAD_OP_DONT_CARE
...
this should improve perf for tilers
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
c7ad86b40f
zink: split out a dynamic render ternary
...
this is going to get bigger
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
e6ec9ca0ab
zink: rename renderpass attrib value
...
this never really meant "swapchain", it just meant that load isn't needed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
5897ade22d
zink: flag renderpass for change if image resource changes valid state
...
the next renderpass instance will need to use different load ops,
so flag it here to ensure that gets picked up
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
3e2c65281d
zink: track invalidation for image resources
...
an image only has valid data if:
* it's imported
* it's written to
* it's mapped for write
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16877 >
2022-06-06 00:36:20 +00:00
Mike Blumenkrantz
8575080990
zink: disable EXT_primitives_generated_query on turnip
...
this is broken
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16861 >
2022-06-06 00:21:02 +00:00
Mike Blumenkrantz
9683de9bc4
zink: remove ANV depth clip control workaround
...
this was fixed a while ago and I forgot
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16861 >
2022-06-06 00:21:02 +00:00
Mike Blumenkrantz
06859ba69c
mesa: handle atomic counter lowering for drivers with big ssbo offset aligns
...
according to the spec, atomic counters can be bound at any offset divisible by 4,
which means that any driver that uses the ssbo lowering pass and doesn't have
a min offset align of 4 is potentially broken
to handle this, use a statevar to inject the misaligned remainder of the offset
into the shader as a uniform. for well-aligned counter binds, the uniform offset
will be 0
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16749 >
2022-06-05 23:16:36 +00:00
Mike Blumenkrantz
5b5eb77a87
st/glsl_to_nir: call st_set_prog_affected_state_flags() as late as possible
...
this function should be called late to allow for other passes potentially
making changes which affect the states in use by shaders
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16749 >
2022-06-05 23:16:36 +00:00
Mike Blumenkrantz
93d9f086a3
mesa: conditionally set constants dirty for atomic counter binds
...
this is necessary for updating the offset uniforms
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16749 >
2022-06-05 23:16:36 +00:00
Mike Blumenkrantz
b3fbd498e0
mesa: add statevar for atomic counter offsets
...
some hardware can't do a ssbo offset=4, as required by the atomic->ssbo
lowering pass, so for these cases an offset can be passed for the counter
as a uniform, and the shaders can be adjusted accordingly
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16749 >
2022-06-05 23:16:36 +00:00
Pavel Ondračka
6c2959c025
r300: merge simple movs with constant swizzles together
...
This pass will merge instructions like these
MOV output[0].x, temp[5].x___;
MOV output[0].yzw, none._001;
into
MOV output[0].xyzw, temp[5].x001;
It is currently very careful with control flow and dependency
tracking, so there is still room for improvements.
Shader-db stats with RV530:
total instructions in shared programs: 132486 -> 132256 (-0.17%)
instructions in affected programs: 6186 -> 5956 (-3.72%)
helped: 65
HURT: 0
total temps in shared programs: 18035 -> 18014 (-0.12%)
temps in affected programs: 295 -> 274 (-7.12%)
helped: 22
HURT: 1
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Filip Gawin
0fcd423a6a
r300: don't check for unitialized reads when rewriting register
...
This fixes the "Rewrite of inst X failed Can't allocate source
for Inst X src_type=X new_index=X new_mask=X" errors.
The compiler is quite strict when rewriting registers during
the pair allocation and checks that all of the reads of it are
initialized. However the spec doesn't enfore that, and
specifically with control flow depending on user input we can't
really know...
In the following example temp[4].x is written only in one branch,
that might or might not be taken, but this is enough to keep the
compiler happy:
IF aluresult.x___;
MAD temp[4].x, src0.1__, src0.111, src0.000
ENDIF;
src0.xyz = temp[4], src0.w = temp[4]
MAD color[0].xyz, src0.xyz, src0.111, src0.000
MAD color[0].w, src0.w, src0.1, src0.0
After switch to ntt, more IFs are converted to CMP, and the color
write looks like this. Please note that the CMP here is not TGSI
opcode but rather our US_OP_RGB_CMP: src2 >= 0 ? src0 : src1
src0.xyz = temp[4], src0.w = temp[4], src1.xyz = temp[3], src1.w = temp[12], src2.xyz = temp[2]
CMP color[0].xyz, src0.xyz, src1.xyz, -src2.xxx
CMP color[0].w, src0.w, src1.w, -src2.x
At this point temp[4].x is undefined. Now when compiler tries to
allocate register for temp[4] at some previous instruction, it will
find out that it is used as a source in the final CMP and bail out.
Instead of increasing the complexitty even more trying to account for
this, just get rid of the check completelly.
Fixes:
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_component_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_direct_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_component_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_direct_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_component_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_direct_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_loop_subscript_read_fragment,Fail
dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_subscript_read_fragment,Fail
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Pavel Ondračka
a7f3584d1e
r300: Update list of RV515 dEQP failures and add some flakes
...
The fixes are mostly from 23dfae4c81
dEQP-GLES2.functional.fragment_ops.depth_stencil tests show random
flakes. The ones in failures are showing unexpected pass, however other
random test failures from the same group keep showing so just mark it
all as flakes.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Pavel Ondračka
bc9b2f3781
r300: don't try to use inline constants instead of constant swizzles
...
It doesn't make sense and was not working anyway. This was spotted
by Filip Gawin in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13978
however the fix there was IMO just papering over the problem.
I don't believe that this could manifest as a real issues, because
when all of the swizzles were constant the file would be set to
RC_FILE_NONE already. So in theory this could lead to an issue only
in the close to impossible circumstance that the out of bounds memory
read by constant->u.Immediate[swz] would end with the same exact value
as another inlineable constant in different channel. However in some
circumstances it would lead to following valgrind warnings:
Conditional jump or move depends on uninitialised value(s)
at 0x5D4E690: ieee_754_to_r300_float (radeon_inline_literals.c:61)
by 0x5D4E690: rc_inline_literals (radeon_inline_literals.c:133)
by 0x5D3877A: rc_run_compiler_passes (radeon_compiler.c:436)
by 0x5D38821: rc_run_compiler (radeon_compiler.c:458)
by 0x5D4AF63: r3xx_compile_fragment_program (r3xx_fragprog.c:139)
by 0x5D48377: r300_translate_fragment_shader (r300_fs.c:499)
by 0x5D491B0: r300_pick_fragment_shader (r300_fs.c:601)
by 0x5D2BFEE: r300_create_fs_state (r300_state.c:1072)
by 0x57DDC36: st_create_nir_shader (st_program.c:538)
by 0x57DF10E: st_create_fp_variant (st_program.c:1056)
by 0x57E057C: st_get_fp_variant (st_program.c:1102)
by 0x57E0AB1: st_precompile_shader_variant (st_program.c:1287)
by 0x57E0AB1: st_finalize_program (st_program.c:1333)
by 0x57CB6F3: st_link_nir (st_glsl_to_nir.cpp:958)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Pavel Ondračka
2bdffe7eb2
r300: be less agresive with copy propagate in loops
...
When there are multiple MOVs with the same destination in loop
in different branches and some readers after the loop, we would
now errorneously copy propagate the last MOV, like in the following
snippet:
BGNLOOP;
...
IF temp[3].x___;
MOV temp[2], const[1].yxxy;
BRK;
ENDIF;
IF temp[4].x___;
MOV temp[2], const[1].xyxy;
BRK;
ENDIF;
...
MOV temp[2], const[1].xyxy;
ENDLOOP;
ADD_SAT temp[0], temp[2], temp[1];
into:
BGNLOOP;
...
IF temp[3].x___;
MOV temp[2], const[1].yxxy;
BRK;
ENDIF;
IF temp[3].y___;
MOV temp[2], const[1].xyxy;
BRK;
ENDIF;
...
ENDLOOP;
ADD_SAT temp[0], const[1].xyxy, temp[1];
We need the copy propagate just for simple cleanups after ttn,
anything more complex should have been handled already in NIR.
So just bail out if any of the readers is after the loop.
No changes in shader-db.
Fixes few piglit tests when loop unrolling is disabled:
spec@glsl-1.10 @execution@vs-loop-complex-unroll
spec@glsl-1.10 @execution@vs-loop-complex-unroll-nested-break
spec@glsl-1.10 @execution@vs-loop-complex-unroll-with-else-break
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6467
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Pavel Ondračka
5a3be2db24
r300: deduplicate common NIR options
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16657 >
2022-06-05 21:38:36 +00:00
Mike Blumenkrantz
5c37320eb6
mesa/st: bump param reservation to 28
...
now d3d12 is hitting it, so here we go
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16872 >
2022-06-05 13:20:25 +00:00
Mike Blumenkrantz
f160a3b2d6
virgl: add some ci flakes
...
issue #6614
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16876 >
2022-06-05 13:07:14 +00:00
Vinson Lee
3e679219a1
clc: Fix build with llvm-15.
...
opencl_c_h is defined only for llvm < 15.
Fixes: bcc2df4890 ("clc: speed up compilation by not relying on opencl-c.h")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16808 >
2022-06-04 22:27:55 -07:00
Mike Blumenkrantz
4b3afed35a
d3d12: skip time-elapsed piglit tests in ci
...
flaky
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16866 >
2022-06-04 17:12:58 +00:00
Timothy Arceri
5aec67a1e1
glsl: remove the now unused GLSL IR loop unrolling code
...
This code was slow, buggy and hard to understand. All drivers
have now switched to using the NIR unrolling code \o/
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
26ff49038c
gallium: remove PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT CAP
...
This is used for the old, buggy and slow GLSL IR loop unrolling
code. All drivers have now switched to the NIR unrolling code so
here we remove the CAP.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
8c79616984
svga: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Here we also fix up the force unroll settings.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
bc0f8455e5
nouveau/nvc0: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Shader-db results (nv120):
total gpr in shared programs: 893490 -> 893898 (0.05%)
gpr in affected programs: 15338 -> 15746 (2.66%)
total instructions in shared programs: 6243205 -> 6237068 (-0.10%)
instructions in affected programs: 71160 -> 65023 (-8.62%)
total bytes in shared programs: 66729616 -> 66664760 (-0.10%)
bytes in affected programs: 759328 -> 694472 (-8.54%)
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
e5181c2e23
nouveau/nv50: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Shader-db results (nv92):
total gpr in shared programs: 734638 -> 735037 (0.05%)
gpr in affected programs: 11058 -> 11457 (3.61%)
total instructions in shared programs: 6073415 -> 6073398 (<.01%)
instructions in affected programs: 10079 -> 10062 (-0.17%)
total bytes in shared programs: 41837432 -> 41838872 (<.01%)
bytes in affected programs: 252504 -> 253944 (0.57%)
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
fa3b6a3d32
nouveau/nv30: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Shader-db results (nv40):
total instructions in shared programs: 17446532 -> 17446068 (<.01%)
instructions in affected programs: 15532 -> 15068 (-2.99%)
total gpr in shared programs: 82658 -> 82801 (0.17%)
gpr in affected programs: 1680 -> 1823 (8.51%)
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
bb2f97eb27
lima: switch to NIR loop unrolling
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
9e1ce5de40
lima: fixup nir indirect unroll options to match gallium CAP
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
53df6dfb5b
lima: lower all undefs to zero in vs
...
Otherwise we will later hit:
gpir_error("nir_ssa_undef_instr is not supported\n");
Unfortunatly this causes a piglit failure due to increased register
pressure in an unrealistic shader but since not doing this can
result in hitting the not supported error in more relistic shaders
this seems the right thing to do for now.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
57dee95b85
freedreno: switch to NIR loop unrolling
...
Force unroll setting based on GLSL IR settings:
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
/* a2xx compiler doesn't handle indirect: */
return is_ir3(screen) ? 1 : 0;
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
34e868d882
freedreno/ir3: tidy up duplication of common nir options
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Timothy Arceri
0f1cbcd6a7
gallivm: disable GLSL IR loop unrolling in LLVMPIPE
...
The NIR unroller is already enabled so just allow it to do its job.
We add a new failure here because llvmpipe fails to handle a
shader that is no longer unrolled.
Previously GLSL IR could unroll the loop because it only had a
single break. However once lower_returns passes over the shader
it ends up with more than 2 breaks making it no longer possible
to unroll. This is a disadvantage of doing the unrolling in NIR
however in practice we don't see shaders in the wild with multiple
returns inside loops.
Being unable to handle this loop is an existing bug with llvmpipe
exposed by the loop no longer being unrolled.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Alyssa Rosenzweig
3b3cd59fb8
panfrost: Launch transform feedback shaders
...
We now have infrastructure in place to generate variants of vertex shaders
specialized for transform feedback. All that's left is launching these
compute-like kernels before the IDVS job, implementing both the
transform feedback and the regular rasterization pipeline. This implements
transform feedback on Valhall, passing the relevant GLES3.1 tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
a510a94b02
panfrost: Create transform feedback shaders
...
Valhall has no architectural support for transform feedback. So if a vertex
shader uses transform feedback, we need to split the shader into two: a pure
vertex stage and a compute-like transform feedback stage. This splitting
resembles the splitting we do for IDVS.
When compiling a vertex shader that uses transform feedback on Bifrost, also
compile the transform feedback variant. That variant (marked by internal=true)
will get its stores lowered by the NIR pass introduced earlier in this series.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
ed5a5a9d6d
panfrost: Wire up transfrom feedback sysvals
...
Wire the Gallium interface for transform feedback up to the system values that
will be fed into our lowering code. This is based on our existing transform
feedback implementation for Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
45dc15d07b
panfrost: Don't allow vertex shaders to have side effects
...
In both GL and VK, the driver may choose not to support vertex shaders with side
effects (SSBOs, atomics, images). Supporting this opens a can of worms for IDVS.
Neither freedreno nor the (Vulkan?) DDK advertise support, for this reason.
Apps should not be using this anti-feature anyway.
Stop advertising support.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
4e341e70d8
pan/bi: Handle transform feedback intrinsics
...
Translate the intrinsics we introduced to lower away transform feedback into
Panfrost system values which the GL driver can handle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
ae3fa6cc1d
pan/bi: Add transform feedback lowering pass
...
Add a simple NIR-based implementation of transform feedback, appropriate for
OpenGL ES 3.1 class hardware (compute but no geometry or tessellation shaders).
Stores to varyings that will be captured are replaced by stores to transform
feedback buffers and some addressing math. This allows implementing the semantic
of transform feedback in a compute-like stage.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
dc2d8a643f
nir: Export nir_io_add_intrinsic_xfb_info
...
This is useful for drivers which wish to consume XFB information. These
hopefully-uncontroversial hunks are extracted from the much more controversial
"st,nir,radeons: Move nir_lower_io_passes to si_nir_lower_io" by Jason.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Alyssa Rosenzweig
5c79d649af
nir: Add transform feedback system values
...
These will be used to facilitate transform feedback lowering for Panfrost,
although other backends could use the sysvals in the future.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15720 >
2022-06-04 14:35:56 +00:00
Mike Blumenkrantz
ba09a00a5c
format_utils: properly parenthesize macro params
...
this otherwise breaks evaluation of the parameters on arm64
cc: mesa-stable
fixes #6496
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16860 >
2022-06-04 13:15:57 +00:00
Alyssa Rosenzweig
2ee6206751
panfrost: Use C11 static_assert for enums
...
Rather than asserting everything in an unused function, just do it in global
context with C11 static_asserts. This is a bit neater now that we depend on C11
projectwide.
Obvious follow-on from !16670 .
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16856 >
2022-06-04 12:19:54 +00:00
Mike Blumenkrantz
20a57f8a05
mesa/st: bump param reservation to 20
...
I was hitting the realloc assert, so increase this again
fixes (zink+tu):
KHR-GL46.geometry_shader.api.max_atomic_counter_buffers
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16851 >
2022-06-04 03:58:21 +00:00
Mike Blumenkrantz
3ec74cd1c7
mesa: improve relocation problem message
...
make it easier to immediately know what the problem is
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16851 >
2022-06-04 03:58:21 +00:00
Timothy Arceri
87aaa0f915
glsl: remove now unused lower_const_arrays_to_uniforms()
...
We now use a NIR version instead.
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
c573260c9b
glsl: switch to NIR based implementation of lower_const_arrays_to_uniforms()
...
Shader-db results iris (BDW):
total instructions in shared programs: 17523543 -> 17513909 (-0.05%)
instructions in affected programs: 218091 -> 208457 (-4.42%)
helped: 69
HURT: 327
helped stats (abs) min: 2 max: 2919 x̄: 160.84 x̃: 12
helped stats (rel) min: 0.21% max: 96.88% x̄: 14.87% x̃: 6.40%
HURT stats (abs) min: 1 max: 47 x̄: 4.48 x̃: 1
HURT stats (rel) min: 0.10% max: 22.02% x̄: 3.33% x̃: 0.18%
95% mean confidence interval for instructions value: -45.02 -3.63
95% mean confidence interval for instructions %-change: -1.16% 1.47%
Inconclusive result (%-change mean confidence interval includes 0).
total loops in shared programs: 4875 -> 4868 (-0.14%)
loops in affected programs: 7 -> 0
helped: 7
HURT: 0
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for loops value: -1.00 -1.00
95% mean confidence interval for loops %-change: -100.00% -100.00%
Loops are helped.
total cycles in shared programs: 858032406 -> 857984712 (<.01%)
cycles in affected programs: 22940290 -> 22892596 (-0.21%)
helped: 155
HURT: 312
helped stats (abs) min: 1 max: 49696 x̄: 1697.70 x̃: 62
helped stats (rel) min: <.01% max: 70.84% x̄: 5.60% x̃: 0.82%
HURT stats (abs) min: 1 max: 19640 x̄: 690.54 x̃: 100
HURT stats (rel) min: <.01% max: 217.23% x̄: 33.57% x̃: 0.92%
95% mean confidence interval for cycles value: -436.09 231.84
95% mean confidence interval for cycles %-change: 15.39% 25.75%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 16289 -> 15205 (-6.65%)
spills in affected programs: 2753 -> 1669 (-39.38%)
helped: 9
HURT: 1
total fills in shared programs: 20347 -> 20324 (-0.11%)
fills in affected programs: 1642 -> 1619 (-1.40%)
helped: 9
HURT: 1
total sends in shared programs: 972151 -> 971960 (-0.02%)
sends in affected programs: 1910 -> 1719 (-10.00%)
helped: 25
HURT: 20
helped stats (abs) min: 1 max: 50 x̄: 9.00 x̃: 2
helped stats (rel) min: 0.87% max: 53.76% x̄: 13.89% x̃: 6.25%
HURT stats (abs) min: 1 max: 8 x̄: 1.70 x̃: 1
HURT stats (rel) min: 8.33% max: 200.00% x̄: 52.36% x̃: 33.33%
95% mean confidence interval for sends value: -8.19 -0.29
95% mean confidence interval for sends %-change: -1.07% 32.18%
Inconclusive result (%-change mean confidence interval includes 0).
LOST: 3
GAINED: 27
Note a small number of tests fail on lima and r300 after this patch.
However since we are doing the correct thing here and they only
fail due to a slight increase in instruction count pushing them
over their instruction count limit, we are defering that issue
to a different bug report for further discussion.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6540
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
1805ee8d7b
glsl: move gl_nir_link_opts() call out of the st code
...
Calling this directly in the linker code allows us to place it between
the varying linker and uniform linker calls which allows for better
optimisation/removal of uniforms.
Also in a later patch it allows us to insert a new nir based
lower_const_arrays_to_uniforms() call after the gl_nir_link_opts()
call. This is important because it allows the linking opts to
move constant arrays to later stages if possible before
lower_const_arrays_to_uniforms() turns them into uniforms.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6541
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
a14e2733ce
glsl: move common link time optimisation calls to linker code
...
In the following patch we will move the users of this function to
this file too and make it static again.
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
64dbc3f03a
glsl/nir: allow the nir linker to remove dead uniforms we created
...
Some backends lower constant arrays to uniforms in GLSL IR. These
create so called hidden uniforms. Since we know these are added
per stage it is safe to remove them if we detect they are dead.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
4488b577a1
glsl/nir: skip adding hidden uniforms to the remap tables
...
The remap tables are used with the GL API so there is no need to
add hidden uniforms to them. Also when we switch to lowering some
constant arrays to uniforms in NIR in a following patch there
will no longer be enough room in the tables as we assign their
size in the GLSL IR linker not the NIR linker currently.
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Timothy Arceri
44d6068c5b
nir: add nir based version of the lower_const_arrays_to_uniforms pass
...
Doing this in NIR should give better results, but also allows us to
stop calling more GLSL IR optimisations passes.
v2: Skip 8bit and 16bit type that would require further processing
I believe this is an existing bug in the GLSL IR pass also.
v3: rebuild constant initialisers as we want to call this pass
after nir has already lowered them and performed optimisations.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com > (v1)
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16770 >
2022-06-04 03:13:36 +00:00
Georg Lehmann
f3c3b8cf2a
zink: Use VK_USE_64_BIT_PTR_DEFINES to check for 64bit platforms.
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6605
Cc: mesa-stable
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16853 >
2022-06-04 02:43:06 +00:00
Mike Blumenkrantz
b0fe621459
zink: add back kms handling
...
removing this broke the ability to create system compositors
rework it a bit though so that kms handles are stored and destroyed
when the bo is freed
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16815 >
2022-06-04 01:27:53 +00:00
Mike Blumenkrantz
b4ef984ef3
Revert "zink: remove drm_fd"
...
This reverts commit c5960f64b1 .
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16815 >
2022-06-04 01:27:53 +00:00
Mike Blumenkrantz
b17aa29793
zink: handle aux plane imports
...
basically do nothing here and it magically works
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16822 >
2022-06-04 01:05:43 +00:00
Mike Blumenkrantz
d5d7279d38
zink: rename a variable
...
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16822 >
2022-06-04 01:05:43 +00:00
Mike Blumenkrantz
08116638fd
zink: represent plane offsets using offset from plane 0 vs size of plane
...
this is a bit easier to keep track of
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16822 >
2022-06-04 01:05:43 +00:00
Mike Blumenkrantz
c57fa8b390
zink: fix dmabuf plane layout struct scoping
...
this struct needs to exist for all the scopes it's used in
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16822 >
2022-06-04 01:05:43 +00:00
Adam Jackson
974606eb9d
zink: Print the VkResult if vkCreateInstance fails
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16854 >
2022-06-04 00:19:19 +00:00
Mike Blumenkrantz
4dd8c143a9
ci: disable unit tests
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16863 >
2022-06-03 23:02:22 +00:00
Alyssa Rosenzweig
ed4bd8738d
panfrost/ci: Mark draw_buffers_indexed.* as flakes
...
These keep flaking. Icecream95 observes the issue relates to AFBC in the
discussion of the flake in issue 6604. Until the root cause can be identified
and fixed, mark the tests as known flakes for CI.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16855 >
2022-06-03 21:05:22 +00:00
Mike Blumenkrantz
b6a8014217
kopper: use get_drawable_info path for non-x11 drawables
...
wayland surfaces need to take this path to get resizing right
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16814 >
2022-06-03 18:22:22 +00:00
Mike Blumenkrantz
20ba759694
egl/wayland: skip buffer creation on zink
...
this happens through wsi, so don't create resources that aren't used
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16814 >
2022-06-03 18:22:22 +00:00
Mike Blumenkrantz
f67bd8adfa
egl/wayland: manually swap backbuffer when using zink
...
this would usually occur through dri2_wl_swrast_commit_backbuffer(),
but zink triggers this functionality using vulkan wsi, which fails to
perform these updates as expected
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16814 >
2022-06-03 18:22:22 +00:00
SureshGuttula
5d0f922834
Revert "radeon: hardcode uvd/vce encoder not_referenced value to false"
...
This reverts commit 96b276b327 .
This patch enable SVC encoding support on VCE/UVD.
Signed-off-by: Suresh Guttula <suresh.guttula@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16768 >
2022-06-03 17:46:28 +00:00
Yonggang Luo
ca700dcb0a
microsoft/clc: Fixes compiling of microsoft clc with mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
1720672e33
dzn: Fixes compiling error by include <unknwn.h>
...
In mingw's `<unknwn.h>`, it's defeind __REQUIRED_RPCNDR_H_VERSION__ to 475,
so that gcc/mingw won't raise compiling error that because directx/d3d12.h
define __REQUIRED_RPCNDR_H_VERSION__ to 500, but the maximal supported __REQUIRED_RPCNDR_H_VERSION__ in mingw
are 475.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
0445bfdc1b
dzn: Fixes compiling error when build with msys2/mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
6f61b1e1da
d3d12/wgl/test: Fixes wgl_tests.cpp for d3d12 with mingw
...
wgl needs dxguids/dxguids.h for correct GUID
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
e26f58e001
d3d12: #include <windows.h> instead #include <Windows.h> for building under linux with mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
64b10ade2b
d3d12: Fixes compiling error by include <unknwn.h>
...
In mingw's `<unknwn.h>`, it's defeind __REQUIRED_RPCNDR_H_VERSION__ to 475,
so that gcc/mingw won't raise compiling error that because directx/d3d12.h
define __REQUIRED_RPCNDR_H_VERSION__ to 500, but the maximal supported __REQUIRED_RPCNDR_H_VERSION__ in mingw
are 475.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
d493e2ef7d
d3d12: Move shared code that include d3d12 headers into d3d12_common.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Yonggang Luo
b4f701f962
d3d12: Fixes d3d12 compiling errors in D3D12ResourceState.h for mingw
...
```
In file included from ../../src/gallium/drivers/d3d12/D3D12ResourceState.cpp:24:
../../src/gallium/drivers/d3d12/D3D12ResourceState.h:51:45: error: call to non-'constexpr' function 'D3D12_RESOURCE_STATES operator|(D3D12_RESOURCE_STATES, D3D12_RESOURCE_STATES)'
45 | D3D12_RESOURCE_STATE_RENDER_TARGET |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 | D3D12_RESOURCE_STATE_UNORDERED_ACCESS |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47 | D3D12_RESOURCE_STATE_DEPTH_WRITE |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 | D3D12_RESOURCE_STATE_STREAM_OUT |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 | D3D12_RESOURCE_STATE_COPY_DEST |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50 | D3D12_RESOURCE_STATE_RESOLVE_DEST |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51 | D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
52 | D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/CI-Tools/msys64/mingw64/include/minwindef.h:163,
from C:/CI-Tools/msys64/mingw64/include/windef.h:9,
from C:/CI-Tools/msys64/mingw64/include/windows.h:69,
from C:/CI-Tools/msys64/mingw64/include/rpc.h:16,
from ../../subprojects/DirectX-Headers-1.0/include/directx/d3d12.h:26,
from ../../src/gallium/drivers/d3d12/D3D12ResourceState.h:33,
from ../../src/gallium/drivers/d3d12/D3D12ResourceState.cpp:24:
../../subprojects/DirectX-Headers-1.0/include/directx/d3d12.h:2865:1: note: 'D3D12_RESOURCE_STATES operator|(D3D12_RESOURCE_STATES, D3D12_RESOURCE_STATES)' declared here
2865 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16767 >
2022-06-03 16:33:00 +00:00
Mike Blumenkrantz
50bc8efe18
zink: disable compute pbos on turnip
...
this saves ~15 minutes in cts somehow
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16548 >
2022-06-03 15:48:45 +00:00
Jesse Natalie
3cd320c5fa
meson: Use a C99 STDC_VERSION for flex
...
Fixes: 8575d0e8 ("meson: modernize win_flex stdint.h logic")
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16839 >
2022-06-03 15:13:10 +00:00
Konstantin Seurer
ae19e9c292
radv: Some acceleration structure cleanups
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16782 >
2022-06-03 13:28:37 +00:00
Konstantin Seurer
5c5021de27
radv: Add and use radv_cp_dma_wait_for_stages
...
Adds a small helper for handling cp dma sync. This
Also adds the missing handling for some stage
flags in write_event.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16782 >
2022-06-03 13:28:37 +00:00
Hoe Hao Cheng
687fd67557
zink/codegen: do not automatically consider extensions promoted
...
...until an entry is added to VERSIONS in zink_device_info.py.
Now that we stop obtaining feature structs of promoted extensions when the VK
impl is new enough, it's possible for things to break when someone updates
vk.xml, and extensions get promoted but the codegen is not updated to include
e.g. info->feats13 and info->props13 (or newer) in zink_device_info
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16265 >
2022-06-03 13:06:34 +00:00
Hoe Hao Cheng
07565e8852
zink/codegen: do not include compilation structs with extension structs
...
(compilation structs refer to VkPhysicalDeviceVulkanXYFeatures/Properties, as
they consist of all features added by extensions promoted in VK X.Y)
The spec prohibits this, so instead we map the fields in the compilation
structs onto the fields in extension structs.
Some extensions' feature/properties structs are not promoted, and the spec
allows including both compilation structs and extension structs in such cases.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16265 >
2022-06-03 13:06:34 +00:00
Hoe Hao Cheng
0d344e96c0
zink/codegen: remember the fields in feats/props structs of extensions
...
this will be useful in the next commit, where we reapply fields from one struct
to another.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16265 >
2022-06-03 13:06:34 +00:00
Pierre-Eric Pelloux-Prayer
b51e40ebde
st/mesa: use mutex in st_get_texture_sampler_view_from_stobj
...
st_texture_release_all_sampler_views uses the validate_mutex,
but st_get_texture_sampler_view_from_stobj didn't.
Since they both modify stObj->view we could have threadA in
st_get_texture_sampler_view_from_stobj with a non-NULL sv,
so expecting sv->view to be non-NULL, while threadB was in
st_texture_release_all_sampler_views clearing sv->view.
It's also needed to protect st_sampler_view::private_refcount,
which is supposed to be used from the owning context thread,
but can also be used by any context in st_texture_release_all_sampler_views.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6088
Fixes: ef5d427413 ("st/mesa: add a mechanism to bypass atomics when binding sampler views")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16779 >
2022-06-03 14:10:28 +02:00
Tapani Pälli
d07ec3f038
anv: use anv_cmd_dirty_mask_t type for dynamic state
...
We were using both uint32_t and anv_cmd_dirty_mask_t, this is
a cleanup making type usage consistent. Commit also changes type of
the mask to be enum anv_cmd_dirty_bits.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16849 >
2022-06-03 14:11:04 +03:00
Boris Brezillon
2feef505c1
microsoft/spirv_to_dxil: Fix the push_constant UBO size calculation
...
Right now, we just consider the size of the accessed portion of the
push constant array, but it doesn't necessarily reflect the size
of the UBO we should declare.
Fixes: de1e941c59 ("microsoft/spirv_to_dxil: Lower push constant loads to UBO loads")
Reviewed-by: Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16703 >
2022-06-03 10:43:18 +00:00
Boris Brezillon
6783a88455
microsoft/spirv_to_dxil: Fix push_constants type declaration
...
We're not declaring an array of bytes but an array of uint32. Let's
fix the element_count we pass to glsl_array_type().
Fixes: de1e941c59 ("microsoft/spirv_to_dxil: Lower push constant loads to UBO loads")
Reviewed-by: Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16703 >
2022-06-03 10:43:17 +00:00
Daniel Schürmann
b56fcefa0f
nir/opt_vectorize: refactor src rewriting to avoid unnecessary mov instructions
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15647 >
2022-06-03 08:53:18 +00:00
Samuel Pitoiset
fe9f1d064a
radv: enable radv_zero_vram for Hammerting
...
This native Vulkan game is broken, it has TON of Vulkan validation
errors and hangs without RADV_DEBUG=zerovram. Also tested with PRO
and AMDVLK.
The application name is also not really descriptive but the executable
name 'boot.exe' is worst.
https://github.com/ValveSoftware/Proton/issues/4347#issuecomment-1141415515
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16832 >
2022-06-03 08:29:58 +00:00
Danylo Piliaiev
eb5f4c2f6b
spirv: Workaround for RelaxedPrecision on OpLogical* in 3DMark
...
Per spec RelaxedPrecision cannot be applied to bool types, however
3DMark Wild Life does it:
OpDecorate %171 RelaxedPrecision
...
%171 = OpLogicalAnd %bool %169 %170
Fixes crash in 3DMark Wild Life on Android.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16746 >
2022-06-03 07:50:53 +00:00
Erik Faye-Lund
c21dfe3348
meson: add back -Werror=vla to msvc compat flags
...
Back when STATIC_ASSERT was prepared for use in common code, the
-Werror=vla flag was removed from the MSVC compat flags. But now we're
using C++11 / C11 static asserts instead, so we can add it back again.
This should help us noticing some breakages before they happen.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
45fb815a75
util: implement STATIC_ASSERT using c++11 / c11 primitives
...
Since we now require C11 and C++14, we can use the standard
static_asserts from the standard library instead of rolling our own
compiler-specific versions.
To avoid needing scopes around usage in switch cases, keep the
while-wrapping from before. This means it still can't be used outside of
functions, but that should be fine; we should probably just use
static_assert directly in those cases anyway.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
f1023571e8
util: use static_assert directly
...
For some reason, Clang doesn't love the STATIC_ASSERT implementation
we're about switch to in this *one* particular case. Other cases seems
to work fine, so let's just use static_assert directly here.
It lets us give a better error string anyway, so yay.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
873ec432b3
broadcom/compiler: use macro for power-of-two check
...
This will allow the use of static_assert here instead of our
compiler-specific implementation.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
2a134347cb
intel/compiler: use macro for power-of-two check
...
This will allow the use of static_assert here instead of our
compiler-specific implementation.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
9ecb6f8820
util: add IS_POT macro
...
This macro kinda complements util_is_power_of_two_*, but is implemented
as a macro. This means that it can expand to a constant integral
expression, and thus be used in static_assert.
Because we don't really need the added complexity, this doesn't handle
zero correctly. But that's OK, because the call-sites will.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
cf52d79d24
v3dv: do not do STATIC_ASSERT on variables
...
Use an enum value instead, so it's guaranteed to be constant.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
d8e34243ae
freedreno: degrade STATIC_ASSERT to assert
...
dirty is a variable, and C standard doesn't guarantee that the compiler
can see that it's always passed a constant. So this isn't appropriate to
use for static_assert, which we're about to convert STATIC_ASSERT to
expand to.
If we really want to do this compile-time, we need to make
fd_context_dirty a macro instead. But it seems reaonable to just use a
run-time assert instead here.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
8376fb0f33
iris: do not do STATIC_ASSERT on variables
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
d33fe53c8d
freedreno: do not do STATIC_ASSERT on variables
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
200091aad0
freedreno: do not use variable in STATIC_ASSERT
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
08f8ccfc60
turnip: do not do STATIC_ASSERT on a variable
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Erik Faye-Lund
f7efa2858f
pvr: do not use c_msvc_compat_args
...
This code isn't MSVC compatible, as it uses VLAs (for instance).
Until there's a reason to support MSVC, let's not even try. Otherwise,
we make it harder than needed to add flags to make the MSVC compat flags
more complete.
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16670 >
2022-06-03 07:14:43 +00:00
Yonggang Luo
1d3727bcc6
radv: Remove usage of cnd_monotonic.h
...
Improve: 91fe0b5629 ("radv: Delete lots of sync code.")
As cnd_monotonic.h are include `util/os_time.h`, radv_debug.c and radv_debug.c needs `util/os_time.h`
So include in these files directly.
The compiling errors are:
```
../src/amd/vulkan/radv_debug.c:707:12: error: implicit declaration of function 'os_localtime' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
timep = os_localtime(&raw_time, &result);
../src/amd/vulkan/radv_device.c:97:11: error: implicit declaration of function 'os_time_get_nano' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return os_time_get_nano();
^
../../src/amd/vulkan/radv_pipeline.c: In function 'radv_create_shaders':
../../src/amd/vulkan/radv_pipeline.c:4119:29: error: implicit declaration of function 'os_time_get_nano' [-Werror=implicit-function-declaration]
4119 | int64_t pipeline_start = os_time_get_nano();
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16536 >
2022-06-03 06:46:38 +00:00
Mike Blumenkrantz
3aad93a47e
aux/trace: implement pipe_screen::is_compute_copy_faster
...
stop crashing!
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16546 >
2022-06-03 04:24:56 +00:00
Mike Blumenkrantz
c90c742344
aux/trace: fix sampler view dumping
...
this should just dump the samplerview target, not the resource target too
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16546 >
2022-06-03 04:24:56 +00:00
Mike Blumenkrantz
20427d01ac
zink: fix framebuffer attachment usage asserts for dummy attachments
...
dummy attachments never overwrite existing attachments,
so they must be explicitly compared like this to avoid
erroneous crashing
Fixes: 3892c13381 ("zink: add an alternate path for EXT_color_write_enable usage")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16848 >
2022-06-03 04:04:46 +00:00
Dave Airlie
e90fe826a2
nouveau/codegen: drop gallium headers from the interface.
...
I know pipe defines are still used internally, but I'd want
better testing, before starting to remove that.
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yusuf Khan<yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16763 >
2022-06-03 03:57:18 +00:00
Dave Airlie
ee93b32fdd
nouveau/codegen: drop all ubytes from codegen.
...
There wasn't that many, so get rid of them in favour of real types.
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yusuf Khan<yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16763 >
2022-06-03 03:57:18 +00:00
Dave Airlie
1f754b7aae
nouveau: move codegen to a common higher level directory.
...
This allows it to be built independently of the gallium driver.
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yusuf Khan<yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16763 >
2022-06-03 03:57:18 +00:00
Dave Airlie
702fbbdaa3
nouveau: move codegen into a standalone library.
...
This just moves the codegen build into a separate library,
this is just prep work for a future where another drivers wants
to reuse this code.
Acked-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yusuf Khan<yusisamerican@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16763 >
2022-06-03 03:57:18 +00:00
Dave Airlie
b62dd20dea
llvmpipe: handle timespec overflow on fence waits.
...
on 32-bit systems VK CTS was failing due to an overflow here,
detect the overflow and just do a normal wait.
Fixes: 5b284fe6bc ("llvmpipe: add lp_fence_timedwait() helper")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16847 >
2022-06-03 03:37:21 +00:00
Hyunjun Ko
8eb5178a6d
turnip: clamp to 1 for negative bottom-right of viewport.
...
This fixes a crash of spec@!opengl 3.0@viewport-clamp in
piglit(with zink).
Also fixes a crash of negativeviewportheight in Sascha's examples.
Closes : #6583
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16831 >
2022-06-03 02:40:08 +00:00
Mike Blumenkrantz
7ff3c75ef3
zink: expand patch_vertices pipeline key bitsize
...
no need to compact the bits anymore, so make this a uint16
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
1c0434dd95
zink: use dynamic patch vertices if available
...
this one's a little different from other dynamic states in that it
isn't expected to change much, so I've kept it outside of draw handling
since it can be trivially applied elsewhere with no chance of impacting perf
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
76668ae4bd
zink: break out pipeline dynamic state2 into struct
...
easier to expand
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
7016055c82
zink: use dynamic cull mode
...
more dynamic states = fewer pipeline cache misses
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
449b96e38d
zink: use memcmp for comparing dynamic state1 info
...
easier to expand
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
b82a09fe13
zink: break out dynamic state1 pipeline info to struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
bee8a7385d
zink: improve packing for pipeline dynamic state1 info
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
c1639d7bda
zink: reorder pipeline dynamic state1 substruct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16838 >
2022-06-03 01:23:58 +00:00
Mike Blumenkrantz
150e95fa67
zink: tu ci updates
...
734
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16844 >
2022-06-03 01:06:46 +00:00
Mike Blumenkrantz
d9ab27944d
zink: force queries to start/end out of renderpass
...
spec requires queries to either start and end in the same renderpass
or start and end outside of renderpass, so do the latter since it's
easier to track
cc: mesa-stable
fixes #6579
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16844 >
2022-06-03 01:06:46 +00:00
Alyssa Rosenzweig
7535362204
pan/bi: Fix clper_xor on Mali-G31
...
Mali-G31 has the old CLPER instruction, not the new one, which means we don't
get to specify a custom lane op. But the clper_xor helper incorrectly checked
the arch, not the implementation quirk.
Fixes: c00e7b729f ("pan/bi: Optimize abs(derivative)")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reported-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16846 >
2022-06-02 20:32:43 -04:00
Emma Anholt
0af1bdfaa0
i915g: Ignore the new SEPARABLE_PROGRAM property.
...
We didn't need to know about it before, and we still don't.
Fixes: b634030542 ("tgsi: Add SEPARABLE_PROGRAM property")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16845 >
2022-06-02 23:39:36 +00:00
Paulo Zanoni
72a7d7d7a8
intel/compiler: call ordered_unit() only once at update_inst_scoreboard()
...
Call it once instead of calling the very same function for each source
and destination. This should make those ternary operators a little
easier to read, IMHO.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15835 >
2022-06-02 23:04:39 +00:00
Paulo Zanoni
2256314b08
intel/compiler: split handling of 64 bit floats and ints
...
In opt_algebraic(), handle TYPE_DF in a different check than TYPE_Q. We have a
separate flag for each type, use separate checks so platforms where one is true
and the other is not can work properly.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15835 >
2022-06-02 23:04:39 +00:00
Paulo Zanoni
8f02e6cb19
intel/compiler: compute int64_options based on devinfo->has_64bit_int
...
Don't compute it based on devinfo->has_64bit_float. Othwerwise we may
end up emitting 64bit-int (Q) instructions on platforms with 64bit
floats but not 64bit integers.
Right now, the only platforms where has_64bit_int is different from
has_64bit_float are the platforms that use GFX7_FEATURES.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15835 >
2022-06-02 23:04:39 +00:00
Kenneth Graunke
26bb81f3f6
intel/compiler: Fix uncompaction of signed word immediates on Tigerlake
...
This expression accidentally performs a 32-bit sign-extension when
processing the second half of the expression (the low 16 bits).
Consider -7W, which is represented as 0xfff9fff9 in our encoding (the
16-bit word is replicated to both halves of the 32-bit dword).
Tigerlake's compaction stores the low 11-bits of an immediate as-is,
and replicates the 12th bit. So here, compacted_imm will be 0xff9.
( (int)(0xff9 << 20) >> 4) |
((short)(0xff9 << 4) >> 4))
0xfff90000 | (0xff90 >> 4)
0xfff90000 | 0xfffffff9 ...oops...
0xfffffff9
By casting the second line of the expression to unsigned short, we
prevent the sign-extension when it combines both parts, so we get:
0xfff90000 | 0x0000fff9
0xfff9fff9
Fixes: 12d3b11908 ("intel/compiler: Add instruction compaction support on Gen12")
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16833 >
2022-06-02 13:59:38 -07:00
Mike Blumenkrantz
9eee4c79db
zink: fix radv piglit fails
...
I deleted the wrong one by accident
fixes 0c4a65ef34
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16843 >
2022-06-02 15:52:37 -04:00
Yonggang Luo
2deee5ddb3
ci/vs2019: Clear CI_COMMIT_MESSAGE and CI_COMMIT_DESCRIPTION for please meson
...
Fixes https://gitlab.freedesktop.org/lygstate/mesa/-/jobs/23444155/raw
https://gist.github.com/lygstate/201dd9d2db3d411668f7bbdc17daf74a
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16825 >
2022-06-02 18:54:50 +00:00
Renato Pereyra
c642ebf8ab
venus: Add driconf option to enable implicit fencing
...
Signed-off-by: Renato Pereyra <renatopereyra@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16735 >
2022-06-02 18:05:50 +00:00
Mike Blumenkrantz
87a53127e9
mesa: throw a log warning any time a fallback texture is used
...
this generally means an app is broken in some way, so throw a log
message to be helpful
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16821 >
2022-06-02 17:31:16 +00:00
Alyssa Rosenzweig
ad5c84999b
pan/bi: Rework Valhall register alignment
...
Because we lower SPLIT and COLLECT before RA, we need to consider offsets when
determining the dimensions of vectors, in order to align properly. Lowering
COLLECT post-RA would avoid this special case.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Alyssa Rosenzweig
0770e7a90c
pan/bi: Align 64-bit register sources
...
Similar idea to aligning staging register sources.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Alyssa Rosenzweig
8553dd97ad
pan/bi: Allow vec6 for collects
...
Hit for some Valhall texturing instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Icecream95
1bfff407b9
pan/bi: Use nodearrays for linear constraints
...
Speeds up compiling shaders/skia/781.shader_test in shader-db by 8x
(Icecream95).
...At least it did before I extended to support register allocation of vec8. On
Valhall, texture instructions require up to 8 consecutive registers. To handle
this, provide for vec8 register allocation. Liveness was already (accidentally?)
vec8. The increased memory requirement is acceptable given that the interference
matrix is now stored sparsely (Alyssa).
Icecream95 reports the vec8 changes hurt RA performance by about 1% on average.
I consider this acceptable for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Icecream95
c70daa74f0
pan/bi: Add nodearray datastructure
...
This is an array which can either be sparse or dense, and was designed
to be used to track liveness and interference information.
Either a sparse array with sorted indices or dense array is used.
Other data structures were tried, such as red-black trees or hash
tables, but they were slower. When used for storing constraints, the
indices do not have to be sorted as duplicating elements is okay, but
the speedup from that was not enough to justify the extra complexity.
v2: Add a comment about how to potentially speed it up. But it seems
fast enough even without this change.
v3: Use a custom struct rather than relying on util_dynarray.
v4: Split out functions only used for liveness analysis, rather than the simpler
data structure needed for the register interference matrix. If we need to
optimize liveness, that can follow on after. Also make it for vec8 (Alyssa).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Icecream95
c24b78cceb
pan/bi: Reverse linear constraint bits
...
This will make it simpler to implement parallel RA where multiple
possible registers for a node are tested at once.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16780 >
2022-06-02 17:13:16 +00:00
Sil Vilerino
65b3decd5b
d3d12: Align output buffer offset access to D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.CompressedBitstreamBufferAccessAlignment
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16644 >
2022-06-02 17:00:44 +00:00
Connor Abbott
bd68559d36
tu: Enable shaderTessellationAndGeometryPointSize
...
This already works and AFAICT there was no reason to disable it other
than that the blob does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16830 >
2022-06-02 16:32:57 +00:00
Danylo Piliaiev
eba8671e40
tu: Fix D32S8 resolves into D32 or S8 in sysmem mode
...
Fixes CTS tests in sysmem mode:
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint.compatibility_depth_zero_stencil_zero_testing_depth
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_depth
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.compatibility_depth_zero_stencil_zero_testing_depth
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_depth
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16834 >
2022-06-02 16:01:46 +00:00
Samuel Pitoiset
e680fe224a
radv/ci: update list of failures for Pitcairn
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16836 >
2022-06-02 17:03:59 +02:00
Rhys Perry
be4c1a5f52
radv,aco: disable shader cache when ACO debug options are used
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14594 >
2022-06-02 14:45:55 +00:00
Jason Ekstrand
d8df87056c
nir: xfb_buffer_info::stride is in bytes
...
For the NIR XFB gathering as well as all the Vulkan drivers, buffer
strides in nir_xfb_info are in bytes. When Marek started using
nir_xfb_info for GLSL on radeonsi, he copied directly from the GLSL
struct which has strides in dwords. This inconsistency didn't show up
until I went through and started us using the NIR passes for GL drivers
directly without going through the GLSL structs. We could change the
nir_xfb_buffer_info field to be in dwords to be consistent with
shader_info but that would mean changing all the Vulkan drivers but, for
now, it's easier to always use bytes in nir_xfb_info.
Fixes: 2a22885a45 ("st,nir: Use nir_shader::xfb_info in nir_lower_io_passes")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16819 >
2022-06-02 14:06:31 +00:00
Jason Ekstrand
7c876a6b2f
nir/glsl: Use rzalloc for nir_xfb_info
...
A lot of the fields get fully overwritten but outputs/buffers_written
are both bitfields that we set one bit at a time.
Fixes: 7c5dc0b11a ("glsl/nir: Populate nir_shader::xfb_info after linking varyings")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16819 >
2022-06-02 14:06:31 +00:00
Mike Blumenkrantz
fc5a3e1e37
lavapipe: fix dynamic patchControlPoints
...
the dynamic state value is independent of whether tesselation is used
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16824 >
2022-06-02 13:51:17 +00:00
Erik Faye-Lund
df2dd474c7
include: drop c11_compat.h
...
We now require C11, and C++ supports static_assert just fine, which is
the only thing this header ever added support for. So let's get rid of
this needless header.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
18246ed06a
include: drop c99_math.h
...
Since we now depend on C11, we know that we have support for the C99
math functionality. So let's drop the c99_math.h compatibility wrapper,
and just include <math.h> directly.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
6ed10a99bd
vulkan/device_select: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
df4fe7c4a2
intel/isl: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
9633b42672
include: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
beaa26bd75
gallium: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
75f3373b34
mapi: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
afce7ddacb
gallium/util: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
1613aa7341
egl: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
9f717b5f23
util: remove needless c99_compat.h includes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:16 +00:00
Erik Faye-Lund
9ec514ded7
util: add missing c99_compat.h includes
...
These headers use the "restrict" keyword, so they need to include
c99_compat.h in case they get included from C++.
Right now, we include c99_compat.h in many needless places, which saves
us. But we're about to stop doing that.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:15 +00:00
Erik Faye-Lund
806272ec97
c99_compat.h: remove inline and __func__ shims
...
We're requiring C11 now, and both "inline" and __func__ is supported
in C++ code as well. So no need for these compatibility-shims anymore.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:15 +00:00
Erik Faye-Lund
8575d0e84b
meson: modernize win_flex stdint.h logic
...
Since this logic was written, we've moved to require C11, so this can
now be simplified. First of all, we no longer need to set
__STDC_VERSION__ for C code at all, because the issue that MSVC doesn't
set __STDC_VERSION__ for C99 is longer a concern. Second, we can make
the C++ check unconditional.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16812 >
2022-06-02 13:09:15 +00:00
Erik Faye-Lund
a8605db504
intel: remove stale makefile
...
When this landed, the Autotools build system was already removed. Why
was this file added in the first place? Probably a rebase-mistake...
Fixes: 134e750e16 ("i965: extract performance query metrics")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16790 >
2022-06-02 09:13:23 +00:00
Erik Faye-Lund
9bcd538643
freedreno: remove stale makefile
...
We don't use this makefile, so there's no point in keeping it in the
repo. It's also a generated one, so it contains a lot of... mess.
Fixes: 536f43cb96 ("freedreno: slurp in afuc")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16790 >
2022-06-02 09:13:23 +00:00
Erik Faye-Lund
69d55f42b6
radeonsi: port amdgcn_glslc build to meson
...
Seems nice to reduce the number of old-fashioned build systems we have
in-tree.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16789 >
2022-06-02 08:54:08 +00:00
Martin Roukala (né Peres)
72cf18f54a
radv/ci: try to guess failure expectations for Fiji/Raven/Navi14/Navi22
...
The guesses are based on other gpus from the same gfx version. We will
need actual runs on the GPUs to confirm this.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810 >
2022-06-02 08:29:31 +00:00
Martin Roukala (né Peres)
205744b42d
radv/ci: remove an expected fail from all families
...
dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3 was
failing because of a CTS bug, which got fixed in the latest update for
all our CI machines.
This commit assumes this got fixed for all families, even the ones we
did not try to run on.
Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810 >
2022-06-02 08:29:31 +00:00
Martin Roukala (né Peres)
91f93c97dd
radv/ci: update the vkcts expectations for the CI machines
...
Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810 >
2022-06-02 08:29:31 +00:00
Martin Roukala (né Peres)
e58c455ca9
radv/ci: bump the timeout of vangogh/renoir
...
The execution time of vkcts has drastically changed with the latest
update, especially for APUs. This commit bumps the timeout to give
them a chance to finish.
Fixes: 836ce97f5e (ci: bump VK-GL-CTS to 1.3.2.0)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16810 >
2022-06-02 08:29:31 +00:00
Samuel Pitoiset
5af1409c1b
radv: fix lowering GS intrinsics if NGG is disabled per pipeline
...
If NGG is disabled per pipeline for extreme (or suboptimal) geometry
or with transform feedback, make sure to not lower GS intrinsics that
are only needed for NGG GS. This means we have to lower GS intrinsics
later in the compilation process to effectively know if the pipeline
uses NGG.
fossils-db (Navi21):
Totals from 8 (0.01% of 134913) affected shaders:
VGPRs: 512 -> 520 (+1.56%)
CodeSize: 58180 -> 65080 (+11.86%); split: -0.04%, +11.90%
MaxWaves: 128 -> 126 (-1.56%)
Instrs: 10525 -> 11779 (+11.91%); split: -0.05%, +11.96%
Latency: 62941 -> 49428 (-21.47%); split: -21.59%, +0.12%
InvThroughput: 16121 -> 12950 (-19.67%); split: -19.96%, +0.29%
VClause: 122 -> 123 (+0.82%); split: -0.82%, +1.64%
SClause: 130 -> 143 (+10.00%)
Copies: 566 -> 596 (+5.30%); split: -0.35%, +5.65%
Branches: 200 -> 208 (+4.00%)
PreSGPRs: 424 -> 422 (-0.47%)
PreVGPRs: 430 -> 424 (-1.40%); split: -1.63%, +0.23%
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15885 >
2022-06-02 09:42:54 +02:00
Dylan Baker
a5549ebe5b
docs: update calendar and link releases notes for 22.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:58 -07:00
Dylan Baker
7bd8efb74f
docs: update sha256 for 22.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:22 -07:00
Dylan Baker
a6e546ab51
docs: add release notes for 22.0.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:21 -07:00
Dylan Baker
67280a4019
docs: update calendar and link releases notes for 22.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:17 -07:00
Dylan Baker
27a1c477c9
docs: Add sh256sums for 22.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:11 -07:00
Dylan Baker
3e4de308a5
docs: add release notes for 22.1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16828 >
2022-06-01 16:55:09 -07:00
Jesse Natalie
1ef329b825
wgl, d3d12: Handle front buffer writes for double-buffered MSAA surfaces backed by swapchains
...
We don't need to go as far as the fake front thing when MSAA is being used, because the
swapchain (single-sampled) is already decoupled from the app render buffers. But we do
need to direct the frontbuffer flush to the single-sampled back buffer, and then present
the back buffer. We also need to swap the buffers when we do this, so the next blit
targets the former front buffer.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16227 >
2022-06-01 16:18:12 -07:00
Emma Anholt
49dc60efa1
freedreno/ir3: Fold 16-bit conversions into image load/store src/dsts.
...
Shaves 5 instructions off of one manhattan31 shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Emma Anholt
f005a2d786
freedreno/ir3: Fix validation of half-precision image store values.
...
ce1a381e57 ("turnip: enable VK_KHR_16bit_storage on A650") determined
that the type of the instr decided the type of the value being stored in
the ".b" case. But it would be surprising if image stores had the type
determine the coordinates' precision instead of the value's, and once we
turned on image instruction precision lowering we ran into asserts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Matt Turner
003327dd95
freedreno/ir3: Pass 16-bit sampler coordinates when possible.
...
shader-db highlights from Rob's android shaders:
total instructions in shared programs: 769641 -> 767536 (-0.27%)
instructions in affected programs: 151139 -> 149034 (-1.39%)
total last-baryf in shared programs: 55908 -> 55607 (-0.54%)
last-baryf in affected programs: 35219 -> 34918 (-0.85%)
total sstall in shared programs: 67074 -> 65767 (-1.95%)
total full in shared programs: 36115 -> 36080 (-0.10%)
full in affected programs: 203 -> 168 (-17.24%)
sstall in affected programs: 9510 -> 8203 (-13.74%)
total (ss) in shared programs: 14380 -> 14239 (-0.98%)
(ss) in affected programs: 2965 -> 2824 (-4.76%)
total systall in shared programs: 92425 -> 91522 (-0.98%)
systall in affected programs: 13146 -> 12243 (-6.87%)
total (sy) in shared programs: 4330 -> 4314 (-0.37%)
(sy) in affected programs: 167 -> 151 (-9.58%)
total waves in shared programs: 71580 -> 71584 (<.01%)
waves in affected programs: 12 -> 16 (33.33%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Emma Anholt
ac24c49c37
freedreno/ir3: Make the types of tex coord padding match.
...
Required for lowering of coords to be 16-bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Matt Turner
edb0904775
freedreno/ir3: Move the texture array coord fixup to nir
...
We're going to optimize sampler coordinates to FP16, so we'll need to
add the appropriately typed 0.5. Move this to NIR where that information
is readily available.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Emma Anholt
bf49d4a084
freedreno/ir3: Enable load/store vectorization for SSBO access, too.
...
Saves a few ldib/stib instructions in gfxbench vk-5-normal compute shaders
by grouping vec4 accesses together.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Emma Anholt
6e087f96c9
nir_lower_mediump: Drop assertion about not containing movs.
...
A 1D texture operation may need to do a mov to turn a reference to a
channel of an SSA value into a scalar value to be passed as the texture
coordinate (since texture srcs can't do swizzles). Seen in
amnesia-the-dark-descent/low/46.shader_test() for example, where a 1D
texture is used to remap each of r,g,b from a previous texture result.
Besides, the nir_op_is_vec() case will (perhaps surprisingly) look through
a mov, anyway.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Emma Anholt
5f64bc7a3e
ci/turnip: Add missing xfails for a618 full VK run
...
Fixes: 836ce97f5e ("ci: bump VK-GL-CTS to 1.3.2.0")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16616 >
2022-06-01 22:19:44 +00:00
Yiwei Zhang
1c63a0beaf
venus: resolve AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 to external format
...
This is to work around ANGLE yuv support.
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/16759 >
2022-06-01 20:25:47 +00:00
Alyssa Rosenzweig
bc4d42023d
pan/bi: Respect swizzles in nir_op_pack_64_2x32_split
...
Triggered a BIR validation error, which made debugging a breeze. That validation
pass (dimensionality checks) gets a lot of use, it seems :-)
Fixes:
dEQP-VK.ssbo.layout.2_level_array.std430.row_major_mat4x2_comp_access_store_cols
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16724 >
2022-06-01 20:08:42 +00:00
Alyssa Rosenzweig
7831508740
panvk: Use vk_image_subresource_*_count for clears
...
This handles VK_REMAINING_* for us, instead of underflowing and clearing no
levels/layers.
Fixes dEQP-VK.api.image_clearing.core.clear_color_image.2d.linear.single_layer.*
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/16724 >
2022-06-01 20:08:42 +00:00
Alyssa Rosenzweig
9ddfcbfbc6
panfrost: Allow 2D AFBC on Valhall
...
2D AFBC should be working now, flip the switch. 3D AFBC needs more research to
get right, honestly it's not clear how 3D AFBC on Bifrost is working...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
82d3eb7f18
panfrost: Handle texturing from AFBC on Valhall
...
We need to pack special AFBC-specific plane descriptors instead of the generic
plane descriptor. Nothing too fancy here, though.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
9afa8cc555
panfrost: Support rendering to AFBC on Valhall
...
Add the required handling when packing render target and depth buffer
descriptors on Valhall. This is mostly equivalent to Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
c2207d27c2
panfrost: Add pan_afbc_compression_mode on Valhall
...
Map a canonical format (a hardware-independent pipe_format) to a compression
mode (Valhall-specific hardware enum defined in GenXML). To be used for packing
plane descriptors and render target descriptors when AFBC is in use on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
87dcdbdad6
panfrost: Pass arch instead of dev into afbc_format
...
For callers that have a device object, it's easy to pass dev->arch instead of
dev. But this requires callers to have a reference to the device, which is
tricky for callers that only have the arch via PAN_ARCH. Pass dev->arch instead
of dev to accommodate them.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
2cc2f217d4
panfrost: Fix XML for AFBC header on v9
...
Misnamed field due to copy/paste fail from Bifrost.
Fixes: c011ea6c26 ("panfrost: Shuffle render target AFBC for Valhall")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800 >
2022-06-01 19:44:31 +00:00
Alyssa Rosenzweig
e596a0423b
pan/mdg: Print outmods when printing IR
...
In particular, this lets us distinguish mul_high from regular mul.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
a099834b97
pan/mdg: Distinguish SSA vs reg when printing IR
...
This makes it easy to match the printed IR with the indices in the NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
520204ae18
pan/mdg: Only print 1 source for moves
...
This makes the printed IR easier to read at a glance.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
0ee24c46e0
pan/mdg: Only print 2 sources for ALU
...
..and assert the other sources are null. The one place this might fail in the
future is for real FMA, but we don't support that for GL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
9c9db27e3c
pan/mdg: Only print masked components of swizzle
...
This matches the IR printer with the disassembler, making the output of the IR
printer much easier to parse at a glance.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
c9093554d0
pan/mdg: Use "<<" instead of "lsl"
...
Easier to read and consistent with C code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
8c11f4809b
pan/mdg: Remove uppercase write masks
...
These do not convey any additional information, and fail to account for
shrinking. In particular, a 64-bit writemask with .keephi would fail to
disassemble and instead trip the assertion, since that would be the ZW
components. Just delete the broken code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:10 -04:00
Alyssa Rosenzweig
9e4b457958
pan/mdg: Scalarize with 64-bit sources
...
Otherwise, we can get vec3 with u2u32 with 64-bit sources which we need lowered.
Since our current approach is "scalarize all 64-bit ops", we need to check for
conversions too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798 >
2022-06-01 14:24:05 -04:00
Georg Lehmann
1d815548ab
radv, aco: Packed usub_sat/isub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
aa9d2d8893
radv: Enable VK_INTEL_shader_integer_functions2.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
55735ed728
radv: Lower 8bit isub_sat/usub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
4e6667ea87
radv: Lower hadd/hradd.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
cc3f03b757
radv: Lower mul_32x16.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
bfc25d6ec9
nir: Add optional lowering for mul_32x16.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
83f51212c1
ac/llvm: Implement uclz.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
8671b866bf
ac/llvm: Implement usub_sat and isub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
d404f1964c
aco: Implement isub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
faa2a89487
aco: Implement usub_sat.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Georg Lehmann
529ec3d7dc
aco: Implement uclz.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13895 >
2022-06-01 17:09:25 +00:00
Danylo Piliaiev
79e266fffc
ir3: Force late-z if FS has global store/atomic
...
No known tests are fixed.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16816 >
2022-06-01 16:30:36 +00:00
Alyssa Rosenzweig
5067a26f44
pan/bi: Use flow control lowering on Valhall
...
Logically at the same part of the compile pipeline as clause scheduling on
Bifrost. Lots of similarities, too. Now that we generate flow control only as a
late pass, various hacks in the compiler are no longer necessary and are
dropped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
a394c32cd2
pan/va: Unit test flow control merging
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
4b06e7f5b6
pan/va: Unit test flow control insertion
...
Test that we correctly track the scoreboard, helper invocations, reconvergence,
and ends and insert NOPs to effect this expected flow control.
As the pass inserts NOPs but does not otherwise modify the shader, this is easy
to test with well-defined behaviour of the pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
0fa9204049
pan/va: Respect assigned slots
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
492f4055dd
pan/va: Assign slots roundrobin
...
This should reduce false dependencies with asynchronous instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
aa7393f81a
pan/va: Add flow control merging pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
03d8439c0a
pan/va: Terminate helper threads
...
On Bifrost, to terminate helper threads we set the td bit on the clause. On
Valhall, we need to use the .discard flow control. Extend the flow control NOP
insertion to insert NOP.discard where necessary to terminate helper threads.
This should reduce wasted work in fragment shaders.
This requires fairly involved data flow analysis, but the handling here should
be optimal.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
41b39d6d5d
pan/va: Do scoreboard analysis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
7e3b9cf754
pan/va: Add pass to insert flow control
...
To set flow control modifiers correctly and efficiently, we need a pass that
runs after register allocation and scheduling, but before packing. Add such a
pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
82b1897900
pan/bi: Print flow control on instructions
...
This helps debug the flow control lowering passes on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
c0180f6bd3
pan/bi: Export helper termination analysis
...
The current helper termination analysis code is hardwired for clauses, so it
won't work for Valhall. However, the bulk of it is dataflow analysis which is
portable between Bifrost and Valhall. Export the interesting bits so we can
reuse them on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
7bb635316b
pan/bi: Export bi_block_add_successor
...
For use in unit tests that need to create blocks.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
d7c6b7c9d2
pan/bi: Extract bit_block helper
...
Convenience for unit tests which need to create multiple blocks, to test global
passes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
b0edd92156
pan/bi: Add a trivial ctx->inputs for unit tests
...
So we can unit test the flow control insertion which needs to gate some
behaviour on not being in a blend shader.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
218148d38a
pan/bi: Add ASSERT_SHADER_EQUAL macro
...
Useful for whole-program unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
4627cd99de
pan/bi: Preserve flow control for non-psiz variant
...
Otherwise we will get INSTR_INVALID_ENC faults when deleting the final STORE.end
instruction, after we rework our flow control code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
c846e0812b
pan/bi: Add slot to bi_instr
...
For better handling of message-passing instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Alyssa Rosenzweig
616df0e97d
pan/bi: Extend bi_scoreboard_state for finer tracking
...
We need to insert dependencies for varyings and memory access. Currently, the
Bifrost scoreboarding pass just treats these as barriers, but this is too heavy
handed. Extend the scoreboard data structure so we can do better.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16804 >
2022-06-01 16:14:38 +00:00
Connor Abbott
68b10b39f7
tu: Implement VK_EXT_image_2d_view_of_3d
...
This is already allowed by the gallium driver, which uses the same code
for image layout and image views, so everything Just Works and the tests
pass. radv doesn't enable the sampler feature, but I don't see any
reason it wouldn't work and the tests pass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16806 >
2022-06-01 15:04:31 +00:00
Marcin Ślusarz
fd132f25ba
anv: mask out not applicable state flags when setting up mesh pipeline
...
Fixes tests matching:
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.*unused_ms
These tests bind mesh pipeline, immediately after that bind non-mesh
pipeline and expect that binding mesh pipeline was a no-op.
v2: do it in one place & add comment (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16811 >
2022-06-01 14:13:54 +00:00
Martin Roukala (né Peres)
60c82453a1
radv/ci: allow polaris10 to retry more times
...
The Polaris10 in CI has been getting insta-hangs when starting dEQP.
Let's give it 5 attempts to get its act together, as it won't affect
the run time dramatically (max 5 minutes), but will provide more
reliable results for developers.
Tracking of hangs (and many other issues) is done through scrapping the
execution logs, processing them to find these issues, then pushing the
data to influxdb. This allows us to plot the failure rate over time,
and see if the situation is getting better or worse.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16793 >
2022-06-01 13:03:02 +00:00
Daniel Schürmann
be01e8711b
nir: introduce new nir_alu_alu_width() with nir_vectorize_cb callback
...
This function allows to only scalarize instructions down to a desired
vectorization width. nir_lower_alu_to_scalar() was changed to use the
new function with a width of 1.
Swizzles outside vectorization width are considered and reduce
the target width.
This prevents ending up with code like
vec2 16 ssa_2 = iadd ssa_0.xz, ssa_1.xz
which requires to emit shuffle code in backends
and usually is not beneficial.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13080 >
2022-06-01 11:41:44 +00:00
Daniel Schürmann
bd151a256e
nir/opt_vectorize: add callback for max vectorization width
...
The callback allows to request different vectorization factors
per instruction depending on e.g. bitsize or opcode.
This patch also removes using the vectorize_vec2_16bit option
from nir_opt_vectorize().
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13080 >
2022-06-01 11:41:44 +00:00
Emma Anholt
7ae206d76e
panfrost: always print the bad ALU op if we're failing to translate.
...
CI failure could have told me what needed fixing, but no...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437 >
2022-06-01 10:56:35 +00:00
Emma Anholt
7472bb4bad
glsl,nir: Move i/umulExtended lowering to NIR.
...
NIR already has the necessary lowering, and the GLSL lowering violates
GLSL IR validation rules. Once quadop lowering was turned off, the IR
validation at the end of the compile path on DEBUG builds caught the
problem.
In order to move the lowering to NIR, though, we need to make sure that
drivers supporting these functions actually have the lowering flag set.
xfails added for t860, where apparently this tickles a variety of existing
64-bit bugs in the backend.
Fixes : #6461
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437 >
2022-06-01 10:56:35 +00:00
Emma Anholt
6f0db3778f
mesa/st: Only scalarize for doubles lowering if we're lowering doubles.
...
lower_int64 doesn't need it, and the scalarizing ended up tickling some
bug in virgl once I started using lower_int64.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16437 >
2022-06-01 10:56:35 +00:00
Sagar Ghuge
7e098db1ae
anv: Disable storage image compression for possible atomic ops
...
It looks like atomics are slow on compressed surfaces so when enabling
compression for storage images that can be possibly used for atomic
operation hinders performance. Lets just disable compression in this
scenario.
v2: Reword comment (Ken)
Allow mutable with 16/32/64 bits (Ken)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14712 >
2022-06-01 10:05:19 +00:00
Kenneth Graunke
f052e00a58
isl: Add an isl_format_supports_typed_atomics() helper.
...
v2: Add a fields in isl_format with per gen support (Lionel)
v3: Fixup R32_FLOAT from 80 to 90
Fixup R32_[SU]INT from 80 to 70 (Ken)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14712 >
2022-06-01 10:05:19 +00:00
Daniel Schürmann
8e41c66639
aco: fix spilling of phis without temp operands
...
These were spilled unconditionally.
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16708 >
2022-06-01 09:11:03 +00:00
Erik Faye-Lund
61a5034950
editorconfig: remove pl-rule
...
Fixes: 721b880e4c ("script: drop get_reviewer.pl")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786 >
2022-06-01 09:08:13 +00:00
Erik Faye-Lund
799bf3d686
editorconfig: remove m4-rule
...
Fixes: 95aefc94a9 ("Delete autotools")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786 >
2022-06-01 09:08:13 +00:00
Erik Faye-Lund
12aa3b82dc
editorconfig: remove html-rule
...
Fixes: 44a4e34d52 ("docs: remove doxygen support")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786 >
2022-06-01 09:08:13 +00:00
Erik Faye-Lund
7a088d3583
editorconfig: remove scons-ism
...
Fixes: 6e6cd7d93c ("scons: Remove.")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16786 >
2022-06-01 09:08:13 +00:00
Erik Faye-Lund
8901df12ab
dzn: add debug option to redirect stdout/stderr
...
For applications that doesn't have a terminal, it's useful to get output
like nir_log etc output somewhere.
This outputs these to stderr.txt and stdout.txt in the current user's
home directory, typically in C:\Users\my-user\.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16640 >
2022-06-01 08:54:22 +00:00
Erik Faye-Lund
9f3a5b4313
dzn: add a debug-flag to wait for the debugger
...
It's geneunely useful to wait for the debugger to attach in some cases.
So let's add a debug-flag and staill untik the debugger has attached.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16640 >
2022-06-01 08:54:21 +00:00
Erik Faye-Lund
19044cf1de
tests/graw: rename shaders from .sh to .txt
...
The vertex and fragment shaders are named foo.sh, while the geometry
shaders are named foo.txt. Since .sh can easily be confused with shell
scripts, let's rename the vertex and fragment shaders to .txt to match
the geometry shaders.
These tests aren't hooked up to run automatically, so there's no need to
update references to the file names.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16791 >
2022-06-01 08:23:46 +00:00
Samuel Pitoiset
b968b99c45
radv: reduce radv_discard_rectangle_info::count to 8-bit
...
DiscardRectangleCount must be less than or equal to
maxDiscardRectangles which is limited to 4.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16778 >
2022-06-01 07:59:27 +00:00
Samuel Pitoiset
b62f1cdee8
radv: reduce radv_rasterization_info::polygon_mode to 8-bit
...
It's large enough.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16778 >
2022-06-01 07:59:27 +00:00
Samuel Pitoiset
38b6f2e0ce
radv: reduce radv_input_assembly_info::primitive_topology to 8-bit
...
It's large enough.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16778 >
2022-06-01 07:59:27 +00:00
Samuel Pitoiset
2f176f86c2
radv: reduce radv_tessellation_info::patch_control_points to 8-bit
...
The value must be less than or equal to maxTessellationPatchSize which
is limited to 32 with RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16778 >
2022-06-01 07:59:27 +00:00
Samuel Pitoiset
c869a5d550
radv: ignore DYNAMIC_STENCIL_OP if stencil test isn't enabled
...
Like compare/write masks and reference.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16783 >
2022-06-01 07:34:28 +00:00
Iago Toral Quiroga
18985e8030
v3dv: use the global RCL EZ disable if we don't have any EZ draws in the job
...
Until now we would only disable EZ globally if we had a depth or stencil
load operation or if we had no draw calls at all, but even if we have draw
calls if all of them disable EZ we should also us the global disable.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16794 >
2022-06-01 08:11:04 +02:00
Iago Toral Quiroga
0f65838933
v3dv: don't be too aggressive disabling early Z
...
When we have a draw call that is incompatible with EZ we should only
disable EZ for the remaining of the job in the case that both of the
following conditions are met:
1. The cause for the incompatibility is an incompatible depth test
direction.
2. The pipeline does Z writes.
Otherwise it is enough to disable EZ temporarily only for draw calls
with the incompatible pipeline.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16794 >
2022-06-01 08:10:57 +02:00
Martin Roukala (né Peres)
2f7f4060ee
radv/ci: update the list of flakes
...
This commit has been created by aggregating all the flakes found in the
last 2 weeks, excluding the ones seen once.
v2 (Martin Roukala):
- stop trying to hardcode all the flakes, use a wildcard
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16777 >
2022-06-01 05:26:12 +00:00
Lionel Landwerlin
5078b4fff1
nir/divergence: handle load_ray_num_dss_rt_stacks_intel
...
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/16797 >
2022-06-01 04:58:50 +00:00
Lionel Landwerlin
d3c1b0ac28
nir/divergence: handle load_scratch_base_ptr
...
v2: divergent (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/16797 >
2022-06-01 04:58:50 +00:00
Vinson Lee
6dfaedd607
d3d12: Remove unnecessary NULL check.
...
Fix defect reported by Coverity Scan.
Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking pD3D12VideoBuffer suggests that it may
be null, but it has already been dereferenced on all paths leading to
the check.
Fixes: d8206f6286 ("d3d12: Add video decode implementation of pipe_video_codec")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16714 >
2022-06-01 04:46:27 +00:00
Connor Abbott
2e9c53549b
tu: Expose VK_KHR_synchronization2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16374 >
2022-06-01 04:06:46 +00:00
Connor Abbott
59259a0167
tu: Convert to sync2 entrypoints
...
Use the common Vulkan fallbacks to implement the now-deprecated original
entrypoints.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16374 >
2022-06-01 04:06:46 +00:00
Timothy Arceri
abe4536c51
ci: uprev piglit 2022-05-31
...
Also document additional piglit failures and passes.
Multiple changes, mostly notable:
- few new tests
- fixed test for upcoming mesa MR
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16785 >
2022-06-01 03:14:29 +00:00
Mike Blumenkrantz
d67a3ecc9a
st/texture: allow compute blits for (some) non-finalized textures
...
this yields sizable perf improvements in some cases
KHR-GL46.copy_image.functional timing (zink+anv-icl):
before
MESA_LOADER_DRIVER_OVERRIDE=zink ./glcts -n 74.77s user 76.44s system 33% cpu 7:32.38 total
after
MESA_LOADER_DRIVER_OVERRIDE=zink ./glcts -n 69.95s user 68.84s system 33% cpu 6:51.54 total
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16545 >
2022-06-01 02:50:32 +00:00
Mike Blumenkrantz
debb016d96
st/texture: use base teximage for compute blits
...
this matches behavior of st_texture_image_map
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16545 >
2022-06-01 02:50:32 +00:00
Mike Blumenkrantz
9f7029169b
zink: make swapchain kill message more descriptive
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16776 >
2022-06-01 02:34:59 +00:00
Mike Blumenkrantz
964a651e6f
zink: add a #define for descriptor compaction
...
make those 2s a little less random
fixes #6556
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755 >
2022-06-01 02:02:31 +00:00
Mike Blumenkrantz
517894e819
zink: flag all cached descriptors as needing update on program change
...
programs have different usages of descriptors, so forcing a recalc on program
change ensures that the right hash values are always set, especially for compact
sets where there's more descriptors going into each hash value
this can (ideally) be optimized later to check for matching interfaces between old
program and new program to avoid recalc if both programs have identical descriptor
usage for a given set
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755 >
2022-06-01 02:02:31 +00:00
Mike Blumenkrantz
9d34cab4a8
zink: fix change flagging for compact descriptor cache
...
using pool existence alone is broken since the pools are compacted,
so instead flag based on whether usage exists
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755 >
2022-06-01 02:02:31 +00:00
Mike Blumenkrantz
ddcd9c730c
zink: store the real (non-compact) binding usage for programs
...
this is useful for quickly determining whether a program has a certain
type of descriptor usage
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755 >
2022-06-01 02:02:31 +00:00
Mike Blumenkrantz
41fce7ae57
zink: drop requirement for 6 descriptorsets to use bindless
...
compact mode takes care of this
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16755 >
2022-06-01 02:02:31 +00:00
Mike Blumenkrantz
3304e5b5fb
zink: only infer modifiers if winsys handle has a stride
...
if no stride is passed, the image creation will fail, so avoid this case
fixes:
spec@ext_external_objects@vk-image-overwrite
Fixes: d79c716331 ("zink: create images with modifiers any time there is an import handle")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16722 >
2022-06-01 01:48:26 +00:00
Jason Ekstrand
2a22885a45
st,nir: Use nir_shader::xfb_info in nir_lower_io_passes
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
16b0719441
glsl/nir: Stash the xfb_info in the nir_shader when linking XFB
...
This pass is used for shaders coming in from SPIR-V.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
36d8a2f1d7
glsl/nir: Stop leaking varyings_info
...
Fixes: 34b3b92bbe ("nir/xfb: move varyings info out of nir_xfb_info")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
7c5dc0b11a
glsl/nir: Populate nir_shader::xfb_info after linking varyings
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
64cc35d2ac
nir: Drop nir_shader_get_xfb_info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
7003ff2e3a
radv: Use nir_gather_xfb_info
...
Instead of gathering XFB info over and over again every time we even
want to know if the shader uses XFB, gather it once when we compile the
shader and refer to the copy in the NIR.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
c8e191e369
turnip: Use nir_gather_xfb_info
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
0eab41559f
lavapipe: Use nir_shader_gather_xfb_info
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
e5ff2c2242
anv: Use nir_shader_gather_xfb_info
...
Now that the resulting xfb_info is stashed on the shader, we can put
this with all the other NIR stuff and only fetch it out at the last
minute when we upload the kernel.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
23b55dcff4
nir: Add a nir_xfb_info to nir_shader
...
We want to be able to carry this along with the shader instead of always
having to re-generate it from scratch. A new nir_gather_xfb_info()
helper is also added which, instead of returning it, adds it to the
shader.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jason Ekstrand
3e04432b3a
nir: Rename nir_gather_xfb_info to nir_shader_get_xfb_info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16750 >
2022-05-31 23:09:30 +00:00
Jesse Natalie
f812cc0fe6
nir: Consider PNTC to be a varying
...
Fixes: 3528dcdf ("nir: add nir_io_semantics::no_varying, no_sysval_output, and helpers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6091
Reviewed-by: Marek Olák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16761 >
2022-05-31 20:51:22 +00:00
Mike Blumenkrantz
1c019ee1ba
st/pbo_compute: fix z coords for compute pbos
...
without manually taking the value from the global_id vec, this will
end up being offset.y again, which breaks z-indexing
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
15f37d8d6f
st/pbo_compute: make compute download conditional in shader slightly more readable
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
70fb3a4700
st/pbo_compute: use different calc for non-3d compute buffer sizing
...
this avoids looking at irrelevant 3d pixelstore params like
GL_PACK_IMAGE_HEIGHT when they don't apply, which will cause the storage
buffer to be incorrectly sized and break the operation
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16728 >
2022-05-31 20:05:49 +00:00
Mike Blumenkrantz
5b02facc8c
st/pbo_compute: do pbo readback directly to the buffer object if it exists
...
no point in copying more than needed
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16802 >
2022-05-31 19:23:11 +00:00
Mike Blumenkrantz
4b5bb21318
zink: drop largePoints requirement
...
this is not required by any version of GL, so don't pretend it's needed
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16758 >
2022-05-31 19:10:42 +00:00
Mike Blumenkrantz
63a9e0a986
zink: drop wideLines requirement
...
this is not a requirement for any version of GL, so don't pretend it's
a requirement
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16758 >
2022-05-31 19:10:42 +00:00
Mike Blumenkrantz
9bb9511edc
zink: remove first_frame stalling
...
this is fixed by kopper
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16796 >
2022-05-31 18:57:44 +00:00
Jesse Natalie
7f81333f71
CI: Re-enable Windows builds
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
cb2cc69ebb
dzn: Update fails/flakes
...
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
b819f80d87
CI/windows: Move --fraction for deqp-runner to run command line
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
ad96c3079f
CI/windows: Disable LLVM CMake developer warnings to shrink log size
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
4a51a81217
CI/windows: Disable chocolatey progress printing to shrink log size
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
f6d3625d4a
CI/windows: Delete comment for installing vulkan-runtime
...
Since we're now actually running Vulkan tests on Dozen, the comment
was wrong and we actually want the runtime. The referenced issue
has been fixed anyway.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
a1951b2d0b
CI/windows: Install Vulkan SDK from LunarG directly isntead of Chocolatey
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
8edecb3c1e
CI/d3d12: Add skips and update baselines
...
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
863b3abbbc
d3d12: Re-add missed bitmasks to shader key comparison
...
Fixes: a064e63e ("d3d12: Reduce cost of shader key comparisons")
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Jesse Natalie
f61788d7d3
nir_lower_task_shader: Fix return from lower_task_intrin (bool, not void*)
...
Fixes: 8aff8d3d ("nir: Add common task shader lowering to make the backend's job easier.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16756 >
2022-05-31 18:32:59 +00:00
Rhys Perry
982cc9bcf5
aco/tests: update for GFX11's removal of SDWA
...
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
e68e6c75ca
aco: use v_perm_b32 to copy 0xff00/0x00ff/0xff/0x00
...
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
dae1629778
aco: disable sdwa on gfx11
...
Instead of SDWA v_mov_b32/v_xor_b32, we can use a combination of
v_add_u16/v_sub_u16 (add/sub swap, similar to xor swap) and v_perm_b32
with a literal.
I don't know yet if GFX11 adds any new instructions which makes this
easier, but this approach should have full functionality.
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
d51dd7527b
aco/tests: fix gfx11 variants printed as gfx12
...
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
c8bde76a42
aco/tests: disable regalloc.subdword_alloc.reuse_16bit_operands on GFX11
...
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
9b60a67841
aco: clarify a portion of do_pack_2x16
...
This confused me a bit when I first saw it.
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/16595 >
2022-05-31 18:07:34 +00:00
Rhys Perry
8384189b6c
aco: use p_parallelcopy for uniform reduction with zero source
...
I think v_mov_b32 was only used because a sub-dword p_parallelcopy
couldn't take constants on some gfx levels. That shouldn't be the case
anymore.
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/16595 >
2022-05-31 18:07:34 +00:00
Juan A. Suarez Romero
3e73fd40a6
v3d: expose GL_ARB_draw_buffers_blend
...
This automatically exposes GL_OES_draw_buffers_indexed too.
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/16747 >
2022-05-31 17:25:50 +00:00
Juan A. Suarez Romero
4357dff4e9
v3d: fix blending for mixed RT formats
...
Blending configuration needs to be adapted in case the RT format does
not have an alpha channel. This is handled so far correctly.
But when we have two RT, one with alpha and other without it, we need
to split the blend configuration, so one is adapted and the other not.
Otherwise we would be changing the blend config for the wrong RT.
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/16747 >
2022-05-31 17:25:50 +00:00
Juan A. Suarez Romero
836ce97f5e
ci: bump VK-GL-CTS to 1.3.2.0
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16689 >
2022-05-31 15:02:08 +00:00
Mike Blumenkrantz
e1f46524e3
zink: lower subgroup width to 1 for unsupported subgroup vote stages
...
this should handle unsupported gfx subgroup vote
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
e342a57ea6
zink: fix subgroup vote detection
...
this is uses the 1.1 features, not 1.3
also check the shader stages available since the GL extension requires
all of them
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
566033beb9
zink: use correct scope for subgroup vote ops
...
this is restricted to subgroup for vulkan use
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
aaf0d4490e
zink: emit spirv cap for subgroup vote ops
...
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Mike Blumenkrantz
591da8cf5d
zink: require draw params ext/cap in ntv if drawid is used
...
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16757 >
2022-05-31 14:45:02 +00:00
Jason Ekstrand
eb0d571ce4
nir: Add a correctness note for nir_lower_phis_to_regs_block
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16111 >
2022-05-31 14:12:21 +00:00
Jason Ekstrand
4a4d6cdc80
nir: Handle register sources in lower_phis_to_regs_block
...
During certain control-flow manipulation passes, we go out-of-SSA
temporarily in certain areas of the code to make control-flow
manipulation easier. This can result in registers being in phi sources
temporarily. If two sub-passes run before we get a chance to do
clean-up, we can end up doing some out-of-SSA and then a bit more
out-of-SSA and trigger this case. It's easy enough to handle.
Fixes: a620f66872 ("nir: Add a couple quick-and-dirty out-of-SSA helpers")
Fixes: 79a987ad2a ("nir/opt_if: also merge break statements with ones after the branch")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6370
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16111 >
2022-05-31 14:12:21 +00:00
Jason Ekstrand
faa51a10ed
isl: Add some asserts about multisampled surfaces
...
This isn't really necessary because the API doesn't allow MSAA and
mipmapping at the same time but people forget that pretty often so it's
good to have it as documentation if nothing else.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
8d8fb6429c
anv: Implement VK_EXT_image_view_min_lod
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
a19ed1f46a
intel/isl: Add isl_view::min_lod_clamp for IVB+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Jason Ekstrand
56b66abc0b
vulkan/runtime: Add min_lod to vk_image_view
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14129 >
2022-05-31 13:42:28 +00:00
Pierre-Eric Pelloux-Prayer
dad36b5f12
radeonsi: enable use_waterfall_for_divergent_tex_samplers
...
And run the nir_divergence_analysis pass in si_get_nir_shader to make
sure it's up to date.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2253
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16709 >
2022-05-31 13:08:07 +00:00
Pierre-Eric Pelloux-Prayer
9776c1cff2
ac/llvm: add use_waterfall_for_divergent_tex_samplers option
...
GLSL says that indexing in a samplers array should be done with
a dynamically uniform value.
If the app doesn't obey this constraint, it'll get incorrect
results.
But there's one case where the app might be correct and yet
get incorrect result: if 2 consecutive draws are used, with no
state changes in between, the hardware might run them in the
same wave and the app will get incorrect result as-if it was
using non-dynamically uniform index.
To prevent this, this commit takes advantage of the divergence
analysis pass - if the index is marked as divergent, then it will
have the same effect as using ACCESS_NON_UNIFORM in SPIR-V.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16709 >
2022-05-31 13:08:07 +00:00
Karol Herbst
9ff04985b9
nir/gce: pin call instructions
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16202 >
2022-05-31 12:36:48 +00:00
Karol Herbst
ad34d81c48
nir/gather_info: allow to run it before inlining
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16202 >
2022-05-31 12:36:48 +00:00
M Henning
abc7f51455
nv50: Fix tlsSpace alignment
...
Commit d1ff453a added this alignment in the wrong spot - it needs to
happen after RA because spilling can increment this 32 bits at a time.
Also assert that we align this correctly now.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16596 >
2022-05-31 12:27:29 +00:00
Timur Kristóf
2027f28b30
ac/nir/taskmesh: Use 3 dimensional workgroup ID.
...
For the sake of consistency, do not rely on a 1-dimensional
workgroup ID anymore.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16721 >
2022-05-31 08:24:48 +00:00
Timur Kristóf
c6d12a510c
ac/nir/taskmesh: Use task shader lowering from common NIR code.
...
This also implements task_payload atomics for RADV.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16721 >
2022-05-31 08:24:48 +00:00
Timur Kristóf
c69b771e35
radv, ac/nir: Fix multiview layer export for mesh shaders.
...
Unfortunately, radv_lower_multiview is not suitable for mesh shaders
because it can't know the mapping between API mesh shader
invocations and output primitives.
Additionally, when lowering view id to layer, it must be created
as a per-primitive PS input.
Fixes: d32656bc65
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16504 >
2022-05-31 07:58:29 +00:00
Erico Nunes
c636660585
lima/ci: reenable lima-mali450-piglit-gpu:arm64
...
With the kernel uprev we are no longer affected by the kernel
regression that was causing issues.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Erico Nunes
4cb4c3b755
lima/ci: update piglit ci expectations
...
This new test reports a failure and started to run during the time
piglit runs were temporarily disabled.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Erico Nunes
d98290b8ad
ci: update docs for linux kernel uprevs
...
Update a few paths that have changed since this doc was first submitted.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Erico Nunes
3d7b2f0186
ci: update linux kernel to v5.17
...
In addition to pushing it to the current latest stable, the v5.17 kernel
for mesa CI pulls a patch to address a regression in drm that affects at
least the lima jobs.
The dtb for sc7180-trogdor-lazor-limozeen-nots is also updated since the
old one no longer exists in v5.17.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16641 >
2022-05-31 06:31:15 +00:00
Iago Toral Quiroga
0ce346368f
v3dv: limit sync for barriers to hw queues selected by source mask
...
Until know when we consumed a barrier we would implement it by
setting the serialize flag on a job, which would cause it to
be serialized across all hardware queues (CL, CSD, TFU). However,
now that we track the source(s) of the barrier, we can restrict this
to only the relevant queue(s) instead (multisync path only).
It should be noted that we can implement transfers via TFU or CL
jobs, so if the source of a barrier is a transfer, we currently
synchronize against both the TFU and the CL queues, however, we
may be able to more effectively track this in the future to
restrict this to just one of the queues.
Also, for secondary command buffers we are taking the easy way
out and always synchronize against all queues, but we should
be able to do the same for secondaries without too much effort.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00
Iago Toral Quiroga
ad249e9020
v3dv: track sources of barriers
...
Until now we have been tracking the dstStageMask of barriers (where they
are consumed) but not where they are produced (the srcStageMask). With
this change we extend our barrier state to keep track of this as well.
This allows the driver to have better knowledge of the intended barrier
semantics so it can limit the amount of synchronization it does only
to the source stages involved with a barrier. We will do this in a
later patch.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00
Iago Toral Quiroga
f7ce42636c
v3dv: use an explicit struct type to track barrier state
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00
Iago Toral Quiroga
eccc0e6a0b
v3dv: only clear BCL barrier state if we don't have pending graphics barriers
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00
Iago Toral Quiroga
24ebcbbaa7
v3dv: consume barriers at the right stages
...
Until now, we have always consumed barriers with the next GPU job
recorded into the command buffer after the barrier even if the job
was not the target of the barrier itself. This works based on the
idea that when we consume a barrier in a job we serialize it against
all queues, so effectively we are ensuring that whatever came
before it has completed, so if the barrier was intended for an
even later job, it would have served its purpose anyway.
It should be noted that CL jobs are special because they are actually
split in two different queues: the binning queue and the render
queue, with a dependency between them to ensure render runs after
binning. With our current implementation, if we have 3 jobs (A, B,
C) and we have a barrier after job A which is intended to block job C
on A's completion, with our implementation we would instead block
B on A's completion. If C is a CL job, and the barrier was targetting
the binning stage then we can have the following scenarios:
1. If B) is a CL job, it will consume the barrier at its binning
stage, so we know that B's binning will not start until A has
completed. Then C's binning will not start until B's binning
has completed, and thus, will not start until A has completed,
as intended.
2. If B) is not a CL job, it will consume the barrier and will not
start until A has completed, however, C's binning job will be
submitted to the binning queue without any sync requirements
and since B did not put any jobs in the binning queue it will
start as soon as A's binning has completed, but not A's render,
which would be incorrect.
Further, since a981ac0539 we now skip consumming BCL barriers if
a job does not have draw calls that can be affected by them. In the
same scenarios as before, now case 1) would also be problematic,
since B may skip the binning sync in that case and start immediately,
and since C's binning would be allowe to start immediately after B's
binning, there is no guarantee that this doesn't happen in parallel
with A's render.
With this patch we fix this situation by tracking the intended
consumer of each barrier: graphics, compute or transfer, and we make
sure to consume them only with jobs that match those semantics.
This fixes flakyness in dEQP-VK.device_group.*
Fixes: a981ac0539 ('v3dv: skip binning sync if binning shaders don't access external resources')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16743 >
2022-05-31 06:06:10 +00:00
Marek Olšák
05eb9530ca
ac/gpu_info: always retile DCC on gfx10 and newer chips
...
Unaligned DCC doesn't work there.
Fixes: f8cf5ea982 - amd: add support for gfx1036 and gfx1037 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/16726 >
2022-05-31 05:34:25 +00:00
Vinson Lee
b35991dbcb
amd: Initialize Gfx11Lib members in constructor.
...
Fix defects reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_numPkrLog2 is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member m_numSaLog2 is not initialized in this constructor nor in any functions that it calls.
Fixes: 4fdf42b3c2 ("amd: import gfx11 addrlib")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16679 >
2022-05-31 03:36:53 +00:00
Ben Skeggs
90ff3c350b
nv50/ir: fix ALD/AST where address comes from AL2P
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16784 >
2022-05-31 01:57:16 +00:00
Ben Skeggs
9fd1602fb5
nv50/ir: fix scope of memory ops on ampere
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16784 >
2022-05-31 01:57:16 +00:00
Ben Skeggs
ca04eff600
nv50/ir: fix OUT.FINAL on ampere
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16784 >
2022-05-31 01:57:16 +00:00
Karol Herbst
e06c373c6b
nv50/ir: recoginse Ampere
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16784 >
2022-05-31 01:57:16 +00:00
Hyunjun Ko
16ea41c901
ir3: handle intrinsic_load_draw_id when scanning driver constants
...
Fixes : #6567
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16769 >
2022-05-31 01:33:55 +00:00
Timothy Arceri
00313effdb
nir/gcm: fix pushing instructions into if blocks
...
The previous logic would just set the block to the instructions
original location if we couldn't evict it from a loop.
For now we only push const loads to a later block inside ifs
but we can add more heuristics later. This change helps a
hand full of shaders but also stops a CTS regression caused
by excess spilling after a series I'm working on to disable
more of the GLSL IR optimisation passes.
Shader-db results iris (BDW):
total instructions in shared programs: 17529759 -> 17529749 (<.01%)
instructions in affected programs: 15929 -> 15919 (-0.06%)
helped: 5
HURT: 2
helped stats (abs) min: 1 max: 5 x̄: 2.40 x̃: 2
helped stats (rel) min: 0.06% max: 0.15% x̄: 0.11% x̃: 0.12%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.06% max: 0.06% x̄: 0.06% x̃: 0.06%
95% mean confidence interval for instructions value: -3.34 0.49
95% mean confidence interval for instructions %-change: -0.14% 0.02%
Inconclusive result (value mean confidence interval includes 0).
total cycles in shared programs: 861109994 -> 861099681 (<.01%)
cycles in affected programs: 7027698 -> 7017385 (-0.15%)
helped: 95
HURT: 72
helped stats (abs) min: 1 max: 7995 x̄: 138.54 x̃: 9
helped stats (rel) min: <.01% max: 15.96% x̄: 0.54% x̃: 0.11%
HURT stats (abs) min: 1 max: 474 x̄: 39.56 x̃: 12
HURT stats (rel) min: <.01% max: 1.17% x̄: 0.20% x̃: 0.11%
95% mean confidence interval for cycles value: -159.05 35.54
95% mean confidence interval for cycles %-change: -0.45% 0.01%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 17606 -> 17605 (<.01%)
spills in affected programs: 323 -> 322 (-0.31%)
helped: 1
HURT: 0
total fills in shared programs: 22599 -> 22598 (<.01%)
fills in affected programs: 1348 -> 1347 (-0.07%)
helped: 1
HURT: 0
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14940 >
2022-05-31 01:03:43 +00:00
David Heidelberg
2cf7f08b04
ci: traces: temporarily disable nheko trace
...
Disable nheko trace until apitrace gets fixed.
apitrace currently fails with this trace, when more than 1 run is
requested.
Upstream issue: https://github.com/apitrace/apitrace/issues/800
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16774 >
2022-05-31 00:00:25 +00:00
Alyssa Rosenzweig
0170500627
pan/bi: Interpolate varyings at 16-bit
...
On Bifrost, we have a single "load float varying" instruction that controls the
bit size of the result, allowing us to fold a f2f16 into the load. However, the
larger benefit is that 16-bit varying loads are interpolated at 16-bit. Arm
claims that the varying unit has a 32-bit data path, allowing 16-bit varyings to
be interpolated in half the cycles from 32-bit. This change should therefore
improve performance for workloads that are varying units. This means we want to
be aggressive about 16-bit varying loads, even if it costs some extra f2f32
instructions.
glmark2 total score on Mali-G52 up from 1173fps to 1218fps with particular wins
in -brefract, -bshadow, -bjellyfish, and -bshading.
total instructions in shared programs: 2432246 -> 2423668 (-0.35%)
instructions in affected programs: 516056 -> 507478 (-1.66%)
helped: 3641
HURT: 432
helped stats (abs) min: 1.0 max: 12.0 x̄: 2.91 x̃: 2
helped stats (rel) min: 0.08% max: 54.55% x̄: 9.88% x̃: 5.71%
HURT stats (abs) min: 1.0 max: 42.0 x̄: 4.71 x̃: 4
HURT stats (rel) min: 0.23% max: 200.00% x̄: 12.58% x̃: 6.37%
95% mean confidence interval for instructions value: -2.21 -2.00
95% mean confidence interval for instructions %-change: -7.92% -7.07%
Instructions are helped.
total tuples in shared programs: 1941309 -> 1934647 (-0.34%)
tuples in affected programs: 353169 -> 346507 (-1.89%)
helped: 3233
HURT: 453
helped stats (abs) min: 1.0 max: 14.0 x̄: 2.46 x̃: 2
helped stats (rel) min: 0.12% max: 50.00% x̄: 9.90% x̃: 5.56%
HURT stats (abs) min: 1.0 max: 25.0 x̄: 2.85 x̃: 2
HURT stats (rel) min: 0.22% max: 150.00% x̄: 8.96% x̃: 5.26%
95% mean confidence interval for tuples value: -1.89 -1.72
95% mean confidence interval for tuples %-change: -8.01% -7.15%
Tuples are helped.
total clauses in shared programs: 357354 -> 356610 (-0.21%)
clauses in affected programs: 25794 -> 25050 (-2.88%)
helped: 994
HURT: 317
helped stats (abs) min: 1.0 max: 3.0 x̄: 1.16 x̃: 1
helped stats (rel) min: 1.49% max: 33.33% x̄: 10.78% x̃: 10.00%
HURT stats (abs) min: 1.0 max: 4.0 x̄: 1.31 x̃: 1
HURT stats (rel) min: 1.19% max: 50.00% x̄: 13.56% x̃: 8.33%
95% mean confidence interval for clauses value: -0.63 -0.50
95% mean confidence interval for clauses %-change: -5.63% -4.16%
Clauses are helped.
total cycles in shared programs: 167697.96 -> 167431.15 (-0.16%)
cycles in affected programs: 12638.29 -> 12371.48 (-2.11%)
helped: 2652
HURT: 350
helped stats (abs) min: 0.04166399999999726 max: 0.75 x̄: 0.11 x̃: 0
helped stats (rel) min: 0.12% max: 100.00% x̄: 14.39% x̃: 5.04%
HURT stats (abs) min: 0.041665999999999315 max: 0.5833329999999997 x̄: 0.11 x̃: 0
HURT stats (rel) min: 0.00% max: 75.00% x̄: 7.90% x̃: 4.71%
95% mean confidence interval for cycles value: -0.09 -0.08
95% mean confidence interval for cycles %-change: -12.56% -11.02%
Cycles are helped.
total arith in shared programs: 74169.46 -> 73891.71 (-0.37%)
arith in affected programs: 13885.87 -> 13608.12 (-2.00%)
helped: 3215
HURT: 445
helped stats (abs) min: 0.04166399999999726 max: 0.5416680000000014 x̄: 0.10 x̃: 0
helped stats (rel) min: 0.12% max: 100.00% x̄: 14.16% x̃: 6.67%
HURT stats (abs) min: 0.041665999999999315 max: 1.125 x̄: 0.12 x̃: 0
HURT stats (rel) min: 0.00% max: 100.00% x̄: 9.76% x̃: 5.49%
95% mean confidence interval for arith value: -0.08 -0.07
95% mean confidence interval for arith %-change: -11.91% -10.59%
Arith are helped.
total texture in shared programs: 11936 -> 11931 (-0.04%)
texture in affected programs: 20 -> 15 (-25.00%)
helped: 10
HURT: 0
helped stats (abs) min: 0.5 max: 0.5 x̄: 0.50 x̃: 0
helped stats (rel) min: 14.29% max: 100.00% x̄: 45.71% x̃: 33.33%
95% mean confidence interval for texture value: -0.50 -0.50
95% mean confidence interval for texture %-change: -73.16% -18.26%
Texture are helped.
total vary in shared programs: 4180.88 -> 3447.19 (-17.55%)
vary in affected programs: 2109.88 -> 1376.19 (-34.77%)
helped: 2202
HURT: 39
helped stats (abs) min: 0.0625 max: 1.4375 x̄: 0.34 x̃: 0
helped stats (rel) min: 2.38% max: 66.67% x̄: 40.43% x̃: 50.00%
HURT stats (abs) min: 0.125 max: 0.375 x̄: 0.26 x̃: 0
HURT stats (rel) min: 0.00% max: 300.00% x̄: 92.54% x̃: 23.08%
95% mean confidence interval for vary value: -0.34 -0.32
95% mean confidence interval for vary %-change: -39.22% -37.01%
Vary are helped.
total quadwords in shared programs: 1689664 -> 1684852 (-0.28%)
quadwords in affected programs: 265522 -> 260710 (-1.81%)
helped: 2864
HURT: 447
helped stats (abs) min: 1.0 max: 14.0 x̄: 2.10 x̃: 2
helped stats (rel) min: 0.15% max: 31.58% x̄: 6.05% x̃: 4.65%
HURT stats (abs) min: 1.0 max: 22.0 x̄: 2.67 x̃: 2
HURT stats (rel) min: 0.27% max: 38.46% x̄: 6.79% x̃: 4.55%
95% mean confidence interval for quadwords value: -1.54 -1.37
95% mean confidence interval for quadwords %-change: -4.55% -4.08%
Quadwords are helped.
total threads in shared programs: 53656 -> 53688 (0.06%)
threads in affected programs: 32 -> 64 (100.00%)
helped: 32
HURT: 0
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 1.00 1.00
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are helped.
total preloads in shared programs: 116212 -> 103476 (-10.96%)
preloads in affected programs: 45222 -> 32486 (-28.16%)
helped: 3022
HURT: 11
helped stats (abs) min: 1.0 max: 11.0 x̄: 4.23 x̃: 4
helped stats (rel) min: 7.14% max: 68.75% x̄: 30.39% x̃: 25.00%
HURT stats (abs) min: 2.0 max: 4.0 x̄: 3.45 x̃: 4
HURT stats (rel) min: 14.29% max: 50.00% x̄: 25.93% x̃: 25.00%
95% mean confidence interval for preloads value: -4.26 -4.14
95% mean confidence interval for preloads %-change: -30.68% -29.69%
Preloads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Tested-by: Chris Healy cphealy@gmail.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16752 >
2022-05-30 17:49:44 -04:00
Alyssa Rosenzweig
93f69e4b1c
pan/bi: Model Valhall source formats
...
LD_VAR_BUF instructions on Valhall take a source format, indicating the
in-memory format of the varying independent from the register format, which we
still model within the compiler for compatibility with Bifrost. (Prior to
Valhall, source format is specified in the attribute descriptor as a physical
pixel format.)
Model this information, allowing us to generate fp16 LD_VAR_BUF instructions
correctly on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16752 >
2022-05-30 17:49:44 -04:00
Alyssa Rosenzweig
06886c3861
pan/bi: Make LD_VAR w=format instead of w=vecsize
...
Fixes a vector dimension validation failure in
dEQP-GLES3.functional.shaders.indexing.varying_array.vec4_static_write_dynamic_read
after we enable fp16 varyings.
No shader-db changes, as we don't yet support fp16 varyings.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16752 >
2022-05-30 17:49:44 -04:00
Alyssa Rosenzweig
a9b13a1867
pan/va: Fill in missing src_flat16 enum
...
Valhall gains(?) the ability to flatshade 16-bit varyings, this is indicated by
a particular source format.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16752 >
2022-05-30 17:49:44 -04:00
Alyssa Rosenzweig
e898e2466b
pan/bi: Add VAR_TEX fusing unit test
...
As fusing VAR_TEX is an optimization, it's helpful to have unit tests since
functional tests won't check that the optimization triggers when expected.
Originally written when I was touching the VAR_TEX code. Those changes have
since been dropped by the unit test remains useful.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16752 >
2022-05-30 17:48:59 -04:00
Konstantin Seurer
1727310ea1
radv: Use vk_buffer
...
Use vk_buffer as a base for radv_buffer and
replace manual handling of VK_WHOLE_SIZE with
vk_buffer_range.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16764 >
2022-05-30 17:43:58 +00:00
Konstantin Seurer
7f1e967c02
vulkan: Use the correct enum in vk_buffer
...
VkBufferCreateFlags is correct.
Fixes: f6ae21b ("vulkan: Add a base struct for buffers")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16764 >
2022-05-30 17:43:58 +00:00
Matt Turner
27f3fb5699
mesa: Drop dead #include "sparc/sparc.h"
...
sparc.h was removed in when the classic drivers were removed. It only
contained a prototype for _mesa_init_all_sparc_transform_asm() which
wasn't even called by context.c. Remove the #include to fix the build on
sparc.
Fixes: e030d5ba8a ("mesa: Delete libmesa_classic")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6425
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16765 >
2022-05-30 17:03:21 +00:00
Rhys Perry
cd2b4c319a
aco/ra: fix usage of invalidated iterator
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 58bd9a379e ("aco/ra: fix live-range splits of phi definitions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16454 >
2022-05-30 16:41:32 +00:00
Alyssa Rosenzweig
42a4a123a6
pan/bi: Don't allow spilling coverage mask writes
...
The register precolouring logic assumes that coverage masks are always in R60,
so spilling them causes incorrect results. We could do better. Fixes on Valhall:
dEQP-GLES3.functional.ubo.random.all_per_block_buffers.28
Fixes: 3df5446cbd ("pan/bi: Simplify register precolouring in the IR")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16748 >
2022-05-30 14:00:55 +00:00
Alyssa Rosenzweig
67f5721349
panfrost: Set allow_rotating_primitives
...
On Valhall, the driver should set this flag if the hardware may rotate
primitives. This happens if:
1. The rasterization of lines does not matter, AND
2. The provoking vertex does not matter.
The first condition we may satisfy by checking for LINES and the second by
checking for flat shading. Otherwise, we should set this flag to allow
optimizations. This may be more efficient for tiling.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16748 >
2022-05-30 14:00:55 +00:00
Alyssa Rosenzweig
e7a7679b9a
panfrost: Set overdraw_alpha[01] flags
...
These basically correspond to the alpha_zero_nop and alpha_one_store flags we
already compute and set. Except those flags don't exist on Valhall, so these
need to be used instead (on Bifrost, in addition .. unclear why the duplication
on Bifrost).
Set these flags when we can. Ostensibly this is for performance (neglible
improvement on glmark2 score), but mostly I want to get us using the hardware
optimally.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16748 >
2022-05-30 14:00:55 +00:00
Alyssa Rosenzweig
776fa19db2
panfrost: Allow FPK on Valhall
...
Reuse the logic from Bifrost for a performance win.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16748 >
2022-05-30 14:00:55 +00:00
Samuel Pitoiset
2981ee5c7b
radv: init states from VkPipelineFragmentShadingRateState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
8fdc4bf3ba
radv: init states from VkPipelineDiscardRectangleState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
b36bee672f
radv: init states from VkAttachmentSampleCountInfo at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
23ba9a6249
radv: init states from pColorBlendState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
1dff2a9204
radv: use AMD values for computing blend related state
...
This will allow to translate the function and factors earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
d423d1c683
radv: init states from VkPipelineRenderingCreateInfo at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
6e8e926e1b
radv: init states from pDepthStencilState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
8e9b3fabc5
radv: init states from pMultisampleState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Samuel Pitoiset
1f8db57023
radv: copy viewport/scissor when initializing radv_viewport_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16672 >
2022-05-30 12:21:14 +00:00
Marcin Ślusarz
0f46a8fbfe
anv: remove invalid copy/pasted comment
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16773 >
2022-05-30 11:46:13 +00:00
Marcin Ślusarz
34b5a717c0
anv: remove redundant code calculating dynamic states mask
...
pipeline->dynamic_states is already set by anv_graphics_pipeline_init
since 231651fd89 .
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16773 >
2022-05-30 11:46:13 +00:00
David Heidelberg
092d03a90e
ci/iris: skqp: remove flaking atlastext for TGL (gl version)
...
gles version of atlastext was already removed due to same behavior
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16772 >
2022-05-30 10:50:12 +00:00
Tatsuyuki Ishi
250b6eb908
radv/ci: skip image.sample_texture.*_compressed_format*
...
These tests are flaky due to missing barriers, exposed by 211db6d333
("radv: Fix redundant subpass barriers due to erroneous comparison").
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16762 >
2022-05-30 09:18:38 +00:00
Tatsuyuki Ishi
6eb5a110dd
radv/ci: Move transient_attachment_bit from fail to skip list
...
These tests are flaky and should not be treated as expected-fail.
This also removes the duplicates from the fail list which was breaking CTS
runner.
Fixes: cd14431b8c ("radv/ci: skip dEQP-VK.fragment_operations.transient_attachment_bit")
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16762 >
2022-05-30 09:18:38 +00:00
Jesse Natalie
a56d47b0ba
microsoft/compiler: Fixup sampler derefs in tex instrs that don't *need* samplers
...
Sometimes you can end up with tex instructions that have sampler deref srcs, even though
they don't need them, e.g. a txs. In this case, still fix up those derefs in the sampler
splitting pass rather than leaving them pointing to a typed sampler.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16639 >
2022-05-30 07:28:50 +00:00
Konstantin Seurer
8aecb3ed58
radv: Ignore transformOffset if transformData is 0
...
There is also a hypothetical scenario where
transformData is 0 and transformOffset is not 0
and we end up reading from transformOffset because
transform_addr is not 0.
VkAccelerationStructureBuildRangeInfoKHR spec:
If VkAccelerationStructureGeometryTrianglesDataKHR::transformData is not NULL, a single VkTransformMatrixKHR structure is consumed from VkAccelerationStructureGeometryTrianglesDataKHR::transformData, at an offset of transformOffset. This matrix describes a transformation from the space in which the vertices for all triangles in this geometry are described to the space in which the acceleration structure is defined.
Which I think means, that we should ignore
transformOffset if transformData is NULL.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16719 >
2022-05-30 00:00:53 +00:00
Konstantin Seurer
9be00573c4
radv: Fix handling of primitiveOffset
...
VkAccelerationStructureBuildRangeInfoKHR spec:
If the geometry uses indices, primitiveCount × 3 indices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::indexData, starting at an offset of primitiveOffset. The value of firstVertex is added to the index values before fetching vertices.
If the geometry does not use indices, primitiveCount × 3 vertices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::vertexData, starting at an offset of primitiveOffset + VkAccelerationStructureGeometryTrianglesDataKHR::vertexStride × firstVertex.
Meaning: We always add firstVertex * vertexStride
to the vertex address and add primitiveOffset
either to the vertex address or the index address,
depending on wether indices are used.
Also add missing handling with instances.
Fixes: 0dad88b ("radv: Implement device-side BVH building.")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16719 >
2022-05-30 00:00:53 +00:00
SureshGuttula
f2e3646321
Revert "radeonsi: Set display_remote for non-refernced frames"
...
This reverts commit ef76b83633 .
Reason for revert: This only helps in using I MBs.To further
fix in dpb , reverting this.
Fix added : https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16745
Signed-off-by: SureshGuttula <suresh.guttula@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16744 >
2022-05-29 00:07:47 +00:00
Jesse Natalie
55f9ff03c2
d3d12: Fix forward decl for sw_winsys
...
Closes part of: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4099
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16760 >
2022-05-29 00:00:19 +00:00
SureshGuttula
77a6feff89
radeonsi/vcn : update enc->dpb ref_use for index 0
...
Currently dpb_enc referneces not updated properly when index 0, as
we are skipping clearing that ref.
This patch will fix this for index 0. So that when ever we set
non_referenced flag, that is not used as ref and not pushed to DPB.
This is helping in SVC encoding.
Signed-off-by: SureshGuttula <suresh.guttula@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16745 >
2022-05-28 15:52:53 +00:00
Lionel Landwerlin
09caa8902c
anv: move internal RT shaders to the internal cache
...
Those shaders are just like the blorp ones.
v2: Use a single internal cache for blorp/RT (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 7f1e82306c ("anv: Switch to the new common pipeline cache")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16741 >
2022-05-28 10:14:03 +00:00
Jason Ekstrand
0eee071038
panvk: Use the vk_buffer base struct
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16607 >
2022-05-27 18:39:00 -05:00
Jason Ekstrand
5d0b09be5b
anv: Use the base vk_buffer struct
...
This mostly gets us the vk_buffer_range() helper but may be useful in
the future.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16607 >
2022-05-27 18:38:57 -05:00
Jason Ekstrand
f6ae21b864
vulkan: Add a base struct for buffers
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16607 >
2022-05-27 18:38:42 -05:00
Vinson Lee
f38bc633f7
d3d12: Initialize d3d12_video_encoder_bitstream member m_uiOffset.
...
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_uiOffset is not initialized in
this constructor nor in any functions that it calls.
Fixes: b171a6baa2 ("d3d12: Add video encode implementation of pipe_video_codec")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16682 >
2022-05-27 22:14:00 +00:00
Jason Ekstrand
dfedeccc13
intel: Only set VectorMaskEnable when needed
...
For cases with lots of very small primitives, this may improve
performance because we're not executing those dead channels all the
time.
Shader-db reports no instruction or cycle-count changes. However, by
hacking up the driver to report when this optimization triggers, it
appears to affect about 10% of shader-db.
v2 (Kenneth Graunke): Always enable VMask prior to XeHP for now,
because using VMask on those platforms allows us to perform the
eliminate_find_live_channel() optimization. However, XeHP doesn't
seem to have packed fragment shader dispatch, so we lose that
optimization regardless, and there's no reason not to avoid vmask.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1054 >
2022-05-27 21:52:48 +00:00
Erico Nunes
7c1498daba
egl: Fix DETECT_OS macro usage
...
As described in src/util/detect_os.h, the DETECT_OS macros are always
defined to a 0 or 1 value, and they should be used with #if rather
than #ifdef.
Commit 54b7227f15 accidentally disabled those extensions on all
platforms, so enable them again.
Fixes: 54b7227f15 ("egl/wgl: On win32, there is no support for EGL_EXT_device and EGL_EXT_platform_device")
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16751 >
2022-05-27 21:47:11 +02:00
Jason Ekstrand
0d28de212a
anv: Don't disable the fragment shader if XFB is enabled
...
It turns out that we need a fragment shader for streamout. Whh? From
Lionel's reading of simulator sources, it seems the streamout unit is
looking at enabled next stages. It'll generate output to the clipper in
the following cases :
- 3DSTATE_STREAMOUT::ForceRendering = ON
- PS enabled
- Stencil test enabled
- depth test enabled
- depth write enabled
- some other depth/hiz clear condition
Forcing rendering without a PS seems like a recipe for hangs so it's
probably better to just enable the PS in this case.
Fixes: 36ee2fd61c ("anv: Implement the basic form of VK_EXT_transform_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16506 >
2022-05-27 14:33:53 +00:00
Jason Ekstrand
73b3efcd59
anv: Handle the null FS optimization after compiling shaders
...
Actually compile and cache the no-op fragment shader but remove it from
the pipeline if we determine it's a no-op. This way we always have it
even if it's not strictly needed.
Fixes: 36ee2fd61c ("anv: Implement the basic form of VK_EXT_transform_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16506 >
2022-05-27 14:33:53 +00:00
Jason Ekstrand
9fe6caf4e7
anv: Drop alpha_to_coverage from the NULL FS optimization
...
Starting with Ivy Bridge, we implement alpha-to-coverage by writting
gl_SampleMask with a pattern based on alpha. This will show up in
wm_prog_data::uses_omask so we don't need to look at the key.
Fixes: 36ee2fd61c ("anv: Implement the basic form of VK_EXT_transform_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16506 >
2022-05-27 14:33:53 +00:00
Jason Ekstrand
1b9248e761
intel/fs: Copy color_outputs_valid into wm_prog_data
...
Fixes: 36ee2fd61c ("anv: Implement the basic form of VK_EXT_transform_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16506 >
2022-05-27 14:33:53 +00:00
Jason Ekstrand
8379993223
intel/fs: Drop fs_visitor::emit_alpha_to_coverage_workaround()
...
It no longer exists.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16506 >
2022-05-27 14:33:53 +00:00
Mike Blumenkrantz
3394e81eb1
vtn: assert that composite members have the same bit size as the result
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16667 >
2022-05-27 14:06:32 +00:00
Mike Blumenkrantz
54e1072ff6
vtn: assert that vector shuffle indices are in-bounds
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16667 >
2022-05-27 14:06:32 +00:00
Alyssa Rosenzweig
01ba3460a9
pan/bi: Test CMP result_type optimization
...
Add unit tests ensuring the optimization applies in all the cases we care about,
as functional integration tests (CTS and Piglit) won't test this. Also add unit
tests for a few cases where we specifically cannot fuse, in case these cases are
missed by the tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16725 >
2022-05-27 12:14:22 +00:00
Alyssa Rosenzweig
501a66cb5c
pan/bi: Fuse result types
...
In NIR, comparison instructions always produce 0/~0 results. For other result
types, a separate b2f32 or b2i32 instruction is used to transform the result.
However, Mali's comparison instructions have modifiers for these alternate
result types, so we can implement expressions like int(a < b) and float(a ==
b) in single instruction. Add a peephole optimization to fuse comparisons
with result type transformations.
Results on Mali-G52:
total instructions in shared programs: 2439696 -> 2434339 (-0.22%)
instructions in affected programs: 418703 -> 413346 (-1.28%)
helped: 1630
HURT: 0
helped stats (abs) min: 1.0 max: 28.0 x̄: 3.29 x̃: 2
helped stats (rel) min: 0.11% max: 19.35% x̄: 1.64% x̃: 1.39%
95% mean confidence interval for instructions value: -3.44 -3.13
95% mean confidence interval for instructions %-change: -1.72% -1.56%
Instructions are helped.
total tuples in shared programs: 1946581 -> 1943005 (-0.18%)
tuples in affected programs: 251742 -> 248166 (-1.42%)
helped: 1113
HURT: 11
helped stats (abs) min: 1.0 max: 32.0 x̄: 3.23 x̃: 2
helped stats (rel) min: 0.17% max: 15.38% x̄: 1.80% x̃: 1.38%
HURT stats (abs) min: 1.0 max: 2.0 x̄: 1.45 x̃: 1
HURT stats (rel) min: 0.21% max: 3.12% x̄: 1.23% x̃: 0.89%
95% mean confidence interval for tuples value: -3.35 -3.01
95% mean confidence interval for tuples %-change: -1.88% -1.66%
Tuples are helped.
total clauses in shared programs: 357791 -> 357349 (-0.12%)
clauses in affected programs: 15879 -> 15437 (-2.78%)
helped: 371
HURT: 3
helped stats (abs) min: 1.0 max: 8.0 x̄: 1.20 x̃: 1
helped stats (rel) min: 0.80% max: 33.33% x̄: 3.85% x̃: 2.17%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.94% max: 5.26% x̄: 4.49% x̃: 5.26%
95% mean confidence interval for clauses value: -1.27 -1.09
95% mean confidence interval for clauses %-change: -4.21% -3.36%
Clauses are helped.
total cycles in shared programs: 167922.04 -> 167810.71 (-0.07%)
cycles in affected programs: 6772.08 -> 6660.75 (-1.64%)
helped: 655
HURT: 12
helped stats (abs) min: 0.041665999999999315 max: 1.3333319999999986 x̄: 0.17 x̃: 0
helped stats (rel) min: 0.18% max: 20.00% x̄: 2.02% x̃: 1.60%
HURT stats (abs) min: 0.041665999999999315 max: 0.125 x̄: 0.05 x̃: 0
HURT stats (rel) min: 0.21% max: 3.80% x̄: 1.23% x̃: 0.88%
95% mean confidence interval for cycles value: -0.18 -0.16
95% mean confidence interval for cycles %-change: -2.10% -1.81%
Cycles are helped.
total arith in shared programs: 74393.17 -> 74243.08 (-0.20%)
arith in affected programs: 10157.50 -> 10007.42 (-1.48%)
helped: 1129
HURT: 12
helped stats (abs) min: 0.041665999999999315 max: 1.3333319999999986 x̄: 0.13 x̃: 0
helped stats (rel) min: 0.18% max: 50.00% x̄: 1.94% x̃: 1.40%
HURT stats (abs) min: 0.041665999999999315 max: 0.125 x̄: 0.05 x̃: 0
HURT stats (rel) min: 0.21% max: 3.80% x̄: 1.23% x̃: 0.88%
95% mean confidence interval for arith value: -0.14 -0.12
95% mean confidence interval for arith %-change: -2.06% -1.76%
Arith are helped.
total quadwords in shared programs: 1692019 -> 1688164 (-0.23%)
quadwords in affected programs: 216669 -> 212814 (-1.78%)
helped: 1148
HURT: 11
helped stats (abs) min: 1.0 max: 41.0 x̄: 3.37 x̃: 2
helped stats (rel) min: 0.17% max: 17.24% x̄: 2.25% x̃: 1.73%
HURT stats (abs) min: 1.0 max: 2.0 x̄: 1.09 x̃: 1
HURT stats (rel) min: 0.60% max: 1.32% x̄: 0.85% x̃: 0.83%
95% mean confidence interval for quadwords value: -3.49 -3.16
95% mean confidence interval for quadwords %-change: -2.33% -2.10%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16725 >
2022-05-27 12:14:22 +00:00
Timur Kristóf
112a856813
nir: Keep track of cross-invocation mesh shader output access.
...
On some implementations eg. AMD RDNA2 the driver can generate a
more optimal code path knowing whether outputs are indexed using the
local invocation index or not.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16736 >
2022-05-27 11:22:07 +00:00
Tatsuyuki Ishi
cd14431b8c
radv/ci: skip dEQP-VK.fragment_operations.transient_attachment_bit
...
Until the CTS bug is fixed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16663 >
2022-05-27 09:43:04 +00:00
Tatsuyuki Ishi
211db6d333
radv: Fix redundant subpass barriers due to erroneous comparison
...
We accidentally compared the stencil layout to the color/depth layout.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16663 >
2022-05-27 09:43:04 +00:00
Yogesh Mohan Marimuthu
1a8b03732f
vulkan/wsi: fix extra free if buffer_blit_queue
...
In wsi_destroy_image(), if buffer_blit_queue then
do not call extra free. This will fix assert in
debug release and accessing out of allocated memory.
Fixes:
7bd5aa111c
("vulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit")
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Samuel Pitoiset's avatarSamuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16649 >
2022-05-27 09:19:15 +00:00
Timur Kristóf
77a67f1115
radv: Add mesh and task stage names to pipeline executable properties.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16712 >
2022-05-27 08:46:29 +00:00
Timur Kristóf
8aff8d3dd4
nir: Add common task shader lowering to make the backend's job easier.
...
1. Lowers NV_mesh_shader TASK_COUNT output to launch_mesh_workgroups.
2. Removes all code after launch_mesh_workgroups, enforcing the
fact that it's a terminating instruction.
3. Ensures that task shaders always have at least one
launch_mesh_workgroups instruction, so the backend doesn't
need to implement a special case when the shader doesn't have it.
4. Optionally, implements task_payload using shared memory when
task_payload atomics are used.
This is useful when the backend is otherwise not capable of
handling the same atomic features as it can for shared memory.
If this is used, the backend only has to implement the basic
load/store operations for task_payload.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16720 >
2022-05-27 07:52:03 +00:00
Timur Kristóf
9eaf918ed2
nir: Add new launch_mesh_workgroups intrinsic.
...
The new intrinsic launches mesh shader workgroups
from a task shader, with explicit task_payload.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16720 >
2022-05-27 07:52:03 +00:00
David Heidelberg
c9f0a511e0
ci/panfrost: add RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
da70c1b9f0
ci/virgl: traces: add RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
0a9461caf5
ci/radeonsi: add RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
2d42335fb8
ci/llvmpipe: add RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
9f3c91850b
ci/crocus: add RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
b19c858f3d
ci/intel: add RoR and Nheko traces and reenable most of Valve traces
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
270e0d45fb
ci/i915: add entries for RoR and Nheko traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
b8381aaa37
ci/freedreno: enable ROR and Nheko traces
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
David Heidelberg
6bbe457f68
ci/virgl: fix checksum for valve traces which run on iris
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16633 >
2022-05-27 06:51:38 +00:00
Kenneth Graunke
7577ca7e6a
mesa: Avoid temp images in _mesa_texstore_*_dxt* for stride = 0
...
We're getting a source stride of 0 here sometimes, which I believe means
to just use the natural stride, which is what we wanted anyway. No need
to fall back to a temporary image in that case.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631 >
2022-05-27 01:47:33 +00:00
Kenneth Graunke
035e6e32f1
mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages
...
The S3TC compressor code doesn't support this, but our lack of checking
was being papered over by the stride checks being overly picky. This
is needed to prevent regressions in the next commit.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631 >
2022-05-27 01:47:33 +00:00
Kenneth Graunke
6910891c7f
mesa: Avoid temp images in _mesa_texstore_rgb_dxt1 for GL_RGBA source
...
The compressor can handle 3 or 4-component sources, so allow a GL_RGBA
source and just pass that along with the correct number of components.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631 >
2022-05-27 01:47:33 +00:00
Kenneth Graunke
5602f424c3
mesa: Split tx_compress_dxtn into per-format functions
...
This avoids an unnecessary switch statement in many cases.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631 >
2022-05-27 01:47:33 +00:00
Marek Olšák
eb673c55f1
st/mesa: remove unused GENERIC input and output from the clear VS
...
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Tested-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16711 >
2022-05-27 00:01:41 +00:00
Marek Olšák
3d6e44fd2a
r300,r600,svga: save the FS constant buffer for u_blitter to fix a regression
...
Fixes: 773a23eb6d - gallium/u_blitter: clear color buffers using color from a constant buffer
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6548
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6539
Tested-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Tested-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16711 >
2022-05-27 00:01:41 +00:00
Yonggang Luo
d827d433ce
util: Fixes typo in test_util_get_process_exec_path
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16723 >
2022-05-26 23:27:50 +00:00
Yonggang Luo
aa7446b17e
util: Fixes test_util_get_process_exec_path on windows host with msys2/mingw
...
```
stderr:
Error: Test 'test_util_get_process_exec_path' failed:
Expected="C:/work/xemu/xemu-opengl/mesa/build/windows-mingw64/src/util/process_test.exe", Actual="C:\work\xemu\xemu-opengl\mesa\build\windows-mingw64\src\util\process_test.exe"
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16723 >
2022-05-26 23:27:50 +00:00
Alejandro Piñeiro
746287d221
v3dv/format: Add support for VK_KHR_format_feature_flags2
...
VK_KHR_format_feature_flags2 is mostly about define a new 64-bit
VkFormatFeatureFlagBits2KHR format feature flag type, as 29 bits of
the 32-bit VkFormatFeatureFlagBits are already in use.
So all the bits from VkFormatFeatureFlagBits are being replicated, and
most of the work here consist on switch to the new flags.
From the new (not replicated from VkFormatFeatureFlagBits) flag bits,
we don't support
VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR or
VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR, as right now
we require the format on the shader for doing the read and stores.
We use now VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR,
but only applying it for depth formats.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16718 >
2022-05-26 21:20:50 +00:00
Alejandro Piñeiro
11a0ea76a2
v3dv/format: no need for GetPhysicalDeviceFormatProperties
...
The common Mesa Vulkan framework already provides a common
implementation based on GetPhysicalDeviceFormatProperties2.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16718 >
2022-05-26 21:20:50 +00:00
Mike Blumenkrantz
0c4a65ef34
zink: update radv piglit fails
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16727 >
2022-05-26 18:43:16 +00:00
Alyssa Rosenzweig
6450037b32
panfrost: Use tiled AFBC textures
...
On GPUs that support AFBC with tiled headers, try to use tiled headers instead
of linear headers. This should be a bit more efficient for the caches.
Additionally, on Mali, tiled headers are tied to solid colour blocks, so this
has the effect of enabling AFBC with solid colour blocks where supported.
Unfortunately, results are disappointing. Mali-G52:
-btexture from 856fps to 859fps
-bdesktop from 292fps to 294fps
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
0255f554f3
panfrost: Advertise 16x16 tiled AFBC
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
1f1da58ed1
panfrost: Gate tiled AFBC on GPUs that support it
...
Introduced with v7.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
3fbfd356af
panfrost: Add helper checking tiled AFBC support
...
Tiled AFBC support was introduced with v7. Add a helper encoding this fact.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
5fa274fee4
panfrost: Handle AFBC Tiled
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
b63dad3ce5
panfrost: Put comment in correct #ifdef
...
Minor fix to make the code less confusing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
bd529b7983
panfrost: Fix AFBC flags on v6
...
Tiled headers and bounds checking were introduced with v7. The flags don't exist
on v6. Fix the XML accordingly so we don't accidentally use features too new for
the hardware.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
166d879ff0
panfrost: Add 1x1 layout unit tests
...
These check the alignments are correct. Of course, ideally these cases aren't
hit in practice, since it's a waste of memory.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
65ba39f84c
panfrost: Add a tiled 16x16 layout unit test
...
To exercise the layout code introduced in this series.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
d11945cd85
panfrost: Calculate header_size based on row_stride
...
The header size is the header stride times the number of rows in the header
(number of tiles of superblocks). We already calculate the header stride, so
eliminate the separate header size calculation.
Delete the old header size calculation. It has no notion of wide blocks, let
alone tiled AFBC headers.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
0cf6091bd0
panfrost: Add 3D texture layout unit test
...
3D AFBC is pretty subtle, let's make sure we have adequate unit test coverage.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
5944bbfa94
panfrost: Add AFBC stride unit tests
...
Demonstrating correctness of the low level calculations.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
544a8894fc
panfrost: Align layouts to tiles of superblocks
...
Required to satisfy the alignment constraints on tiled AFBC.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
9c9b7f7a42
panfrost: Support tiled AFBC in stride helpers
...
Part 1 of tiled AFBC. This requires modifier information.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
5c86f53112
panfrost: Add pan_afbc_tile_size helper
...
To unify calculations with linear and tiled AFBC formats.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
b7c18160d3
panfrost: Fix is_wide return type
...
By inspection.
Fixes: e4ee2c213a ("panfrost: Extract panfrost_afbc_is_wide helper")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
6b0ff7da48
panfrost: Extract pan_afbc_row_stride helper
...
Extract a helper for calculating AFBC strides. This is used in two places in
pan_layout. It will need extension for tiled AFBC, and the extended version
could benefit from unit testing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
d8a4c9b505
panfrost: Extract afbc_stride_blocks helper
...
Let's keep all the AFBC computations inside the layout code, to keep pan_cs
dumb. This helper will need some extension for tiled AFBC.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16697 >
2022-05-26 15:56:32 +00:00
Alyssa Rosenzweig
9773ed1dc7
panfrost: Fix crash with GALLIUM_HUD
...
Due to the order of binding shaders, GALLIUM_HUD triggered a NULL pointer
dereference in the new shader variants code.
Fixes: 0fcddd4d2c ("pan/bi: Rework varying linking on Valhall")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16707 >
2022-05-26 14:01:42 +00:00
SureshGuttula
ef76b83633
radeonsi: Set display_remote for non-refernced frames
...
When we do SVC temporal encoding, we see output bitsream is not proper. To fix
this , incase of SVC passing session init varaible display_remote as enable.
Signed-off-by: SureshGuttula <suresh.guttula@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16468 >
2022-05-26 12:26:53 +00:00
Danylo Piliaiev
713f504033
ir3: handle gl_Layer and gl_ViewportIndex when there is TES + GS
...
Fixes CTS tests:
KHR-GL46.shader_viewport_layer_array.ShaderViewportIndexTestCase
KHR-GL46.shader_viewport_layer_array.ShaderLayerFramebufferLayeredTestCase
KHR-GL46.shader_viewport_layer_array.ShaderLayerFramebufferNonLayeredTestCase
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6497
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16696 >
2022-05-26 08:47:02 +00:00
Samuel Pitoiset
1046c2a1c0
radv: fix writing buffer markers with non-zero memory offset
...
Found by insepction.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16698 >
2022-05-26 08:23:52 +00:00
Samuel Pitoiset
6f854ac2f2
radv: use pipeline->slab_bo in more places
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16687 >
2022-05-26 08:03:33 +00:00
Samuel Pitoiset
0393cba27b
radv: disable attachementFragmentShadingRate on GFX11
...
The VRS image no longer uses HTILE like on GFX10.3 and I don't know
yet how to program it.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
4ffc7a50cb
radv: disable VK_AMD_shader_fragment_mask on GFX11
...
No FMASK on GFX11 which means I don't think we can expose this ext.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
779e09639b
radv: configure DB_Z_INFO.NUM_SAMPLES correctly on GFX11
...
It affects VRS and occlusion queries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
00c649339b
radv: fix VK_BLEND_FACTOR_CONSTANT_COLOR translation on GFX11
...
This one was missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
97dc28b177
radv: fix configuring COLOR_INVALID on GFX11
...
It's a different bitfield but this one was missing.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
aa439d7f46
radv: report adjusted LDS size for fragment shaders on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
2fd5aa79b2
radv: use the fragment resolve path by default on GFX11
...
GFX11 doesn't support CB_RESOLVE which means it doesn't support the
hardware resolve path. If necessary (for arrays or integer formats)
the driver will select the compute path.
No CTS regressions by forcing the fragment resolve path on GFX10.3
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
f7b1ad7c06
radv: update VRS rates on GFX11
...
GFX11 uses enum instead of 2-bit integer numbers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
iReviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
e210ffb4d0
radv: update framebuffer registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
d88c859b4e
radv: do not emit more non-existent registers on GFX11
...
Found these by diffing the list of registers between GFX10_3 and GFX11.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Samuel Pitoiset
c5d8ef97fa
radv: rename VERT_GRP_SIZE to VERTS_PER_SUBGRP on GFX11
...
Same bitfield but it has been renamed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16557 >
2022-05-26 07:43:38 +00:00
Lionel Landwerlin
e1811af75d
util/perf: add options to enable/disable tracepoints
...
We want to add more tracepoints for intel drivers. Having them all
enabled at the same time can be both costly and unreadable.
This allows a driver to specify an environment variable and values to
enable/disable tracepoints.
v2: s/TRACEPOINTS_ENABLES/TRACEPOINTS_TOGGLES/ (Danylo)
s/config_name/toggle_name/
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16717 >
2022-05-26 07:14:45 +00:00
Lionel Landwerlin
4192747737
util/debug: add an enable parsing helper
...
This allows to parse something like :
ENV_VAR=+a,-b
which will enable a and disable b.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16717 >
2022-05-26 07:14:45 +00:00
Lionel Landwerlin
e666089082
intel/disasm: add missing handling of <1;1,0>
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 7cd9adeb41 ("intel/compiler: In XeHP prefer <1;1,0> regions before compacting")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16704 >
2022-05-26 06:42:16 +00:00
Dave Airlie
c219ca3fb7
llvmpipe: flush resources for kms swrast path.
...
The kms_swrast path calls this callback via the dri2 paths,
not flushing caused artifacts when running inside a VM or on hw
in weston/gnome-shell.
Fixes: 6bbbe15a78 ("Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16715 >
2022-05-26 02:45:45 +00:00
Mike Blumenkrantz
8fef8ed1b0
zink: add renderpass bits for color/depth r/w
...
these are different renderpasses according to compatibility rules
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16621 >
2022-05-26 01:49:43 +00:00
Mike Blumenkrantz
f4aa727e44
zink: use a zink_render_pass_pipeline_state bit for fbfetch
...
improve compatibility detection
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16621 >
2022-05-26 01:49:43 +00:00
Yonggang Luo
54b7227f15
egl/wgl: On win32, there is no support for EGL_EXT_device and EGL_EXT_platform_device
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16537 >
2022-05-26 00:00:55 +00:00
Vinson Lee
b7e22864aa
dri2: Fix memory leak.
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable psp going out of scope leaks the storage it points to.
Fixes: 68aa2099fa ("dri2: Require a loader with working buffer invalidation")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16680 >
2022-05-25 16:25:23 -07:00
Alyssa Rosenzweig
96d9093c19
pan/bi: Allow CSEing LEA_BUF_IMM
...
Cleans up the code gen a lot in varying shaders. Instruction count regression
due to how we handle 64-bit on Valhall. (TODO: A better solution for that...)
total instructions in shared programs: 2730186 -> 2736193 (0.22%)
instructions in affected programs: 775825 -> 781832 (0.77%)
helped: 2010
HURT: 4433
helped stats (abs) min: 1.0 max: 18.0 x̄: 2.16 x̃: 2
helped stats (rel) min: 0.16% max: 26.67% x̄: 3.75% x̃: 2.22%
HURT stats (abs) min: 1.0 max: 10.0 x̄: 2.33 x̃: 2
HURT stats (rel) min: 0.20% max: 23.08% x̄: 4.79% x̃: 2.79%
95% mean confidence interval for instructions value: 0.87 1.00
95% mean confidence interval for instructions %-change: 1.98% 2.27%
Instructions are HURT.
total cycles in shared programs: 161178.77 -> 144303.77 (-10.47%)
cycles in affected programs: 85720 -> 68845 (-19.69%)
helped: 6910
HURT: 0
helped stats (abs) min: 1.0 max: 18.0 x̄: 2.44 x̃: 2
helped stats (rel) min: 1.05% max: 41.18% x̄: 19.72% x̃: 20.00%
95% mean confidence interval for cycles value: -2.48 -2.41
95% mean confidence interval for cycles %-change: -19.86% -19.58%
Cycles are helped.
total cvt in shared programs: 13655.45 -> 14013 (2.62%)
cvt in affected programs: 2978.06 -> 3335.61 (12.01%)
helped: 381
HURT: 5242
helped stats (abs) min: 0.015625 max: 0.0625 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.37% max: 50.00% x̄: 7.61% x̃: 3.85%
HURT stats (abs) min: 0.015625 max: 0.296875 x̄: 0.07 x̃: 0
HURT stats (rel) min: 0.00% max: 400.00% x̄: 28.51% x̃: 16.00%
95% mean confidence interval for cvt value: 0.06 0.06
95% mean confidence interval for cvt %-change: 25.13% 27.00%
Cvt are HURT.
total ls in shared programs: 147856 -> 130980 (-11.41%)
ls in affected programs: 85725 -> 68849 (-19.69%)
helped: 6911
HURT: 0
helped stats (abs) min: 1.0 max: 18.0 x̄: 2.44 x̃: 2
helped stats (rel) min: 1.05% max: 41.18% x̄: 19.72% x̃: 20.00%
95% mean confidence interval for ls value: -2.48 -2.41
95% mean confidence interval for ls %-change: -19.86% -19.58%
Ls are helped.
total quadwords in shared programs: 1483576 -> 1486872 (0.22%)
quadwords in affected programs: 73816 -> 77112 (4.47%)
helped: 286
HURT: 698
helped stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
helped stats (rel) min: 2.38% max: 50.00% x̄: 16.83% x̃: 16.67%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 2.78% max: 100.00% x̄: 37.38% x̃: 16.67%
95% mean confidence interval for quadwords value: 2.89 3.80
95% mean confidence interval for quadwords %-change: 19.02% 24.22%
Quadwords are HURT.
total threads in shared programs: 53186 -> 53189 (<.01%)
threads in affected programs: 3 -> 6 (100.00%)
helped: 3
HURT: 0
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
total fills in shared programs: 2172 -> 2163 (-0.41%)
fills in affected programs: 11 -> 2 (-81.82%)
helped: 1
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16710 >
2022-05-25 15:51:15 +00:00
Alessandro Astone
f2a6535901
kopper: Only include XCB headers on supported platforms
...
Fixes: 054bd2d38f ("kopper: copy a bunch of code for texture_from_pixmap")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16675 >
2022-05-25 15:26:09 +00:00
Alyssa Rosenzweig
569e5dc745
pan/bi: Schedule for pressure pre-RA
...
Add a bottom-up pre-RA list scheduler that aims to reduce register pressure,
roughly the same as we use on Midgard to great effect. It uses a simple
heuristic: greedily select instructions that have reduce liveness. To avoid
regressions, the algorithm throws away schedules that increase maximum number of
lives (used as an estimate of register pressure -- if we had SSA form, this
would be exact).
We might be better off using Sarkar. But for something I could type out in an
afternoon, I'll happily accept a >50% reduction in spills. Instruction count is
regressed due to extra moves around the blend shader ABI in some cases, at least
on Bifrost this is mostly hidden by the clause scheduler. Thread count and
spills/fills are both much improved here.
There are numerous opportunities for future improvements to pre-RA scheduling:
* Better heuristics? (Something more global than liveness alone)
* Reducing false dependencies with memory access
* Improve ILP for message-passing instructions? This is a tradeoff.
* Simplify the code if we have SSA in the future.
But for now, I think this is well worth it already.
v2: Various clean-ups and memory leak fix (Icecream95). Reduce false
dependencies to eliminate spilling in more shaders.
shader-db stats on Mali-G52:
total instructions in shared programs: 2438841 -> 2439698 (0.04%)
instructions in affected programs: 1206421 -> 1207278 (0.07%)
helped: 3113
HURT: 4011
helped stats (abs) min: 1.0 max: 50.0 x̄: 3.25 x̃: 2
helped stats (rel) min: 0.13% max: 44.83% x̄: 4.09% x̃: 2.11%
HURT stats (abs) min: 1.0 max: 18.0 x̄: 2.73 x̃: 2
HURT stats (rel) min: 0.11% max: 57.14% x̄: 3.86% x̃: 2.07%
95% mean confidence interval for instructions value: 0.02 0.22
95% mean confidence interval for instructions %-change: 0.23% 0.54%
Instructions are HURT.
total tuples in shared programs: 1927077 -> 1946583 (1.01%)
tuples in affected programs: 1118627 -> 1138133 (1.74%)
helped: 2874
HURT: 6295
helped stats (abs) min: 1.0 max: 82.0 x̄: 3.51 x̃: 2
helped stats (rel) min: 0.17% max: 33.33% x̄: 4.60% x̃: 3.57%
HURT stats (abs) min: 1.0 max: 47.0 x̄: 4.70 x̃: 3
HURT stats (rel) min: 0.20% max: 50.00% x̄: 5.16% x̃: 4.32%
95% mean confidence interval for tuples value: 2.00 2.25
95% mean confidence interval for tuples %-change: 1.97% 2.23%
Tuples are HURT.
total clauses in shared programs: 356053 -> 357793 (0.49%)
clauses in affected programs: 151578 -> 153318 (1.15%)
helped: 2196
HURT: 3813
helped stats (abs) min: 1.0 max: 49.0 x̄: 2.16 x̃: 1
helped stats (rel) min: 0.18% max: 69.01% x̄: 10.26% x̃: 8.33%
HURT stats (abs) min: 1.0 max: 25.0 x̄: 1.70 x̃: 1
HURT stats (rel) min: 0.57% max: 66.67% x̄: 10.64% x̃: 8.33%
95% mean confidence interval for clauses value: 0.22 0.36
95% mean confidence interval for clauses %-change: 2.68% 3.33%
Clauses are HURT.
total cycles in shared programs: 167761.17 -> 167922.04 (0.10%)
cycles in affected programs: 24494.21 -> 24655.08 (0.66%)
helped: 862
HURT: 3054
helped stats (abs) min: 0.041665999999999315 max: 53.0 x̄: 0.69 x̃: 0
helped stats (rel) min: 0.28% max: 76.81% x̄: 5.65% x̃: 3.03%
HURT stats (abs) min: 0.041665999999999315 max: 2.0416659999999993 x̄: 0.25 x̃: 0
HURT stats (rel) min: 0.26% max: 41.18% x̄: 4.91% x̃: 3.92%
95% mean confidence interval for cycles value: -0.04 0.12
95% mean confidence interval for cycles %-change: 2.36% 2.81%
Inconclusive result (value mean confidence interval includes 0).
total arith in shared programs: 73875.37 -> 74393.17 (0.70%)
arith in affected programs: 43142.42 -> 43660.21 (1.20%)
helped: 3632
HURT: 5443
helped stats (abs) min: 0.041665999999999315 max: 1.2083360000000027 x̄: 0.15 x̃: 0
helped stats (rel) min: 0.22% max: 100.00% x̄: 6.70% x̃: 4.76%
HURT stats (abs) min: 0.041665999999999315 max: 2.0416659999999993 x̄: 0.19 x̃: 0
HURT stats (rel) min: 0.00% max: 166.67% x̄: 5.91% x̃: 4.08%
95% mean confidence interval for arith value: 0.05 0.06
95% mean confidence interval for arith %-change: 0.65% 1.07%
Arith are HURT.
total texture in shared programs: 11936 -> 11936 (0.00%)
texture in affected programs: 0 -> 0
helped: 0
HURT: 0
total vary in shared programs: 4180.88 -> 4180.88 (0.00%)
vary in affected programs: 0 -> 0
helped: 0
HURT: 0
total ldst in shared programs: 137551 -> 137028 (-0.38%)
ldst in affected programs: 834 -> 311 (-62.71%)
helped: 13
HURT: 0
helped stats (abs) min: 15.0 max: 53.0 x̄: 40.23 x̃: 53
helped stats (rel) min: 19.15% max: 100.00% x̄: 68.11% x̃: 76.81%
95% mean confidence interval for ldst value: -50.49 -29.98
95% mean confidence interval for ldst %-change: -84.37% -51.84%
Ldst are helped.
total quadwords in shared programs: 1684883 -> 1692021 (0.42%)
quadwords in affected programs: 949463 -> 956601 (0.75%)
helped: 3981
HURT: 5098
helped stats (abs) min: 1.0 max: 86.0 x̄: 3.53 x̃: 3
helped stats (rel) min: 0.18% max: 33.33% x̄: 5.82% x̃: 4.48%
HURT stats (abs) min: 1.0 max: 50.0 x̄: 4.15 x̃: 3
HURT stats (rel) min: 0.17% max: 50.00% x̄: 5.11% x̃: 3.85%
95% mean confidence interval for quadwords value: 0.67 0.90
95% mean confidence interval for quadwords %-change: 0.17% 0.47%
Quadwords are HURT.
total threads in shared programs: 53276 -> 53653 (0.71%)
threads in affected programs: 581 -> 958 (64.89%)
helped: 445
HURT: 68
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.68 0.79
95% mean confidence interval for threads %-change: 75.70% 84.53%
Threads are helped.
total preloads in shared programs: 116312 -> 116312 (0.00%)
preloads in affected programs: 0 -> 0
helped: 0
HURT: 0
total loops in shared programs: 128 -> 128 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total spills in shared programs: 92 -> 37 (-59.78%)
spills in affected programs: 55 -> 0
helped: 13
HURT: 0
total fills in shared programs: 658 -> 190 (-71.12%)
fills in affected programs: 468 -> 0
helped: 13
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16378 >
2022-05-25 14:40:12 +00:00
Alyssa Rosenzweig
2fb5ceab7a
pan/bi: Recoalesce tied operands after spilling
...
Otherwise we can fail to allocate tied operands if we spill the tied operand.
Seen in shaders/android/com.miHoYo.GenshinImpact/16.shader_test with a
particularly bad scheduling causing excessive spilling.
No shader-db changes.
Fixes: bc17288697 ("pan/bi: Lower split/collect before RA")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16378 >
2022-05-25 14:40:12 +00:00
Vlad Zahorodnii
e20718e8fa
radeonsi: Add support for EGL_IMG_context_priority
...
This allows creating high priority contexts when using radeonsi. It's
primarily intended for apps whose rendering commands must be processed
as soon as possible, e.g. wayland compositors.
Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16594 >
2022-05-25 14:15:30 +00:00
Vlad Zahorodnii
f4de4453cf
winsys/amdgpu-radeon: Allow specifying context priority
...
This is needed to implement EGL_IMG_context_priority in radeonsi.
Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16594 >
2022-05-25 14:15:30 +00:00
Mike Blumenkrantz
91e41181f6
zink: radv ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16706 >
2022-05-25 09:42:38 -04:00
Timur Kristóf
55466ca506
radv: Disable predication for supass clear and image clears.
...
According to the Vulkan spec 21.4 "Conditional Rendering",
only clearing attachments with vkCmdClearAttachments is subject to
conditional rendering.
Subpass clear and vkCmdClearColorImage / vkCmdClearDepthStencilImage
should always be executed even if it happens in a
conditional rendering block.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16654 >
2022-05-25 12:59:37 +00:00
Timur Kristóf
10459522eb
radv: Remove trailing whitespace.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16702 >
2022-05-25 12:29:30 +00:00
Timur Kristóf
abcd0aa9e5
aco: Remove trailing whitespace.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16702 >
2022-05-25 12:29:30 +00:00
Timur Kristóf
5e0615c512
ac: Remove trailing white space.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16702 >
2022-05-25 12:29:30 +00:00
Pierre-Eric Pelloux-Prayer
7e2874dc93
ac: reset LLVM command line parser
...
In some scenario ac_init_llvm_target may be called twice,
but the LLVM library won't have been unloaded between
the 2 calls, leading to a LLVM warning being printed.
Example pseudo-code to trigger this for radeonsi:
gbm_create_device();
eglInitialize();
eglTerminate();
gbm_device_destroy();
gbm_create_device();
eglInitialize();
eglTerminate();
gbm_device_destroy();
To avoid the warning message from LLVM, clear the command line
parser state before calling LLVMParseCommandLineOptions.
This might fix https://gitlab.freedesktop.org/mesa/mesa/-/issues/5960
This is done only on LLVM 12+ because it seems to break some apps
on LLVM 11 (there has been some work post LLVM 11 release to refactor
CommandLine.cpp, see 42f588f39c5c and the following commits).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16587 >
2022-05-25 12:03:34 +00:00
Pierre-Eric Pelloux-Prayer
2172ddf2bf
ac: export LLVM c++ ResetCommandLineParser method
...
This method isn't part of the C API but we can still use it and
avoid getting error messages from the command line parser:
mesa: for the [...]: may only occur zero or one times
We could call it at the beginning of ac_init_llvm_target but
this may hide some real bugs so let drivers call it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16587 >
2022-05-25 12:03:34 +00:00
Pierre-Eric Pelloux-Prayer
ef950d370a
radeonsi: don't use sel->nir in si_check_blend_dst_sampler_noop
...
We don't want to modify sel->nir so force the use of the serialized
version of the shader.
Waiting on sel->ready guarantees that sel->nir will be NULL and that
si_get_nir_shader will use sel->nir_binary.
Fixes: b78a38bd02 ("radeonsi: use si_nir_is_output_const_if_tex_is_const")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6415
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16587 >
2022-05-25 12:03:34 +00:00
Samuel Pitoiset
4642e268e2
radv: move active_stages to radv_graphics_pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16688 >
2022-05-25 11:39:20 +00:00
Samuel Pitoiset
2e53c69d88
radv: move streamout_shader to radv_graphics_pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16688 >
2022-05-25 11:39:20 +00:00
Samuel Pitoiset
98f3727d56
radv: unify radv_pipeline_has_XXX() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16688 >
2022-05-25 11:39:20 +00:00
Samuel Pitoiset
6fe6570e76
radv: rename radv_cmd_state::pipeline to graphics_pipeline
...
To be consistent with compute pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16688 >
2022-05-25 11:39:20 +00:00
Samuel Pitoiset
35af86af8c
radv: move HS info and task_num_entries to the physical device
...
They are not logical device properties.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16688 >
2022-05-25 11:39:20 +00:00
Timur Kristóf
85a4c5b351
radv: Implement conditional rendering for async compute queue.
...
MEC (the compute queue firmware) does not support real
predication, so we have to emulate that using COND_EXEC
packets before each dispatch.
Additionally, COND_EXEC doesn't have an inverted mode, so
in order to support inverted mode conditional rendering, we
allocate a new piece of memory in which we invert the condition.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6533
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16653 >
2022-05-25 11:18:51 +00:00
Alejandro Piñeiro
45a4a54aba
v3dv/bo: unmap any bo that goes to the bo cache
...
As it could happens that when a bo is reused from the cache, it is
being mapped with a smaller size that needed. So let's just unmap it,
and let be remapped with the needed size.
Even if we could try to be smarter when deciding when to unmap or not,
to avoid uneeded re-mappings later, it is also true that doing the
unmap would help to reduce the memory used.
This fixes an assert when running the following tests in a row (same
deqp-vk execution):
dEQP-VK.pipeline.creation_feedback.graphics_tests.vertex_stage_fragment_stage
dEQP-VK.pipeline.executable_properties.graphics.vertex_stage_geometry_stage_fragment_stage
dEQP-VK.pipeline.executable_properties.graphics.vertex_stage_fragment_stage_internal_representations
That hits the following assertion:
assert(qpu_bo && qpu_bo->map_size >= variant->assembly_offset +
variant->qpu_insts_size);
at v3dv_pipeline.c, pipeline_get_qpu.
v2: use just one call to v3dv_bo_unmap (move call at v3dv_bo_free,
replace call at bo_free for assert) (Iago)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16678 >
2022-05-25 10:55:16 +00:00
Kenneth Graunke
9886615958
intel/compiler: Move spill/fill tracking to the register allocator
...
Originally, we had virtual opcodes for scratch access, and let the
generator count spills/fills separately from other sends. Later, we
started using the generic SHADER_OPCODE_SEND for spills/fills on some
generations of hardware, and simply detected stateless messages there.
But then we started using stateless messages for other things:
- anv uses stateless messages for the buffer device address feature.
- nir_opt_large_constants generates stateless messages.
- XeHP curbe setup can generate stateless messages.
So counting stateless messages is not accurate. Instead, we move the
spill/fill accounting to the register allocator, as it generates such
things, as well as the load/store_scratch intrinsic handling, as those
are basically spill/fills, just at a higher level.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16691 >
2022-05-25 06:56:01 +00:00
Dave Airlie
4896e136b6
lavapipe: fix depth bias offset flag enables.
...
When vulkan enables depth bias, enable it for all 3 prim types
in gallium.
This fixes:
dEQP-VK.draw.renderpass.depth_bias.depth_bias_*
and
one zink test in CI
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16701 >
2022-05-25 04:16:15 +00:00
Mike Blumenkrantz
5185c2d88e
zink: use XOR for descriptor hash accumulation
...
these values are already hashed, so there's no need to use as much cpu
to fully re-hash them again
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
8636717270
zink: add a "compact" descriptor mode
...
this compacts the ubo+ssbo and samplerview+image sets, enabling zink
to run fully featured with only 4 descriptor sets used
fixes #4964
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
0adf2dc875
zink: flag descriptor sets as changed before updating hashes
...
if the program changes, assume the hashes changed
this could probably be improved in the future to check for matching shader
interfaces, but that's a problem for later
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
851e4d38cb
zink: use descriptor set index indirection in cache state updates
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
5ce79c679d
zink: use descriptor set index indirection in program init
...
should be no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
fe2ba184d8
zink: use descriptor indices in compiler
...
should be no functional changes, just adding indirection
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
f7eb871efa
zink: add screen-based indexing to descriptor sets
...
this allows indirection for internal descriptor type -> vk descriptor set
and enables more easily altering the descriptor set index at runtime
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
252cdac5cc
zink: create all descriptor ref templates at once
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16645 >
2022-05-25 04:01:56 +00:00
Mike Blumenkrantz
65e5b589ef
zink: clamp dynamic render layerCount to 1
...
util function unhelpfully returns 0
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16656 >
2022-05-25 03:40:05 +00:00
Mike Blumenkrantz
c97aee426e
zink: only warn once for SRGB fb without KHR_swapchain_mutable_format
...
Fixes: 4bb45bcd16 ("zink: add error logging for SRGB framebuffer without KHR_swapchain_mutable_format")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16642 >
2022-05-25 02:12:33 +00:00
Yiwei Zhang
37764272ab
venus: use common entry point for VkPhysicalDeviceMemoryProperties
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16694 >
2022-05-24 23:35:28 +00:00
Yiwei Zhang
229538d6da
radv: remove VkPhysicalDeviceMemoryProperties2 workaround
...
This reverts 03888bf09c
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16694 >
2022-05-24 23:35:28 +00:00
Yiwei Zhang
a19e1f338e
vulkan: remove the VkPhysicalDeviceMemoryProperties workaround
...
cts fix landed in vulkan-cts-1.2.5 while mesa CI has bumped once.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16694 >
2022-05-24 23:35:28 +00:00
Michael Skorokhodov
10b6d9230c
anv: Update line range
...
This commit increases the maximum line width to 8.0 for SLK+
and to 7.9921875 for BDW and earlier.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6234
Fixes: fce0027d ("anv: Unbreak wide lines on HSW/BDW")
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15879 >
2022-05-24 23:09:26 +00:00
Kenneth Graunke
59bfc9c6cb
intel: Fix analysis invalidation in eliminate_find_live_channel
...
If we saw a HALT instruction, we would forget to invalidate our analysis
pass information before returning progress.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16677 >
2022-05-24 22:36:39 +00:00
Marcin Ślusarz
21d3630cbc
intel/tools: fix 32-bit build
...
Fixes: 0aac3b1009 ("intel/tools/aubinator: add support for 2 "new" subopcodes")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6553
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16695 >
2022-05-24 18:27:32 +00:00
Marcin Ślusarz
b95d9bca1d
nir: add load_task_payload intrinsic to nir_divergence_analysis
...
It's divergent depending on sources.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16668 >
2022-05-24 17:53:29 +00:00
Marcin Ślusarz
95dbdbf063
nir: add load_mesh_inline_data_intel intrinsic to nir_divergence_analysis
...
It's not divergent.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16668 >
2022-05-24 17:53:29 +00:00
Timur Kristóf
47da245ff2
nir: Add explicit task payload atomic intrinsics.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16693 >
2022-05-24 17:21:22 +00:00
Alyssa Rosenzweig
d6112acf18
panfrost: Don't allocate SHARED as scanout
...
This is useless and might cause problems.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Extremely-acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16334 >
2022-05-24 17:03:05 +00:00
Alyssa Rosenzweig
f625c5a8a0
panfrost: Simplify the kmsro create path
...
Unify the "create regular resource" and "create scanout resource" code paths.
They only differ in how the backing memory is allocated. This unifies the layout
code as well, avoiding hacks for AFBC.
What I really care about is that, if we're creating the resource, we choose the
layout first with pan_image_layout_init and allocate that layout.
pan_image_layout_init is a common, extensively tested (including unit tested)
helper written for correctness with a deep understanding of the hardware.
By contrast, we currently guess the layout with some hacks specific to AFBC,
allocate our guess, and then then tell pan_image_layout_init to use the layout
we guessed and pray everything works out. (It does work out, but it's all kinds
of wrong, in terms of layering violation. If that really is the way to go, I can
add the required routines to the layout code. But that doesn't seem right.)
All of this is motivated by extending the layout code to handle AFBC with other
superblock sizes or tiled headers without having to pile on extra hacks in this
WSI path.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16334 >
2022-05-24 17:03:05 +00:00
Sil Vilerino
e5ddd8ad94
meson: Add build option for gallium-d3d12-video feature
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6511
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16597 >
2022-05-24 16:36:31 +00:00
Sil Vilerino
4a9e068a6e
meson: Update DirectX-Headers dependency to 1.602.0 version with fallback to the wrap
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16597 >
2022-05-24 16:36:31 +00:00
Icecream95
a4323b0979
panfrost: Only write depth / stencil once if MRT is used
...
We can't assume that RT0 will be written, so this has to be based on
whether a combined store has already been emitted, not the location of
the store.
Emit a non-special combined_store intrinsic that only writes colour
for the other RTs, as reordering stores breaks the Midgard compiler.
Fixes: d37e901e35 ("pan/mdg: Add new depth store lowering")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6527
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16685 >
2022-05-24 16:13:33 +00:00
Icecream95
0a53ebabcd
pan/mdg: Read base for combined stores
...
Fixes depth/stencil writes with MRT.
Fixes: b3d7272753 ("pan/mdg: Don't read base for combined stores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16685 >
2022-05-24 16:13:33 +00:00
Icecream95
f1a226dd24
pan/bi: Read base for combined stores
...
Fixes depth/stencil writes with MRT.
Fixes: 996645e479 ("pan/bi: Don't read base for combined stores")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16685 >
2022-05-24 16:13:33 +00:00
Icecream95
9f9ed959bd
nir: Add store_combined_output_pan BASE back
...
It's meaningful for this intrinsic and so does not add noise to the
lowering pass.
(Although dual-source writes must be to RT 0, depth and stencil
writes, which store_combined_output_pan is also used for, can still be
done with MRT enabled.)
Fixes: 5c168f09eb ("nir: Eliminate store_combined_output_pan BASE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16685 >
2022-05-24 16:13:33 +00:00
Timur Kristóf
743f4b995d
radv: Clarify emitting graphics shader pointers.
...
Rename radv_emit_global_shader_pointers to radv_emit_graphics_shader_pointers
and don't call it on compute queues. Note that the registers
that this function sets, are not available on the async compute
queue anyway.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16395 >
2022-05-24 15:47:13 +00:00
Timur Kristóf
84089d8c8d
radv: Refactor queue state to separate structure.
...
In the future we'll need a 1:N mapping between radv_queue objects and
HW queues, meaning that 1 radv_queue object will need to be able to
submit to multiple queues. To do that, we'll must also maintain a different
state for each HW queue.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16395 >
2022-05-24 15:47:13 +00:00
Timur Kristóf
5d3c1f4b41
radv: Pass radv_device pointer to some functions.
...
This will be needed for a future refactor of these functions
where we won't pass radv_queue to them anymore.
Also remove the radv_queue pointer from functions which
don't actually need it.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16395 >
2022-05-24 15:47:13 +00:00
Timur Kristóf
1f2bbfdfca
radv: Use a ws variable during preamble creation.
...
This is to prevent excessive code repetition, and hopefully make the
code a bit easier to read.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16395 >
2022-05-24 15:47:13 +00:00
Timur Kristóf
37abbaee36
radv: Introduce ring info structure for queues, refactor preamble generation.
...
Put the shader ring information into a separate structure.
Also clean up how this information is used when generating the preambles
and add a few comments that explain how it works.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16395 >
2022-05-24 15:47:13 +00:00
Viktoriia Palianytsia
e39a5f2b9f
anv: Add workaround for sample mask with multisampling
...
The game Batman: Arkham Knight expects OpenGL behavior
with sample mask and multisampling which is different
from the Vulkan one.
This workaround fix changes key->ignore_sample_mask_out
value that is used for
prog_data->uses_omask definition in brv_fs.cpp(9740)
In that way prog_data->uses_omask also changes it value
and the cloak stops flickering.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6078
Signed-off-by: Viktoriia Palianytsia <v.palianytsia@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16551 >
2022-05-24 14:43:57 +00:00
Timur Kristóf
7761b4d89e
aco: Fix scratch with task shaders.
...
Task shaders work like compute shaders, their scratch pointer
is currently located at the first two user SGPRs.
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/16692 >
2022-05-24 12:33:49 +00:00
Italo Nicola
b634030542
tgsi: Add SEPARABLE_PROGRAM property
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16308 >
2022-05-24 11:41:03 +00:00
Samuel Pitoiset
59d246e1c5
radv/ci: fix fails list for NAVI21
...
Probably a wrong rebase. Also add Vangogh.
Fixes: 72910242a6 ("radv/ci: Skip slow/crashing ray tracing tests")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16690 >
2022-05-24 13:14:57 +02:00
Timothy Arceri
1c186580e1
etnaviv: vectorise io
...
This etnaviv backend code depends heavly on optimisation passes eliminating
all but a single write to shader outputs. Here we make sure that shader
output writes are vectorised.
Fixes: 7647023f3b ("glsl: enable the use of the nir based varying linker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6536
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16683 >
2022-05-24 09:48:36 +00:00
Timothy Arceri
0a19ae1e98
etnaviv: assert if etna_shader_io_file reg overrun
...
This code depends on optimisations eliminating all but a single write
to outputs. assert if we are about to overrun the array i.e an
output was possibly written to twice.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6536
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16683 >
2022-05-24 09:48:36 +00:00
Konstantin Seurer
b2e9e0f2f7
radv: Add fail/flake lists for navi22
...
This is a copy of the sienna_cichlid ones and
only useful for running vk-cts-image on navi22
cards.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16007 >
2022-05-24 08:32:43 +00:00
Konstantin Seurer
5f5882ef08
radv: Enable ray queries by default
...
Ray queries and acceleration structure builds
are quite stable now and so we can enable those
features for CI and more feedback and bug reports.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16007 >
2022-05-24 08:32:43 +00:00
Konstantin Seurer
72910242a6
radv/ci: Skip slow/crashing ray tracing tests
...
In preparation to enable ray queries by default.
This is also useful for testing ray tracing
pipeline changes with vk-cts-image.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16007 >
2022-05-24 08:32:43 +00:00
Marcin Ślusarz
8187716b55
intel/tools: add macros for gfx12+ variant of VCSUNIT0
...
Not used for now.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:45 +00:00
Marcin Ślusarz
ba80c36708
intel/tools/aubinator: list all platforms in help message
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:45 +00:00
Marcin Ślusarz
0aac3b1009
intel/tools/aubinator: add support for 2 "new" subopcodes
...
... and add macros for subopcodes we haven't seen yet
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:44 +00:00
Marcin Ślusarz
43ad5fd9b7
intel/tools: drop wrappers around mmio regs macros
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:44 +00:00
Marcin Ślusarz
b916b30f58
intel/tools: clean up mmio regs definitions
...
Each unit has the same regs at the same offsets.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:44 +00:00
Marcin Ślusarz
3910736f29
intel/tools: add support for GEM_CREATE_EXT in intel_dump_gpu
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16664 >
2022-05-24 08:03:44 +00:00
Konstantin Seurer
d5023027a4
radv: Replace nir_vector_extract with nir_channel
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16650 >
2022-05-24 06:44:27 +00:00
Konstantin Seurer
182f1d44a0
radv: Add and use radv_bvh_node_type
...
We use magic numbers for node types in many
places of the RADV code. This commit adds an enum
for the node types and uses it to replace magic
numbers in the acceleration structure build code.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16650 >
2022-05-24 06:44:27 +00:00
Vasily Khoruzhick
2cad65d220
lima: enable PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
It looks like we don't need to do anything special to enable it.
Piglit spec@arb_buffer_storage@bufferstorage-persistent skip: 16 =>
skip: 12, pass: 4. The rest require GL_ARB_shader_image_load_store
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16660 >
2022-05-23 14:21:08 -07:00
Vasily Khoruzhick
73851e3f44
lima: Implement texture_barrier
...
Improves x11perf -copywinwin100 from ~1520/sec to ~3700/sec
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16658 >
2022-05-23 21:08:49 +00:00
Guilherme Gallo
ee2278de65
ci/lava: Fix Gitlab Section markers
...
LAVA is mangling the escape codes from ANSI during log fetching from the
target device, making the gitlab section markers from deqp, for example,
to not work, inputting noise into the log.
This commit makes the simplest fix which is to replace the mangled
characters to the fixed ones.
This approach is error-prone, since it may unwittingly replace a genuine
log that resembles the mangled escape code. But this solution should
suffice until we get a proper fix from LAVA team itself.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16520 >
2022-05-23 16:51:47 +00:00
Guilherme Gallo
e00281f6da
ci/lava: Fix colored LAVA outputs
...
LAVA is mangling the escape codes from ANSI during log fetching from the
target device, making the colored lines from deqp, for example, to not
work, inputting noise into the log.
This commit makes the most straightforward fix which is to replace the
mangled characters to the fixed ones.
This approach is error-prone since it may unwittingly replace a genuine
log that resembles the mangled escape code. But this solution should
suffice until we get a proper fix from LAVA developers itself.
Fixes : #5503
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16520 >
2022-05-23 16:51:47 +00:00
Yonggang Luo
cc10c53333
nir: Fixes MSVC compiling error about unused variable _
...
Fixes: 836470d433 ("nir: allow NIR_PASS(_, )")
MSVC compiling error:
```
nir/nir_lower_shader_calls.c
../mesa/src/compiler/nir/nir_lower_shader_calls.c(1188): error C2220: the following warning is treated as an error
../mesa/src/compiler/nir/nir_lower_shader_calls.c(1188): warning C4101: '_': unreferenced local variable
../mesa/src/compiler/nir/nir_lower_shader_calls.c(1190): warning C4101: '_': unreferenced local variable
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16666 >
2022-05-23 14:45:48 +00:00
Jason Ekstrand
836ff4b586
nir/algebraic: Add two more pack/unpack rules
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16591 >
2022-05-23 14:10:54 +00:00
Erik Faye-Lund
849ebe3057
d3d12: add missing cmath includes
...
If we want to use the std:: version of the math functions, we need to
include <cmath>.
Fixes: b171a6baa2 ("d3d12: Add video encode implementation of pipe_video_codec")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16636 >
2022-05-23 14:02:28 +00:00
Rhys Perry
4513cb8d41
aco: only add/subtract low bits of program addresses
...
fossil-db (Sienna Cichlid):
Totals from 4007 (2.47% of 162293) affected shaders:
Instrs: 3733239 -> 3728018 (-0.14%)
CodeSize: 20770340 -> 20749456 (-0.10%)
Latency: 46883958 -> 46872764 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 10550392 -> 10548698 (-0.02%); split: -0.02%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16460 >
2022-05-23 11:52:54 +00:00
Rhys Perry
69d1f4186a
aco/tests: add test for p_constaddr with a non-zero offset
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16460 >
2022-05-23 11:52:54 +00:00
Rhys Perry
bd8f8dda8c
aco: fix p_constaddr with a non-zero offset
...
Seems this broke a while ago and we never noticed.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 0af7ff49fd ("aco: lower p_constaddr into separate instructions earlier")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16460 >
2022-05-23 11:52:54 +00:00
Samuel Pitoiset
da49fee80f
radv: introduce radv_graphics_pipeline_info and split existing info structs
...
I should have introduced radv_graphics_pipeline_info earlier. More
states will be added later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16643 >
2022-05-23 10:33:08 +00:00
Erico Nunes
106dc60fc0
lima/ppir: merge branch nodes in simple cases
...
In some simple cases, we can merge the branch operation with an existing
instruction and avoid the creation of an empty new instruction just for
the branch node.
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/16163 >
2022-05-23 09:07:03 +00:00
Erico Nunes
c3f13ee551
lima/ppir: optimize branch comparison when possible
...
The branch operation supports comparisons, so it may be possible to
merge a previous comparison operation with the branch operation.
There are several restrictions to do it at this stage, but it may save
instructions in many cases.
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/16163 >
2022-05-23 09:07:03 +00:00
Erico Nunes
5718629a70
docs/ci: fix literalinclude of caching setup files
...
Fix the syntax to show the files in the generated sphinx, otherwise
they just don't show at all.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15599 >
2022-05-23 09:00:45 +00:00
Jan Palus
9fb97c75f2
pvr: use UINT64_C for 64-bit constant
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6528
Signed-off-by: Jan Palus <jpalus@fastmail.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16630 >
2022-05-23 08:52:56 +00:00
Boris Brezillon
47c6f7ccf3
dzn: Use the correct ICD path on Win32
...
Similar to commit c6cddd2e17 ("lavapipe: Use the correct ICD path on
Win32"), but applied to dozen.
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16634 >
2022-05-23 08:45:24 +00:00
Boris Brezillon
c79451e23c
spirv: Fix windows build
...
Looks like MSVC doesn't like VLAs:
src/compiler/spirv/spirv_to_nir.c(3879): error C2057: expected constant expression
src/compiler/spirv/spirv_to_nir.c(3879): error C2466: cannot allocate an array of constant size 0
src/compiler/spirv/spirv_to_nir.c(3879): error C2133: 'srcs': unknown size
so let's use a static array size.
Fixes: 87d7431198 ("spirv: Use nir_vec_scalars() to simplify matrix transpose.")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16632 >
2022-05-23 08:17:02 +00:00
Boris Brezillon
1eaba553e2
dzn: Use the vk_sync_binary abstraction
...
D3D12 fences are capable of handling binary operations, but the
current dzn_sync implementation doesn't match vk_sync expectations
when sync objects are used to back semaphores. In that case, the wait
operation is supposed to set the sync object back to an unsignaled
state after the wait succeeded, but there's no way of knowing what
the sync object is used for, and this implicit-reset behavior is not
expected on fence objects, which also use the sync primitive.
That means we currently have a semaphore implementation that works
only once, and, as soon as the semaphore object has been signaled it
stays in a signaled state until it's destroyed.
We could extend the sync framework to pass an
implicit-reset-after-wait flag, but, given no one else seems to
need that, it's probably simpler to drop the binary sync
capability and rely on the binary-on-top-of-timeline emulation provided
by the core.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16629 >
2022-05-23 08:09:15 +00:00
Samuel Pitoiset
23be0aad9c
radv: split radv_pipeline into radv_{graphics,compute,library}pipeline
...
Instead of using a union in radv_pipeline, this introduces new
structures for graphics, compute and library pipelines which inherit
from radv_pipeline. This will ease graphics pipeline libary implem.
There is still no radv_raytracing_pipeline because RADV actually
uses a compute pipeline for everything but it could be introduced
later when necessary.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
fc3717df0c
radv: cleanup using device/physical_device during pipeline creation
...
This removes a TON of pipeline->device occurences which were a mess.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
7fb4849314
radv: move gs_table_depth to the physical_device
...
This is not a logical device property.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
6c44e25078
radv: remove unused radv_get_conservative_raster_mode() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
a1d3b80c5d
radv: remove couple of useless pCreateInfo pointers in the emit path
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
f75b80fd80
radv: rename radv_pipeline_generate_XXX() to radv_pipeline_emit_XXX()
...
Shorter and clearer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Samuel Pitoiset
3825c7202b
radv: constify radv_pipeline in more radv_pipeline_generate_XXX() helpers
...
These functions should only emit registers and not change the pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603 >
2022-05-23 07:32:56 +00:00
Corentin Noël
583a4210e5
virgl/ci: Update virglrenderer
...
Update virglrenderer to the latest version on time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16627 >
2022-05-23 06:16:07 +00:00
Alyssa Rosenzweig
d12b97122e
docs/asahi: Add initial driver docs
...
Emma asked for some docs on how to use wrap for when wrap gets landed.
This should do :-)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 18:22:41 -04:00
Alyssa Rosenzweig
1b7304f44b
asahi: Add wrap library
...
Add a library that wraps the key IOKit entrypoints used in the macOS
UABI for AGX. Our wrapped routines print information about the kernel
calls made and dump work submitted to the GPU using agxdecode. This code
has two major use cases:
1. Debugging Mesa, particularly around the undocumented macOS
user-kernel interface. Logs from Mesa may compared to Metal to check
that the UABI is being used correcrly.
2. Reverse-engineering the hardware, using this as glue to get at the
"interesting" GPU memory.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:58:07 -04:00
Alyssa Rosenzweig
d814711155
asahi: Guard against encoder overflows
...
We don't seem to hit this yet, but it's possible so add an assert to
rule it out for failing tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
1d0d27aac7
asahi: Allocate a larger segment list
...
This ought to be dynamically allocated but because this is macOS kernel
UABI only gunk, let's just hack around it...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
ac09dcd358
asahi: Handle RECT textures as 2D
...
Rectangle textures are just 2D textures with unnormalized coordinates,
but we already handle unnormalized coordinates in the sampler state. So
we just need to alias RECT and 2D.
Fixes GALLIUM_HUD.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
689be69681
asahi: Fix pipeline decoding
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
8a1ee708a4
asahi: Improve render target dumping
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
6eb62c5f50
asahi: Sync some more unknown fields
...
I don't understand these structs well. Good news, though-- Asahi Lina
confirmed this is all software-defined crap in the macOS UABI.
Unfortunately, they seem to correspond to physical registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
d8227f09d0
asahi: Drop some unknowns
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
03a3a7843e
asahi: Identify suballocated size
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
14d966734f
asahi: Identify suballocation mechanism
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
ca9b1d48fe
asahi: Decode resource allocation requests
...
We already know much of this structure, let's pretty print to simplify
our traces.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
0c120cf141
asahi: Decode resource allocation responses
...
We already know much of this structure, let's pretty print to simplify
our traces.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
a5e774ef9e
asahi: Align segment list unknowns with Metal
...
No observable change.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
8da2fdc889
asahi: Compute segment list length
...
Quiesces agxdecode error introduced in previous commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
1e42e4a390
asahi: Validate segment list length
...
This is easy now!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
343f4f886f
asahi: Split unknown field in segment list header
...
Seen as 0x8000.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
6b12292754
asahi: Add segment list pretty printer
...
Validate all the new expectations and print all the fields. This should
make differences between the drivers obvious, I hope.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:11:08 -04:00
Alyssa Rosenzweig
db32b4a064
asahi: Sync some names with Project Zero
...
This should clarify a few things I didn't get independently
investigating the interface. Of coruse, I got other pieces... the sum of
the parts is better :-)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:10:57 -04:00
Alyssa Rosenzweig
6e59474ced
asahi: Identify partial render pipeline
...
Needed if a partial render is incurred from overflowing the parameter
buffer (too much geometry).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
65500b19df
asahi: Implement polygon offset
...
This is pretty simple now that the hardware is understood. The hardware
interfaces parallels that of scissors, so the scissor path is reused
with minor modifications to accommodate the new functionality.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
666f307d41
asahi: Add a depth bias structure
...
This is simple and corresponds directly to the Metal inputs. However,
the alignment is a bit tricky, so let's add formal XML for it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
cb760a00c2
asahi: Identify depth bias enable bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
7a0c220401
asahi: Identify "set depth bias index" field
...
Grouped together with the "set scissor index" field, which is natural.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
ff84c07b21
asahi: Identify depth bias array
...
"Inspired" by PowerVR code, by comparison.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
a39fb009d2
asahi: Note unknown field
...
...used internally with visibility tests, together with a weird
vertex/compute-like shader used to zero the visibility buffer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
baa54da7d6
asahi: Relax Draw "command" check
...
Other values in the lower byte seen with multiple draws and
visibility testing.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
d8541d52d2
asahi: Add XML used for visibility tests
...
Aka occlusion queries. There is an annoying limitation in the hardware
(reflected in Metal) that only a single buffer may be bound per render
pass, with the per-draw settings merely specifying an offset.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
46a7c10349
asahi: Dump "unknown 4a" structure
...
A few fields are known at least, let's decode them correctly instead of
falling back to a hex dump.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:04 -04:00
Alyssa Rosenzweig
a5e6a5e585
asahi: Identify more depth pipeline fields
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-22 17:09:00 -04:00
Alyssa Rosenzweig
6aadd72bd4
asahi: Account for every byte of the cmdbuf
...
This adds the remaining XML. I don't know how much of this is correct,
but it nominally accounts for every byte. So there shouldn't be more
surprises in the command buffer after this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:33 -04:00
Alyssa Rosenzweig
c61e660323
asahi: Handle 3rd deflake address
...
Context switching is so broken. Just trying to get closer. Adding some
XML here to see if we're missing something else obvious.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:33 -04:00
Alyssa Rosenzweig
3be0314e5a
asahi: Flush on partial clears
...
Not the fastest thing, but should be conformant. (Panfrost to this day
has this effective behaviour...)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:33 -04:00
Alyssa Rosenzweig
95a18d1c1c
asahi: Pass depth/stencil clear values to firmware
...
These need to be format-packed, but as we only support Z32F_S8 right
now, that's trivial.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Alyssa Rosenzweig
43f6c08a3b
asahi: Handle uncompressed Z32F depth buffers
...
This uses a subset of the depth/stencil infrastructure we built out to
support writing back tiled, uncompressed Z32F depth buffers to memory.
Texturing from this format is already supported.
This gets glmark2 -bshadow working.
v2: Fix partial renders
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Alyssa Rosenzweig
c955dd726e
asahi: Don't store to unbound render targets
...
Otherwise we have a state leak with depth-only attachments, as in
glmark2 -bshadow.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Alyssa Rosenzweig
a0fc622be5
asahi: Validate depth/stencil formats
...
Don't go advertising formats we don't actually support.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Alyssa Rosenzweig
e6c809d767
asahi: Use z24_in_z32f lowering
...
Thanks Dave!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Alyssa Rosenzweig
0ea174f38c
asahi: Run lower_blend for all fragment shaders
...
Unify the paths so that colour masks are respected even when regular
blending is off (or when logic ops are used!) Fixes
dEQP-GLES2.functional.color_clear.masked_rgb
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512 >
2022-05-21 22:01:32 -04:00
Mike Blumenkrantz
aa32b96c51
turnip: fix assert for max xfb outputs
...
this is a counter, not an index, so use <=
cc: mesa-stable
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16620 >
2022-05-21 16:48:54 +00:00
Chia-I Wu
2a8e6a4d1a
turnip: disable UBWC for SNORM formats
...
In copy_format, we treat snorm as unorm to avoid clamping. But snorm
and unorm are UBWC incompatible for special values such as all 0's or
all 1's. Disable UBWC for snorm.
For reference, I dumped the first byte of an UBWC blocks and it was
color UNORM SNORM
all black 0x01 0x31
all white 0x0d 0x11
@flto clarified that bit 4 is unset for fast clear encoded blocks. It
looks like fast clear is not used for SNORM.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6480
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16534 >
2022-05-21 15:27:42 +00:00
Jeffrey Knockel
d7dc27645e
egl: dereference XCB drawable pointers
...
eglCreatePlatformWindowSurface[EXT] and
eglCreatePlatformPixmapSurface[EXT] should be passed (xcb_window_t *)
and (xcb_pixmap_t *), so we must dereference these types before using
them as drawables. We already do something similar with X11 drawable
pointers.
Signed-off-by: Jeffrey Knockel <jeff@jeffreyknockel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16269 >
2022-05-21 14:42:06 +00:00
Karol Herbst
cd8c083ab5
clc: disable opaque pointers until they are supported
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16479 >
2022-05-21 12:26:37 +00:00
Karol Herbst
b6ed3c6ea2
clc: fix compiler features_macro CTS Test
...
Even with that alone we can't pass the test, as LLVM enables some
extensions based on the SPIR target we choose.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16479 >
2022-05-21 12:26:37 +00:00
Karol Herbst
bcc2df4890
clc: speed up compilation by not relying on opencl-c.h
...
This depends on LLVM change: https://reviews.llvm.org/D125401
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16479 >
2022-05-21 12:26:37 +00:00
Karol Herbst
e5a052f75f
clc: drop parsingComplete check
...
This relies too much on the properties of the SPIRV-LLVM-Translator and is
required to load SPIR-Vs found in the OpenCL CTS.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16479 >
2022-05-21 12:26:37 +00:00
Karol Herbst
c0cf7f578a
clc: parse localSize and localSizeHint
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16479 >
2022-05-21 12:26:37 +00:00
Chia-I Wu
e8eb6d13a5
turnip: fix tu6_pack_border_color for z24
...
The value should be at the bottom 24 bits, not at the top.
dEQP-VK.pipeline.sampler.* still passes. This fixes most of
dEQP-GLES31.functional.texture_border_clamp.formats.*depth* on angle.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16570 >
2022-05-21 00:54:28 +00:00
Icecream95
2f2ddfa0ac
panfrost: Move patched_s out of the pan_blitter_views struct
...
The struct is returned from a function, so in debug builds the address
may change after returning, and pointers to patched_s will be broken.
Pass the pointer to the patched stencil view as a parameter to
pan_preload_get_views to avoid this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16343 >
2022-05-20 23:17:07 +00:00
Icecream95
f1f39fa645
panfrost: Increase the limit for blend shader variants
...
Qt uses blend constants to set text colour, this will allow more
colours onscreen before thrashing happens.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16343 >
2022-05-20 23:17:07 +00:00
Icecream95
80404c8b64
panfrost: Copy blend constant into variant even when reusing it
...
Otherwise future lookups will match searches for the old constant.
Fixes: bbff09b952 ("panfrost: Move the blend shader cache at the device level")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6355
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16343 >
2022-05-20 23:17:07 +00:00
Mike Blumenkrantz
c81cd989c8
zink: use dynamic rendering (most of the time)
...
this is a simplified version of the renderpass infrastructure which
tracks rendering info on the context and updates it incrementally to
try and reduce cpu overhead
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
b25b8027e5
zink: split out scissor flagging from framebuffer updating
...
this is kinda similar but not actually the same thing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
91a9676a0c
zink: lift some renderpass mechanics up a level in the api
...
(should be) no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
ec3a7323da
zink: track whether there's any transient attachments bound
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
b2a33d364e
zink: break out zs rt attrib analysis into util function
...
(should be) no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
728fa3606a
zink: break out color rt attrib analysis into util function
...
(should be) no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
4769b4e610
zink: fix indentation
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
69efe357b3
zink: pass rt attrib to zink_render_pass_attachment_get_barrier_info()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
079b95fc6a
zink: remove renderpass state flag for swapchain
...
this is redundant and can be merged onto the rt attrib
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
e107fa386b
zink: break up swapchain renderpass update to util function
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
190ccf3324
zink: break out sample location updating to separate function
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
3ef8cdbab2
zink: use local variable for getting rt barrier info
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
37f9b8ef9b
zink: remove fb rebind check during renderpass begin
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
3d145ec7f1
zink: use global image rebind counter for dmabuf export
...
this is a bit less flimsy and handles more than just framebuffer rebinds
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
b181080d9f
zink: move renderpass handling to zink_render_pass.c
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
4457a9388a
zink: use zink_batch_no_rp to end renderpasses
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
3e1cd9f623
zink: always use zink_batch_rp to init renderpass
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Mike Blumenkrantz
9a03beb2e9
zink: rename a fb surface variables
...
no functional changes, just being more consistent
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16476 >
2022-05-20 16:42:21 +00:00
Samuel Pitoiset
95d4e5435b
radv: export implicit primitive ID in NIR for legacy VS or TES
...
It's implicit for VS or TES, while it's required for GS or MS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16404 >
2022-05-20 14:55:05 +00:00
Samuel Pitoiset
d711e9813c
radv: determine if shaders use NGG before linking
...
This would be needed by some NIR pass during linking. Given that NGG
settings are currently dispatched in many places, I don't think this
should hurt but it should be refactored at some point.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16404 >
2022-05-20 14:55:05 +00:00
Iago Toral Quiroga
b90d7b9b38
broadcom/compiler: don't promote early fragment tests when writing sample mask
...
If the sample mask is being written it means we want to discard some of the
samples generated so we should not be promoting the fragment shader to
do early tests, since that would not take into account the sample mask
written from the shader.
Fixes:
dEQP-VK.fragment_operations.early_fragment.sample_count_early_fragment_tests_depth_samples_4
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16626 >
2022-05-20 13:04:32 +00:00
Iago Toral Quiroga
a987167ebd
v3dv: fix format usage checks when extended usage flag is set
...
Fixes:
dEQP-VK.image.extended_usage_bit_compatibility.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16625 >
2022-05-20 12:38:19 +00:00
Iago Toral Quiroga
2c420fcf40
v3dv: expose VK_KHR_vulkan_memory_model
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16602 >
2022-05-20 12:00:44 +00:00
Hyunjun Ko
f2635ca47b
turnip: add an assertion for max descriptor set count.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16624 >
2022-05-20 09:49:00 +00:00
Lucas Stach
53445284a4
etnaviv: add linear PE support
...
GPUs with the LINEAR_PE feature bit have the ability to render into linear
buffers. While this decreases PE cache effectiveness and is thus slower than
rendering into a (super-)tiled buffer, it's still preferable for cases where
we would need a blit to get into linear otherwise, i.e. when importing a
linear buffer or when linear is forced on allocation by usage flags or
modifiers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16615 >
2022-05-20 09:30:18 +00:00
Lucas Stach
8452bd7984
etnaviv: improve single buffer setup
...
The blob only switches to the 3 single buffer state when required, which seems
to be the case when any color or ZS target is <= 16bpp. Using 2 as the single
buffer state gives a very small 1-2% performance improvement on fillrate
constrained rendering, so it likely affects some PE cache setting.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16615 >
2022-05-20 09:30:18 +00:00
Sil Vilerino
cbb81e09ee
winsys: Do not use Display type when X11 is not present in build
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Closes : mesa/mesa#6520
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16608 >
2022-05-20 09:06:41 +00:00
Pierre-Eric Pelloux-Prayer
e87135c552
radeonsi/tests: use a smaller tests-per-group value
...
Faster glcts runs (44 -> 34 sec).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16580 >
2022-05-20 09:57:14 +02:00
Pierre-Eric Pelloux-Prayer
c2892b811a
radeonsi/tests: add a --slow option
...
Some glcts tests implement tons of tests because they verify
every possible combination of format/swizzle/target/...
They take a long time to execute and aren't possible to run
using multiple processes.
The proper way to fix it would be to split them in vk-gl-cts,
as is already done for some of them (eg es31fTextureGatherTests.cpp).
In the meantime, not running them makes glcts run almost
10 times faster.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16580 >
2022-05-20 09:57:05 +02:00
Hyunjun Ko
5b2756ec2c
radv: fix assertion for the count of xfb output
...
It's an counter, not an index.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16623 >
2022-05-20 06:43:11 +00:00
Hans-Kristian Arntzen
04459c8287
radv: Fix RTPSO hashing of pGroups.
...
There are padding bytes here. Only hash relevant members.
Fixes: ca2d96db51 ("radv: Add caching for RT pipelines.")
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16582 >
2022-05-20 07:43:58 +02:00
Jason Ekstrand
b58dd252aa
lavapipe: Use the common BindVertexBuffers wrapper
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16611 >
2022-05-20 02:12:37 +00:00
Jason Ekstrand
a299e5efbb
radv: Use the common CmdBindVertexBuffers wrapper
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16611 >
2022-05-20 02:12:37 +00:00
Jason Ekstrand
50a00f889c
radv: Add a sqtt entrypoint for CmdBindVertexBuffers2
...
Fixes: b262284300 ("radv: add support for dynamic vertex input binding stride")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16611 >
2022-05-20 02:12:37 +00:00
Jason Ekstrand
c24aa449d0
vulkan,anv,turnip: Add a common CmdBindVertexBuffers wrapper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16611 >
2022-05-20 02:12:37 +00:00
Qiang Yu
cc4d5b1666
radeonsi: lower nir_intrinsic_sparse_residency_code_and
...
This is required by lower_tg4_offsets which split one
sparseTextureGatherOffsetsARB call to four sparseTextureGatherOffsetARB
calls and merge their resisident results into one.
Fixes: ee040a6b63 ("radeonsi: enable ARB_sparse_texture2")
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/16599 >
2022-05-20 01:45:12 +00:00
Mike Blumenkrantz
2fbbb8ad63
zink: update radv baseline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16622 >
2022-05-19 23:51:38 +00:00
Nicolas Caramelli
d6b943adde
egl: Fix EGL_EXT_platform_xcb name string to match the registry
...
Signed-off-by: Nicolas Caramelli <caramelli.devel@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16609 >
2022-05-19 23:21:15 +00:00
Dylan Baker
e6981d6da2
docs: update calendar and link releases notes for 22.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16617 >
2022-05-19 22:38:46 +00:00
Dylan Baker
f0e3c71c96
docs: Extend calendar entries for 22.0 by 1 releases.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16617 >
2022-05-19 22:38:46 +00:00
Dylan Baker
569553f7c4
docs: add sha256sum to 22.0.4 notes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16617 >
2022-05-19 22:38:46 +00:00
Dylan Baker
3cfcb3a1e0
docs: add release notes for 22.0.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16617 >
2022-05-19 22:38:46 +00:00
Jason Ekstrand
c6cddd2e17
lavapipe: Use the correct ICD path on Win32
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16612 >
2022-05-19 21:53:06 +00:00
Kenneth Graunke
27314718a3
intel: Drop Wa_1409226450 (stall before instruction cache invalidation)
...
Production Tigerlake and DG1 hardware shouldn't need this workaround.
It was only needed on the very first steppings which never went public.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16575 >
2022-05-19 21:31:45 +00:00
Emma Anholt
7938ce4af3
freedreno/ir3: Lower texture instructions used only for f2f16 to 16-bit.
...
2.5% improvement in gfxbench vk-5-normal. No obvious change on
gl-5-normal.
shader-db on Rob's android shaders:
total instructions in shared programs: 770644 -> 770595 (<.01%)
instructions in affected programs: 14880 -> 14831 (-0.33%)
total nops in shared programs: 167784 -> 167860 (0.05%)
nops in affected programs: 3351 -> 3427 (2.27%)
total non-nops in shared programs: 602860 -> 602735 (-0.02%)
non-nops in affected programs: 10523 -> 10398 (-1.19%)
total mov in shared programs: 19313 -> 19286 (-0.14%)
mov in affected programs: 365 -> 338 (-7.40%)
total cov in shared programs: 18075 -> 17978 (-0.54%)
cov in affected programs: 566 -> 469 (-17.14%)
total dwords in shared programs: 1612848 -> 1612596 (-0.02%)
dwords in affected programs: 13882 -> 13630 (-1.82%)
total last-baryf in shared programs: 56144 -> 55975 (-0.30%)
last-baryf in affected programs: 482 -> 313 (-35.06%)
total full in shared programs: 36094 -> 36092 (<.01%)
full in affected programs: 10 -> 8 (-20.00%)
total sstall in shared programs: 66986 -> 66923 (-0.09%)
sstall in affected programs: 1392 -> 1329 (-4.53%)
total systall in shared programs: 91244 -> 91072 (-0.19%)
systall in affected programs: 1194 -> 1022 (-14.41%)
total (sy) in shared programs: 4316 -> 4321 (0.12%)
(sy) in affected programs: 19 -> 24 (26.32%)
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Emma Anholt
1cf0736f1c
freedreno/ir3: Add support for 16-bit nir_texop_lod.
...
Same basic path, just do the rescaling in half float.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Emma Anholt
a28d2e87d3
turnip: Make RelaxedPrecision-decorated ALU ops 16-bit.
...
Improves gfxbench vk-5-normal performance 5.5%.
Fixes : #6346
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Emma Anholt
260559050a
spirv_to_nir: Cast RelaxedPrecision ALU op dests to mediump.
...
This is controlled by spirv_to_nir_options.relaxed_precision_alu, because
some drivers don't want it.
This gets us mostly 16-bit math on turnip in vk-5-normal.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Emma Anholt
87d7431198
spirv: Use nir_vec_scalars() to simplify matrix transpose.
...
This should emit fewer instructions that need to be copy-propagated away.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Emma Anholt
633cf4eca1
freedreno/ir3: Fix 16-bit bit_count.
...
No need to do the 16-bit lowering if it already is.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16465 >
2022-05-19 19:43:36 +00:00
Lionel Landwerlin
1c077ca9c0
u_trace/anv/iris: drop cs argument for recording traces
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16605 >
2022-05-19 19:04:28 +00:00
Danylo Piliaiev
12773d4070
docs/u_trace: document u_trace usage
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16579 >
2022-05-19 17:57:36 +00:00
Charmaine Lee
8cabf134a8
svga: fix aa point
...
Use in_prim from current geometry shader to check for point prim type
when determine if aa point is enabled or not.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16598 >
2022-05-19 17:17:12 +00:00
Charmaine Lee
8cbcdb4f10
svga: add need_texcoord_semantic to tgsi_add_point_sprite & tgsi_add_aa_point
...
Since PIPE_CAP_TGSI_TEXCOORD is now set in SVGA vgpu10 driver,
we need to add a new parameter need_texcoord_semantic to
tgsi_add_point_sprite and tgsi_add_aa_point
to allow setting texcoords using tgsi texcoord semantic.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16598 >
2022-05-19 17:17:12 +00:00
Lionel Landwerlin
5398c9183e
intel/ds: fix compilation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6518
Fixes: efc2782f97 ("intel/perf: store a copy of devinfo")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16601 >
2022-05-19 16:42:41 +00:00
Dylan Baker
9565ea5640
docs: Add calendar entries for 22.1 release.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16610 >
2022-05-19 16:37:15 +00:00
Dylan Baker
35e3aea0b2
relnotes: Add sha256sum and fix minor formatting issues
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16610 >
2022-05-19 16:37:15 +00:00
Dylan Baker
5944b9ab83
docs: add release notes for 22.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16610 >
2022-05-19 16:37:15 +00:00
Dylan Baker
e84de9c04f
docs: update calendar and link releases notes for 22.1.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16610 >
2022-05-19 16:37:15 +00:00
Alyssa Rosenzweig
d6ece34d0c
pan/va: Use ^ instead of ` to indicate last-use
...
This syncs the ISA syntax with other Valhall ISA users. It's also somewhat
easier to read.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
9fb8ca1851
pan/va: Remove DISCARD.f32 destination
...
It doesn't actually write anything. This is a pointless divergence from Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
444469d64e
pan/va: Handle 2-src blend in lower_split_src
...
Fixes assertion fail in shaders/dolphin/smg.1.shader_test
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
0576cad958
pan/bi: Validate vector widths
...
Now that our IR is much more strongly typed, and RA code quality depends on
correct typing, add a validation pass to make sure we didn't screw it up. This
pass found a massive number of bugs in early versions of this series.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
4c1bb23a86
pan/bi: Validate preload constraints are satisfied
...
We tightened the rules around preloading substantially and take advantage of the
rules in RA. The safe helpers it introduced should ensure the rules are
followed, but just in case, add a validation pass to check our work. This pass
found (multiple) bugs in early versions of this series.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
3636cddde1
pan/bi: See through splits for var_tex fusion
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
1f25f78a9f
pan/bi: Optimize split of collect
...
Required to get decent codegen from UBO pushing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
4a8bde2190
pan/bi: Don't propagate discard
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
d81b872465
pan/bi: Remove liveness metadata tracking
...
We don't use it for anything, and with no pass infrastructure it's just an
accident waiting to happen.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
3df5446cbd
pan/bi: Simplify register precolouring in the IR
...
In the current IR, any register may be preloaded by reading it anywhere, and any
register may be precoloured by writing it anywhere. This is convenient for
instruction selection, but requires the register allocator to do considerable
gymnastics to ensure it doesn't clobber precoloured registers. It also breaks
the purity of our SSA representation, which complicates optimization passes
(e.g. copyprop).
Let's trade some instruction selection complexity for simplifying register
allocation by constraining how register precolouring works. Under the new model:
* Registers may only be preloaded at the start of the program.
* Precoloured destinations are handled explicitly by RA.
Internally, a stronger invariant is placed for preloading: registers may only be
preloaded by MOV.i32 instructions at the beginning of the block, and these moves
must be unique. These invariants ensure RA can trivially coalesce the moves.
A bi_preload helper is added as a safe version of bi_register respecting these
invariants, allowing a smooth transition for instruction selection.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
dab5b62ecf
pan/bi: Remove bi_word and bi_word_node
...
They are no longer used, as offsets are no longer used for normal values (only for
FAU). Keep it like that.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
f0184cf218
pan/bi: Scalarize copyprop
...
Reduces memory footprint.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
c6349278f9
pan/bi: Scalarize modifier propagation
...
Reduces memory footprint.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
e332e2edc1
pan/bi: Scalarize bi_opt_cse
...
Reduces memory footprint.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
187dd382cb
pan/bi: Scalarize bi_lower_swizzle
...
Reduces memory footprint.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
5b1c642cee
pan/va: Don't use bi_word in FAU unit test
...
It will be removed shortly, as the FAU construction helper should be used
instead.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
67569b3c23
pan/va: Use split for 64-bit lowering
...
Written in this way, this pass looks pretty silly...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
5febeae58e
pan/bi: Emit collect and split
...
..Rather than using offsets during instruction selection.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
4731e9e55a
pan/bi: Simplfy BLEND emit
...
We don't need to collect anything, now that Valhall handles this case correctly.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
7bfaa119f4
pan/bi: Lift split/collect cache from AGX
...
Design based on ACO (and fruitful discussions with Daniel).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
8fdb01b96f
pan/bi: Create COLLECT during isel
...
This transitions us away from the fake SSA we currently use for vectors.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
5c0977d230
pan/bi: Expand MAX_DESTS to 4
...
For splits.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
9924e6f291
pan/bi: Fix mov and pack_32_2x16
...
Move can take in a vector and write a scalar, depending on the swizzle. We need
to handle this case. Split out mov and pack_32_2x16 so we can specify correct
behaviour for both. Also drop unused 1-bit boolean stuff which obscured the fix.
Fixes: 76cea8e27b ("panfrost: Fix pack_32_2x16 implementation")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
bc17288697
pan/bi: Lower split/collect before RA
...
For transitioning to the new scalarized IR.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
0c7f126277
pan/bi: Add bi_before_block cursor
...
Useful for preloading.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
298d20f805
pan/bi: Add collect and split instructions
...
These move-like instructions will be generated during instruction selection and
lowered before/after register allocation.
These need special printer support until we get dynamic sources/destinations.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
afd88d1380
pan/bi: Add source/destination counts
...
In preparation for dynamic allocation, as needed for phi nodes and parallel
copies. For now, it just serves to simplify the semantics of splits and
collects.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
0523b6b89b
pan/bi: Use value-based interference with LCRA
...
"Revisiting Out-of-SSA Translation for Correctness, Code Quality, and
Efficiency" discusses "value-based interference": two variables interfere if and
only if there exists a point in the program where they are both live *with
different values*. In particular, the source and destination of a move do not
interfere a priori, because they have the same value at that point in the
program. (If a later instruction overwrites one, the required interference will
be added there).
We can use this idea to avoid some extra interferences, avoiding a regression in
moves from split/collect.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
896dc63623
pan/bi: Lower phis to scalar
...
If we don't lower phis to scalar, when we go out of SSA, we can get vector
nir_registers. In particular, we can get code like:
r0 = vec2 r0.y, r0.x
This code looks like a move, but is in fact a swap. The trivial lowering of vec2
would not work -- the following fails to swap correctly:
r0.x = r0.y
r0.y = r0.x
Currently, we generate temporaries to handle these cases. It's easy to move the
complexity to NIR, though, and we'll want to scalarize phis for SSA-based RA
anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
c8882ee115
pan/bi: +JUMP can't read same-cycle temp
...
Minor ISA detail missed in the Bifrost scheduler. I hit this in an early version
of this series (where a move feeding into a blend shader return was not
coalesced). Let's get it fixed in the scheduler.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
c387096eca
pan/va: Use 64-bit lowering for texturing
...
Texture instructions on Valhall take 64-bit sources. Now that we have
infrastructure to handle this properly, we don't need to use a non-SSA node to
hack around the optimization.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
89a3746bc1
pan/va: Lower split 64-bit sources
...
This ensures Valhall 64-bit constraints are respected in a simple way. It's not
the most efficient, though. Optimization is deferred until full Valhall support
is upstreamed and the RA is overhauled.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
65839d8c3c
pan/va: Mark more source sizes
...
This source size information will be consumed by the 64-bit lowering pass, so
ensure it's accurate. That means marking 32-bit and 64-bit sources explicitly on
message passing where it wouldn't match up with the type size suffix of the
instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Alyssa Rosenzweig
04a1df8c65
pan/bi: Update bi_count_write_registers for Valhall
...
We add some new instructions on Valhall with special register requirements
(texturing, atomics). Handle these appropriately so we can do RA on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16585 >
2022-05-19 16:08:26 +00:00
Jason Ekstrand
8b13ee75ba
vulkan: Fall back to raw data objects when deserializing if ops == NULL
...
This can happen if an object is serialized whose object type isn't in
the pipeline cache import ops. In this case, we generate a raw data
object and plan to turn it into the right object type later.
Fixes: d35e78bb85 ("vulkan/pipeline_cache: Implement deserialize for raw objects")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16584 >
2022-05-19 14:51:40 +00:00
Rhys Perry
1e710f7a2c
radv: validate shaders after linking passes
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5244
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
75c80be484
radv: add missing NIR_PASS() and switch from NIR_PASS_V()
...
Unlike NIR_PASS_V(), NIR_PASS() can skip printing the shader when
NIR_DEBUG=print.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5244
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
d98b7817fc
radv: call nir_metadata_preserve in various lowering passes
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
6087f1951e
nir: call nir_metadata_preserve in nir_lower_memory_model
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
3eed871f41
nir: call nir_metadata_preserve in nir_vectorize_tess_levels
...
This is necessary to use this pass with the NIR_PASS() macro.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
f10d4bf963
nir: call nir_metadata_preserve in nir_io_add_const_offset_to_base
...
This is necessary to use this pass with the NIR_PASS() macro.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
0d9ead8ca2
nir: print file when validation fails
...
This should make it clear whether a validation failure happens in RADV or
zink.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Rhys Perry
836470d433
nir: allow NIR_PASS(_, )
...
If a user wants to skip printing the shader if no changes were made
without declaring a dummy variable for the progress.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448 >
2022-05-19 13:37:20 +00:00
Pierre-Eric Pelloux-Prayer
cf9ee6d432
radeonsi: wait for PS idle in si_set_framebuffer_state
...
This is needed to avoid write-after-read hazards in
texture -> render transitions.
This fixes fbo-depth tests that were flaky on GPUs (at
least sienna_cichlid and vega20).
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16561 >
2022-05-19 12:22:11 +00:00
Marek Olšák
2443054932
amd: rename fishes to Navi21, Navi22, Navi23, Navi24, and Rembrandt
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16604 >
2022-05-19 11:55:50 +00:00
Indrajit Kumar Das
c6bb8961a8
mesa/st: clear color buffers using color from a constant buffer
...
v2: fixed GLCTS failures (mareko)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15318 >
2022-05-19 11:18:31 +00:00
Indrajit Kumar Das
2204bf509d
mesa/st: add nir shader to clear color buffers using constant value
...
v2: use load_uniform instead of load_ubo to fix vc4
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15318 >
2022-05-19 11:18:30 +00:00
Indrajit Kumar Das
773a23eb6d
gallium/u_blitter: clear color buffers using color from a constant buffer
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15318 >
2022-05-19 11:18:30 +00:00
Indrajit Kumar Das
03bc7503d4
radeonsi: save the fs constant buffer to the util blitter context
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15318 >
2022-05-19 11:18:30 +00:00
Tomeu Vizoso
0d8cbf551d
Revert "ci: Disable jobs to the Collabora lab"
...
This reverts commit 224544dc33 .
Work has finished and the lab is up and running.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16600 >
2022-05-19 09:31:26 +00:00
Danylo Piliaiev
850ae76970
util/u_trace: Add json output
...
If we want to load the u_trace output somewhere for analysis it's much
easier to deal with json than to parse strings.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16475 >
2022-05-19 07:41:45 +00:00
Samuel Pitoiset
0c8a07f25d
aco: remove unnecessary intrinsics that are lowered at the ABI level
...
Fixes: f553076eaf ("aco: Remove now-superfluous intrinsics.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16577 >
2022-05-19 06:49:07 +00:00
Filip Gawin
fb2426db7a
r300: keep negation if w is an inline constant
...
(in dataflow swizzles pass)
helps with:
dEQP-GLES2.functional.shaders.random.conditionals.combined.73
on r300 and r400
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16559 >
2022-05-19 06:34:02 +00:00
Timothy Arceri
c4cec84231
nir/i915g/r300/nv30: skip marking varyings as flat in some drivers
...
Some older drivers don't support GLSL versions with the concept of flat
varyings and also don't support integers. Here we add a new setting to
make sure we don't use the optimisation that sets varyings to flat.
This setting helps us avoid marking varyings as flat and therefore
potentially having them changed to ints via varying packing.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6500
Fixes: 7647023f3b ("glsl: enable the use of the nir based varying linker")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16573 >
2022-05-19 01:05:32 +00:00
Jason Ekstrand
2f38adda63
v3dv: Loosen an assert in copy_buffer_to_image_shader
...
In f99ac7f2de ("v3dv: Don't use color aspects for depth/stencil
images"), we stopped using color aspects for depth/stencil images in a
bunch of cases. This causes us to trigger an assert in
copy_buffer_to_image_shader where it assumes 16-bit is always color but
now it can also be D16_UNORM. The assert isn't protecting us from
anything we weren't already doing before so we can just loosen it a bit.
Fixes: f99ac7f2de ("v3dv: Don't use color aspects for depth/stencil images")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16592 >
2022-05-19 00:06:21 +00:00
Emma Anholt
f5e714cbf9
ci/crosvm: Terminate the previous crosvm after a deqp-runner timeout.
...
When deqp-runner times out, it kills the deqp process, which in our case
is the previous invocation of our shell script, so the crosvm and socat
cleanup never happened. crosvm has a way to cleanly shut down a previous
crosvm invocation, so let's just use that and do our cleanup when we need
to.
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485 >
2022-05-18 22:49:20 +00:00
Emma Anholt
b82f920384
ci/crosvm: Rename VSOCK_TEMP_DIR -> VM_TEMP_DIR.
...
It doesn't contain anything about the vsocks, just files shared between
the host and the guest.
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485 >
2022-05-18 22:49:20 +00:00
Emma Anholt
b836cd937c
ci/crosvm: Simplify the CID setup.
...
Now that deqp-runner tells us which thread we are, we don't need to go
probing for a spare directory to use.
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16485 >
2022-05-18 22:49:20 +00:00
Jesse Natalie
be5c7c0351
dzn: Add new parameter to vk_image_view_init call
...
Fixes: fc8d2543 ("vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16589 >
2022-05-18 11:03:26 -07:00
Jesse Natalie
29a8f1f03b
d3d12: MSVC warning around operator precedence causing uint32_t==bool
...
Fixes: b171a6ba ("d3d12: Add video encode implementation of pipe_video_codec")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588 >
2022-05-18 09:28:49 -07:00
Jesse Natalie
4b34869d9d
d3d12: Don't use VLAs
...
Fixes: 739283da ("d3d12: Improve planar resource support to handle video requirements")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588 >
2022-05-18 09:28:47 -07:00
Jesse Natalie
9e9c8df3f0
d3d12: Include windows.h on Windows before dxgicommon.h
...
The dxgicommon.h header uses UINT types without including windows.h itself.
Fixes: 6dbe05ff ("d3d12: Add util video functions to d3d12_format")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16588 >
2022-05-18 09:28:30 -07:00
Samuel Pitoiset
8396df5ad9
radv: init states from pRasterizationState at only one place
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552 >
2022-05-18 13:53:35 +00:00
Samuel Pitoiset
7f08fe0b9f
radv: init states from pViewportState at only one place
...
Except the viewport/scissor arrays to avoid useless array copies.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552 >
2022-05-18 13:53:35 +00:00
Samuel Pitoiset
f13b30fe62
radv: init states from pTessellationState at only one place
...
It's part of the pre-rasterization state of graphics pipeline libs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16552 >
2022-05-18 13:53:35 +00:00
Connor Abbott
9f67fa368e
tu: Implement VK_EXT_pipeline_creation_cache_control
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16562 >
2022-05-18 13:14:55 +00:00
Connor Abbott
49827da6fa
tu: Implement VK_EXT_pipeline_creation_feedback
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16562 >
2022-05-18 13:14:55 +00:00
Connor Abbott
e348f2fb38
tu: Zero-initialize compute driver key
...
Fixes: 05329d7 ("tu: Implement pipeline caching with shared Vulkan cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16562 >
2022-05-18 13:14:55 +00:00
Vadym Shovkoplias
33412e0231
drirc: Set limit_trig_input_range option for glmark2
...
This fixes jellyfish rendering issues in glmark2 on Intel.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6479
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16525 >
2022-05-18 12:41:59 +00:00
Danylo Piliaiev
5d377f435b
freedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0
...
Each shader stage has its own "early preamble" flag.
Early preamble is likely an optimization to hide some of latency
when loading UBOs into consts in the preamble.
Early preamble has the following limitations:
- Only shared, a1, and consts regs could be used
(accessing other regs would result in GPU fault);
- No cat5/cat6, only stc/ldc variants are working;
- Values writen to shared regs are not accessible by the rest
of the shader;
- Instructions before shps are also considered to be a part of
early preamble.
Note, for all shaders from d3d11 games blob produced preambles
compatible with early preamble mode.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15901 >
2022-05-18 11:17:47 +00:00
Kenneth Graunke
c54555c496
Revert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible"
...
This reverts commit 68ef895674 .
When trying out transcode_astc=true with BPTC on Asphalt 9, we observed
very poor image quality - to the point that basic UI icons were blocky,
and buttons with a black border had smeared pixels on the edges. Using
DXT5 had no such issues.
I originally suspected there was a bug in the BPTC encoder, but I now
believe the issue is deeper than that. The commit that introduced the
encoder, 17cde55c53 , says:
"The compressor is written from scratch and takes a very simple
approach. It always uses a single mode of the BPTC format (4 for
unorm and 3 for half-floats) and picks the two endpoints by dividing
the texels into those which have more or less than the average
luminance of the block and then calculating an average color of the
texels within each division.
It's probably not really sensible to try to use BPTC compression at
runtime because for example with the Nvidia offline compression tool
it can take in the order of an hour to compress a full-screen image.
With that in mind I don't think it's worth having a proper compressor
in Mesa and this approach gives reasonable results for a usage that
is basically a corner case."
In other words, the reason our BPTC compressor was so fast is that it
only implements one of the modes and does a low quality approximation.
This honestly should probably be improved somewhat, but the original
use case was for online-compression, the uncommon but mandatory OpenGL
feature where you can supply uncompressed data and trust the driver to
compress it for you (at unknown and uncontrolled quality and speed).
Unfortunately, the compressor as it stands is simply not usable for
transcoding ASTC data where we want to preserve the underlying image
quality as much as possible.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16566 >
2022-05-18 09:45:43 +00:00
Pierre-Eric Pelloux-Prayer
74a172a448
radeonsi: fix glTexBuffer max size handling
...
The spec says the number of texels must be clamped to the value of
GL_MAX_TEXTURE_BUFFER_SIZE.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16480 >
2022-05-18 10:36:01 +02:00
Juan A. Suarez Romero
2f747663c9
docs: update extensions for V3D and VC4
...
Mark some extensions that are already supported by V3D and VC4.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16528 >
2022-05-18 08:18:21 +00:00
Samuel Pitoiset
b014d983bb
radv: add new pipeline helpers for NIR->ASM compilation
...
It walks backwards to compile, looks cleaner to me.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553 >
2022-05-18 07:19:20 +00:00
Samuel Pitoiset
8e1085c19a
radv: do not try to dump the NIR of the trap handler shader
...
There is no NIR at all.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553 >
2022-05-18 07:19:20 +00:00
Samuel Pitoiset
9207d791af
radv: rename shader compile functions to spirv_to_nir/nir_to_asm
...
For better clarity.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16553 >
2022-05-18 07:19:20 +00:00
Martin Roukala (né Peres)
5fc99a1536
radv/ci: enable the experimental support for mesh shaders
...
The experimental support has been merged for months already, but has
been left unexercised in CI even though dEQP has a mesh_shader.nv
category.
This commit enables the experimental support, which should bring
additional testing \o/.
Suggested-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16550 >
2022-05-18 06:48:05 +00:00
Tomeu Vizoso
224544dc33
ci: Disable jobs to the Collabora lab
...
In anticipation of infrastructure work.
This commit is to be reverted later in the day.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16576 >
2022-05-18 08:00:23 +02:00
Jason Ekstrand
d35e78bb85
vulkan/pipeline_cache: Implement deserialize for raw objects
...
When caching NIR, it's cached as a raw object because we cache the
serialized NIR. When it's then loaded from the disk cache later, we
fail to deserialize it because raw objects are a special case. There
are two callers of vk_pipeline_cache_object_deserialize(), one of which
has a special case for raw objects and the other is called only when
we've checked that it isn't a raw object. The special cases are
pointless; raw objects should deserialize themselves.
Fixes: 591da98779 ("vulkan: Add a common VkPipelineCache implementation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16281 >
2022-05-18 04:43:10 +00:00
Mike Blumenkrantz
b54516f944
zink: add ZINK_DEBUG=sync
...
this is great for debugging
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16544 >
2022-05-18 02:47:52 +00:00
Mike Blumenkrantz
5d5b6197e3
zink: add c++ guards for zink_screen.h
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16544 >
2022-05-18 02:47:52 +00:00
Mike Blumenkrantz
b18448e7ac
zink: fix non-dynamic vertex stride update flagging
...
without dynamic vertex input, pipeline vertex state must be recalculated
if buffer strides change or the enabled buffer mask changes in order
to accurately handle dynamic state stride VUs
cc: mesa-stable
fixes:
spec@!opengl 1.1@array-stride
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
ca1d98df99
zink: handle PIPE_BUFFER sparse texture queries
...
this is legal but was never handled
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
5e4009fe6c
zink: clamp 1D_ARRAY sparse textures to 2D as needed
...
forgot to handle this case
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
7aee9f12b9
zink: force render target usage for sampler-only resources
...
these might hit u_blitter later, which will require rt usage
to handle texture views, so add rt usage now to avoid failing later
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
9924fecee6
zink: fix surface/bufferview cache comparisons
...
these caches ignore pNext from the create info since the pNext cannot
affect the eventual object that is created, so comparing it will break
the hash table
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
7057a36359
zink: add extended usage and retry if resource creation fails
...
this is one of those cases where some bizarro format is being created
for sampling only, but gallium blasts out all the bind flags at once
trust that we're not going to do anything too crazy and let surface
usage pruning handle the rest
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
b6eec12327
zink: remove input attachment usage when pruning surface usage
...
if the format doesn't support color attachment, it doesn't need to
be an input attachment
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
1c17502ab3
zink: add extra validation for resource creation
...
check image params against driver's returned limits to avoid
failing later
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
7e69384af1
zink: add separate error message for push descriptor set alloc fail
...
PRO triggers this if input attachments are used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
Mike Blumenkrantz
07efe6f129
zink: only reject non-blittable resource creation if it has no other binds
...
the idea here is that if a resource is intended to be used solely as a rendertarget
and can't be blitted to or drawn to, then resource creation should fail
but if the resource might be e.g., a texture, then it can probably hit the subdata
path and be fine
Fixes: 37ac8647fc ("zink: reject resource creation if format features don't match attachment")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16563 >
2022-05-18 02:29:18 +00:00
xperia64
e5afbfbed5
wgl: Add driver_zink as a dependency of the wgl frontend
...
Fixes: 01ed71f945 ("wgl: support kopper")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16569 >
2022-05-18 02:18:06 +00:00
Mike Blumenkrantz
43b3f5469d
zink: never create a sw context unless sw is requested
...
this otherwise makes it impossible to accurately do hardware driver
fallback, as zink will create a sw context instead of failing, superceding
the actual sw driver priorities
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16572 >
2022-05-17 21:55:55 -04:00
Jonathan Weinstein
2b844aab6a
lavapipe: support instance rate zero for VK_EXT_vertex_attribute_divisor
...
gallium can't directly support vertex attribute instance rate zero, since
the instance rate is also used to determine if the data is per-vertex or
per-instance in the first place (hence divisor zero meaning the data is
per vertex).
While it's an optional feature for VK_EXT_vertex_attribute_divisor, some
apps require it to work (it's a standard d3d10 feature and widely
supported), hence translate it away as MAX_UINT32 divisor instead (which
at this point probably makes more sense than to change the gallium
interface), which should work all the same.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16526 >
2022-05-18 01:29:36 +00:00
Jason Ekstrand
fa67f119f2
glsl: Drop this != NULL assertions
...
If this == NULL, we'll get a crash which is pretty much the same thing
when it comes to ease of debugging. This fixes a giant pile of warnings
with GCC 12 of the form:
../src/compiler/glsl/ir.h: In member function ‘ir_dereference* ir_instruction::as_dereference()’:
../src/util/macros.h:149:30: warning: ‘nonnull’ argument ‘this’ compared to NULL [-Wnonnull-compare]
149 | #define assume(expr) ((expr) ? ((void) 0) \
| ~~~~~~~~^~~~~~~~~~~~~~
150 | : (assert(!"assumption failed"), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
151 | __builtin_unreachable()))
| ~~~~~~~~~~~~~~~~~~~~~~~~~
../src/compiler/glsl/ir.h:150:7: note: in expansion of macro ‘assume’
150 | assume(this != NULL); \
| ^~~~~~
../src/compiler/glsl/ir.h:160:4: note: in expansion of macro ‘AS_BASE’
160 | AS_BASE(dereference)
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16558 >
2022-05-18 00:37:50 +00:00
Chia-I Wu
2410993ef6
turnip: fix off-by-one in border color bitset
...
BITSET_FFS reserves 0 for no bit set. BITSET_CLEAR just below cleared
the wrong bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16567 >
2022-05-17 23:29:15 +00:00
Kenneth Graunke
b8799a499e
iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS
...
This is considered a bottom-of-pipe flush bit.
Fixes: a969ad1ddf ("iris: Demote DC flush to HDC flush in cache tracker")
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16565 >
2022-05-17 22:35:06 +00:00
Mike Blumenkrantz
3ddda935b1
zink: add an anv-tgl ci job
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16497 >
2022-05-17 21:39:56 +00:00
Sil Vilerino
82e4fc654f
meson: Support d3d12 as a video-supporting driver
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
39cf51ba9d
d3d12: Add GLSL singleton refcounting to screen for offscreen non-GL rendering
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
8beabc6826
d3d12: Add support for d3d12 video in d3d12_screen
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
739283da13
d3d12: Improve planar resource support to handle video requirements
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
6dbe05ffda
d3d12: Add util video functions to d3d12_format
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
68bac42338
d3d12: Add create_video_codec and create_video_buffer entrypoints
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
b171a6baa2
d3d12: Add video encode implementation of pipe_video_codec
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
d8206f6286
d3d12: Add video decode implementation of pipe_video_codec
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
46178f93e9
ci: Update x86 debian build to pick up tag v1.602.0-r1 from DirectX-Headers
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
5b27c9d880
d3d12: Add d3d12_promote_to_permanent_residency
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
e5df8ecab9
gallium va: VaHandlePictureParameterBufferH264 fill out new pipe params
...
MinLumaBiPredSize8x8, pic_init_qs_minus26, chroma_format_idc,
bit_depth_chroma, bit_depth_chroma_minus8
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
701fadd45f
gallium vdpau: Fill out level_idc and MinLumaBiPredSize8x8
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
67fad86c96
gallium omx: Fill out MinLumaBiPredSize8x8 and pic_init_qs_minus26
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
b566938644
gallium: Add MinLumaBiPredSize8x8 to pipe_h264_sps, pic_init_qs_minus26 to pipe_h264_pps
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
d2871e40e0
gallium radeon/r600/omx/va: Adds support for multiple reference encoding
...
gallium: pipe_h264_enc_picture_desc: ref_idx_lx to ref_idx_lx_list[32], add num_ref_idx_lx_active_minus1
gallium radeon/r600: Change usage of ref_idx_lx to ref_idx_lx_list
gallium omx: Fill out ref_idx_lx_list, num_ref_idx_lx_active_minus1
gallium va: Add support for multiple references encoding
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
e47b327435
gallium va: Add support for multiple slices encoding
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
504b02f3fa
gallium: Add multiple slice support to pipe_h264_enc_picture_desc
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
04495300f9
gallium va: Handle new VA attributes with new pipe video caps
...
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
e1f2db7527
gallium: Add values to pipe_video_cap for multi-slice and multi-reference encode
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
a8831ba0ca
gallium va: VaDeriveImage support stride/offset being different for NV12 planes
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
15540abf22
gallium/va/radeonsi: Using private as a parameter name conflicts with C++ keywords
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
b909058fdc
d3d12: Add .clang_format file
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
15dbf8f05a
st_vdpau: Pass format when opening resource from handle in st_vdpau_resource_from_description
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:25 +00:00
Sil Vilerino
95b184f471
util/vl_vlc: Support compiling in C++
...
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:24 +00:00
Sil Vilerino
b2b907f052
util/u_format: Drop assert that has valid/well-defined behavior
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:24 +00:00
Sil Vilerino
31dcb39615
gallium/vl: Add software winsys and offscreen winsys
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16286 >
2022-05-17 21:02:24 +00:00
Adam Jackson
68aa2099fa
dri2: Require a loader with working buffer invalidation
...
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808 >
2022-05-17 20:31:50 +00:00
Adam Jackson
4d0179af32
glx/dri2: Require DRI2 >= 1.3 for working buffer invalidation
...
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10808 >
2022-05-17 20:31:50 +00:00
Michel Zou
dc73de630e
zink: fix pointer size conversion warning
...
fixes: 34e62bfa
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16532 >
2022-05-17 20:20:52 +00:00
Lionel Landwerlin
9d0db8d4c4
intel/perf: deal with OA reports timestamp values on DG2
...
OA reports on XeHP have their timestamp shifted to the left by 1. To
get that back in the same time domain as the REG_READ you need to
shift it back to the right and you're loosing the top bit.
v2: use ull for 64bit constant (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
773f41e3e4
intel/perf: disable sseu setting on Gfx12.5+
...
This is rejected by i915.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
d2834dd626
intel/perf: add new layout for Gfx12.5 products
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
66045acdf9
intel/perf: add max vfuncs
...
New counters will use those from inside their read function to
generate percentage numbers.
v2: Forgot to update Iris (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
c740ca6000
intel/perf: add support new variable counting the number of EUs in slice0-3
...
v2: MIN2(4, max_slices) (Marcin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
6f63bc38e7
intel/perf: add OA A counter type
...
On Gfx12.5 products, we'll need to capture a couple of A counters that
are not captured in MI_RPC reports. Those are actually global,
previously all A counters were per context.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
376e420abb
intel/perf: stop overriding oa_format
...
This already set in the intel_perf_setup.h file at metric set
creation.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
aa04b47c6e
intel/perf: add support for GtSlice/GtSliceXDualsubsliceY variables
...
For those, we'll fish the information out of the devinfo.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
d134a62345
intel/perf: add support for dualsubslice count variable
...
This is the same as the subslice count.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
efc2782f97
intel/perf: store a copy of devinfo
...
In the future we'll pull more information off devinfo.
v2: Constify pointers (Ian)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Lionel Landwerlin
0df4b96062
intel/perf: add support for new opcodes in code generation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16144 >
2022-05-17 19:55:10 +00:00
Chad Versace
fe3e850dfb
venus: Don't encode ignored pTessellationState
...
The spec says that VkGraphicsPipelineCreateInfo::pTessellationState is
ignored and may be an invalid pointer in some cases. When ignored,
patch the pCreateInfo with `pTessellationState = NULL`, so the encoder
doesn't attempt to encode an invalid pointer.
Tested in Borealis, with debug build of venus, with a minimal test app
that sets `.pTesselationState = 0x17`. Pre-patch, the app crashes;
post-patch, the app works.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284 >
2022-05-17 19:47:52 +00:00
Chad Versace
683b6e8d35
venus: Refactor vn_fix_graphics_pipeline_create_info
...
We currently do only a single fix. Prepare to do multiple independent
fixes.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16284 >
2022-05-17 19:47:52 +00:00
Dave Airlie
9c45b541e6
vl: fix codec checks to disable properly
...
This was wrong and enabled codecs where they shouldn't have been.
Fixes: 7ab05e3c3f ("gallium/vl: respect the video codecs configure in meson")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16542 >
2022-05-17 19:17:38 +00:00
Dave Airlie
74976640b3
meson: add build-id to pipe libraries
...
Without this the cache setup was crashing with CL and the dynamic
pipe libraries.
Reported and debugged on irc by consolers
Cc: mesa-stable
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16341 >
2022-05-17 18:50:54 +00:00
Gert Wollny
bbff12a191
r600/sb: Fall back to un-optimized shader if scheduling fails
...
Sometimes the optimizer created codes that can't be scheduled,
instead of failing completely, simply bail out and use the
un-optimized code.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16499 >
2022-05-17 18:43:30 +00:00
Gert Wollny
d8e6abf542
r600/sb: Don't create three source ops with all kcache values
...
There is a good chance that the created instruction can't be
scheduled, so avoid this case.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16499 >
2022-05-17 18:43:30 +00:00
Jason Ekstrand
d9048e31a0
radv: Use vk_image_view as the base for radv_image_view
...
I've left the extent field because, even though it looks like it should
be roughly equivalent, it's weirdly different on different hardware and
I didn't want to mess with it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
c56f3dcbaa
radv: Use vk_image as the base for radv_image
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
992690e483
radv: Only use PLANE_0 in meta when actually needed
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
fc8d2543fc
vulkan,v3dv: Add a driver_internal flag to vk_image_view_init/create
...
We already had a little workaround for v3dv where, for some if its meta
ops, it had to bind a depth/stenicil image as color. Instead of
special-casing binding depth/stencil as color, let's flip on the
drier_internal flag and get rid of most of the checks in that case.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
ae2ca1d2ac
v3dv: Drop the region temporary from blit_shader
...
We're no longer stomping aspects, so there's no need.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
f99ac7f2de
v3dv: Don't use color aspects for depth/stencil images
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
36e0f9507d
vulkan: Only be clever about vk_image_view::view_format for normal views
...
For color view of depth views, just set whatever format they asked for.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Jason Ekstrand
f5e1b06622
v3dv: Add a create_image_view helper for internal views
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376 >
2022-05-17 18:14:55 +00:00
Samuel Pitoiset
8510d5daa3
aco: use ac_is_llvm_processor_supported() for checking LLVM asm support
...
It seems more universal but it's needed to create a temporary TM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16494 >
2022-05-17 17:14:21 +00:00
Samuel Pitoiset
07eba9a15a
radv: do not lower loading TESS/ESGS rings using the ABI for LLVM
...
LLVM uses an implicit argument for the ring offsets and this lowering
was just broken.
This fixes tessellation and geometry on all generations with LLVM.
Fixes: 896a55f47d ("radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16530 >
2022-05-17 16:45:02 +00:00
Alyssa Rosenzweig
6b1e73c700
asahi: Fix hangs waiting on the notification queue
...
Dequeue and WaitForAvailableData can race. Restructure the loop to avoid
this. Fixes all timeouts in dEQP.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16518 >
2022-05-17 15:00:15 +00:00
Emma Anholt
81bded100c
i915g/ci: Add depth-clear-precision-check xfails like everyone else.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390 >
2022-05-17 07:07:35 -07:00
Emma Anholt
0220348250
ci/crocus: Merge the piglit runs with the deqp runs.
...
Fewer manual buttons to click.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390 >
2022-05-17 07:05:01 -07:00
Emma Anholt
725f56fdb6
ci/crocus: Manual CI updates after CI was down for a bit.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16390 >
2022-05-17 07:05:01 -07:00
Konstantin Seurer
b9f43059fc
Revert "radv: Make fill_buffer_shader non-static"
...
We do not need this any longer since
radv_acceleration_structure.c uses
radv_fill_buffer now instead.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517 >
2022-05-17 13:10:07 +00:00
Konstantin Seurer
405b2bb79c
radv: Use radv_fill_buffer for accel struct builds
...
It turns out, that the fuchsia sort may actually
perform clears with size < 16 which hits an assert
in radv_fill_buffer_shader. This fixes random
crashes in Control.
Fixes: be57b08 ("radv: Build accaleration structures using LBVH")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517 >
2022-05-17 13:10:07 +00:00
Konstantin Seurer
183c15dbb2
radv: Allow radv_fill_buffer to work with VAs only
...
Makes the bo parameter optional which is useful
for the clears performed by acceleration structure
build commands.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16517 >
2022-05-17 13:10:07 +00:00
Marek Olšák
61d5594064
Revert "mesa: consider the sample count when choosing a texture format"
...
This reverts commit 89c94502b6 .
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16524 >
2022-05-17 11:47:42 +00:00
Marek Olšák
265c9af69e
Revert "frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers"
...
This reverts commit cfec9a55ea .
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16524 >
2022-05-17 11:47:42 +00:00
Marek Olšák
ad50daa982
radeonsi: fix resource_copy_region with ETC formats (e.g. for Stoney)
...
Only Stoney, Vega10, Raven, and Raven2 support ETC.
Fixed tests:
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i.texture2d_to_texture2d
dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui.texture2d_to_texture2d
Fixes: cf1e562fdd - radeonsi: remove compressed and subsampled gfx copy from resource_copy_region
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6431
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16491 >
2022-05-17 11:26:25 +00:00
Dave Airlie
0a056f84ed
llvmpipe: align scratch size to 64-bit size.
...
This fixes a crash with luxmark where it uses a 12-byte scratch space,
but when llvmpipe allocates it for 8 lanes, it isn't properly aligned
for 64-bit.
Karol found this debugging rusticl.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16288 >
2022-05-17 11:00:03 +00:00
Marek Olšák
394e42427f
winsys/amdgpu: initialize IB_PREAMBLE in advance
...
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
1fdc3b0fde
radeonsi: move CS preamble emission into the winsys
...
The preamble will be skipped by the kernel if there is no context switch.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
32c7805ccc
radeonsi: merge all preamble states into one
...
Tess registers are appended. GS registers are appended or overwritten
if they are already set. There are separate TMZ and non-TMZ preambles.
The preamble will be passed to the kernel as an IB to execute on a context
switch only.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
f46cd73e29
radeonsi/gfx11: optimize attribute stores
...
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
9b20120d57
radeonsi/gfx11: fix VM faults due to the attribute ring
...
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
c74d854348
Revert "radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order"
...
This reverts commit 54d85700a1 .
It's an LLVM bug. If you disable AMDGPUImageIntrinsicOptimizer in LLVM,
MSAA is fixed. There is no LLVM command line option to disable it from Mesa.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
a529e4f7ad
radeonsi/gfx11: fix the value of VGT_GS_OUT_PRIM_TYPE at the beginning of IBs
...
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
a8d2ef8bd6
radeonsi/gfx11: don't insert shader code for GS_PIPELINE_STATS_EMU
...
GS_PIPELINE_STATS_EMU is always false, so the branches were never entered.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
fcaa9f5096
radeonsi/gfx11: fix alpha-to-coverage with stencil or samplemask export
...
We can't use UINT16_ABGR for the alpha channel. Always use 32_ABGR.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
ba02ed91a6
ac/gfx11: fix the scratch buffer
...
We didn't use the value that we computed.
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
af880e591e
radeonsi: remove GFX9_MERGED_NUM_USER_SGPR definition
...
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/16509 >
2022-05-17 10:27:04 +00:00
Marek Olšák
0eb48fa4e9
ac/gpu_info: silence a valgrind warning due to amdgpu_query_hw_ip_info
...
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/16509 >
2022-05-17 10:27:04 +00:00
Samuel Pitoiset
9b4c346029
radv: more register changes on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
7f31917119
radv: limit CP DMA to max 32KB sizes on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
533df65e85
radv: apply a workaround for CB perf counters on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
0ce2401144
radv: update the initialization of SGPR0/1 registers for HS and GS on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
31ec1ecc12
radv: update VRS registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
ab21ce46a6
radv: update TF_RING_size to a per-SE size on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
995ab9a505
radv: do not emit FLUSH_AND_INV_DB_META on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
2e3aec1633
radv: do not emit non-existent CP_COHER_START_DELAY on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
dcb324eb53
radv: configure DB_RENDER_CONTROL on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
66882363b3
radv: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
6026cf43b3
radv: update image descriptor registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
ef59e5b193
radv: update buffer descriptor registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
ebca4f2b3d
radv: update sampler registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
670ee6023d
radv: Disable transform feedback for gfx11.
...
Until we implement it.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
c7f5da6829
radv: Add gfx11 DCC fast clear support.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
cc2b3f3924
radv: Adjust for new SWIZZLE_ENABLE.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
e96a35e6db
radv: gfx11 register changes.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
9c391fe47e
radv: Mark all formats as DCC compatible with each other on gfx11.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Bas Nieuwenhuizen
eb117a4711
radv: always enable NGG on GFX11
...
The legacy path is removed.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
278e533ec9
radv: update scratch buffer registers on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
6e4d9729cc
radv: use the new format table on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Samuel Pitoiset
2d02e210b5
radv: do not align VGPRS to 8 or 16 on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16419 >
2022-05-17 10:08:17 +00:00
Tomeu Vizoso
9e031426be
panvk/ci: Disable CI for a while
...
We have been hitting OOM conditions quite often and this is making ti
hard to get stuff merged.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16554 >
2022-05-17 09:16:21 +00:00
Tomeu Vizoso
e5acf8016d
lima/ci: Disable lima-mali450-piglit-gpu:arm64
...
Due to a kernel regression, these jobs fail most of the time with the
backtrace below.
Disable while we get a fix in our kernel.
2022-05-17 08:00:15.428691: [ 374.755841] ------------[ cut here ]------------
2022-05-17 08:00:15.428778: [ 374.755883] kernel BUG at kernel/irq_work.c:235!
2022-05-17 08:00:15.429011: [ 374.759409] Internal error: Oops - BUG: 0 [#1 ] PREEMPT SMP
2022-05-17 08:00:15.429077: [ 374.764842] Modules linked in: ipv6
2022-05-17 08:00:15.429233: [ 374.768294] CPU: 3 PID: 18210 Comm: vp-bad-program Not tainted 5.16.12linux-v5.16-for-mesa-ci-991fec6622591.tar.bz2 #1
2022-05-17 08:00:15.429386: [ 374.778900] Hardware name: Libre Computer AML-S805X-AC (DT)
2022-05-17 08:00:15.429536: [ 374.784421] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
2022-05-17 08:00:15.429714: [ 374.791320] pc : irq_work_run_list+0x64/0x70
2022-05-17 08:00:15.429780: [ 374.795546] lr : irq_work_run+0x38/0x50
2022-05-17 08:00:15.429927: [ 374.799342] sp : ffff80000801bf30
2022-05-17 08:00:15.430097: [ 374.802618] x29: ffff80000801bf30 x28: ffff000003398e00 x27: ffff00000ed3e400
2022-05-17 08:00:15.430158: [ 374.809691] x26: ffff800009678750 x25: ffff0000030d8900 x24: ffff800008846fa0
2022-05-17 08:00:15.430316: [ 374.816763] x23: ffff800009909f80 x22: 0000000000000006 x21: ffff00000101e780
2022-05-17 08:00:15.430411: [ 374.823836] x20: ffff800009d7c408 x19: ffff8000099089c8 x18: 0000000000000000
2022-05-17 08:00:15.430547: [ 374.830908] x17: ffff8000252e9000 x16: ffff80000801c000 x15: 0000000000004000
2022-05-17 08:00:15.430735: [ 374.837981] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000001
2022-05-17 08:00:15.430797: [ 374.845054] x11: 0000000000000001 x10: ffff8000252e9000 x9 : ffff00002ebf90e0
2022-05-17 08:00:15.430962: [ 374.852126] x8 : fffffc00000eda08 x7 : ffff000003398e00 x6 : 0000000000001000
2022-05-17 08:00:15.431029: [ 374.859199] x5 : 0000000000000000 x4 : ffff00002ebfc910 x3 : ffff00000ed3e430
2022-05-17 08:00:15.431194: [ 374.866271] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00002ebf19c8
2022-05-17 08:00:15.431261: [ 374.873345] Call trace:
2022-05-17 08:00:15.431409: [ 374.875761] irq_work_run_list+0x64/0x70
2022-05-17 08:00:15.431557: [ 374.879641] ipi_handler+0x98/0x15c
2022-05-17 08:00:15.431726: [ 374.883091] handle_percpu_devid_irq+0x88/0x140
2022-05-17 08:00:15.431795: [ 374.887576] generic_handle_domain_irq+0x40/0x60
2022-05-17 08:00:15.431958: [ 374.892147] gic_handle_irq+0x48/0xd0
2022-05-17 08:00:15.432025: [ 374.895769] call_on_irq_stack+0x2c/0x60
2022-05-17 08:00:15.432211: [ 374.899651] do_interrupt_handler+0x80/0x84
2022-05-17 08:00:15.432364: [ 374.903791] el1_interrupt+0x34/0x84
2022-05-17 08:00:15.432432: [ 374.907327] el1h_64_irq_handler+0x1c/0x30
2022-05-17 08:00:15.432616: [ 374.911380] el1h_64_irq+0x78/0x7c
2022-05-17 08:00:15.432764: [ 374.914744] irq_work_queue+0x70/0x80
2022-05-17 08:00:15.432832: [ 374.918367] drm_sched_entity_fini+0x290/0x320
2022-05-17 08:00:15.433043: [ 374.922766] lima_sched_context_fini+0x18/0x24
2022-05-17 08:00:15.433161: [ 374.927164] lima_ctx_free+0x7c/0x114
2022-05-17 08:00:15.433228: [ 374.930787] lima_ioctl_ctx_free+0x28/0x40
2022-05-17 08:00:15.433362: [ 374.934840] drm_ioctl_kernel+0xc4/0x170
2022-05-17 08:00:15.433522: [ 374.938721] drm_ioctl+0x21c/0x440
2022-05-17 08:00:15.433587: [ 374.942085] __arm64_sys_ioctl+0xac/0xf0
2022-05-17 08:00:15.433748: [ 374.945966] invoke_syscall+0x48/0x114
2022-05-17 08:00:15.433814: [ 374.949675] el0_svc_common.constprop.0+0x44/0xec
2022-05-17 08:00:15.433977: [ 374.954332] do_el0_svc+0x28/0x90
2022-05-17 08:00:15.434041: [ 374.957609] el0_svc+0x20/0x60
2022-05-17 08:00:15.434204: [ 374.960629] el0t_64_sync_handler+0x1a8/0x1b0
2022-05-17 08:00:15.434269: [ 374.964941] el0t_64_sync+0x1a0/0x1a4
2022-05-17 08:00:15.434492: [ 374.968568] Code: a8c27bfd d50323bf d65f03c0 d65f03c0 (d4210000)
2022-05-17 08:00:15.434612: [ 374.974607] ---[ end trace 74ef9d6ff9457a3f ]---
2022-05-17 08:00:15.434676: [ 374.979174] Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt
2022-05-17 08:00:15.434888: [ 374.986505] SMP: stopping secondary CPUs
2022-05-17 08:00:15.435011: [ 374.990391] Kernel Offset: 0x80000 from 0xffff800008000000
2022-05-17 08:00:15.435079: [ 374.995818] PHYS_OFFSET: 0x0
2022-05-17 08:00:15.435243: [ 374.998665] CPU features: 0x00,00004802,00000846
2022-05-17 08:00:15.435313: [ 375.003236] Memory Limit: none
2022-05-17 08:00:15.435488: [ 375.006258] ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt ]---
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16554 >
2022-05-17 09:16:21 +00:00
Kenneth Graunke
b637f6c3db
intel/decoder: Fix binding table pointer decoding with large offsets
...
XeHP supports a 20:5 pointer format, so the offset can legitimately
be more than UINT16_MAX. Likewise, with 256B binding table mode on
Icelake/Tigerlake, we might have 18:8 pointers that exceed UINT16_MAX.
Thanks to Felix DeGrood for catching this!
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16538 >
2022-05-17 08:52:00 +00:00
Pierre-Eric Pelloux-Prayer
8779a5b84c
glx: set max values for pbuffer width / height
...
Without this change the values are always 0. This breaks
Maya which uses this value to create a pbuffer (and then
fails).
This commit is based on b91e1e38e8 which does the same
for EGL.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16496 >
2022-05-17 07:21:34 +00:00
David Heidelberg
d22eeb5ae0
ci/iris: skqp: remove flaking atlastext for TGL
...
Example:
- https://gitlab.freedesktop.org/mesa/mesa/-/jobs/22380389#L4349
- https://mesa.pages.freedesktop.org/-/mesa/-/jobs/22380389/artifacts///results/gles/report.html
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6460
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16407 >
2022-05-17 06:57:19 +00:00
David Heidelberg
317496ba8a
ci/iris: skqp: add default GLES rendertests for TGL
...
Import the intact whole rendertest file from skqp (branch
android-cts-12.1_r1) to be able remove the offending test line in the
following commit.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16407 >
2022-05-17 06:57:19 +00:00
Dave Airlie
a179e1aede
aco/radv: drop radv_nir_compiler_options from aco.
...
Add a new aco input and options structs, then convert from radv
pieces on submit.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16521 >
2022-05-17 06:15:25 +00:00
Dave Airlie
8198900071
ac/radv: drop info pointer from the ac and radv shader structs
...
This was being used for one bool, just pass the bool.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16521 >
2022-05-17 06:15:25 +00:00
Mike Blumenkrantz
55845409f2
zink: add tu baseline for a630
...
oof
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16549 >
2022-05-17 06:04:31 +00:00
Mike Blumenkrantz
fffafa3635
zink: move get_timestamp to screen
...
this doesn't need to use a particular context
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16529 >
2022-05-17 03:46:56 +00:00
Mike Blumenkrantz
0befc259a6
zink: use copy context to eliminate dependency on EXT_calibrated_timestamps
...
this is unsupported by a surprising number of drivers
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16529 >
2022-05-17 03:46:56 +00:00
Mike Blumenkrantz
9d30d82a9a
zink: fix init with MESA_SHADER_CACHE_DISABLE enabled
...
Fixes: ba2f5cb20a ("zink: check for error when initializing util_queue")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16533 >
2022-05-17 03:31:10 +00:00
Mike Blumenkrantz
e303898258
zink: manually validate shaders in debug builds
...
VVL is great, but there's actually cases where it doesn't catch critical
spirv errors, so add in our own validation pass to make sure things are
okay
this is especially useful for running on nvidia, as their compiler will
either crash on or silently drop illegal instructions
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16462 >
2022-05-17 02:55:20 +00:00
Mike Blumenkrantz
8c8e6e953f
spirv: fix barrier scope assert
...
glslang generates barriers with QueueFamily, so this is totally legal
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16462 >
2022-05-17 02:55:20 +00:00
Mike Blumenkrantz
5f83571f92
lavapipe: fix pipeline handling for dynamic render zs state with pipeline library
...
this is slightly more nuanced: if this is ONLY a fragment state,
pDepthStencilState must exist, but if it's BOTH fragment and output,
then pDepthStencilState must only exist if zs attachment is used
Fixes: d4d5a7abba ("lavapipe: implement EXT_graphics_pipeline_library")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16457 >
2022-05-17 02:44:01 +00:00
Mike Blumenkrantz
0b2d383316
lavapipe: ignore depth/stencil states if attachment is not present
...
depth and stencil states should only be set if the corresponding attachment
is present, otherwise they should be ignored. this is different from
ignoring the entire VkPipelineDepthStencilStateCreateInfo struct, as
it's possible that only depth or only stencil may be present
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16457 >
2022-05-17 02:44:01 +00:00
Timothy Arceri
77392e4983
vc4: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
b84e003079
r600: switch to NIR loop unrolling
...
Note the NIR unrolling code was already enabled but we bump the
iteration unroll count to match the GLSL IR limit as per the
comment about loop bugs.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
dc2edb8f1d
r300: disable GLSL IR loop unrolling
...
NIR loop unrolling is already enabled so just let it do its job.
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
1663b04592
i915g: switch to NIR loop unrolling
...
Shader-db stats:
total instructions in shared programs: 406749 -> 406890 (0.03%)
instructions in affected programs: 216 -> 357 (65.28%)
total tex_indirect in shared programs: 12666 -> 12671 (0.04%)
tex_indirect in affected programs: 29 -> 34 (17.24%)
total temps in shared programs: 23447 -> 23451 (0.02%)
temps in affected programs: 296 -> 300 (1.35%)
total const in shared programs: 59400 -> 59455 (0.09%)
const in affected programs: 50 -> 105 (110.00%)
LOST: 0
GAINED: 17
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
11637f516c
etnaviv: switch to NIR loop unrolling
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
2a2a2e58d1
d3d12: switch to NIR loop unrolling
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
c4295816af
asahi: switch to NIR loop unrolling
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
3ceaf589d6
softpipe: switch to NIR loop unrolling
...
shader-db results:
total instructions in shared programs: 2788746 -> 2788886 (<.01%)
instructions in affected programs: 2126 -> 2266 (6.59%)
total loops in shared programs: 1357 -> 892 (-34.27%)
loops in affected programs: 468 -> 3 (-99.36%)
total temps in shared programs: 288754 -> 288725 (-0.01%)
temps in affected programs: 1623 -> 1594 (-1.79%)
total const in shared programs: 1954525 -> 1954621 (<.01%)
const in affected programs: 207 -> 303 (46.38%)
total imm in shared programs: 101023 -> 100891 (-0.13%)
imm in affected programs: 198 -> 66 (-66.67%)
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
643774cdab
i915g: use a valid setting for force_indirect_unrolling
...
Otherwise we can hit asserts for example nir_deref_mode_must_be()
asserts on !(modes & ~nir_var_all)
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
792c9a0a24
glsl: move validation of sampler indirects to the nir linker
...
This will allow us to disable the GLSL IR loop unroller in a
following patch and rely on the NIR loop unroller instead.
This allows the piglit test spec@!opengl 2.0@max-samplers border
to pass on the v3d rpi4 driver.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
d7a071a28f
gallium/drivers: set force_indirect_unrolling_sampler for all required drivers
...
This is set to true for all drivers that have a GLSL level
of support lower than 4.00. This matches the rule for setting the
GLSL IR option EmitNoIndirectSampler.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Timothy Arceri
ff8ddcb23e
nir: add support for forced sampler indirect loop unrolling
...
Some drivers don't support these indirects and therefore require
loop unrolling if a shader uses a loop induction variable to
access a sampler array.
Here we add a new nir shader compiler option that drivers can set,
this will be the equivalent of the EmitNoIndirectSampler setting
used in the GLSL IR unrolling pass.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16543 >
2022-05-17 02:12:21 +00:00
Chia-I Wu
cb50fe7110
ir3: fix mem_ctx for ir3_disasm_info::nir
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6494
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16535 >
2022-05-16 22:09:13 +00:00
Jason Ekstrand
9e22e2ac88
panvk: Lower blending after lower_var_copies
...
nir_lower_blend needs store_deref as does
io_arrays_to_elements_no_indirects.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16483 >
2022-05-16 21:43:47 +00:00
Jason Ekstrand
4050697a8f
panvk: So more nir_lower_tex before descriptor lowering
...
Some texture lowering generates more txs which means it needs to happen
before we lower descriptors because descriptor lowering is where txs is
actually handled in panvk.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16483 >
2022-05-16 21:43:47 +00:00
Jason Ekstrand
36bb62139e
bifrost: Run nir_lower_global_vars_to_local before nir_lower_vars_to_scratch
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16483 >
2022-05-16 21:43:47 +00:00
Chia-I Wu
d3d34ad476
turnip: emit VPC_SO_DISABLE in xfb begin/end
...
SO was always enabled before this change. That meant, after a call to
tu_CmdBindTransformFeedbackBuffersEXT to emit VPC_SO_BUFFER_SIZE, any
draw call (from the same render pass, in a different render pass, or in
a different cmdbuf) could potentially cause writes to the SO buffers
regardless of whether the draw is inside xfb begin/end or not.
I choose to emit VPC_SO_DISABLE instead of using stateobjs like
freedreno does only because it is simpler. It is not clear to me which
is more efficient to HW.
This also fixes double SO writes for gmem rendering. While
tu6_tile_render_begin was careful to disable SO for the draw pass,
tu6_emit_tile_select re-enabled it.
dEQP-VK.transform_feedback.* still passes. It fixes
dEQP-GLES3.functional.transform_feedback.* on angle.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16502 >
2022-05-16 20:46:59 +00:00
Chia-I Wu
0b7751babf
turnip: fix sampledImageIntegerSampleCounts
...
It seems fine to advertise msaa in sampledImageIntegerSampleCounts.
dEQP-VK.rasterization.rasterization_order_attachment_access.format_integer.*
goes from NotSupported to Pass for more test cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16487 >
2022-05-16 19:26:46 +00:00
Yonggang Luo
622c6d3e9a
radv: Add macros for win32 that accessed
...
Fixes: 3e85a0c90b ("ac/surface: define gfx11 modifiers")
../../src/amd/common/ac_surface.c: In function 'ac_get_supported_modifiers':
../../src/amd/common/ac_surface.c:421:47: error: 'AMD_FMT_MOD_TILE_GFX11_256K_R_X' undeclared (first use in this function); did you mean 'AMD_FMT_MOD_TILE_GFX9_64K_R_X'?
421 | unsigned swizzle_r_x = num_pipes > 16 ? AMD_FMT_MOD_TILE_GFX11_256K_R_X :
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| AMD_FMT_MOD_TILE_GFX9_64K_R_X
../../src/amd/common/ac_surface.c:421:47: note: each undeclared identifier is reported only once for each function it appears in
In file included from ../../src/amd/common/ac_surface.c:31:
../../src/amd/common/ac_surface.c:424:61: error: 'AMD_FMT_MOD_TILE_VER_GFX11' undeclared (first use in this function); did you mean 'AMD_FMT_MOD_TILE_VER_GFX10'?
424 | AMD_FMT_MOD_SET(TILE_VERSION, AMD_FMT_MOD_TILE_VER_GFX11) |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/amd/common/ac_drm_fourcc.h:75:21: note: in definition of macro 'AMD_FMT_MOD_SET'
75 | ((uint64_t)(value) << AMD_FMT_MOD_##field##_SHIFT)
| ^~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Yonggang Luo
a2aabb1812
radv: Add losing member hw_ip_version_major and hw_ip_version_minor for win32
...
Fixes: b261ac1ab5 ("ac/gpu_info: print all IP versions reported by the kernel")
```
../../src/amd/common/ac_gpu_info.c
../../src/amd/common/ac_gpu_info.c: In function 'ac_query_gpu_info':
../../src/amd/common/ac_gpu_info.c:545:44: error: 'struct drm_amdgpu_info_hw_ip' has no member named 'hw_ip_version_major'
545 | info->ip[ip_type].ver_major = ip_info.hw_ip_version_major;
| ^
../../src/amd/common/ac_gpu_info.c:546:44: error: 'struct drm_amdgpu_info_hw_ip' has no member named 'hw_ip_version_minor'
546 | info->ip[ip_type].ver_minor = ip_info.hw_ip_version_minor;
| ^
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Yonggang Luo
679ad0905b
radv: Fixes compiling error with msvc
...
Fixes: 11c28d9798 ("ac: add ac_nir_optimize_outputs, a NIR version of ac_optimize_vs_outputs")
```
FAILED: src/amd/common/libamd_common.a.p/ac_nir_opt_outputs.c.obj
"cl" "-Isrc\amd\common\libamd_common.a.p" "-Isrc\amd\common" "-I..\mesa\src\amd\common" "-Iinclude" "-I..\mesa\include" "-Isrc" "-I..\mesa\src" "-Isrc\mapi" "-I..\mesa\src\mapi" "-Isrc\mesa" "-I..\mesa\src\mesa" "-I..\mesa\src\gallium\include" "-Isrc\gallium\auxiliary" "-I..\mesa\src\gallium\auxiliary" "-Isrc\compiler" "-I..\mesa\src\compiler" "-Isrc\amd" "-I..\mesa\src\amd" "-I..\mesa\subprojects\libelf-lfg-win32-1.1.0-freebsd-12.1.0\contrib\elftoolchain\common" "-I..\mesa\subprojects\libelf-lfg-win32-1.1.0-freebsd-12.1.0\contrib\elftoolchain\libelf" "-I..\mesa\subprojects\libelf-lfg-win32-1.1.0-freebsd-12.1.0\sys" "-Isrc\util" "-I..\mesa\src\util" "-Isubprojects\zlib-1.2.11" "-I..\mesa\subprojects\zlib-1.2.11" "-Isrc\compiler\nir" "-I..\mesa\src\compiler\nir" "/MT" "/nologo" "/showIncludes" "/utf-8" "/W3" "/WX" "/std:c11" "/O2" "/Gw" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-D__STDC_LIMIT_MACROS" "-DPACKAGE_VERSION=\"22.2.0-devel\"" "-DPACKAGE_BUGREPORT=\"https://gitlab.freedesktop.org/mesa/mesa/-/issues \"" "-DHAVE_SWRAST" "-DHAVE_D3D12" "-DHAVE_ZINK" "-DVIDEO_CODEC_VC1DEC=0" "-DVIDEO_CODEC_H264DEC=0" "-DVIDEO_CODEC_H264ENC=0" "-DVIDEO_CODEC_H265DEC=0" "-DVIDEO_CODEC_H265ENC=0" "-DHAVE_WINDOWS_PLATFORM" "-DHAVE_SURFACELESS_PLATFORM" "-DUSE_ELF_TLS" "-DUSE_TLS_BEHIND_FUNCTIONS" "-DENABLE_ST_OMX_BELLAGIO=0" "-DENABLE_ST_OMX_TIZONIA=0" "-DEGL_NO_X11" "-D_WINDOWS" "-D_WIN32_WINNT=0x0A00" "-DWINVER=0x0A00" "-DPIPE_SUBSYSTEM_WINDOWS_USER" "-D_USE_MATH_DEFINES" "-DVC_EXTRALEAN" "-D_CRT_SECURE_NO_WARNINGS" "-D_CRT_SECURE_NO_DEPRECATE" "-D_SCL_SECURE_NO_WARNINGS" "-D_SCL_SECURE_NO_DEPRECATE" "-D_ALLOW_KEYWORD_MACROS" "-D_HAS_EXCEPTIONS=0" "-DNOMINMAX" "-DMISSING_64BIT_ATOMICS" "-DHAVE_STRTOF" "-DHAVE_TIMESPEC_GET" "-DHAVE_QSORT_S" "-DHAVE_STRUCT_TIMESPEC" "-DHAVE_ZLIB" "-DHAVE_COMPRESSION" "-DLLVM_AVAILABLE" "-DMESA_LLVM_VERSION_STRING=\"12.0.1\"" "-DLLVM_IS_SHARED=0" "-DDRAW_LLVM_AVAILABLE" "-DMESA_EXECMEM" "-DVK_USE_PLATFORM_WIN32_KHR" "/wd4018" "/wd4056" "/wd4244" "/wd4267" "/wd4305" "/wd4351" "/wd4756" "/wd4800" "/wd4996" "/wd4291" "/wd4146" "/wd4200" "/wd4624" "/wd4309" "/wd4838" "/wd5105" "/we4020" "/we4024" "/Zc:__cplusplus" "-DADDR_FASTCALL=" "/Fdsrc\amd\common\libamd_common.a.p\ac_nir_opt_outputs.c.pdb" /Fosrc/amd/common/libamd_common.a.p/ac_nir_opt_outputs.c.obj "/c" ../mesa/src/amd/common/ac_nir_opt_outputs.c
../mesa/src/amd/common/ac_nir_opt_outputs.c(256): error C2059: syntax error: '}'
[23/987] Compiling C object src/compiler/nir/libnir.a.p/nir_opt_preamble.c.obj
```
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Yonggang Luo
e8d8a0544d
radv: fixes msvc compiling error
...
Fixes: 5d9ef0efb5 ("radv: Add the fuchsia radix sort")
../mesa/src/amd/vulkan/radix_sort/radv_radix_sort.c(148): error C2220: the following warning is treated as an error
../mesa/src/amd/vulkan/radix_sort/radv_radix_sort.c(148): warning C4098: 'vkDestroyPipeline': 'void' function returning a value
[82/1129] Compiling C++ object src/amd/compiler/libaco.a.p/aco_instruction_selection.cpp.obj
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Yonggang Luo
9baaf055e2
llvmpipe: Do not use _Atomic keyword that doesn't support by MSVC
...
Fixes: 3269d34b29 ("llvmpipe/fence: make the fence id counter atomic")
Fixes:
```
../mesa/src/gallium/drivers/llvmpipe/lp_fence.c
../mesa/src/gallium/drivers/llvmpipe/lp_fence.c(47): error C2143: syntax error: missing ';' before 'type'
```
fence_id initialized to 0
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Erik Faye-Lund
57b353ec6a
vulkan/wsi: unbreak win32-support
...
There's no unistd.h on Windows, let's not include it unconditionally.
But we also don't want to deal with DRM modifiers or DMABUFs on Windows,
so let's also ifdef out the rest of that stuff.
Fixes: a8b009aed6 ("vulkan/wsi: fix missing unistd include")
Fixes: c72ff19a9e ("vulkan/wsi: Close file descriptors in wsi_destroy_image")
Reviewed-By: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16373 >
2022-05-16 18:57:06 +00:00
Ian Romanick
5c90eb1c53
glsl: Delete lower_extracts code
...
The single caller of this function (in st_glsl_to_ir.cpp) always passes
false, so this is dead code.
v2: Delete convert_vec_index_to_cond_assign method because all the
callers are deleted too.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16440 >
2022-05-16 16:06:01 +00:00
Ian Romanick
bd665fdd7f
nir: Use nir_vector_extract to generate code for ir_binop_vector_extract
...
Tiger Lake and Ice Lake had similar results. (Ice Lake shown)
total cycles in shared programs: 861153442 -> 861153533 (<.01%)
cycles in affected programs: 14748 -> 14839 (0.62%)
helped: 5
HURT: 10
helped stats (abs) min: 1 max: 2 x̄: 1.80 x̃: 2
helped stats (rel) min: 0.09% max: 0.18% x̄: 0.16% x̃: 0.17%
HURT stats (abs) min: 2 max: 18 x̄: 10.00 x̃: 10
HURT stats (rel) min: 0.17% max: 1.54% x̄: 1.06% x̃: 1.24%
95% mean confidence interval for cycles value: 1.15 10.99
95% mean confidence interval for cycles %-change: 0.25% 1.07%
Cycles are HURT.
Skylake and Broadwell had similar results. (Skylake shown)
total cycles in shared programs: 844405063 -> 844405073 (<.01%)
cycles in affected programs: 1710 -> 1720 (0.58%)
helped: 0
HURT: 4
HURT stats (abs) min: 2 max: 4 x̄: 2.50 x̃: 2
HURT stats (rel) min: 0.35% max: 1.16% x̄: 0.88% x̃: 1.00%
95% mean confidence interval for cycles value: 0.91 4.09
95% mean confidence interval for cycles %-change: 0.30% 1.45%
Cycles are HURT.
Haswell and all earlier Intel GPUs had similar results. (Haswell shown)
total instructions in shared programs: 16710016 -> 16709769 (<.01%)
instructions in affected programs: 5842 -> 5595 (-4.23%)
helped: 64
HURT: 0
helped stats (abs) min: 3 max: 4 x̄: 3.86 x̃: 4
helped stats (rel) min: 3.36% max: 7.69% x̄: 4.52% x̃: 4.17%
95% mean confidence interval for instructions value: -3.95 -3.77
95% mean confidence interval for instructions %-change: -4.83% -4.22%
Instructions are helped.
total cycles in shared programs: 881088472 -> 881086722 (<.01%)
cycles in affected programs: 68696 -> 66946 (-2.55%)
helped: 58
HURT: 6
helped stats (abs) min: 10 max: 202 x̄: 36.41 x̃: 18
helped stats (rel) min: 0.81% max: 16.42% x̄: 4.15% x̃: 1.51%
HURT stats (abs) min: 2 max: 88 x̄: 60.33 x̃: 68
HURT stats (rel) min: 0.17% max: 7.06% x̄: 4.94% x̃: 5.60%
95% mean confidence interval for cycles value: -42.14 -12.54
95% mean confidence interval for cycles %-change: -4.66% -1.94%
Cycles are helped.
No fossil-db changes on any Intel platform.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16440 >
2022-05-16 16:06:01 +00:00
Ian Romanick
e944a98826
glsl: Add flag to disable part of do_vec_index_to_cond_assign
...
As of ca63a5ed3e ("glsl: fix interpolateAtXxx(some_vec[idx], ...) with
dynamic idx"), this lowering pass does two things. It converts
ir_binop_vector_extract to an if-ladder to select the dynamically
indexed component, and it extracts a ir_binop_vector_extract from the
source of an interpolateAt function and applies to the result instead.
This change adds a flag to disable the former behavior. The latter is
still useful, but NIR has better (and soon even better) ways of doing
the former.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16440 >
2022-05-16 16:06:01 +00:00
Ian Romanick
4eff1e6481
glsl: Fix mixed tabs and spaces in lower_mat_op_to_vec.cpp
...
This was originally part of a series that made other changes to this
file, but all of those changes got dropped. Since the typing was
already done, there's no reason to not fix the formatting.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16440 >
2022-05-16 16:06:01 +00:00
Gert Wollny
3749a6ecd2
nir: honor lower_double options for ffloor and ffract
...
v2: Don't lower ffloor@64 to ffract@64 when both ops are
to be lowered. Settle on ffloor in opt_algebraic because
in can be lowered to other ops in lower_double_ops.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >(v1)
Jason Ekstrand <jason.ekstrand@collabora.com > (v1)
Reviewed-by: Emma Anholt <emma@anholt.net > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16431 >
2022-05-16 15:03:05 +00:00
Timothy Arceri
9b14636876
glsl: simplify finding cursor in varying packing code
...
This is simpler and also avoids an assert() when the last
block is empty.
Fixes: e3a45a4778 ("glsl: implement lower_packed_varyings() as a NIR pass")
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16527 >
2022-05-16 14:40:14 +00:00
Timur Kristóf
e0bec58340
radv: Fix loading task shader ring buffer addresses.
...
I forgot to use task_ring_offsets instead of ring_offsets
when I ported this code to the new ABI.
Fixes: a8bdcf3c92
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16500 >
2022-05-16 15:28:20 +02:00
Timur Kristóf
063a61a840
radv: Fix task shader info.
...
This is in the wrong place thanks to a rebase mistake.
Fixes: 101a7321c4
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16500 >
2022-05-16 15:28:15 +02:00
Marek Olšák
3382af7f6a
radeonsi/gfx11: set BIG_PAGE for the attribute ring
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:41 -04:00
Marek Olšák
8a2f151ef8
radeonsi: print an error when failing to create a context
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:41 -04:00
Marek Olšák
6515b3b2dc
radeonsi: fix a crash when failing to create a context
...
When shader_query_buffers is NULL, the code treated as as non-empty.
Fixes: 792a638b03 "radeonsi/gfx10: implement streamout-related queries"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:40 -04:00
Marek Olšák
0755d02456
radeonsi: use AMDGPU_VM_PAGE_NOALLOC to disable MALL (infinity cache)
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:39 -04:00
Marek Olšák
e9e9086b66
radeonsi: use the new flag AMDGPU_GEM_CREATE_DISCARDABLE
...
It forces the best placement (usually VRAM) and evictions discard the contents
instead of copying.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:39 -04:00
Marek Olšák
8a04a0c95b
include: update amdgpu_drm.h
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:39 -04:00
Marek Olšák
527e22412a
winsys/amdgpu-radeon: clean up code related to heaps
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:38 -04:00
Marek Olšák
ac0becc648
radeonsi: use PIPE_RESOURCE_FLAG_UNMAPPABLE and DRIVER_INTERNAL more
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:38 -04:00
Marek Olšák
d21be64b3a
winsys/amdgpu: handle RADEON_FLAG_ENCRYPTED as a heap modifier
...
so that we don't need custom code for encrypted allocations
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:37 -04:00
Marek Olšák
593f72aa21
winsys/amdgpu-radeon: rework how we describe heaps
...
It was getting difficult to add more heaps.
This adds more heaps because more flag combinations are legal now.
Invalid flag combinations are also handled better.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:37 -04:00
Marek Olšák
ceddd7d49a
radeonsi: rename RADEON_FLAG_UNCACHED -> RADEON_FLAG_GL2_BYPASS
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466 >
2022-05-16 07:03:36 -04:00
Martin Roukala (né Peres)
5bc289c547
radv/ci: re-enable fossils testing
...
It has been disabled in December 2021 due to unreliability,
and never got re-enabled.
VEGA10 is disabled because it currently fails:
Replay of parallel-rdp/uber_subgroup.foz failed
Fossilize ERROR: Compute pipeline crashed or hung, hash: 520406f40241abf8. Rerun with: --compute-pipeline-range 4 5.
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16455 >
2022-05-16 09:29:28 +00:00
Samuel Pitoiset
534cc99081
aco: do not emit the primitive ID twice for NGG VS or TES with GS
...
The primitive ID is required to be exported by the GS stage, so this
should only be needed for NGG VS or TES without a GS stage. Otherwise,
it's exported twice.
No fossils-db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16498 >
2022-05-16 09:08:49 +00:00
Boris Brezillon
3999fcba15
dzn: Fix dzn_cmd_buffer_collect_queries()
...
We can have an empty dzn_cmd_buffer_query_pool_state::collect
bitset, handle that case properly.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16396 >
2022-05-16 07:46:57 +00:00
Samuel Pitoiset
b9489ba7d2
radv: do not declare the scratch offset on GFX11
...
It no longer exists.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16492 >
2022-05-16 07:28:27 +00:00
Erik Faye-Lund
0ef28ca34a
dzn: reset correct list
...
It makes no sense to add the active heaps to the free heaps, just to
remove them again. Instead, let's move them from the one list to the
other.
This fixes a crash in Doom 2016 after a while, due to resource
exhaustion.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16514 >
2022-05-16 07:20:37 +00:00
David Heidelberg
875643feeb
ci: uprev piglit 2022-05-10
...
Also document additional piglit failures and crashes with new tests.
Multiple changes, mostly notable:
- few new tests
- traces downloader improvements
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16428 >
2022-05-16 06:33:36 +00:00
Kyle Russell
aa29e0d858
etnaviv: don't halve max_instructions for GC400
...
This allows glamor to successfully compile its shaders on the GC400.
When running glamor using the GC400, Xorg reports that the compiled
shaders exceed the maximum allowed instructions because the value
reported from the kernel is halved.
Xserver[314]: etna_draw_vbo:318: compiled shaders are not okay
$ cat /sys/kernel/debug/dri/128/gpu | grep instruction_count
instruction_count: 256
However, the spec for the Unified vertex-fragment shader explicitly
lists 256 as the maximum number of instructions for each shader
("256 for vertex shaders; 256 for fragment shaders").
Signed-off-by: Kyle Russell <bkylerussell@gmail.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16383 >
2022-05-16 05:53:05 +00:00
Timothy Arceri
318d8ce6fc
glsl: remove now unused GLSL IR varying linker code
...
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
7647023f3b
glsl: enable the use of the nir based varying linker
...
Here as well as calling the pass we need to switch the order of
some of the information gathering and optimisation calls. We also
need to create a custom callback for the dead variables removal
pass to clean up dead builtin varying in SSO programs without
causing piglit regressions.
shader-db results IRIS (BDW):
total instructions in shared programs: 17487900 -> 17477072 (-0.06%)
instructions in affected programs: 128682 -> 117854 (-8.41%)
helped: 587
HURT: 82
helped stats (abs) min: 1 max: 145 x̄: 18.82 x̃: 20
helped stats (rel) min: 0.21% max: 77.78% x̄: 17.41% x̃: 8.85%
HURT stats (abs) min: 1 max: 6 x̄: 2.68 x̃: 2
HURT stats (rel) min: 0.25% max: 9.76% x̄: 2.94% x̃: 2.16%
95% mean confidence interval for instructions value: -17.71 -14.66
95% mean confidence interval for instructions %-change: -16.40% -13.42%
Instructions are helped.
total cycles in shared programs: 857442520 -> 857170199 (-0.03%)
cycles in affected programs: 112252720 -> 111980399 (-0.24%)
helped: 13733
HURT: 13349
helped stats (abs) min: 1 max: 7293 x̄: 81.44 x̃: 10
helped stats (rel) min: <.01% max: 90.32% x̄: 3.30% x̃: 0.62%
HURT stats (abs) min: 1 max: 7424 x̄: 63.38 x̃: 8
HURT stats (rel) min: <.01% max: 192.23% x̄: 3.28% x̃: 0.54%
95% mean confidence interval for cycles value: -14.01 -6.10
95% mean confidence interval for cycles %-change: -0.17% 0.06%
Inconclusive result (%-change mean confidence interval includes 0).
total sends in shared programs: 971443 -> 970010 (-0.15%)
sends in affected programs: 4596 -> 3163 (-31.18%)
helped: 446
HURT: 39
helped stats (abs) min: 1 max: 6 x̄: 3.40 x̃: 4
helped stats (rel) min: 3.03% max: 85.71% x̄: 46.48% x̃: 50.00%
HURT stats (abs) min: 1 max: 3 x̄: 2.15 x̃: 2
HURT stats (rel) min: 6.67% max: 25.00% x̄: 15.16% x̃: 10.53%
95% mean confidence interval for sends value: -3.13 -2.78
95% mean confidence interval for sends %-change: -44.16% -38.88%
Sends are helped.
LOST: 235
GAINED: 262
Shader-db results radeonsi (RX580):
169505 shaders in 102144 tests
Totals:
SGPRS: 7698832 -> 7696552 (-0.03 %)
VGPRS: 5547296 -> 5545280 (-0.04 %)
Spilled SGPRs: 14795 -> 14773 (-0.15 %)
Spilled VGPRs: 3782 -> 3782 (0.00 %)
Private memory VGPRs: 1152 -> 1152 (0.00 %)
Scratch size: 3872 -> 3872 (0.00 %) dwords per thread
Code Size: 162946528 -> 162895264 (-0.03 %) bytes
Max Waves: 2449334 -> 2449736 (0.02 %)
Totals from affected shaders:
SGPRS: 215024 -> 212744 (-1.06 %)
VGPRS: 151976 -> 149960 (-1.33 %)
Spilled SGPRs: 162 -> 140 (-13.58 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 5249916 -> 5198652 (-0.98 %) bytes
Max Waves: 54588 -> 54990 (0.74 %)
Panfrost trace checksum is updated as per discussion in:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6343
Some virpipe tess shader piglit tests are added as failures to CI
these failures are not a regression but an uncovered existing bug
exposed due to the linker no longer sorting internally facing
shader interfaces in alphabetical order. See details in:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6481
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
fa9cee4247
glsl: implement lower_xfb_varying() as a NIR pass
...
This just converts the GLSL IR pass to NIR.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
4600108ddf
glsl: implement opt_dead_builtin_varyings() as a NIR pass
...
And also call it via the NIR varying linker.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
e5122a5543
glsl: add a NIR based varying linker
...
With a NIR based linker we get better xfb packing, and we no longer
depend on the GLSL IR optimisations to be able to link shaders
with a large amount of dead input/outputs.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
e3a45a4778
glsl: implement lower_packed_varyings() as a NIR pass
...
This is essentially the old GLSL IR packing pass rewritten as a
NIR based pass.
Doing this packing in NIR after we have preformed NIRs
optimisation passes can give us better packing results.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
c1fbd0b8ab
nir: skip lowering io to scalar for must_be_shader_input
...
These varyings cannot be packed by the GLSL linkers packing pass
so we need to skip this lowering until later when we can properly
handle them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
99ab530617
nir: abort io info gathering if location is not set or is a temp value
...
Unlike spirv glsl varyings might not have explicit locations set.
nir_shader_gather_info() was once only called at the end of linking
but these days it even gets called in NIR optimisation loops via
nir_opt_phi_precision.
In the following patches we implement a NIR version of the GLSL
varying linker which means we will have varyings with no location
set when nir_shader_gather_info() gets called the first few times,
and temp values set only for the purpose of removing unmatched
varyings between shaders for some calls after that.
Here rather than asserting we simply abort the io info gathering,
when we hit these values.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
cba2fd51a2
nir: add variable data fields required for NIR glsl varying linking
...
These will be used in the following patches that add a NIR based
varying linker.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
43a8454ea8
glsl: add new build program resource helpers
...
These will be used by a new nir based glsl varying linker that will
add varyings directly to the list before the are packed and we lose
the information.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
23ea24e11f
glsl/mesa: move parse_program_resource_name() to common linker_util code
...
This will be shared by a new NIR varying linking pass in following patches
but probably fits better here anyway considering its also used by
shader_query.cpp
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
5d57bd0345
nir/glsl: wrap component_slots_aligned()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
6dbe075f92
nir/glsl: wrapper field_index()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
42a97a0aef
nir/glsl: wrapper contains_{double,interger}()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Timothy Arceri
7af9459670
nir/glsl: add glsl_record_compare() wrapper
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15731 >
2022-05-16 03:33:18 +00:00
Sidney Just
3c0f349a7b
docs: updated zink features and release notes
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
5fda0a996a
zink: enable pipe cap for win32 external memory and fences
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
bedfee121c
zink: implement device LUID and node mask
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
34e62bfa80
zink: implement win32 memory handle import
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
f1f5627286
zink: implement win32 fence import
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
7e3d6a0238
zink: codegen for Win32 external object extensions
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Mike Blumenkrantz
e978a33587
zink: add win32 guards for device extensions with win32 in name
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
787d31650b
mesa: pipe cap for EXT_memory_object_win32 and EXT_semaphore_win32
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
c709bbde9e
mesa: implement import win32 memory and semaphore
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
5e8702f796
mesa: implement GL_DEVICE_LUID_EXT and GL_DEVICE_NODE_MASK_EXT getters
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Mike Blumenkrantz
8917235d12
aux/trace: screen::create_fence_win32
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
a6c468d985
gallium/trace: implement win32 device LUID and node mask getters
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Mike Blumenkrantz
a0b2e43927
gallium/noop: implement pipe_screen::create_fence_win32
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
08dfe2ca84
gallium/noop: implement win32 device LUID and node mask getters
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
e1f6273763
mapi: added EXT_external_objects_win32 definitions
...
Includes implementation stubs
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Sidney Just
f98d47e011
gallium: support for implementing EXT_external_objects_win32
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15504 >
2022-05-15 19:56:49 +00:00
Mike Blumenkrantz
ca915c871f
zink: directly reuse surface ivci when rebinding
...
this is simpler and also fixes rebinding samplerviews which use
a levelCount > 1
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
fa3d51892a
zink: fix 3d shader image miplevel calc for depth
...
without adjusting for miplevel here, the shader image might erroneously
be created as a 2d view and/or assert
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
1526df283c
zink: stop leaking shader image surfaces
...
the code here was fine for checking the base resource unbinds and whatever,
but it never actually destroyed the surfaces/bufferviews created,
which meant they were always being leaked
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
2df1c06168
zink: copy incoming shader image struct after doing updates
...
no functional changes
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
32a77b1e25
zink: read shader image r/w usage from incoming data struct
...
no functional changes
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
a3dff53487
zink: simplify dumb update flagging in set_shader_images
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
22954b4860
zink: reuse local res pointer in set_shader_images
...
no functional changes
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Mike Blumenkrantz
d0df488970
zink: remove refs from shader images
...
these have implicit refs from the surface/bufferview that gets created,
so adding a ref here is redundant and less performant
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16508 >
2022-05-15 19:46:23 +00:00
Chia-I Wu
e9e8c649cd
freedreno/fdperf: support dumping counters
...
This is useful for comparing two workloads.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16488 >
2022-05-14 22:18:52 +00:00
Chia-I Wu
267786be60
freedreno/fdperf: make refresh rate configurable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16488 >
2022-05-14 22:18:52 +00:00
Chia-I Wu
cd42f63c43
turnip: let modifier takes precedence over TU_DEBUG=noubwc
...
TU_DEBUG=noubwc is not very usable on sway/xwayland where the wsi uses
modifiers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16507 >
2022-05-14 21:56:38 +00:00
Lionel Landwerlin
17fc7b20b1
anv: fix primitives generated queries values
...
Numbers in some situations are incorrect because we don't stall
properly before capturing the register value.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6412
Fixes: a468f26ca5 ("anv: implement VK_EXT_primitives_generated_query")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16505 >
2022-05-14 10:47:29 +00:00
Charmaine Lee
058823906e
svga: add svga_compile_shader helper function
...
This patch refactors common shader compilation code into a helper function
which will call the corresponding shader translation function according to
the shader IR type.
It also adds a function pointer for getting dummy shader for different
shader stages.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16501 >
2022-05-14 03:06:06 +00:00
Charmaine Lee
c291e685bc
svga: create svga_shader_info
...
This patch adds a new structure svga_shader_info which includes
shader info that is accessed outside of the shader translation
code. That's why it cannot be TGSI specific as we will later also
support NIR. This shader info structure, however, is derived
from the TGSI shader info or the NIR shader info.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16501 >
2022-05-14 03:06:06 +00:00
Charmaine Lee
ed77ac1eef
svga: add a helper function for common shader creation
...
This patch refactors common shader creation code into a helper function.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16501 >
2022-05-14 03:06:06 +00:00
Rajnesh Kanwal
65fce0f813
pvr: Fix argument comments in render job submission.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15709 >
2022-05-13 23:18:16 +00:00
Rajnesh Kanwal
d50418a4fc
pvr: Add vk_sync support and remove service winsys syncobjs interface.
...
Removing internal pvr_winsys_syncobj abstraction and porting
service winsys syncobj over to vk_sync_type.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15709 >
2022-05-13 23:18:16 +00:00
Jason Ekstrand
98cc4c3a20
nir: Use nir_shader_instructions_pass in nir_lower_input_attachments
...
This simplifies things a bit and also fixes metadata handling.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
a170448a18
nir: Put the builder first in lower_input_attachments helpers
...
This is more idiomatic.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
5410f4ee89
mesa/st: Use lower_indirect_var_derefs in st_nir_lower_builtin
...
Instead of having a special NIR helper for GL stuff, we can now use the
more generic helper and do so directly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
46a49df7b6
mesa/st: Check deref modes in lower_builtin_instr
...
This is a bit more robust and generally a better pattern as it works
even in the presence of incomplete deref chains on non-uniform variable
modes.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
627d58099c
mesa/st: Use nir_shader_instructions_pass for st_nir_lower_builtin
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
e16197c46e
nir: Add a var set version of lower_indirect_derefs
...
This version takes a set of variables and totally lowers indirects on
any variable in the set. We also rewrite the builtin_uniform version to
use the new helper internally.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Jason Ekstrand
c23b20d43a
nir: Preserve metadata if remove_dead_derefs makes no progress
...
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16482 >
2022-05-13 22:51:38 +00:00
Ken Johnson
a064e63e83
d3d12: Reduce cost of shader key comparisons
...
In drawing-command-heavy scenes, d3d12 is sometimes CPU-bound here.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16463 >
2022-05-13 20:56:04 +00:00
Greg Depoire--Ferrer
6c1acd9301
zink: fix crash on dlclose when zink_internal_create_screen failed
...
When zink_internal_create_screen fails, it forgot to destroy the
flush queue but still deallocated the memory for it. Then the
automatic destructor that runs when library is unloaded was accessing
freed memory and crashing.
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15071 >
2022-05-13 19:35:11 +00:00
Greg Depoire--Ferrer
969dfabc77
util/queue: handle thread cration failure in util_queue_adjust_num_threads
...
If a thread cannot be created, make sure the num_threads field is
updated to reflect the actual number of threads.
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15071 >
2022-05-13 19:35:11 +00:00
Greg Depoire--Ferrer
d3bef6ba73
lavapipe: check for error when initializing lvp_queue
...
When lvp_queue_init fails, propagate the failure to the caller.
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15071 >
2022-05-13 19:35:11 +00:00
Greg Depoire--Ferrer
ba2f5cb20a
zink: check for error when initializing util_queue
...
When the call to util_queue_init indicates a failure, handle it by
disabling the associated feature (disk cache and thread dispatch) and
telling the user about it.
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15071 >
2022-05-13 19:35:11 +00:00
Greg Depoire--Ferrer
9ed34cf9ff
util/queue: add missing space to comment in util_queue_destroy
...
Signed-off-by: Greg Depoire--Ferrer <greg.depoire@gmail.com >
Reviewed-By: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15071 >
2022-05-13 19:35:10 +00:00
Marek Olšák
39800f0fa3
amd: change chip_class naming to "enum amd_gfx_level gfx_level"
...
This aligns the naming with PAL.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Pierre-Eric Pellou-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16469 >
2022-05-13 14:56:22 -04:00
Samuel Pitoiset
6dcf7f651f
radv: advertise VK_EXT_image_2d_view_of_3d
...
This pass new dEQP-VK.pipeline.*.image_2d_view_3d_image.*.
This should also fix a GPU hang with Deus Ex: Mankind Divided and Zink.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16294 >
2022-05-13 17:53:25 +00:00
Samuel Pitoiset
3dc86e4080
radv: implement VK_EXT_image_2d_view_of_3d
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16294 >
2022-05-13 17:53:25 +00:00
Samuel Pitoiset
6d53922863
radv,aco: add a workaround for binding 2D views of a 3D image on GFX9
...
The hardware can't bind a slice of a 3D image as a 2D image, GFX10+
introduced ARRAY_PITCH to allow this without a shader workaround.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16294 >
2022-05-13 17:53:25 +00:00
Connor Abbott
05329d7f9a
tu: Implement pipeline caching with shared Vulkan cache
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
43981f0f58
tu: Include turnip debug flags in pipeline cache UUID
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
d023ae4686
tu: Rewrite cache UUID based on radv
...
Switch to using sha1 so that we can add as many other flags as we need
to easily.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
410d59943d
tu: Hash pipeline layout contents
...
Mostly adapted from anv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
3e3f8b1639
ir3: Add ir3_shader_create_variant()
...
This is similar to ir3_shader_get_variant(), but always compiles the
variant from scratch and returns a variant that's owned by the user
rather than the shader. We'll need this because when variants are stored
in the Vulkan pipeline cache they will outlive their shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
ea646ac9af
ir3: Support disabling the pipeline cache
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
c7a6293635
ir3: Add functions to serialize variants
...
This will be used by turnip to create free-floating variant objects that
integrate into the Vulkan cache system.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
ceae844794
ir3: Remove ir3_shader_variant::shader
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
91160dab97
tu: Keep original blit shaders separately
...
We won't be able to access them once the ->shader link is gone.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
69f5be8bad
ir3: Add ir3_shader_variant::compiler
...
And replace uses of ->shader->compiler.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
4509b49fb8
ir3: Allocate disasm_info under variant
...
This shouldn't matter much because it gets stolen later, but the shader
is going away.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
21e3dd57d3
ir3: Use ir3_shader_variant::type more often
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
f45c86dfb7
ir3, fd, tu: Copy misc. info from ir3_shader to ir3_shader_variant
...
The shader won't be available for deserialized variants, so we need to
include all the info we need for compiling variants to be in the
variant. Most of the things we dug out of the shader were various bits
from nir_shader_info which we move into ir3_shader_variant.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
3e30608ceb
ir3, freedreno, tu: Make ir3_shader_variant store stream_output
...
This reduces the number of uses of ir3_shader which will be gone when we
deserialize the variant directly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Connor Abbott
3cad11d84a
tu: Delete unused tu_clear_blit GS handling
...
This has been unused for a while since we switched to writing the
array index in the VS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16147 >
2022-05-13 17:07:05 +00:00
Erik Faye-Lund
693c723211
zink: use run-time linking to loader
...
This makes Zink no longer have the vulkan-loader in the import-table,
which can prevent opengl32.dll on Windows from loading on systems
without the loader installed.
Acked-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Erik Faye-Lund
56e9ccce7b
zink: dynamically load a few functions
...
These functions are used in a bit of a limbo-situation; we haven't yet
loaded the dispatch-table yet, because we have no instance yet. So let's
instead load them directly from the loader when we need them.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Erik Faye-Lund
d91cb5cbcc
zink: pass screen to zink_create_instance
...
This allows us to pass in some more details, like handles to the
loader-library to avoid a hard dependency.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Erik Faye-Lund
4654a57bb5
zink: call vk-functions through dispatch-table
...
This is going to make it possible to avoid linking directly to the
vulkan-loader.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Erik Faye-Lund
1b6ed06527
zink: initialize dispatch-table before queue-init
...
This matters in the next patch, where we call vk-functions through the
dispatch-table instead.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Erik Faye-Lund
9e9ead2c15
zink: pass screen to extension getter macro
...
This is just prep-work to reduce the size of the final commit; this
allows us to store the extension-getter function in the screen object.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550 >
2022-05-13 16:23:41 +00:00
Juan A. Suarez Romero
57293dee2b
v3dv: check BO mapping result
...
Addresses error handling issue detected by Coverity.
Fixes: 89eb0ac23d ("v3dv: implement vkGetPipelineExecutableInternalRepresentationsKHR")
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/16495 >
2022-05-13 15:56:34 +00:00
Juan A. Suarez Romero
7edb26966e
v3d: add builtin support for white/black clamp-to-border
...
Besides transparent border color, the hardware has special support for
white and black borders when clamping to border is enabled, which should
be more efficient.
v2:
- Rename enumerations (Iago)
- Add comment to border_color_variant field (Iago)
- Refactor the sampler variant code selection (Iago)
v3:
- Add comment for case of not clamping to border (Iago).
- Generate only required sampler states (Iago).
v4:
- Use one array element for standard border color set (Iago).
v5:
- Fix variant setting for transparent black borders (Iago).
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/16422 >
2022-05-13 15:37:05 +00:00
Victor Hermann Chiletto
580046e49f
radv: always check entry count in descriptor pool when allocating
...
Previously this check was skipped for pools with
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT unset, but after
96a240e1 we need to check this otherwise we risk overflowing
radv_descriptor_pool::entries into the host memory base
This fixes a crash to desktop when launching Dota 2, which overallocates
descriptor sets and expects an error to allocate another descriptor pool
Fixes: 96a240e176 ("radv: fix memory leak of descriptor set layout")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16490 >
2022-05-13 15:17:59 +00:00
Timothy Arceri
622e2ae08a
svga: remove duplicate nir compile options
...
In a later merge request to remove the old GLSL IR loop unrolling
code we will add two additional compiler options stucts here. This
commit helps to avoid duplication getting out of hand.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16489 >
2022-05-13 15:09:42 +00:00
Pierre-Eric Pelloux-Prayer
d4e4aa997a
radeonsi: store shader variants in an array
...
Instead of storing them in a linked list, put them in an array
in si_shader_selector. The keys are also stored separatly, to
avoid pointer chasing when searching a variant in si_shader_select_with_key.
This main point here is to simplify the code by storing everything
in the selector instead of splitting the list storage between the selector
and the shaders; this shouldn't affect performance in a meaningful way.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16273 >
2022-05-13 14:40:56 +00:00
Pierre-Eric Pelloux-Prayer
e549b6fe42
radeonsi: scale the number of shader compiler threads
...
Instead of spawning all the threads on startup.
This speeds up short lived programs (eg: piglit runs duration is reduced by ±25%),
avoid wasting resources and still make use of multi-threaded capabilities.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16273 >
2022-05-13 14:40:56 +00:00
Pierre-Eric Pelloux-Prayer
b75b9d5cb4
radeonsi: remove unused params from si_shader_select_with_key
...
thread_index is always -1, optimized_or_none is always false.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16273 >
2022-05-13 14:40:56 +00:00
Pierre-Eric Pelloux-Prayer
7357ce19a2
util/u_queue: rework UTIL_QUEUE_INIT_SCALE_THREADS to scale faster
...
The original code waiting for the queue to be full before adding more
threads. This makes the thread count grow slowly, especially if the
queue also uses UTIL_QUEUE_INIT_RESIZE_IF_FULL.
This commit changes this behavior: now a new thread is spawned if we're
adding a job to a non-empty queue because this means that the existing
threads fail to process jobs faster than they're queued.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16273 >
2022-05-13 14:40:56 +00:00
Samuel Pitoiset
76356ed208
aco: remove unreachable code about viewport index/layer and mesh shaders
...
If the mesh shaders exports the viewport index or the layer, the value
can't be NULL, and it should be implicitly zero.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16438 >
2022-05-13 14:01:54 +00:00
Samuel Pitoiset
27f1da8215
radv,aco: do not implicitly export the primitive ID for mesh shaders
...
From the Vulkan spec:
"VUID-VkGraphicsPipelineCreateInfo-PrimitiveId-06264
If the pipeline is being created with pre-rasterization shader
state, it includes a mesh shader and the fragment shader code
reads from an input variable that is decorated with PrimitiveId,
then the mesh shader code must write to a matching output variable,
decorated with PrimitiveId, in all execution paths"
So, if PS uses PrimitiveID, MS must export it (like GS).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16438 >
2022-05-13 14:01:54 +00:00
Martin Roukala (né Peres)
b043cbc72b
radv/ci: reduce the execution timeout
...
We currently default to 4h of execution time, but this is unnecessary
on all our platforms. Tighten it to 45 minutes per run, and overall of
1.5h to allow for restarts.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16472 >
2022-05-13 13:30:48 +00:00
Martin Roukala (né Peres)
815d192c7b
radv/ci: reboot the DUTs when hitting a ring timeout
...
I am not super happy about doing this, as this means we will
potentially be introducing regressions because CI would have papered
over a rare race condition... But the situation is that this is already
happening, and improving the reliability will likely come from tracking
the occurence rate of hangs in an external system.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16472 >
2022-05-13 13:30:48 +00:00
Marcin Ślusarz
1542ab70eb
anv: handle primitive shading rate for mesh
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16030 >
2022-05-13 13:05:51 +00:00
Marcin Ślusarz
9acb30c8c4
intel/compiler: implement primitive shading rate for mesh
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16030 >
2022-05-13 13:05:51 +00:00
Juan A. Suarez Romero
f575b0d7b5
v3d: add hook to get on-disk shader cache
...
This allows to support at least one binary format in
GL_ARB_get_program_binary extension.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16433 >
2022-05-13 12:46:45 +00:00
Marek Olšák
29965f356b
ac: replace 5 ac_shader_abi::load_* callbacks with 1 intrinsic_load callback
...
This merges them into si_llvm_load_intrinsic and reuses load_tess_varyings.
RADV only implemented 1 callback.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:45:31 -04:00
Marek Olšák
535d954914
radeonsi: try to group stage-specific code in si_llvm_translate_nir
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:45:31 -04:00
Marek Olšák
2b7906ea74
radeonsi: get rid of the ambiguous "prologue" word
...
It has nothing to do with our "prolog" shader parts.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:45:31 -04:00
Marek Olšák
4118717cba
radeonsi: cleanups getting rid of the ambigous "epilogue" word
...
It has nothing to do with our "epilog" shader parts.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:44:57 -04:00
Marek Olšák
dc81f0ba46
ac/llvm: remove ac_shader_abi::emit_outputs
...
it's called last in ac_nir_translate, so call it in the caller.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:44:57 -04:00
Marek Olšák
9a8413aaea
radeonsi: inline si_nir_build_llvm
...
it always returns true
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16467 >
2022-05-13 06:44:57 -04:00
Marcin Ślusarz
aa1c128b54
anv: disable streamout before emitting mesh shading state
...
Fixes tests which use secondary command buffers.
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marcin Ślusarz
29a778fa6b
intel/compiler: print name of the unhandled intrinsic
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marcin Ślusarz
f083df8710
anv: update task/mesh distribution with the recommended values
...
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marcin Ślusarz
65ff6932dc
intel/compiler: handle gl_Viewport and gl_Layer in FS URB setup
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marcin Ślusarz
040062df41
intel/compiler: handle VARYING_SLOT_CULL_PRIMITIVE in mesh
...
It's needed for gl_MeshPerPrimitiveNV[].gl_ViewportMask
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marcin Ślusarz
7446acf4b4
compiler: add VARYING_SLOT_CULL_PRIMITIVE
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16493 >
2022-05-13 09:43:02 +00:00
Marek Olšák
2a1c711052
ac/llvm: skip s_barrier if tess patches don't cross a wave boundary
...
If tess patches are wholly in one wave, "s_waitcnt lgkm(0)" is sufficient.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
59673001c8
radeonsi: add si_get_tcs_epilog_key
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
20bb85e2ec
ac/llvm: fix the remaining s_barriers for LLVM 15
...
LLVM 15 doesn't insert s_waitcnt before barriers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
b48d183633
ac/llvm: move the gfx6 optimization for TCS barriers into ac_build_s_barrier
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
e4882d6b7e
ac/llvm: add gl_shader_stage parameter into ac_build_s_barrier
...
this will be used later
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
fb51a3c4b0
ac/llvm: replace LLVMBuildFence with ac_build_waitcnt(VSTORE)
...
No change in LLVM IR.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
bed91084c8
ac/llvm: inline emit_membar
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
8d4c0197c3
radeonsi: wait before s_barrier in TCS epilog to fix LLVM 15
...
Only LGKM is needed here.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Marek Olšák
9a592608cb
ac/llvm: implement memory_barrier_tcs_patch properly to fix LLVM 15
...
because LLVM 15 doesn't insert s_waitcnt before s_barrier.
Now, control_barrier shouldn't add any waits because memory_barrier is
responsible for it, so remove the wait.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16304 >
2022-05-13 09:15:20 +00:00
Yonggang Luo
790d2bbe67
st: Improve _mesa_error about GL_OUT_OF_MEMORY in st_cb_texture.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16453 >
2022-05-13 08:25:47 +00:00
Pavel Ondračka
23dfae4c81
r300: fix vertex shader control flow in loops
...
This fixes 7 loop piglit tests when loop unrolling is disabled.
The problem is that we were trying to be smart with breaks and
tried to save one predicate instruction for endif in some cases.
This worked for simple loops but brought problems for more complex
shaders, instead just switch to standard VE_PRED_SNEQ_PUSH
ME_PRED_SET_POP combo everywhere.
Shader-db results on RV530 show three hurt glmark tests, however
I believe the simplification should be worth it.
total instructions in shared programs: 123715 -> 123718 (<.01%)
instructions in affected programs: 54 -> 57 (5.56%)
total predicate in shared programs: 118 -> 121 (2.54%)
predicate in affected programs: 6 -> 9 (50.00%)
total temps in shared programs: 17304 -> 17307 (0.02%)
temps in affected programs: 12 -> 15 (25.00%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6468
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip.gawin@zoho.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16470 >
2022-05-13 08:15:15 +00:00
Vadym Shovkoplias
46b135738b
drirc: Set limit_trig_input_range option for the Wolfenstein Youngblood
...
One of the fragment shaders passes large values to sin() function that
causes some blinking artifacts on Intel. This workaround limits the input
range for sin() to [-2*pi : 2*pi] to have better precision.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6452
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16388 >
2022-05-13 06:47:53 +00:00
Vadym Shovkoplias
55c71217ec
driconf: Add a limit_trig_input_range option
...
With this option enabled range of input values for fsin and fcos is
limited to [-2*pi : 2*pi] by calculating the reminder after 2*pi modulo
division. This helps to improve calculation precision for large input
arguments on Intel.
-v2: Add limit_trig_input_range option to prog_key to update shader
cache (Lionel)
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16388 >
2022-05-13 06:47:53 +00:00
Guilherme Gallo
0ff3517fb7
ci/lava: Make job submitter parse the job result
...
Currently, the LAVA job submitter fetches the job results from the LAVA
XMLRPC call, but that is not necessary, as the job result is easily
found in the logs. E.g. the bare-metal and poe jobs uses that log to set
the final job status of their runs.
Another reason for the change is that the LAVA signals are not reliable
in some devices with one serial port, causing some troubles in a618
recently. So, if one signal fails to be sent/received, the job will
ultimately fail even when the hwci script has been successful.
Fixes : #6435
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16425 >
2022-05-13 02:17:32 +00:00
Mike Blumenkrantz
1c62c6bafd
zink: remove implicit query resets
...
this existed in order to reset query pools in advance so they
would never overflow. now the pools are reset every time the query
is started, so this behavior is no longer necessary
fixes #6475
Fixes: 57dd05616f ("zink/query: rewrite the query handling code to pass validation.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16484 >
2022-05-13 00:58:36 +00:00
Charmaine Lee
d7c4a1beb4
svga: fix clip distance shadow copy writemask
...
Fix clip distance shadow copy writemask as the shadow copy
includes clip distances to all clip planes whether enabled or not.
Fixes spec@glsl-1.30 @execution@interpolation@interpolation-*distance
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16481 >
2022-05-12 22:42:14 +00:00
Rob Clark
7292b35da0
freedreno/devices: Add another SKU
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16477 >
2022-05-12 22:12:24 +00:00
Rob Clark
a31c34e0d6
freedreno/drm/virtio: Don't try to mmap imported bo's
...
Previously it would fail, and then we'd fall back to the transfer path
for things like readpix. But it would spam logcat w/ bo_mmap fail
messages. Since gralloc allocated buffers for GPU usage are allocate
without _USE_MAPPABLE, let's just assume we can't map imported bo's.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16477 >
2022-05-12 22:12:24 +00:00
Rob Clark
62f3e703c8
freedreno/drm: Use DEBUG_GET_ONCE_OPTION()
...
In particular this uses os_get_option() so the android setprop fallback
works.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16477 >
2022-05-12 22:12:24 +00:00
Kenneth Graunke
ad537edc7c
anv: Fix INTEL_DEBUG=bat on XeHP
...
We no longer emit STATE_BASE_ADDRESS in every batch on XeHP, so the
decoder might not know what the various base addresses are if it's only
looking at a single batch. Fortunately, they also never change, so we
can just emit them once here.
On earlier platforms, initializing them here should be harmless. We'll
emit STATE_BASE_ADDRESS if we change them, which will update these.
Thanks to Iván Briano for catching this.
Fixes: 8831cb38aa ("anv: Stop updating STATE_BASE_ADDRESS on XeHP")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16287 >
2022-05-12 11:10:25 -07:00
Georg Lehmann
bc5c68fc08
nir/opt_algebraic: Optimize Doom Eternal's word extract by LSB.
...
Foz-db GFX10_3:
Totals from 419 (0.31% of 134913) affected shaders:
CodeSize: 4126032 -> 4121756 (-0.10%)
Instrs: 783608 -> 782541 (-0.14%)
Latency: 7889664 -> 7888521 (-0.01%); split: -0.02%, +0.00%
InvThroughput: 1315690 -> 1314863 (-0.06%); split: -0.06%, +0.00%
VClause: 11826 -> 11830 (+0.03%)
SClause: 27736 -> 27734 (-0.01%)
Copies: 50493 -> 50428 (-0.13%); split: -0.13%, +0.01%
PreSGPRs: 23264 -> 23265 (+0.00%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16436 >
2022-05-12 17:10:41 +00:00
Danylo Piliaiev
9a11ad7efd
tu: Fix indices of drm_msm_gem_submit_cmd when filling them
...
For some reason CTS doesn't trigger the issue...
When submit entry is not filled - kernel says:
[drm:msm_ioctl_gem_submit] *ERROR* invalid type: 00000000
Fixes: dbae9fa7d8
("tu: implement sysmem vs gmem autotuner")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16474 >
2022-05-12 16:44:09 +00:00
Samuel Pitoiset
07954a8fd6
aco: only retrieve the scratch offset when it's declared
...
This allows to run most of the fossils we have right now. I will fix
up scratch in upcoming patches.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
5a119f15aa
radv,aco: export alpha-to-coverage via MRTZ on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
b6ba4cb407
aco: do not set COMPR for exports but use 0x3 channel mask on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
a6e1445d5f
aco: do not set RESOURCE_LEVEL for buffer descriptors on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
7647097d3d
aco: update waitcnt on GFX11
...
Not sure if the vmcnt field can use more than 0x3f bits.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
765aa36b9d
aco: update LDS allocation granularity for PS on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
a284b677ba
aco: do not set GLC stores on GFX11
...
It has no effect.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
eea15d6706
aco: do not set DLC for loads on GFX11
...
It means something different.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
bc8da20dda
aco: export MRT0 instead of NULL on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
42ef89e8db
radv,aco: use the new TCS WaveID SGPR to compute vs_rel_patch_id on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
432cde7f00
radv,aco: add support for packed threadID VGPRs on GFX11
...
Thread ID are packed in one VGPR with 10 bits each.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
52952f51cd
aco: do not align VGPRS to 8 or 16 on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Samuel Pitoiset
0cb1b12ec0
aco: recognize GFX11 in few places
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369 >
2022-05-12 15:46:20 +00:00
Konstantin Seurer
1245ca8c8d
radv: Advertise indirect ray tracing
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Konstantin Seurer
81745da51f
radv: Implement vkCmdTraceRaysIndirectKHR
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Konstantin Seurer
b30f96dd93
radv,aco: Use ray_launch_size_addr
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Konstantin Seurer
7a8063a4fa
radv: Indirect unaligned dispatches
...
Closes : #6251
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Konstantin Seurer
47f625dcae
radv: Allow indirect dispatches without bo
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Konstantin Seurer
938c9d9615
nir: Add a ray launch size addr intrinsic
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15712 >
2022-05-12 15:04:31 +00:00
Samuel Pitoiset
b5b2bcab54
radv: disable DCC for Senra Kagura Shinovi Versus
...
To workaround an issue with feedback loops in D3D9 with DCC in GENERAL,
until we can fix it properly with a new extension.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6469
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16452 >
2022-05-12 14:43:13 +00:00
Rajnesh Kanwal
e8ed0e4984
pvr: Add support to create transfer context and setup required shaders.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16451 >
2022-05-12 12:38:48 +01:00
Rajnesh Kanwal
f88d1fbdbd
pvr: Add services winsys transfer context support.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16451 >
2022-05-12 12:38:48 +01:00
Rajnesh Kanwal
ad7f494a1c
pvr: Setup common nop shader.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16451 >
2022-05-12 12:38:48 +01:00
Rajnesh Kanwal
c2aa3acf7e
pvr: Change phase_rate_change type to bool from uint32_t.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16451 >
2022-05-12 12:38:48 +01:00
Rajnesh Kanwal
eaa5d37161
pvr: Remove double error reporting in error path.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16451 >
2022-05-12 12:38:48 +01:00
Jason Ekstrand
5ef9bd5ff2
panvk: Round FillBuffer sizes down to a multiple of 4
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
ad05bc9315
panvk: Drop panvk_descriptor
...
The API-style representation of descriptors is no longer used by
anything so let's get rid of it. All we really need is the data in the
descriptor set itself.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
d783f8949e
panvk: Implement descriptor copies properly
...
All we were doing was copying panvk_descriptor structs around which
don't actually contain data that's used by anything interesting. We
need to copy the actual data arround. Annoyingly, that means we need a
descriptor copy function per descriptor type. Woo!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
f6268220c2
panvk: Set immutable samplers properly up-front
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
935fd18bc3
panvk: Rewrite the write portion of vkUpdateDescriptorSets
...
The new design is based on the ANV code which I massively cleaned up
some time ago. Each descriptor type has a write function and they have
consistent prototypes. This makes it all much easier to read and figure
out what's going on. It also makes it easier to make changes going
forward because you aren't re-plumbing function arguments if you ever
change the type of data in any given descriptor type. You just change
the write function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
53f53b577f
panvk: Re-arrange descriptor set functions
...
Put them in the order we call them which is also roughly descriptor type
enum order.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
28333e039c
FIXUP: Use 16-bit things for texture sizes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
38a0742f6a
panvk: Implement texture/image queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
714e125ae4
pavnk: Pass bind layouts to texture and image descriptor helpers
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
6ed298dce7
panvk: Add an elems field to panvk_buffer_view
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
6621ab8bf9
panvk: Advertise VK_KHR_variable_pointers
...
Now that our SSBO descriptor handling code no longer craws deref chains
back to the variable, we should be handling variable pointers properly.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
d9f9955f9e
panvk: Enable robustBufferAccess
...
It should already work for UBOs. This should do everything we need for
SSBOs. Not sure about vertex and index buffers but we can deal with
those later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
6899cd2b6e
vulkan: Start collecting enabled features in vk_device
...
We're not trying to make this 100% complete. For now, all we care about
is robustBufferAccess.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
a463c58e22
panvk: Put SSBO addresses in the descriptor buffer
...
Instead of storing SSBO pointers in the very limited sysval space, store
them in the UBO we've attached to the descriptor set. This gives us a
virtually unlimited number of SSBOs. Dynamic SSBOs still live in the
sysval space so we can update them as part of vkCmdBindDescriptorSets().
Also, the new code (based on the code in ANV) loads those SSBO addresses
in a way that never chases the deref chain back to the variable so we
should now be able to handle all of variable pointers. The code as
written in this patch is a bit overly generic because it switches on
address modes a bit more than panvk needs but we ended up needing all
that flexibility in ANV so we may as well leave hooks for it in panvk.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
e265583ee1
panvk: Interleave UBOs with multiple descriptor sets
...
The original intention was to put all the non-dynamic UBOs first
followed by all the dynamic ones. However, we got the calculations
wrong and, once you went above one descriptor set, things start stomping
each other.
Also, the whole strategy is a bit busted. Vulkan pipeline layout
compatability rules say that it's ok to create a pipeline with one
layout and then bind with another so long as the bottom N descriptor set
layouts match and the pipeline uses at most N descriptors. This means
that, while it's safe to have each subsequent set add onto a given pool
of descriptors, if you're going to combine two of those pools, you need
to be careful that the position of descriptors in set N only depends on
the layouts of sets M <= N. The easy way to do this is to interleve
where we do the UBOs for set 0 then dynamic for set 0 then UBOs for set
1 then dynamic for set 1, etc.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
6d15d65e19
panvk: Put the sysval and push const UBOs at fixed indices
...
In theory, this may cost us a tiny bit of descriptor space but in
practice, given that the viewport transform is a sysval, we'll always
need it for 3D and given that SSBO pointers live there, we'll basically
always need it for compute. It also makes a lot of things simpler.
We're about to start using the sysval UBO directly in our descriptor set
code and knowing the index up-front is really nice.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
744b977963
panvk: Stop calling lower_uniforms_to_ubo
...
We don't need it because Vulkan doesn't have GL-style uniforms. It
*shouldn't* be doing anything but sometimes it inserts an extra UBO
binding and adds 1 to all our UBO indices for no good reason.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
c32ddb5e77
panvk: Use a flat sysvals struct
...
PanVK uses fewer sysvals than the GLES driver, as some data that would
be a data in GLES is instead part of the descriptor set or the pipeline
state in Vulkan. Therefore, it is simpler and more efficient to use a
flat, fixed layout provided by the driver for our sysvals, rather than
the compiler choosing a layout.
This commit switches to a flat sysval layout.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
e6091cc578
panvk: Get rid of the per-pipeline sysvals BO
...
This is a micro-optimization and probably not a correct one at that.
The cost involved in re-uploading the viewport is tiny compared to the
mental overhead from trying to do this juggle.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
f0a47d8602
bifrost,midgard: Allow providing a fixed sysval layout
...
Vulkan doesn't need nearly as many system values and would like to bake
its layout up-front instead of having it provided by the back-end
compiler.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:16 +00:00
Jason Ekstrand
e07a296398
panfrost: Add some sanity checking for sysvals
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:15 +00:00
Jason Ekstrand
4e60f0655a
panfrost,panvk: Make fixed_sysval_ubo < 0 mean compiler-assigned
...
In 3559efb9bf ("panfrost: Allow passing an explicit UBO index for the
sysval UBO"), an explicit UBO index was added and it was implicitly
assumed that it would be > num_ubos. This was convenient because it
meant 0, the default for designated initializers, implicitly meant
compiler-assigned. However, we're about to move the sysval UBO to 0
which breaks this assumption. Also, we don't want the back-end
compiler to even look at num_ubos since it's meaningless in Vulkan.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:15 +00:00
Jason Ekstrand
42aca84704
panvk: Add a buffer to each descriptor set
...
Later in the series, we will map descriptor sets to driver-internal
buffers bound as UBOs. These buffers will contain various internal data,
like buffer and texture sizes. Resource access will be lowered to pull
from this UBO in the shader. To prepare, create a backing buffer when
creating descriptor set and emit a UBO record so we can bind it.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:15 +00:00
Jason Ekstrand
bcea5ed2b6
panvk: Break descriptor lowering into its own file
...
It's about to get a lot more complicated so let's split it out.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:15 +00:00
Jason Ekstrand
8af805a475
panvk: Move CreateDescriptorSetLayout to per-arch
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16276 >
2022-05-12 10:53:15 +00:00
Jordan Justen
ad565f6b70
intel/dev: Enable first set of DG2 PCI IDs
...
Mostly Matt Roper's kernel patch commit message:
The IDs added here are the subset reserved for 'motherboard down'
designs of DG2. We have all the necessary support upstream to enable
these now.
The remaining DG2 IDs for add-in cards will be enabled in a future
patch once some additional required functionality has fully landed.
Ref: https://patchwork.freedesktop.org/patch/msgid/20220425211251.77154-3-matthew.d.roper@intel.com
Cc: 22.1 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16449 >
2022-05-12 03:03:57 -07:00
Jordan Justen
99354efe31
intel/dev: Add DG2 G12 PCI IDs
...
Ref: https://patchwork.freedesktop.org/patch/483381/?series=103098&rev=1
Ref: https://patchwork.freedesktop.org/patch/msgid/20220425211251.77154-3-matthew.d.roper@intel.com
Cc: 22.1 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16449 >
2022-05-12 03:03:57 -07:00
Jordan Justen
4456209ce5
intel/dev: Add INTEL_PLATFORM_DG2_G12
...
Cc: 22.1 <mesa-stable>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16449 >
2022-05-12 03:03:57 -07:00
Samuel Pitoiset
c9c74efb02
radv/winsys: allow to use RADV_FORCE_FAMILY=gfx1100
...
The bare minimum to play with fossils.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16446 >
2022-05-12 09:41:40 +00:00
Jason Volk
7a09499fa6
r600: Elide downloads for discarded and immutable compute memories.
...
Compute memory item demotion invokes a device to host transfer unconditionally,
but there are at least two cases where this is not necessary:
1. The item is mapped for discarding with PIPE_MAP_DISCARD_RANGE (e.g.
CL_MAP_WRITE_INVALIDATE_REGION).
2. The item cannot be written to by the device.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16116 >
2022-05-12 08:25:52 +00:00
Jason Volk
12a485dbf9
r600: Improve compute memory pool performance; reduce fragmentation.
...
The compute memory pool forced a defragmentation (a left-packing relocation)
of items prior to promoting (adding) items to the tail end of the pool.
This patch instead makes an initial pass over the fragmented pool intent on
promoting items back to where they may have been recently demoted, filling
in the gaps first before conducting the defragmentation (if at all).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16117 >
2022-05-12 08:15:19 +00:00
Jason Volk
6cc42bc0e7
r600: Fix userspace pointer support for evergreen compute.
...
Resources returned by r600_buffer_from_user_memory() are not compatible
with the evergreen compute memory pool, though they're added to it anyway.
This results in a segfault reproducible from Clover when the user passes
CL_MEM_USE_HOST_PTR.
This patch allows user_ptr resources to participate in the compute global
memory pool as intended. The result appears to finally allow for zero-copy
DMA out of userspace for anonymous pages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16114 >
2022-05-12 08:08:02 +00:00
Pierre-Eric Pelloux-Prayer
db2fd0ca83
amd: fix ac_build_mbcnt_add in wave32 mode
...
add_src was ignored and i32_0 was always used.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 1e49018ced ("amd: Add extra source to the mbcnt_amd NIR intrinsic.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16427 >
2022-05-12 07:46:04 +00:00
Pierre-Eric Pelloux-Prayer
1f31564607
radeonsi: don't use wave32 for GE on gfx10 if culling is used
...
This is a workaround for issue #6457 : it fixes the rendering and
prevent the hang but I can't explain why.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6457
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16427 >
2022-05-12 07:46:04 +00:00
Pierre-Eric Pelloux-Prayer
f8d205c400
radeonsi: fix gs_invocation query with NGG
...
When NGG is active, the GS invocation counter is always incremented, even
if there's no explicit GS.
Implementing the counter manually fixes it:
* in emit_gs_epilogue for the legacy path
* in gfx10_ngg_gs_emit_prologue for the ngg path
This fixes piglit's arb_query_buffer_object-qbo test.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
061f64f351
radeonsi/ngg: reuse the pipeline stats buffer when using atomics
...
To support PIPE_STAT_QUERY_GS_INVOCATIONS and PIPE_STAT_QUERY_GS_PRIMITIVES
being used at the same time we have to reuse the same buffer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
0cb6fd0b00
radeonsi/query: use the qbo correct size
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
58004dfcc9
radeonsi/test: update sienna_cichlid results
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
38e8a73e14
radeonsi: implement GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB in shaders
...
Statistics only work in non-NGG mode. If screen->use_ngg is true, we can't
know if the draw will actually use NGG or not, so this commit switch
to a shader based implementation of this counter.
To avoid modifying si_query, the shader implementation behaves like the hw
one: it uses the same buffer size and offset.
The emulation path activation in the shader is controlled by vs_state_bit[31].
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
bbaf4f1954
radeonsi: store the pipeline stats index
...
Will be used in later commits.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
637f09f10e
radeonsi: deduplicate query offsets
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
7f4ee4afab
gallium: deduplicate target -> stats index code
...
Now that target_to_index returns the correct index for
PIPE_QUERY_PIPELINE_STATISTICS we can use it in store_query_result instead
of duplicating the switch statement.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:11 +02:00
Pierre-Eric Pelloux-Prayer
3402c435f9
gallium: always return the correct pipeline stats index
...
Drivers with PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE = 0 shouldn't care
about the value of index, but radeonsi actually needs it in some situations.
So return the correct index instead of 0.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:10 +02:00
Pierre-Eric Pelloux-Prayer
9918a9a990
gallium: add a union to access queries counters
...
This allows to loop over counters easily.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:10 +02:00
Pierre-Eric Pelloux-Prayer
d3a5f411a3
radeonsi: implement pipeline stats workaround
...
DISABLE_INSTANCE_PACKING needs to be enabled when stats queries are
active to fix incorrect results.
We need to emit this for indexed and non-indexed draws.
Based on PAL's waDisableInstancePacking.
This fixes:
KHR-GL46.pipeline_statistics_query_tests_ARB.functional_primitives_vertices_submitted_and_clipping_input_output_primitives
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:10 +02:00
Pierre-Eric Pelloux-Prayer
283730f368
radeonsi: flush VGT streamout like PAL
...
Ported from 165b016bbe .
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15861 >
2022-05-12 09:16:10 +02:00
Mike Blumenkrantz
1126f42781
zink: fix sparse texture depth calcs for arrayed textures
...
use the array, not the depth
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Mike Blumenkrantz
452a028fc2
zink: remove misleading sparse comment
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Mike Blumenkrantz
56979182dd
zink: set sparse flag in cubemap lowering
...
Fixes: 2d745904ca ("zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Mike Blumenkrantz
377f5e7af9
zink: fix sparse binding for arrayed textures
...
this needs to set the arrayLayer, not the z offset
big thanks to Piers Daniell for catching this
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Mike Blumenkrantz
63dc39ac90
zink: clamp out min_lod operands for explicit lod ops
...
this is illegal (and nonsensical)
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Mike Blumenkrantz
88912b3111
zink: fix up sparse texture sampling for shadow samplers
...
the problem here is that this returns a vec2 instead of a vec5, which
throws all the existing calculations off
given that the shader is (still) expecting a vec2 return from this,
and there's no way to sanely rewrite with nir to be valid for both
sampler types as well as spirv translation, just pad out to a vec2
here and be done with it
Fixes: 73ef54e342 ("zink: handle residency return value from sparse texture instructions")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16456 >
2022-05-12 03:40:04 +00:00
Timothy Arceri
0f98ed4afe
nir: remove unreachable loop terminators
...
Remove the conditional break statements associated with all
terminators that are associated with a fixed iteration count,
except for the one associated with the limiting terminator.
This logic matches similiar functionality that exists in the
old GLSL IR unrolling code.
This change helps a piglit test pass on the r300 driver once
we switch off the old GLSL IR unrolling code.
Shader-db results IRIS (BDW):
total instructions in shared programs: 17538619 -> 17538595 (<.01%)
instructions in affected programs: 216 -> 192 (-11.11%)
helped: 3
HURT: 0
helped stats (abs) min: 7 max: 10 x̄: 8.00 x̃: 7
helped stats (rel) min: 10.00% max: 12.07% x̄: 11.38% x̃: 12.07%
total cycles in shared programs: 858674910 -> 858672810 (<.01%)
cycles in affected programs: 79540 -> 77440 (-2.64%)
helped: 3
HURT: 0
helped stats (abs) min: 620 max: 800 x̄: 700.00 x̃: 680
helped stats (rel) min: 2.45% max: 2.83% x̄: 2.63% x̃: 2.62%
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16399 >
2022-05-12 02:06:31 +00:00
Timothy Arceri
4c3d138e5d
nir: always set the exact_trip_count_unknown loop terminator property
...
Previously we only cared if this was set for the limiting
terminator. However in the following patch we will make use of this
information on other terminators to decide if we can eliminate them.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16399 >
2022-05-12 02:06:31 +00:00
Karol Herbst
e693e5e595
ntt: make use of new samplers_used field
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
50050f571e
ntt: Don't gather samplers_declared twice
...
Prior to scanning instrucitons, we initialize it based on variables. If
this is adding anything, we have a bug somewhere.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
515ed4f4f9
lavapipe: Set images_used in lvp_lower_pipeline_layout
...
This mirrors what we do for textures. Also, the current code is busted
because it sets it based on var->data.binding which
lvp_lower_pipeline_layout will change so it can get out-of-sync.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
c10b10942b
llvmpipe: Fill out samplers even if nr_samplers = 0
...
Coming in from Vulkan or OpenCL, it's possible for nr_samplers to be
zero if all we ever use is texelFetch(). Annoyingly, samplers and
sampler views are handled by the same function. Fortunately, it will
work if some of the samplers or sampler views are missing so we can just
pass the maximum.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
bbd5883c87
gallium/draw: Properly handle nr_samplers != nr_sampler_views in keys
...
First, make all key_size functions take nr_samplers and nr_sampler_views
separately so we ensure both get passed in. Second, rework the offset
helpers to take MAX(nr_samplers, nr_sampler_views) so we get the image
param offset correct if nr_samplers < nr_sampler_views. While we're
here, also re-order the size calculations to be in the same order as the
things land in memory.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
68f6b6cbdc
mesa/st: Set samplers_used in lower_tex_src_plane
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
cdeb55fc36
ttn: Set shader_info::samplers_used
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
9be50237d5
gallium: Set shader_info::samplers_used in pstipple_fs
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
3000ca360b
lavapipe: Set shader_info::samplers_used
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Jason Ekstrand
0a4c0bc0dd
clover: Set images/samplers_used when lowering images
...
Also, stop using BITSET_SET_RANGE_INSIDE_WORD for textures so we can
handle more than 32 of them.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16435 >
2022-05-12 01:32:58 +00:00
Emma Anholt
b282d504a4
turnip: Add a TU_DEBUG=perf debug option.
...
For doing performance investigation, I often find it useful to have a "are
we tripping over any of our performance TODOs?" flag, so add it and use it
in a few of the TODOs.
This also greatly cleans up the deqp-vk logs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16316 >
2022-05-12 01:00:25 +00:00
Timur Kristóf
0d0165db8e
radv: Print task shader stage name before disasm.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
8dbde92659
radv: Lower shared and task_payload variables in task/mesh shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
123d0b8a75
radv: Allow linking task shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
73c260594f
radv: Postprocess task shader configuration.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
c17c523ec0
radv: Use I/O lowering for task and mesh shaders.
...
We set the number of task shader ring entries in radv_device
based on the generous assumption that each CU can run task/mesh
shaders with maximum occupancy.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
6e8f3677c7
radv: Enable nir_opt_offsets for task shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
a8bdcf3c92
radv: Implement task shader intrinsics in the ABI.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
a8c1f10294
radv: Add task ring entry argument for mesh shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
b3ea6c6103
radv: Add task shader arguments.
...
Mostly the same as for compute shaders, but with a few extras:
task_ring_offsets:
Same as what ring_offsets is to graphics shaders.
Contains an address that points to a buffer that contains
the ring buffer descriptors.
task_ring_entry:
Index that can be used to address the draw and payload rings.
draw_id:
Same meaning as in graphics shaders.
task_ib_addr/task_ib_stride:
Indirect buffer address and stride from the draw calls.
These are used to emulate the firstTask feature of NV_mesh_shader.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
101a7321c4
radv: Fill task shader info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
c34aa78496
radv: Set wave size for task shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
988600e522
radv: Set user data register for task shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
bb71d1092b
radv: Add radv_pipeline_has_task helper.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
285d20d3c5
ac: Add task ring entry shader argument.
...
This is going to be used by both task and mesh shaders for
accessing the draw and payload ring buffers.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Timur Kristóf
7de3034897
ac/nir: Add I/O lowering for task and mesh shaders.
...
Task shaders store their output payload to VRAM where mesh
shaders read from. There are two ring buffers:
1. Draw ring: this is where mesh dispatch sizes and
the ready bit are stored.
2. Payload ring: this is where the optional payload
is stored (up to 16K per task workgroup).
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14929 >
2022-05-12 00:29:51 +00:00
Jason Ekstrand
df1876f615
nir: Mark negative re-distribution on fadd as imprecise
...
Otherwise, it would mutate `fneg(fadd(-0, 0))` into `fadd(0, -0)` which
isn't correct since -0 + (+0) = +0 + (-0) = +0.
This fixes the OpenCL contraction tests on Iris.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16041 >
2022-05-12 00:05:10 +00:00
Jason Ekstrand
62f0677223
iris: Set BindingTableEntryCount for compute shaders
...
This may slightly increase perf somewhere because the hardware can now
pre-cache binding tables. The real feature is that INTEL_DEBUG=bat now
dumps out surface states for compute.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15759 >
2022-05-11 23:47:08 +00:00
Charmaine Lee
55a4bdb52f
svga: workaround for unexpected double swizzle
...
SM5 requires swizzles for 64 bits alu source to be either .xyzw,
.xyxy, .zwxy, or .zwzw. If the swizzles are not in the valid pattern,
move the source according to the specified swizzle to a temporary register
first.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16464 >
2022-05-11 23:14:03 +00:00
Alyssa Rosenzweig
5cfae66cde
pan/bi: Ensure the end NOP isn't eliminated
...
Otherwise the lowering doesn't work.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
6d41a28a40
pan/bi: Support atomics on Valhall
...
Atomics on Valhall work basically the same as on Bifrost, however the
instruction selection is simplified as there are no clauses. Support the
simplified set of atomic instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
21900ec8b0
pan/bi: Handle shared/scratch on Valhall
...
There's no .seg modifier, so we have some easy lowering to do ourselves.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
b683a67328
pan/bi: Handle shared atomic exchange on Valhall
...
Need to lower the WLS into a segment addition, since the .seg modifier was
dropped on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
6e2b757bce
pan/bi: Preserve AXCHG.i32 destination
...
dEQP-GLES31.functional.image_load_store.2d.atomic.exchange_r32f_result
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
20f92871d8
pan/bi: Support image loads on Valhall
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
e53f44a4b8
pan/bi: Emit LEA_TEX on Valhall
...
As opposed to LEA_ATTR_TEX. In principle we could do this for Bifrost too, but
let's keep the Midgard compatible path for now.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Alyssa Rosenzweig
423773faa9
pan/bi: Don't analyze td on Valhall
...
The implementation is based on clauses, so it won't work on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16410 >
2022-05-11 21:57:13 +00:00
Autumn on Tape
d561279c7b
lavapipe: enable subgroup quad operations
...
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16340 >
2022-05-11 21:09:43 +00:00
Corentin Noël
2e3cf3a6a6
mesa: Make sure to fallback to handling the original choose texture format
...
It is possible for st_ChooseTextureFormat to return MESA_FORMAT_NONE when
samples is forced to 2. Always allow to fallback to the original case.
Fixes: 89c94502b6
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6441
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16432 >
2022-05-11 19:55:34 +00:00
Dave Airlie
24176cae55
aco: drop unused radv include
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
c44d5d61ce
aco: remove radv vs prolog key from aco internals.
...
This creates an aco specific key, and converts radv to it.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
04c07a2413
aco/radv: convert to aco shader info at the radv level.
...
This removes the radv shader info type from aco completely.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
199edce84d
aco/info: add some more fields.
...
These fields are also used in aco.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
8cfd8420ab
aco: convert vs and so info over to aco structs.
...
This renames the vs to vp (vertex pipeline) on the way past.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
3dba3458e9
aco: remove radv specific streamout info
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
9bd89af1bc
aco/info: reduce the gs ring info to what is needed.
...
Only one member was being used.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
87df607ff5
aco: move to a minimal aco shader info struct.
...
This should be kept to only things aco uses, and expanded when
radeonsi support is added. Things should be removed if lowered in NIR.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Dave Airlie
a2701bfdb8
aco: move info pointer to a copy.
...
This is just setup to move this to a different struct later.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16342 >
2022-05-11 19:07:11 +00:00
Georg Lehmann
29fbc88d6b
radv: Don't retile read-only images.
...
Avoid unnessecary work on FOREIGN queue release barriers. If we can't modify
the image there can't be a situation where we need to update the presentable
dcc data.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16371 >
2022-05-11 18:43:11 +00:00
Danylo Piliaiev
6bf4ae002a
pps: Open writable renderer node in DrmDevice::create
...
DrmDevice::create_all correctly opened the node with O_RDWR, while
DrmDevice::create was not, causing failure to create writable buffer.
Fixes pps-config on Freedreno.
Fixes: 1cc72b2aef
("pps: Gfx-pps v0.3.0")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16406 >
2022-05-11 15:41:28 +00:00
Jason Ekstrand
e4ad1b5b33
panvk: Advertise support for logicOp
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
25249e8be2
nir/lower_blend: Expand or shrink output variables as needed
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
7aec8db161
midgard: Handle FB fetch from non-vec4 output variables.
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
1d22465362
nir/builder: Add a nir_resize_vector helper
...
We're about to use this a couple of places.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
352e32e5ba
nir/builder: Add a nir_trim_vector helper
...
This pattern pops up a bunch and the semantics of nir_channels() aren't
very convenient much of the time. Let's add a nir_trim_vector() which
matches nir_pad_vector().
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
244b654de6
nir/lower_blend: Support SNORM and integer formats for logic ops
...
This fixes 158 of the dEQP-VK.pipeline.logic_op.* tests, once we turn
the feature on.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
730d2b7660
nir/lower_blend: Stop passing the whole options object around
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
dcfffdcad1
nir/lower_blend: Be more explicit about deref assumptions
...
Because we pull the RT from the variable location and use that to look
up formats, we need a constant RT index. To deal with arrays (possibly
of arrays), we would either need to handle array derefs (we don't today)
or we need to require the variables to be split into one variable per
RT. Given that we have to lower indirect derefs anyway (to get constant
indices), we may as well require the client to split output variables by
calling nir_lower_io_arrays_to_elements_no_indirect().
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Jason Ekstrand
885437d1a6
panvk: Call nir_lower_io_arrays_to_elements_no_indirects
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309 >
2022-05-11 14:47:33 +00:00
Martin Roukala (né Peres)
ac0a61e17b
ci/radv: remove amdgpu.gpu_recovery=0 from the kernel cmdline
...
This was set as an attempt to detect when the GPU got hung, and let
our hangcheck detect this issue and kill the run. This however has
not been working so well, so let's try without it.
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16423 >
2022-05-11 10:25:06 +00:00
Iago Toral Quiroga
c708da6e29
v3dv: expose VK_KHR_spirv_1_4
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16424 >
2022-05-11 09:12:27 +00:00
Iago Toral Quiroga
e981ed21e3
v3dv: expose VK_KHR_shader_float_controls
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16424 >
2022-05-11 09:12:27 +00:00
Danylo Piliaiev
187d3df52c
tu: Do not flush ccu in clear/blits during renderpass
...
For clear/blits ccu flush not only worse for perf, but also messes up
flush_bits when executed in a conditional set of commands.
We already don't flush for 3d blits.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6419
Fixes: 487aa807bd
("tu: Rewrite flushing to use barriers")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16352 >
2022-05-11 08:07:50 +00:00
Samuel Pitoiset
66888d5121
radv: remove useless check against nir_texop_samples_identical
...
nir_texop_samples_identical is lowered to
nir_texop_fragment_mask_fetch_amd earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16426 >
2022-05-11 06:55:21 +00:00
Marek Olšák
98ea2347a0
radeonsi: report more missing/broken texture formats as unsupported on gfx6-9
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16386 >
2022-05-11 06:21:11 +00:00
Marek Olšák
e4283708f0
radeonsi: report 10_10_10_2 scaled formats as unsupported on gfx6-9 as well
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16386 >
2022-05-11 06:21:11 +00:00
Dave Airlie
9775da1196
radv: optimised command buffer reset of vertex bindings.
...
This takes the buffer ptrs out of the struct, so they can be memset
separately and optimises the memset to be minimal for them.
Removing them from the struct avoids having to loop to clear them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16393 >
2022-05-11 05:19:38 +00:00
Dave Airlie
543d52a7a2
radv: only dirty line stipple when necessary.
...
Line stipple only cares if things changes to/from line strip.
Reduces overheads seen running pixmark volplosion with zink.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16393 >
2022-05-11 05:19:38 +00:00
Dave Airlie
b20bd9e0df
radv: cache the slab bo pointer in the pipeline.
...
Otherwise each emission has to pointer chase across cachelines.
Reduces overhead seen with zink on pixmark volplosion test.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16393 >
2022-05-11 05:19:38 +00:00
Dave Airlie
87f4252a51
zink: don't finish barriers cmd buffer if not used.
...
finishing has some cpu overhead, which if the cmd buffer isn't
going to be used is pointless. just let it get reset next time.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16393 >
2022-05-11 05:19:38 +00:00
Dave Airlie
57df27be5f
zink: avoid extra submits for empty wait cmdbufs.
...
This just avoids cpu overheads from processing that won't get used.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16393 >
2022-05-11 05:19:38 +00:00
Vinson Lee
997dc0a5e8
radeonsi: Move NULL check before dereference.
...
Fix defect reported by Coverity Scan.
Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking desc suggests that it may be
null, but it has already been dereferenced on all paths leading to
the check.
Fixes: 2f83dce059 ("radeonsi: don't report R64_*INT as a sampler format because it doesn't work")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16380 >
2022-05-11 04:55:35 +00:00
Dave Airlie
14b1ed1ce1
radeonsi: port tess ring calcs to the common helper.
...
This uses the common helper code to implement the tess ring sizing.
One question is if radeonsi should be using tess_offchip_ring_offset
in some places it's using tess_factor_ring_size?
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16415 >
2022-05-11 02:08:08 +00:00
Dave Airlie
17fcbd8742
ac: port radeonsi tess factor calculations to common code.
...
This was updated in
4e49a05e37 ("radeonsi: increase the tesselation factor ring size")
and
9fecac091f ("radeonsi/gfx11: scattered register deltas")
This will apply this to radv.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16415 >
2022-05-11 02:08:08 +00:00
Dave Airlie
d4c7ffc550
radv/ac: introduce a new common function for hs calcs.
...
This ports the radv code to the new ac code.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16415 >
2022-05-11 02:08:07 +00:00
Mike Blumenkrantz
d79c716331
zink: create images with modifiers any time there is an import handle
...
there's no way to pass in a plane offset otherwise, so this is necessary
in order to handle yuv imports
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
4eeabb59f5
zink: rebind resources for export as needed
...
exporting all resources breaks suballocation, so instead just use the
existing heuristics and then forcibly rebind resources as needed
for this functionality
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
4a19ebfafc
zink: add a LINEAR drm modifier if rebinding to add dmabuf export
...
this needs to have some kind of modifier, so be conservative here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
565bf8e45b
zink: force memory exports if dmabuf bind is specified
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
c03f6967cc
zink: fix conditional for modifier usage
...
the shared check here was inaccurate; if the resource has dmabuf
export, then use modifiers
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
5513597305
zink: add a bind flag to indicate a resource is exported as a dmabuf
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
8c1d9c7b74
zink: unset pipe_resource::next pointers when creating resource copies
...
this otherwise walks the chain and destroys all the resources
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
9aab9b4a1b
zink: always check for fb rebinds when starting renderpass
...
ensure the right image is being used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
17ac8e7604
Revert "zink: export fd info for all 2d images"
...
This reverts commit fda7371b4cfc5a15f2207f5165f3a8e14442a522.
this breaks suballocation
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
b978761385
zink: create a copy context for the screen on init
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
94d400d5af
zink: introduce copy contexts
...
this is for creating a context which is only used for copying images
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
afa4c402dd
zink: break out resource bind-adding into separate function for reuse
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
1c20688dcc
zink: add a flag to indicate whether a resource is exportable
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:38 +00:00
Mike Blumenkrantz
00591f3a99
zink: outdent some code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:37 +00:00
Mike Blumenkrantz
d474229ed1
zink: remove unused headers/struct members/linkage
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16252 >
2022-05-11 01:30:37 +00:00
Michael Skorokhodov
fd75be7986
glsl: Fix ir_quadop_vector validation
...
Some glcts tests have failed due to incorrect processing of `ir_quadop_vector` in
`ir_validation`. e.g:
`GLES31.functional.shaders.builtin_functions.integer.imulextended.int_highp_geometry`
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6461
Fixes: 23cde71b ("glsl: Stop lowering ir_quadop_vector.")
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16420 >
2022-05-10 23:53:33 +00:00
Benjamin Cheng
96a240e176
radv: fix memory leak of descriptor set layout
...
We need to be able to track the descriptor sets explicity to unref the
descriptor sets, otherwise these descriptor sets will not unref the
descriptor set layout it holds.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6222
Fixes: 66f7289d56
("radv: add reference counting for descriptor set layouts")
Tested-by: Jakob Bornecrantz <jakob@collabora.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15741 >
2022-05-10 23:18:56 +00:00
Mike Blumenkrantz
d4dce29faf
kopper: remove unused zink include
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16441 >
2022-05-10 22:42:19 +00:00
Daniel Schürmann
4875c82d2d
radv: call nir_lower_vars_to_ssa later
...
Totals from 599 (0.44% of 134913) affected shaders: (GFX10.3)
CodeSize: 1243732 -> 1240512 (-0.26%); split: -0.26%, +0.00%
Instrs: 223370 -> 222702 (-0.30%); split: -0.30%, +0.00%
Latency: 901762 -> 885446 (-1.81%); split: -1.81%, +0.00%
InvThroughput: 305546 -> 305536 (-0.00%)
SClause: 12690 -> 12554 (-1.07%); split: -1.13%, +0.06%
Copies: 23779 -> 23778 (-0.00%)
PreSGPRs: 17781 -> 17829 (+0.27%)
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5668 >
2022-05-10 22:20:54 +00:00
Daniel Schürmann
f8ee0efd04
radv: move two NIR passes out of tight optimization loop
...
nir_remove_dead_variables
nir_opt_shrink_vectors
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5668 >
2022-05-10 22:20:54 +00:00
Iván Briano
2e46f38902
anv: re-alloc push constants after secondary command buffers
...
If the secondary command buffer executed used push constants on a
different set of stages than the primary is using, we may end up not
reallocating them for the primary, getting misrender artifacts at best,
or a nice GPU hang at worst.
Fixes the tests from a CTS from the future:
dEQP-VK.dynamic_rendering.random.*
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16439 >
2022-05-10 21:56:49 +00:00
Adam Jackson
2a47c30ef9
dri: Remove what's left of utils.[ch]
...
Which is just moving the struct definition for __DRIconfigRec into
dri_util.h.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Adam Jackson
5eccb228ba
dri: Move dri{Get,Index}ConfigAttrib near their vtable
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Adam Jackson
66d25f96db
dri: Move driC{reate,oncat}Configs near their only caller
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Adam Jackson
4873b13aec
dri: move driQueryRendererIntegerCommon near its one caller
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Adam Jackson
6c546ece69
dri: Move driCopySubBufferExtension into drisw
...
drisw is the only consumer so rename things to make it a bit more
obvious.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Adam Jackson
abb0ea31ca
dri: Inline dri2InvalidateDrawable into its one caller
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16377 >
2022-05-10 21:25:57 +00:00
Charmaine Lee
742a873209
svga/nir: enable lower double option
...
There is no translation support for dfloor, mod, and pow
in svga_tgsi_vgpu10, just enable the lowering passes in the
nir compile option.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16412 >
2022-05-10 21:17:01 +00:00
Charmaine Lee
6253a23eff
svga/tgsi: add translation for DTRUNC
...
DTRUNC is not lowered in glsl-nir-tgsi path. Add the translation
in svga_tgsi_vgpu10().
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16412 >
2022-05-10 21:17:01 +00:00
Charmaine Lee
e73443b7a5
svga: enable PIPE_CAP_TGSI_TEXCOORD for vgpu10 and up
...
Revise commit 0d456315f9 to enable PIPE_CAP_TGSI_TEXCOORD for
vgpu10 and up only.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16434 >
2022-05-10 21:09:08 +00:00
Mike Blumenkrantz
705af4f95a
zink: ci updates
...
I don't know how !16167 made this pass, but no driver seems to be able to
pass this test, so ignore
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
8b8b580e42
docs: EXT_robustness2 for lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
5167750d5b
lavapipe: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
0cebb87025
lavapipe: set robustBufferAccess2 and robustImageAccess2
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
f5caaf2d75
gallivm: fix oob txf swizzling
...
this wasn't taking into account the format swizzle, returning broken
alpha values in most cases
Fixes: 0b6554ba6f ("gallivm,llvmpipe: handle TXF (texelFetch) instruction, including offsets")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Erik Faye-Lund
8c8d08a8b8
lavapipe: add support for null-descriptors from EXT_robustness2
...
Mike says this should be enough for full support, so let's see ;)
Nope, no robust image or buffer access implemented yet.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
6a219f318a
llvmpipe: always set ssbo data pointers for draw
...
skipping these would lead to reading the previously-set data if
a null buffer was set after a valid buffer
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
f1d1371e51
gallivm/draw: fix oob ubo reads
...
the first case in gallivm did no checking, so this was always going to be
broken, so instead just copy the now-correct ssbo logic
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
a51e83b74e
st/draw_feedback: set constant buffer stride
...
these shaders all do float-based reads, so using vec4 for robustness
checks breaks gallivm
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
49df9eeb9d
lavapipe: fix CmdPushDescriptorSetWithTemplateKHR with refcounting
...
this is a cmdbuf function, which means it gets enqueued, which means
the template can't be destroyed until the cmdbuf has finished using it
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
aa98a90265
gallivm: fix ssbo oob reads
...
this was checking (offset < size) when really it needs to be
(offset < size && extent < size && offset >= 0)
Fixes: 591899eedd ("gallivm/nir: Add a short circuit uniform-offset mode for load_ssbo/load_shared.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:09 +00:00
Mike Blumenkrantz
e339f65520
lavapipe: handle null samplerviews
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
8eae343401
lavapipe: tolerate NULL sampler-buffer view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
427cc8d55e
lavapipe: tolerate NULL image-buffer view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
aabf614f9b
lavapipe: tolerate NULL image view descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Erik Faye-Lund
bca9020b75
lavapipe: tolerate NULL UBO and SSBO descriptors
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137 >
2022-05-10 20:30:08 +00:00
Georg Lehmann
60c9a45562
nir/opt_algebraic: Simple xor/ishr optimizations.
...
The first pattern here removes the xor-swap pattern.
Foz-DB GFX10_3:
Totals from 305 (0.23% of 134913) affected shaders:
CodeSize: 1589040 -> 1585164 (-0.24%)
Instrs: 284344 -> 283375 (-0.34%)
Latency: 4205148 -> 4198472 (-0.16%); split: -0.16%, +0.00%
InvThroughput: 708745 -> 708739 (-0.00%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16411 >
2022-05-10 19:29:31 +00:00
Georg Lehmann
66e917fff6
nir/opt_algebraic: Fix mask in shift by constant combining.
...
The comment above is correct, but the code to calculate the mask was broken.
No Foz-db changes outside of noise.
Fixes: 0e6581b87d ("nir/algebraic: Reassociate shift-by-constant of shift-by-constant")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15990 >
2022-05-10 18:47:21 +00:00
Timur Kristóf
81ad8c4979
radv/amdgpu: Use scheduled dependency for submitting to multiple queues.
...
This code path will be used on kernels that don't have the
"gang submit" feature in amdgpu yet.
It does each submission separately, and uses scheduled dependencies
to connect them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
03b3344a7c
radv/amdgpu: Pass correct struct type instead of repeating the cast.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
da2ab1d8a2
radv/amdgpu: Pass new queue submit info structure to internal function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
05c372ca5e
radv/amdgpu: Initialize semaphore info with a designated initializer.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
2226736033
radv/amdgpu: Group queue submit info into a structure.
...
This prepares RADV for submitting to multiple queues at the same time.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16361 >
2022-05-10 18:20:24 +00:00
Timur Kristóf
27c4d8d5fa
ac/llvm: Remove now-superfluous intrinsics and ABI callbacks.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
f553076eaf
aco: Remove now-superfluous intrinsics.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
212f183c1f
ac/nir: Remove now-superfluous ac_nir_lower_tess_to_const.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
896a55f47d
radv: Lower ABI in NIR for tess/ESGS/NGG shader arguments.
...
Totals from 58720 (45.64% of 128653) affected shaders:
VGPRs: 2056576 -> 2056568 (-0.00%)
CodeSize: 153906488 -> 154609536 (+0.46%); split: -0.00%, +0.46%
MaxWaves: 1665056 -> 1665058 (+0.00%)
Instrs: 29242117 -> 29417265 (+0.60%); split: -0.00%, +0.60%
Latency: 134149608 -> 134238738 (+0.07%); split: -0.00%, +0.07%
InvThroughput: 20348833 -> 20349641 (+0.00%); split: -0.00%, +0.00%
VClause: 489376 -> 489385 (+0.00%)
SClause: 729383 -> 729382 (-0.00%)
Copies: 2672567 -> 2673132 (+0.02%); split: -0.00%, +0.02%
Branches: 1192117 -> 1192121 (+0.00%); split: -0.00%, +0.00%
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
7f189e3467
nir: Add upper bound for AMD shader arg intrinsics.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
2755acbdad
radv: Move radv_nggc_settings enum out of radv_cmd_buffer.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Timur Kristóf
719678f891
ac/nir: Add ac_nir_load_arg helper for shader arguments.
...
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/13155 >
2022-05-10 17:16:03 +00:00
Jason Ekstrand
370f02bf02
gallium: Bump PIPE_MAX_SHADER_IMAGES to 64
...
This is required by OpenCL
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:19 -05:00
Jason Ekstrand
ed3ed466c4
mesa/st: Clamp MaxImageUniforms to MAX_IMAGE_UNIFORMS
...
We're about to bump PIPE_MAX_SHADER_IMAGES to 64 and don't want to
overflow any state tracker arrays for GL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:18 -05:00
Jason Ekstrand
620c5e9dd0
gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers
...
Sampler views and samplers may not be the same limit; in fact one is 32
while the other is 128. The sampler_buffers field is tracking sampler
views (yes, naming is confusing) so we should use the right limit.
Fixes: e9c41b3214 ("gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:16 -05:00
Jason Ekstrand
aea935264a
shader_info: Bump the number of images and textures supported
...
OpenCL requires up to 128 read-only images and up to 64 write images.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:15 -05:00
Jason Ekstrand
16ab9343f3
util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:14 -05:00
Jason Ekstrand
b37831c606
nir: Gather samplers_used separately from textures
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:12 -05:00
Jason Ekstrand
3c07c3e16d
shader_info: Make images_used a bitset
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:11 -05:00
Jason Ekstrand
28f534350c
nir: Stop assuming shader_info::textures_used is 32-bit
...
This isn't a hot path. We don't need to be manually using the
INSIDE_WORD version which will assert if we ever get a bigger texture
index.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:23:07 -05:00
Jason Ekstrand
625b352f14
nir: Set image_buffers and msaa_images in lower_samplers_as_deref
...
This is where we set images_used so it's less likely that things will
accidentally get out-of-sync.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15988 >
2022-05-10 11:21:39 -05:00
Icecream95
c65afe541b
pan/mdg: Fix multiple spilt writes in the same bundle
...
If two instructions in a single bundle both write to a spilt
destination, then we need to reuse the fill and spill instructions,
otherwise the value will be overwritten.
This and the rest of this set of Midgard bug fixes were found from a
vertex shader in Firefox WebRender that is used when a video is
clipped, for example by setting the border-radius CSS property.
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
7b9c976c2d
pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled
...
We can't return a pointer to the bundle itself because it might move
about in memory.
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
ca2be07484
pan/mdg: Fix disassembly of store instructions
...
The mask does apply for store instructions, so pass it onto
print_vec_swizzle after converting it to the right format.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
c750ab8a38
pan/mdg: Fix mask usage when filling before a spill
...
Check the bytemask against 0xFFFF rather than 0xF so that the fill is
skipped for a .xyzw write rather than a .x write.
Set the mask on the store to 0xF when doing a read so that all
components are written back.
Fixes: 31d26ebf1b ("pan/mdg: Fill from TLS before spilling non-SSA nodes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
b281843974
pan/mdg: Use MAX2 to set min_alignment
...
If a value is written in a vector CSEL but then written again by other
instructions, it still needs full alignment, so set min_alignment
using MAX2 to avoid ever reducing it.
Fixes: 1798f6bfc3 ("pan/midgard: Fix masks/alignment for 64-bit loads")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Icecream95
b1ecb90941
pan/mdg: Keep min_bound at 16 when alignment requires it
...
Otherwise LCRA will try to divide by zero when calculating m_max.
Fixes: 553c2cf16b ("pan/mdg: Set RA bounds for fp16")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382 >
2022-05-10 13:16:50 +00:00
Pierre-Eric Pelloux-Prayer
535bb0bda4
u_threaded: clear non-async debug callback correctly
...
The following sequence:
glEnable(GL_DEBUG_OUTPUT_KHR);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);
glDebugMessageCallbackKHR(my_callback, NULL);
Will cause the 2nd call to be ignored - but since the callback
function used by _mesa_update_debug_callback is always the
same (_debug_message), this means we'll keep using it, causing
"my_callback" to be called from driver-internal threads.
So instead of skipping the 2nd call, make sure we pass the
information to the driver.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5206
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16300 >
2022-05-10 10:55:21 +00:00
Martin Roukala (né Peres)
3fe3dbea69
ci: add ACO_DEBUG to the list of variables to pass down for testing
...
This parameter is used by radv-ci to perform extra validation while
running VKCTS.
This change catches more issues, which are will be addressed in !16248 :
- dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2,Crash
- dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_u8vec2,Crash
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16277 >
2022-05-10 10:17:19 +00:00
Pierre-Eric Pelloux-Prayer
2b28668d1d
radeonsi/tests: reformat with black
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Pierre-Eric Pelloux-Prayer
9d157755b8
radeonsi/tests: add a heuristic to pick the baseline
...
When the baseline for the exact GPU tested isn't available,
try to make a reasonnable guess: look for another baseline
from a GPU in the same class.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Pierre-Eric Pelloux-Prayer
2ca64c1214
radeonsi/tests: allow empty line and comments in csv files
...
This will help describe why tests are failing.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16347 >
2022-05-10 09:21:45 +00:00
Jordan Justen
1c3e584dfa
nir/divergence: handle more *_intel intrinsics
...
v2: fix topo/btd (Lionel)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16421 >
2022-05-10 08:49:58 +00:00
Timur Kristóf
380ae300eb
radv: Only emit what is appropriate to the queue family for preambles.
...
This makes the function easier to read and follow.
Also prepares for some future changes when we'll want to
submit to multiple queues at once.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
3a523b8338
radv: Don't use pointers to pointers when updating the preambles.
...
Instead, just use the pointers from the queue structure.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
2f232a8d2e
radv: Rename fill_geom_tess_rings to radv_fill_shader_rings.
...
This function already handles more than just the geometry and tess
rings, and it will include more things in the future, such as
the task shader rings.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
b8ef53d1c0
radv: Don't create continue preamble when it's not needed.
...
Previously we would always create it, but would return NULL when
it wasn't needed. Now, don't create it when not needed.
Additionally, don't create the continue preamble when we can use
IB BOs, because then we never use a continue preamble.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
86821329c7
radv: Refactor cache flush code for the initial preambles.
...
The "initial" and "initial full flush" preambles both need a
cache flush with a slight difference. Improve the readability of
this code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
d83213ec58
radv: Initialize BO pointers when creating preambles.
...
This aims to improve the readability of this function.
Initialize the BO pointers to the queue's current pointers
at the beginning instead of in the else branches later.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
1154ee73c1
radv: Simplify some boolean code in radv_get_preamble_cs.
...
Hopefully this will make it easier to read and understand.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
0f66ff2427
radv: Move up early exit for transfer queues in radv_get_preamble_cs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:34 +02:00
Timur Kristóf
4ea82fad24
radv: Move normal (non-empty) queue submit to a separate function.
...
Also move the preamble update into this function, as that is only needed
by this code path and not needed for empty submits.
With this change, the goal is to make radv_queue_submit easier to
read and understand. This prepares it for future work when we'll
add the capability to submit to multiple queues at the same time.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:31 +02:00
Timur Kristóf
0c77c94b8e
radv: Move empty queue submit code path to a separate function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:19:10 +02:00
Timur Kristóf
c54c2901ff
radv: Move queue submit sparse bindings to a separate function.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:03:34 +02:00
Timur Kristóf
643a6a2153
radv: Minor formatting fix in radv_device.c file.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358 >
2022-05-10 10:03:34 +02:00
Iago Toral Quiroga
431a7fe0e0
v3dv: drop unsused struct
...
This is no longer needed since we ported to using the common sync
framework.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16417 >
2022-05-10 07:39:40 +00:00
Marek Olšák
18fee30730
ac/gpu_info: fix incorrect IP versions reported by the kernel
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:56 +00:00
Marek Olšák
b261ac1ab5
ac/gpu_info: print all IP versions reported by the kernel
...
It's incorrect for GFX. This is what I get on Radeon 6800:
IP GFX 10.0 queues:1
IP COMP 10.0 queues:4
IP SDMA 5.2 queues:2
IP VCN_DEC 3.0 queues:1
IP VCN_ENC 3.0 queues:1
IP VCN_JPG 3.0 queues:1
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:56 +00:00
Marek Olšák
616e4ca673
ac/gpu_info: remove dead GDS query code
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:56 +00:00
Marek Olšák
68441ae771
ac/gpu_info: simplify HW IP querying
...
Use a loop, don't check the DRM versions, and handle failures as
unsupported.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:56 +00:00
Marek Olšák
85aa067d0f
amd: replace num_rings[type] with ip[type].num_queues
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:55 +00:00
Marek Olšák
7203723120
amd: rename RING_* enums to AMD_IP_*
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:55 +00:00
Marek Olšák
ae7e4d7619
amd: rename ring_type --> amd_ip_type and match the kernel enum values
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16360 >
2022-05-10 06:59:55 +00:00
Mike Blumenkrantz
8daf8ff730
zink: use descriptor surfaces for notemplates ref updating
...
basically the same codepath as samplerviews now, and fixes
some issues with invalid mem access
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16167 >
2022-05-10 06:18:26 +00:00
Mike Blumenkrantz
8b28d1751c
zink: add more image usage for null surfaces
...
without null descriptor features, these can be used for all sorts of things
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16167 >
2022-05-10 06:18:26 +00:00
Mike Blumenkrantz
ae369e9f6d
zink: fix null buffer/surface formats
...
4-component formats are needed here in order to return the correct
alpha value in invalid load scenarios
cc: mesa-stable
fixes:
spec@arb_shader_image_load_store@invalid
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16167 >
2022-05-10 06:18:26 +00:00
Mike Blumenkrantz
7767b2f7b5
lavapipe: enqueue pipeline destruction
...
this avoids races in llvmpipe related to modification of per-context shader
variant lists, which causes massive amounts of flakiness in ci
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16331 >
2022-05-10 06:07:44 +00:00
Mike Blumenkrantz
269083d94b
zink: delete nir_lower_dynamic_bo_access
...
no longer used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15906 >
2022-05-10 05:55:55 +00:00
Mike Blumenkrantz
a7327c7cac
zink: implement indirect buffer indexing
...
this compacts all buffers in the shader into an array that can be
used in a single descriptor, thus handling the case of indirect indexing
while also turning constant indexing into indirect (with const offsets)
since there's no sane way to distinguish
a "proper" implementation of this would be to skip gl_nir_lower_buffers
and nir_lower_explicit_io altogether and retain the derefs, but that would
require a ton of legwork of other nir passes which only operate on the
explicit io intrinsics
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15906 >
2022-05-10 05:55:55 +00:00
Mike Blumenkrantz
1f8cd768d6
zink: flatten push descriptor template into normal template array
...
this simplifies some code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15906 >
2022-05-10 05:55:55 +00:00
Mike Blumenkrantz
b0324d2479
zink: decouple descriptor templates from layouts
...
the same layout will in the future have multiple templates
depending on which resources are being updated
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15906 >
2022-05-10 05:55:55 +00:00
Mike Blumenkrantz
c0c69b1be1
zink: semi-handle 1D sparse texture rewrites for drivers that don't support them
...
nvidia can't do this, but also nothing uses it, so I've gone ahead and
done the bare minimum here to make cts pass
I think the work to do the shader rewrites should be easy, but without a test
case, I see no point in spending the time for it
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
c637c5a894
zink: bump number of image binds that can be batched to 50
...
this is big enough to batch all the cts binds into a single submit
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
0e49ef5c9f
zink: fix multisample conditional in sparse image query
...
you stare at the code for so long without truly seeing it
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
9a412c10b7
zink: set all usage flags when querying sparse features
...
they're allocated through TexStorage, so they can do everything
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
5ff3fa5912
zink: pass sparse bind bo offset through for texture binds
...
should fix partial binding with textures
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
6317f88b04
zink: pass sparse backing page offset to binding function
...
this is the offset of the memory block being bound
cc: mesa-stable
fixes:
KHR-GL46.sparse_buffer_tests.BufferStorageTest
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16100 >
2022-05-10 05:44:56 +00:00
Mike Blumenkrantz
d0f15304a3
zink: scale depth bias by factor of 2
...
this is enough to fix CTS
affects/fixes:
dEQP-GLES3.functional.polygon_offset.default_render_with_units
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units
dEQP-GLES3.functional.polygon_offset.fixed24_render_with_units
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16195 >
2022-05-10 05:32:42 +00:00
Emma Anholt
f3df3d4c80
glsl: Make all drivers take the GLSLOptimizeConservatively path.
...
Now that all consumers of GLSL use NIR, make the remaining drivers take
the path that relies on NIR to really do optimization.
nouveau steam shader-db runtime -6.69631% +/- 1.29235% (n=12).
No change on shader-db there.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16364 >
2022-05-10 05:03:34 +00:00
Marek Olšák
d100c07c48
radeonsi: remove tautologies when setting CU_EN
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Ruijing Dong
74bd5bbf28
radeonsi/vcn: update av1 decoding to support vcn4
...
Apply changes of vcn4 on av1 decoding.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Ruijing Dong
62bb11a5a5
radeonsi/vcn: Add support of array_mode for gfx11
...
Update array_mode for gfx11 in vcn decoder.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
James Zhu
88075b7ea1
radeonsi/vcn: add jpeg decode support for gfx11
...
Add jpeg decode support for gfx11.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
caa09f66ae
amd: add chip identification for gfx1100-1103
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Boyuan Zhang
b00ab763a9
radeonsi/vcn: enable vcn 4.0 encode for gfx11 asic
...
Enable VCN 4.0 encode for supported Asics.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Boyuan Zhang
efde05c631
radeonsi/vcn: add session init ib for vcn 4.0
...
Implement session init ib based on new interface for VCN 4.0.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Boyuan Zhang
dbd75e0d48
radeonsi/vcn: add encode context ib for vcn 4.0
...
Implement encode context ib based on new reconstructed picture and
interface for VCN 4.0, and modify dpb setup accordingly.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Boyuan Zhang
38a95f2109
radeonsi/vcn: add vcn 4.0 encode fw interface version
...
Add major and minor encode FW interface version for VCN 4.0.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Boyuan Zhang
ff2b2584fc
radeonsi/vcn: add vcn 4.0 encode support
...
Add new file "radeon_vcn_enc_4_0.c" for VCN 4.0 encode.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
James Zhu
f9de35a731
radeonsi/vcn: add decode software ring support for gfx11
...
Add decode software ring support for gfx11.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
James Zhu
b8a3bafe94
radeonsi/gfx11: update codec support for gfx11
...
Update codec support for gfx11.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
James Zhu
69f02164b3
amd: update headers to support decode software ring
...
Update headers to support decode software ring.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
2e4e39837a
radeonsi/gfx11: add a workaround for CB perf counters
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
e3b4e1fe85
radeonsi: inline si_cp_dma_prefetch in si_draw_vbo for lower overhead
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
1bc6d6c933
radeonsi/gfx11: limit CP DMA to max 32KB sizes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
3bc754a9a6
radeonsi/gfx11: mark streamout as unimplemented for now
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
66d4bafd5b
radeonsi/gfx11: resolve MSAA using u_blitter
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
8bfb4657c8
radeonsi/gfx11: don't count the non-existent scratch_byte_offset SGPR
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
c65a303f53
radeonsi/gfx11: change LDS allocation granularity for PS
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
c749b6f6ae
radeonsi/gfx11: update the initialization of SGPR0/1 registers for HS and GS
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
54d85700a1
radeonsi/gfx11: limit MSAA color buffers to the RGBA channel order
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Yogesh mohan marimuthu
6531ec8922
ac,radeonsi/gfx11: swizzle MRT0/1 for dual source blending
...
If dual source blending is enabled, use export targets 21 and 22.
Also we have to swap odd/even lanes between export target 21 and 22.
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Yogesh Mohan Marimuthu
12a606c1bd
radeonsi/gfx11: export alpha through mrtz for alpha-to-coverage if mrtz is there
...
If both mrtz and alpha-to-coverage are enabled, the alpha channel must
be exported through mrtz.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Indrajit Kumar Das
167b378377
radeonsi/gfx11: VRS changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
6d0e50f226
radeonsi/gfx11: TF_RING_SIZE changed to a per-SE size
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
ce950f1d96
radeonsi/gfx11: don't use FLUSH_AND_INV_DB_META
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
c33a930cea
radeonsi/gfx11: emit SQ_NON_EVENT for tessellation at the end of IBs
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
b27b9b0c31
radeonsi/gfx11: don't set non-existent CP_COHER_START_DELAY
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Yogesh mohan marimuthu
19a59f05a4
radeonsi/gfx11: program db render control register
...
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
9fecac091f
radeonsi/gfx11: scattered register deltas
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
afc110a1f6
radeonsi/gfx11: implement attributes through memory
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
91a7f43f0b
radeonsi/gfx11: don't set COMPR for exports, use 0x3 channel mask instead
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Yogesh Mohanmarimuthu
6e537680c4
radeonsi/gfx11: use PIXEL_PIPE_STATE_DUMP event instead of ZPASS_DONE
...
Use PIXEL_PIPE_STATE_CONTROL/DUMP event instead of ZPASS_DONE for gfx11.
Signed-off-by: Yogesh Mohanmarimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:55 +00:00
Marek Olšák
2a1c22e0cd
radeonsi/gfx11: don't set non-existent SPI_SHADER_USER_DATA_VS_x
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
61291aff1f
ac,radeonsi/gfx11: set SWIZZLE_ENABLE correctly
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
a90ff631a5
ac,radeonsi/gfx11: remove FMASK loads
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
529eb739fc
radeonsi/gfx11: add CB deltas
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
c99b71039a
radeonsi/gfx11: buffer descriptor changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Pierre-Eric Pelloux-Prayer
c87da5c80d
radeonsi/gfx11: image descriptor changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Pierre-Eric Pelloux-Prayer
25a66477d0
radeonsi/gfx11: register changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Pierre-Eric Pelloux-Prayer
3bdb3db5fa
radeonsi/gfx11: add assert in legacy vs path
...
Only ngg should be used.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
1005a2a25f
radeonsi/gfx11: program inst_pref_size for compute
...
For gfx11, program INST_PREF_SIZE value in SPI registers.
v2: move INST_PREF_SIZE reg programming (Marek Olšák)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
980620ae07
radeonsi/gfx11: program inst_pref_size for graphics
...
For gfx11, program INST_PREF_SIZE value in SPI registers.
v4: fix mask value, code indendation (Marek Olšák)
v3: improve code for readability (Indrajit Das, Marek Olšák)
v2: ngg is always enabled in gfx11 (Marek Olšák)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
58a483341d
radeonsi/gfx11: instruction cache line size is 128 bytes
...
In gfx11, instruction cache line size is 128 bytes. This patch makes
the neccessary code changes.
v2: instruction store line size is 64 bytes (Marek Olšák)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
b07204d780
radeonsi/gfx11: interp changes for 16bit
...
make interp 16bit changes for gfx11
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
0a54fbb5b4
radeonsi/gfx11: interp changes for 32bit
...
make interp 32bit changes for gfx11
v2: fix coding indentation issue (Pierre-Eric)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
3b0bfd254f
radeonsi/gfx11: make flat_scratch changes for compute
...
make flat_scratch gen11 changes for compute
v5: optimize the code for size (Pierre-Eric)
v4: remove type cast from 64bit to 32bit (Marek Olšák)
use radeon_set_sh_reg_seq (Marek Olšák)
combine RSRC and scratch reg write packets (Marek Olšák)
v3: fix coding guidelines (Marek Olšák)
v2: do not skip si_resource_reference() call (Marek Olšák)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Yogesh mohan marimuthu
02367b29c7
radeonsi/gfx11: make flat_scratch changes for graphics
...
gfx11 passes scratch base address using
SPI_GFX_SCRATCH_BASE_LO and _HI registers. Make the
code changes to support the same.
v5: remove type cast from 64bit to 32bit (Marek Olšák)
v4: combine scratch_memory and scratch_state atom (Marek Olšák)
v3: skip shader relocs for gfx11
v2: make atom for scratch_memory (Indrajit)
Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
27104ff647
radeonsi/gfx11: use the new TCS WaveID SGPR to compute vs_rel_patch_id
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
ced20893d4
radeonsi/gfx11: enable arbitrary DCC format reinterpretation
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
7c423a7ad0
radeonsi/gfx11: enable NGG-only draw paths
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
7bd4dd79c8
radeonsi/gfx11: expect packed threadID VGPRs
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
700c2e74fb
radeonsi/gfx11: always allow DCC stores
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
0f033ce3a3
radeonsi/gfx11: increase the hw screen offset alignment
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
273674dde1
ac/surface: add gfx11 support to modifiers tests
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
3e85a0c90b
ac/surface: define gfx11 modifiers
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
85c76518c9
ac/surface: gfx11 changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
a419b53d12
ac/gpu_info: set cu_mask correctly for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
7d6e3397dc
ac/llvm: don't set GLC for stores on gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
61b6e05118
ac/llvm: update pknorm and waitcnt for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
ab284b2571
ac/llvm: don't set DLC on gfx11 because it means something else there
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
3d70cc90b7
ac/llvm: export mrt0 instead of null on gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
f24f8665db
ac: implement register shadowing for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
3a669558f2
ac: scratch buffer register changes for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
783b16b3c8
ac: implement ac_get_tbuffer_format for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Pierre-Eric Pelloux-Prayer
9480ad2b1c
amd: update gfx10_format_table.py for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
931098d44d
ac: don't align VGPRs to 8 or 16 for gfx11
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
1d737c8886
amd: add Mesa-only addrlib changes
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
4fdf42b3c2
amd: import gfx11 addrlib
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
751658a7fe
amd: add gfx11 to packet definitions
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
980b7f75e8
amd: enable gfx11 in header generator, fix drivers with renamed gfx6-10 defs
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
0a76313d3f
amd/registers: add gfx11-rsrc.json
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
ced3fbbcf9
amd/registers: add gfx11.json
...
Other files are also updated to due regeneration.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
f75525fba3
amd/registers: add gfx11 to the json generator
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Marek Olšák
3a2f7efe5e
amd/registers: hardcode GC base offsets in the json generator
...
gfx11 doesn't have the ip_offset file, so we have to do it this way.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16328 >
2022-05-10 04:29:54 +00:00
Dave Airlie
ceb1339112
radv: precalculate tess ring sizes/offsets.
...
These are all static per device, so just calculate at device init
time instead of preamble
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16392 >
2022-05-10 04:06:38 +00:00
Dave Airlie
8dd4054f2b
radv: precalculate hs offchip parameters.
...
These are per device static, just just precalc them instead of
doing it on every command buffer submission.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16392 >
2022-05-10 04:06:38 +00:00
Karol Herbst
9c5fd100cc
nir: add a nir_remove_non_entrypoints helper
...
This code just got duplicated a lot. There is still more, but the
remaining instances do a bit more than just removing other functions.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16348 >
2022-05-10 03:37:44 +00:00
Jason Ekstrand
4b67d70d22
nir: Fix constant folding for non-32-bit ifind_msb and clz
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16348 >
2022-05-10 03:37:44 +00:00
Karol Herbst
d98b82a103
iris/cs: take buffer offsets into account for CL
...
Sadly we pass in an offset, which the driver can't ignore
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16348 >
2022-05-10 03:37:44 +00:00
Karol Herbst
3269d34b29
llvmpipe/fence: make the fence id counter atomic
...
Multiple threads can race on the function static variable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16348 >
2022-05-10 03:37:44 +00:00
Karol Herbst
8cc1889b09
llvmpipe: PIPE_COMPUTE_CAP_GRID_DIMENSION is uint64_t
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16348 >
2022-05-10 03:37:44 +00:00
Mike Blumenkrantz
768ebf02c5
zink: split renderpasses for TextureBarrierNV() usage
...
if no fbfetch is present, then this is a draw -> sampler read barrier,
and zink does not emit a self-dependency for this by default
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16354 >
2022-05-10 03:07:55 +00:00
Charmaine Lee
0d456315f9
svga/nir: enable PIPE_CAP_TGSI_TEXCOORD
...
Use texcoord semantic instead of generic with nir.
Fixes assert in nir_gather_info with offsetted varying slots.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16414 >
2022-05-10 03:01:36 +00:00
Michel Zou
a8b009aed6
vulkan/wsi: fix missing unistd include
...
fixes: c72ff19a
Closes #6428
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16353 >
2022-05-10 02:37:21 +00:00
Emma Anholt
af76f0bcfc
ci/iris: Cut the glk-deqp test coverage in half.
...
It's taking 13-14 minutes of deqp-runner time, not counting booting, or
the LAVA-side job getting being queued behind other jobs. Well past our
10-minute runtime target, and we saw load on these boards causing the
queue to get quite long
(https://gitlab.freedesktop.org/mesa/mesa/-/issues/6409#note_1368750 )
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16359 >
2022-05-10 02:16:04 +00:00
Alyssa Rosenzweig
28220b2778
agx: Restore Valve copyright header
...
Parallel copy code is from ir3_lower_parallel_copy.c. This was attributed in the
commit message but lost in the copyright header due to a copypaste mistake.
Rectify this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16413 >
2022-05-10 01:36:18 +00:00
Rhys Perry
cc410dd4d1
aco: fix cmpswap global atomic definition on GFX6
...
Missed this one.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 2f0bb39e16 ("aco: ensure that definitions fixed to operands have matching regclasses")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16367 >
2022-05-10 01:01:13 +00:00
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 ad864a7c15 :
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
Rhys Perry
28a87dee60
radv: add radv_has_shader_buffer_float_minmax
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16203 >
2022-05-06 15:15:13 +00:00
Daniel Schürmann
d70688492c
aco/optimizer: re-combine and copy-propagate p_create_vector(p_split_vector)
...
Totals from 309 (0.23% of 134913) affected shaders: (GFX10.3)
CodeSize: 1853812 -> 1857732 (+0.21%); split: -0.05%, +0.27%
Instrs: 340810 -> 341789 (+0.29%); split: -0.07%, +0.36%
Latency: 3301814 -> 3301774 (-0.00%); split: -0.02%, +0.02%
InvThroughput: 590473 -> 590914 (+0.07%); split: -0.00%, +0.08%
Copies: 28751 -> 29731 (+3.41%); split: -0.87%, +4.28%
PreSGPRs: 14010 -> 14028 (+0.13%); split: -0.01%, +0.14%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15414 >
2022-05-06 14:52:07 +00:00
Daniel Schürmann
5e6e47ecea
aco/ra: improve split_vector register assignment if the operand is not killed
...
This allows for more coalescing when lowering the copies.
Totals from 44801 (33.21% of 134913) affected shaders: (GFX10.3)
VGPRs: 1513264 -> 1513248 (-0.00%)
CodeSize: 113354240 -> 113172872 (-0.16%); split: -0.16%, +0.00%
Instrs: 21648793 -> 21603397 (-0.21%); split: -0.21%, +0.00%
Latency: 95762290 -> 95757403 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 15427354 -> 15427341 (-0.00%); split: -0.00%, +0.00%
Copies: 2065330 -> 2019933 (-2.20%); split: -2.20%, +0.00%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15414 >
2022-05-06 14:52:07 +00:00
Daniel Schürmann
499dc20e6a
aco: don't re-create vectors for load_barycentric_* intrinsics
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15414 >
2022-05-06 14:52:07 +00:00
Mike Blumenkrantz
0607c27fd1
zink: restore conditional ordering for query begin/end
...
this is the case which (also) handles query[0] for primgen queries,
so it can't be an else case
Fixes: a9451f2599 ("zink: use VK_EXT_primitives_generated_query when available")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16345 >
2022-05-06 14:40:46 +00:00
Mike Blumenkrantz
d74cd2a34b
radv: emit fewer framebuffer registers
...
only the changed cbuf index registers need to be updated, not all of them
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11299 >
2022-05-06 14:04:30 +00:00
Mike Blumenkrantz
38ab178c4a
util/blitter: fix sampler restore with 0 saved samplers
...
in a sequence where a driver saves 0 sampler/views before calling
u_blitter, the previous state of having 0 sampler/views bound would
not be restored as expected, resulting in stale sampler/views which
could affect behavior before new sampler/views were bound
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16178 >
2022-05-06 12:39:14 +00:00
Lionel Landwerlin
969512d696
intel: fix stall debug option
...
Missing the parsing bit.
Fixes: 317512e038 ("anv/intel: add a new debug flag for stalling after every draw/dispatch")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16338 >
2022-05-06 08:27:47 +00:00
Marek Olšák
cfec9a55ea
frontend/dri: allow swapped BGR->RGB channel order for MSAA color buffers
...
This only applies to MSAA visuals. The MSAA channel order doesn't have to
match the visual, but some drivers don't support MSAA with BGR.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16327 >
2022-05-06 00:26:26 +00:00
Marek Olšák
89c94502b6
mesa: consider the sample count when choosing a texture format
...
The set of supported MSAA formats can be smaller than the set of supported
non-MSAA formats.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16326 >
2022-05-05 19:46:17 -04:00
Emma Anholt
dd3179aff0
glsl: Remove unused lower_variable_index_to_cond_assign.
...
It's been replaced by nir_lower_indirect_derefs().
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
2529690ee3
glsl: Remove EmitNoLoops and the associated lower_jumps(lower_break=true) code.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
c03cc83ef1
compiler/glsl: Remove the dead parts of build_program_resource_list().
...
These have all moved to NIR linking.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
74056f6358
mesa/st: Clean up a bit of st_prepare_vertex_program().
...
Now that the input attrib mapping is gone, this is simpler.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
3a42e92a4f
glsl: Drop the dead MOD_TO_FLOOR path.
...
It's now called lower_fmod in NIR.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
7f13763690
glsl: Remove the unused lower_if_to_cond_assign.
...
Now that everything goes through NIR, nir_opt_peephole_select has replaced
it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
e9b491f9b5
gallium: Remove now-unused shader caps.
...
The only interesting ones here were LOWER_IF_THRESHOLD (which previously
had connected to some lowering in GLSL that was broken in the face of side
effects), and FMA (which turned GLSL IR's fma() into TGSI_OPCODE_FMA
instead of MAD).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
9617184bc2
glsl: Retire the non-NIR GLSL linking paths.
...
Now that we have only GLSL->NIR as a path in the frontend, we can rely on
the NIR linking support.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
7221cc7657
mesa/st: Remove now unused TGSI paths from disk cache.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
8dc99300d6
gallium/tgsi: Remove tgsi_emulate.
...
Now that the TGSI frontend paths in mesa/st are gone, this code is unused.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
9837370adf
mesa: Remove unused Mesa IR PROGRAM_* register files.
...
Now that glsl-to-tgsi is gone, a bunch of this is dead.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
e566b54a59
glsl: Remove UBO reference lowering.
...
All UBO-supporting drivers now go through the NIR path, which does a
better job of it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
486aecbd53
tgsi_scan: Remove unused input_array_last/output_array_last.
...
Last use removed in "radeonsi: remove TGSI" this year.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
6ffdca73d3
mesa/st: Remove TGSI-only shader lowering code.
...
These are no longer called.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
c3001eadcf
mesa/st: Drop the attrib remapping in st_prepare_vertex_program().
...
This was only used in the GLSL-to-TGSI path, which is no longer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
31f5328398
mesa/st: Remove TGSI shader program variant handling.
...
We no longer have anything generating gl_programs with TGSI in them since
retiring GLSL-to-TGSI.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
214c774ba6
mesa/st: Remove st_glsl_to_tgsi.
...
It is no longer called, and can be retired.
Fixes : #1924 , #822 , #6073
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Eric Anholt
b167203cfe
mesa/st: Always generate NIR from GLSL, and use nir_to_tgsi for TGSI drivers.
...
The NIR path through the frontend is effectively the only one maintained
for a quite a while now. We can see that effect with !15540 , where the
TGSI generation path was regressed to assertion fail on real-world
shaders, and nobody noticed until I came along trying to test the
NIR-to-TGSI transition.
We already have a nir_to_tgsi() call for translating NIR representation
for ARB programs into TGSI before handing them off to the driver. This
change makes that path get taken for GLSL programs as well.
This is the minimum change to get all the drivers on NIR from GLSL, to
give a simple commit to bisect too. The dead code removal comes next.
Now every driver benefits from shared NIR optimizations for GLSL, and we
can start retiring GLSL optimizations.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Emma Anholt
72dba615be
ci/iris: Add a bunch of APL and KBL flakes recently.
...
I got hit by one of them trying to merge !8044 . Just update the list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Mike Blumenkrantz
49b8f72e3d
kopper: pass the current context to dri_flush
...
passing the drawable's context leads to desync and crashing if the app
is using multiple threads and multiple contexts
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16351 >
2022-05-05 20:42:41 +00:00
Mike Blumenkrantz
3de78fb3c8
kopper: invalidate drawables when resizing textures in place
...
this guarantees that swapchains shared between contexts will stay
in sync
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16351 >
2022-05-05 20:42:41 +00:00
Rhys Perry
2f0bb39e16
aco: ensure that definitions fixed to operands have matching regclasses
...
If the operand is not killed, the definition needs to be large enough so
that the new location for the operand does not intersect with the old
location.
Fixes with zink:
KHR-GL45.shader_image_load_store.basic-allTargets-atomicCS
KHR-GL45.shader_image_load_store.basic-allTargets-atomicGS
KHR-GL45.shader_image_load_store.basic-allTargets-atomicVS
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6276
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16106 >
2022-05-05 19:56:48 +01:00
Emma Anholt
3c0e4be89b
ci/iris: Demote APL deqp to manual-only for now.
...
it's been flaking with "2022-05-05 16:29:49.055151: [0m[31mERROR - Failure
getting run results: parsing results: Reading from dEQP: timed out waiting
for fd to be ready (See \"//results/c32.r1.log\")" and a pile of missings
since the brief "whoops, HW CI failed to listen to the test exit code"
regression.
The only ways I know of to hit this case would be:
1) The deqp binary abruptly wedges on its own. This happens with NFS
failures sometimes, but the rest of the run went fine and we never got the
kernel complaining about NFS, so that seems unlikely.
2) The stderr pipe filled up before stdout was completed, and deqp got
wedged trying to output stderr (happens sometimes when you do like
NIR_DEBUG=print in your run).
Both of these seem unlikely, given that we've got a big .qpa file that
made it all the way to writing out test case durations at the end of the
run before abruptly terminating. Why didn't we have at least some of the
test results parsed?
The next deqp-runner release we integrate will solve #2 , and cleans up
these error paths a bunch, so I'm hoping we get more information soon.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16350 >
2022-05-05 18:20:12 +00:00
Alyssa Rosenzweig
17c98393f9
panfrost: Increase the maximum tiler heap size
...
Required to avoid tiler heap out-of-memory condition on Valhall on tests
including:
dEQP-GLES31.functional.draw_indirect.compute_interop.large.drawelements_combined_grid_1200x1200_drawcount_8
This test passes on Bifrost without the fix because varyings are only allocated
from the tiler heap on Valhall.
Minimal perf or memory usage impacted is expected, as even old versions of
panfrost.ko support growable memory.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16330 >
2022-05-05 15:27:56 +00:00
Iago Toral Quiroga
7c5b242aec
docs/features: flag VK_KHR_timeline_semaphore as implemented
...
We got this implemented for v3dv when Jason ported the submit code
to the common submit framework.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16344 >
2022-05-05 10:41:57 +00:00
Iago Toral Quiroga
1442d77bc5
v3dv: trivially implement VK_KHR_separate_depth_stencil_layouts
...
We don't currently benefit from seeing barriers and layout
transitions that affect just the depth or stencil aspects,
so we don't expose this feature.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16344 >
2022-05-05 10:41:57 +00:00
Iago Toral Quiroga
32223ac67f
v3dv: implement VK_EXT_separate_stencil_usage
...
We don't care about the depth/stencil usage other than to determine
if an image format is supported for that usage.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16344 >
2022-05-05 10:41:57 +00:00
Iago Toral Quiroga
44791ba825
v3dv: check input attachment usage as sampled usage
...
Since we implement input attachments as textures we should check
support for input attachment usage the same way we check support
for sampled images.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16344 >
2022-05-05 10:41:57 +00:00
Karmjit Mahil
e7351178aa
pvr: Update pvrsrvkm to fw 1.17 .
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16238 >
2022-05-05 10:35:35 +00:00
Iago Toral Quiroga
184a48197f
v3dv: use wait stage for wait semaphores to decide about binning syncs
...
If the wait stage for a semaphore doesn't involve geometry stages we
don't need a binning sync.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16322 >
2022-05-05 09:06:50 +00:00
Iago Toral Quiroga
a981ac0539
v3dv: skip binning sync if binning shaders don't access external resources
...
Until now we have been enabling binning sync if we found a barrier
involving geometry stages (a bcl barrier), however, if the actual
binning shaders involved with the job don't access any external
buffers or images there is no reason to sync at the binning stage.
In this patch we don't immediately consume the bcl barrier flag from
the command buffer state when we create a new job. Instead, we check
this state when we are about to emit a draw call by checking if the
shaders involved with binning may access external resources, such as
vertex buffers, UBOs, or textures. If none of the draw calls in the
job use binning shaders that access external resources then we never
enable binning sync for the job.
It is possible that a binning shader uses resources that are not
synchronized through a barrier though, so we keep track of the
access masks used with barriers for both buffers and images separately
to better identify if the binning shader is affected by the barrier.
If a serialized job never consumes the bcl barrier flag because none
of its draw calls ever required a bcl sync, then the flag will be
cleared when the job is finished.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16322 >
2022-05-05 09:06:50 +00:00
Iago Toral Quiroga
46dd903cc6
v3dv: flag BCL barriers for all-graphics and all-commands stages
...
Since these also include geometry stages in the pipeline.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16322 >
2022-05-05 09:06:50 +00:00
Iago Toral Quiroga
1571954be9
v3dv: drop default sampler states if not used
...
If a shader doesn't use any samplers (including default sampler states),
make sure we drop them so other parts of the driver can recognize that
the program doesn't actually use any samplers at all.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16322 >
2022-05-05 09:06:50 +00:00
Samuel Pitoiset
9348620946
radv: disable instance packing to fix pipeline query stats
...
RDNA2 is affected by a hardware bug when instance packing is enabled
for adjacent primitive topologies and instance_count > 1, pipeline
stats generated by GE are incorrect. It needs to be applied for
indexed and non-indexed draws.
This is based on PAL waDisableInstancePacking.
This fixes KHR-GL46.pipeline_statistics_query_tests_ARB.* with Zink.
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6257
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15877 >
2022-05-05 09:39:23 +02:00
Guilherme Gallo
7a6d85299c
ci: Fix tests expectations
...
For some days, the CI was bypassing LAVA and bare-metal jobs due to an
issue in the init-stage2.sh script. After the fix some tests
crashed/failed. This commit updates the expectations for them.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16325 >
2022-05-04 23:39:15 +00:00
Guilherme Gallo
57f21b5039
ci: Update trace after CI fix
...
For some days, the CI was bypassing LAVA and bare-metal jobs due to an
issue in the init-stage2.sh script. After the fix the neverball trace on
panfrost-t860 is producing a different image, due to a bugfix in
Mesa itself driver. This commit updates the neverball trace on that
device.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16325 >
2022-05-04 23:39:15 +00:00
Guilherme Gallo
ea85f6cfda
ci: Fix init-stage2 exit code
...
After a LAVA job submitter rework, the init-stage2.sh was changed to be
compatible with new LAVA job definitions, but the result from the script
represented by `HWCI_TEST_SCRIPT` variable is obfuscated by the `set -e`
command. So when the test script fails, `set` will override the exit
code and the jobs will pass when they should fail.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16325 >
2022-05-04 23:39:15 +00:00
Dylan Baker
681abdcc57
docs: Add sh256sum for mesa 20.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:22 -07:00
Dylan Baker
6eb129f108
docs: add release notes for 22.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:22 -07:00
Dylan Baker
9b94ef5697
docs: update calendar for 22.1.0-rc4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:22 -07:00
Dylan Baker
e83a8b1d10
docs: update calendar for 22.1.0-rc3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:21 -07:00
Dylan Baker
9543fc1011
docs: Extend calendar entries for 22.1 by 1 releases.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:21 -07:00
Dylan Baker
2876359dce
docs: update calendar and link releases notes for 22.0.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:21 -07:00
Dylan Baker
9e8f516e92
docs: Extend calendar entries for 22.0 by 1 releases.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16336 >
2022-05-04 15:55:21 -07:00
Vinson Lee
7f91e8fad9
zink: Fix memory leak on error path.
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable sampler_view going out of scope leaks the storage it points to.
Fixes: 625457caaf ("zink: handle swapchain acquire failures more directly")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16258 >
2022-05-04 22:41:48 +00:00
Jason Ekstrand
6214251c03
vulkan/wsi: Add signal_fence/semaphore_for_image helpers
...
These operations are about to get a bit more complex so let's add a
couple nice helpers to keep things clean.
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:02 +00:00
Jason Ekstrand
233be8ee59
vulkan/wsi: Set the right stage flags for semaphore waits
...
This is currently technically broken for compute.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Cc: mesa-stable@lists.freedesktop.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:02 +00:00
Jason Ekstrand
5f4ee14895
vulkan/wsi: Reset the image fence right before vkQueueSubmit
...
Instead of resetting at the top of the loop, we create the fence in the
signaled state and then unconditionally reset it before vkQueueSubmit.
This gives us a bit more flexibility with how we handle the fence in the
case where the client provides zero semaphores.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:02 +00:00
Jason Ekstrand
5576e8b735
vulkan/wsi: Hang on to file descriptors
...
Instead of closing the dma-buf file descriptors immediately after
handing them to the window system, hang on to them. We want to be able
to use them for synchronization.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:02 +00:00
Jason Ekstrand
17fb3ad94f
vulkan/wsi: Only use a single fd per wsi_image
...
The only thing this was helping was X11 where the protocol requires that
we pass in an array of images. We can move all the dup() code to the
X11 back-end and leave the others a bit cleaner.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:02 +00:00
Jason Ekstrand
c72ff19a9e
vulkan/wsi: Close file descriptors in wsi_destroy_image
...
Most of the time, this is a non-issue because the WSI back-end closes
them as part of handing them to the window-system and sets fds[*] to -1.
The one exception here was Wayland which was closing them but leaving
fds[*] pointing to bogus file descriptors. Having wsi_destroy_image
close them makes clean-up easier and more reliable.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16333 >
2022-05-04 22:09:01 +00:00
Mihai Preda
ae6d32c938
gallium: refactor a channel loop in draw_llvm.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
ccbee20f6b
gallivm: LLVM opaque pointers small changes
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
051f588bfe
gallivm: use LLVM opaque pointers in lp_bld_tgsi_aos.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
32a55651cf
gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
c8520c2a8f
gallivm: use LLVM opaque pointers in lp_bld_struct.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
1f636e7fb2
gallivm: use LLVM opaque pointers in lp_bld_sample_soa.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
12cac07fe6
gallivm: use LLVM opaque pointers in lp_bld_sample.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
2a59fdb96d
gallivm: use LLVM opaque pointers in lp_bld_nir_soa.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
36c45736ce
gallivm: use LLVM opaque pointers in lp_bld_gather.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
61da78c311
gallivm: use LLVM opaque pointers in lp_bld_format_s3tc.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
84ba15ac06
gallivm: use LLVM opaque pointers in lp_bld_intr.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
3143f871ac
gallivm: use LLVM opaque pointers in lp_bld_flow.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
1e0ddda796
gallivm: use LLVM opaque pointers in lp_bld_printf.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
2a6e9d13fb
gallivm: use LLVM opaque pointers in lp_bld_coro.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
f1fc0bb567
gallivm: use LLVM opaque pointers in lp_bld_conv.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
6867b184ca
gallivm: use LLVM opaque pointers in lp_bld_format_aos.c
...
Also extract lp_build_const_func_pointer_from_type() in lp_bld_const.h
taking explicit function type.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
70e9db951d
gallivm: use LLVM opaque pointers in lp_bld_assert.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
1e1ebbe6df
gallivm: use LLVM opaque pointers in lp_bld_arit.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
d53fe793c3
gallium/llvmpipe: use LLVM opaque pointers in lp_bld_depth.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
f90d71f518
gallium/llvmpipe: use LLVM opaque pointers in lp_bld_interp.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
eb9a65c914
gallium: use LLVM opaque pointers in draw_llvm.c
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Mihai Preda
af20d46a39
gallium: add opaque pointers shim for LLVM < 8.0
...
LLVM is transitioning to "opaque pointers", and as such deprecates
LLVMBuildGEP, LLVMBuildCall, LLVMBuildLoad, replacing them with
LLVMBuildGEP2, LLVMBuildCall2, LLVMBuildLoad2 respectivelly.
These new functions were added in LLVM 8.0; so for LLVM before 8.0 we
simply forward to the non-opaque-pointer variants.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893 >
2022-05-04 20:00:33 +00:00
Adam Jackson
bbdf7e45b1
wsi/x11: Hook up KHR_incremental_present
...
We create one XFIXES region per swapchain image. If the QueuePresent
comes in with a list of rectangles, we push them into the region and
pass it to xcb_present_pixmap.
The extension is technically just a hint. We still fall back to the
unhinted "update the whole image" path if the update region has more
than an arbitrary number of rects, or if we're stuck using plain
PutImage instead of ShmPutImage.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16218 >
2022-05-04 19:31:53 +00:00
Mike Blumenkrantz
9f91ce3556
zink: add a ci flake
...
weird that this is suddenly failing on two drivers lately...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16329 >
2022-05-04 19:07:36 +00:00
Mike Blumenkrantz
5d621bef7b
lavapipe: lower quad_broadcast intrinsics
...
not supported by gallivm
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16301 >
2022-05-04 18:55:19 +00:00
Emma Anholt
3cdb200f10
svga: Add support for requesting NIR and translating to TGSI.
...
I'm working on switching mesa/st to no longer produce TGSI on its own, and
so we need a way to test SVGA against that future.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14160 >
2022-05-04 18:09:43 +00:00
Jonathan Gray
0cfc01fe83
intel/dev: add RPL-S pci ids from drm-intel-next
...
from Tejas Upadhyay 'drm/i915: Add RPL-S PCI IDs' in drm-intel-next
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16320 >
2022-05-04 17:18:03 +00:00
Samuel Pitoiset
665a671c7d
radv: only init acceleration structure if RT is enabled
...
This is to fix a LLVM crash with 13.0 because ATOMIC_FMAX is only
supported on 14.0+, so RADV_DEBUG=llvm was just completely broken.
Signed-off-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/16305 >
2022-05-04 16:46:25 +00:00
Samuel Pitoiset
e53e70fba0
radv/sqtt: fix configuring AUTO_FLUSH_MODE on GFX10.3
...
The polarity is inverted. Ported from RadeonSI and PAL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16303 >
2022-05-04 16:13:49 +00:00
Samuel Pitoiset
4f9ae10296
ac,radeonsi: add has_sqtt_auto_flush_mode_bug
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
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/16303 >
2022-05-04 16:13:49 +00:00
Adam Jackson
6f4b5fb675
egl/kopper: Hook up eglSwapInterval
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800 >
2022-05-04 15:06:51 +00:00
Adam Jackson
b6ea787903
glx/kopper: Enable GLX_EXT_swap_control etc.
...
This requires newly tracking the max swap interval since kopper can't do
abs(interval) > 1 yet.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800 >
2022-05-04 15:06:51 +00:00
Adam Jackson
1e90e3325b
kopper: Grow a swap interval API
...
We take a slight liberty here by allowing 0 to mean either MAILBOX or
IMMEDIATE, since Wayland (at least) doesn't have a true IMMEDIATE mode
at least MAILBOX won't throttle to vblank.
This only correctly handles intervals of 0 or 1 at the moment.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800 >
2022-05-04 15:06:51 +00:00
Adam Jackson
44a20baeb8
wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes
...
If the window is destroyed from underneath us while we happen to be in
xcb_wait_for_special_event, there's no recovery. The special event will
never match because the XID is no longer valid, and Present doesn't have
an in-band DestroyNotify. We're going to work around this by using the
poll API instead. If we get an event we short-circuit back to the top of
the "wait for available image" loop, so we drain the whole special event
queue before any other logic. Which means if we run out of special
events (and the connection and swapchain are still valid) that we
_don't_ have enough images available, so to hurry along any events that
the X server hasn't flushed out yet we call GetGeometry on the
swapchain's window. As a side effect this verifies that the window is
still alive.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800 >
2022-05-04 15:06:51 +00:00
Samuel Pitoiset
260cd1a18b
radv/radix: handle intentional allocation failures properly
...
This test can intentionally make the alloc callback to return NULL, so
we have to handle object creation failures properly. The driver should
also avoid memleaks because the test checks that.
Fixes crashes with
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16298 >
2022-05-04 14:44:55 +00:00
Konstantin Seurer
428929cf1f
radv: Use RADV_RT_STAGE_BITS more often
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16306 >
2022-05-04 13:48:24 +00:00
Konstantin Seurer
3438a5ec15
radv: Treat rt stages like compute stages
...
Fixes dEQP-VK.binding_model.descriptorset_random.sets4.noarray.ubolimitlow.sbolimitlow.sampledimglow.outimgtexlow.noiub.nouab.rgen.noia.0
and probably some other ones.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16306 >
2022-05-04 13:48:24 +00:00
Konstantin Seurer
0fe2ffeb65
radv: Move RADV_RT_STAGE_BITS to radv_private.h
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16306 >
2022-05-04 13:48:24 +00:00
Samuel Pitoiset
f5cffbb8df
radv: re-emit dynamic line stipple state if the primitive topology changed
...
The dynamic primitive topology could change from LINE_LIST to
LINE_STRIP for example and the stipple state depends on this.
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16295 >
2022-05-04 13:30:13 +00:00
Alyssa Rosenzweig
0fcddd4d2c
pan/bi: Rework varying linking on Valhall
...
Valhall introduces hardware-allocated varyings. Instead of allocating varying
descriptors on the CPU with a slot based interface, the driver just tells the
hardware how many bytes to allocate per vertex and loads/stores with byte
offsets. This is much nicer!
However, this requires us to rework our linking code to account for separable
shaders. With separable shaders, we can't rely on driver_location matching
between stages, and unlike on Midgard, we can't resolve the differences with
curated command stream descriptors. However, we *can* rely on slots matching. So
we should "just" determine the byte offsets based on the slot, and then
separable shaders work.
For GLES, it really is that easy.
For desktop GL, it's not -- desktop GL brings unpredictable extra varyings like
COL1 and TEX2. Allocating space for all of these unconditionally would hamper
performance. To cope, we key fragment shaders to the set of non-GLES varyings
written by the linked vertex shader. Then we may define an efficient ABI, where
only apps only pay for what they use.
Fixes various tests in dEQP-GLES31.functional.separate_shader.random.* on
Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16310 >
2022-05-04 13:07:59 +00:00
Alyssa Rosenzweig
635d8d6bd7
panvk: Don't use VARYING_SLOT_TEX0 internally
...
This is a legacy varying for desktop GL use. Don't use it in our meta shaders,
as it adds pointless complexity.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16310 >
2022-05-04 13:07:59 +00:00
Alyssa Rosenzweig
27a8e4f9d5
panfrost: Don't use VARYING_SLOT_TEX0 internally
...
This is a legacy varying for desktop GL use. Don't use it in our internal
shaders, as it adds pointless complexity.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16310 >
2022-05-04 13:07:59 +00:00
Alyssa Rosenzweig
b31527952e
panfrost/ci: Smoke test spilling
...
Spilling is tricky and doesn't get much testing in CI. Run
a subset of dEQP-GLES2.functional.shaders.* with spilling forced to get spilling
tested in CI.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
6761dbf891
panfrost: Use packed TLS on Valhall
...
Packed TLS has cache-locality benefits on Valhall, compared to Bifrost's flat
TLS. Valhall does support flat TLS, but requires extra arithmetic in the shader
for correct results. At least until we get to generic pointers (and maybe even
then), we can use packed TLS. So just use packed TLS always for proper spilling.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
98bdc4a5ff
panfrost: Use emit_tls
...
Instead of rolling our own, so it can pick up a Valhall fix.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
0e65c6de0e
panfrost: Correct XML for TLS
...
It was never updated for Valhall, from Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
045ed4e688
pan/bi: Assert that blend shaders may not spill
...
The set of blend shaders is closed. They are completely internal. As such, we
know that the registers we reserve for them suffice, and we don't permit
register spilling. Refusing to support spilling in blend shaders simplifies a
number of parts of the compiler. Add a check that we don't try to spill anyway,
which will silently fail.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
6b6ace5199
pan/bi: Add option to test spilling
...
BIFROST_MESA_DEBUG=spill now restricts the register file to 1/4 its usual size,
useful for testing register spilling (e.g. running CTS) as well as debugging
spilling on small shaders.
Note blend shaders are exempt, as we don't allow blend shaders to spill.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
961b18ccbc
pan/bi: Align spilled registers on Valhall
...
Required to support packed addressing correctly. Fixes (with spilling forced):
dEQP-GLES2.functional.shaders.random.trigonometric.vertex.20
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
040a3ef24e
pan/va: Serialize memory stores
...
We could do better :(
Fixes spilling.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16314 >
2022-05-04 12:48:27 +00:00
Alyssa Rosenzweig
5831c44121
panfrost: Relax image check
...
Shader images on Valhall don't allow nonzero "Minimum level". However,
pan_texture lowers away nonzero minimum levels anyway, so there's nothing to
check. Fixes:
KHR-GLES31.core.shader_image_load_store.advanced-allMips-cs
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16315 >
2022-05-04 12:29:55 +00:00
Georg Lehmann
bf6372df62
meson: Tell glslang to be quiet.
...
Without --quiet glslang unconditionally prints the input file name to stdout.
Check if --quiet is supported because some distros only have ancient glslang
versions.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16312 >
2022-05-04 11:30:43 +00:00
Rhys Perry
1b639a0ce5
aco/ra: fix vgpr_limit
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: b98a4d4dd7 ("aco: refactor GPR limit calculation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16297 >
2022-05-04 11:12:13 +00:00
Georg Lehmann
69cceab718
aco: Remove D16 zero components from image stores.
...
No foz-db changes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Georg Lehmann
a9bce05700
radv: Run copy_prop and dce after folding 16bit sampling/load/store.
...
Totals from 10 (0.01% of 134913) affected shaders:
CodeSize: 53168 -> 54832 (+3.13%); split: -0.17%, +3.30%
Instrs: 9117 -> 9200 (+0.91%); split: -1.74%, +2.65%
Latency: 41595 -> 41787 (+0.46%); split: -0.95%, +1.41%
InvThroughput: 16412 -> 16424 (+0.07%); split: -1.95%, +2.02%
VClause: 107 -> 112 (+4.67%); split: -0.93%, +5.61%
Copies: 199 -> 535 (+168.84%); split: -3.02%, +171.86%
PreVGPRs: 520 -> 502 (-3.46%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Georg Lehmann
9bca149353
radv: Use nir_fold_16bit_image_load_store_conversions.
...
Totals from 10 (0.01% of 134913) affected shaders:
CodeSize: 53316 -> 53168 (-0.28%)
Instrs: 9219 -> 9117 (-1.11%)
Latency: 41744 -> 41595 (-0.36%)
InvThroughput: 16616 -> 16412 (-1.23%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Georg Lehmann
7a6dbe0c77
aco: Implement image_load d16.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Georg Lehmann
7ffcaf9187
aco: Implement image_store d16.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Georg Lehmann
5833fab766
nir/lower_mediump: Add a new pass to fold 16bit image load/store.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15179 >
2022-05-04 09:58:03 +00:00
Alejandro Piñeiro
1ed2b5e253
v3dv/pipeline: include pipeline layout on the pipeline sha1
...
Fixes failures on tests like this when the on-disk-cache is enabled:
dEQP-VK.binding_model.descriptor_copy.compute.uniform_buffer_0
We only found them when running full CTS runs. What happens is that we
got a hit from the on-disk shader cache, for several tests using the
same shaders. But some tests seems to be using a uniform buffer, and
others a inline buffer. Right now inline buffers leads to some changes
on the final nir shader, and generated assembly, compared with uniform
buffers. So we got a wrong shader. Fortunately we only got an assert
instead of weird behaviour.
With this commit we include the pipeline layout on the pipeline sha1,
so those two cases would get different sha1. FWIW, this is what other
drivers are already doing.
Surprisingly that didn't cause a problem before.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16313 >
2022-05-04 09:21:20 +00:00
Alejandro Piñeiro
502fae57be
v3dv/pipeline_cache: add on disk cache hit stats
...
Useful when debugging/testing on disk cache.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16313 >
2022-05-04 09:21:20 +00:00
Alejandro Piñeiro
f57a01c5f9
v3dv/pipeline_cache: adds check to skip searching for a entry
...
If we are calling pipeline_cache_upload_shared_data with
from_disk_cache, that means that we had used the disk-cache to found
that entry. And that should only happens if we didn't find the entry
on the cache. So on that case we can skip to search for it.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16313 >
2022-05-04 09:21:20 +00:00
Alejandro Piñeiro
080e14ff61
v3dv/pipeline: fix small comment typo
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16313 >
2022-05-04 09:21:20 +00:00
Jonathan Gray
3cc1efee6f
intel/dev: sync ADL-S pci ids with linux
...
sync ADL-S pci ids with linux
c79b846f892d ("drm/i915/adl_s: Update ADL-S PCI IDs")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16317 >
2022-05-04 18:01:45 +10:00
Juan A. Suarez Romero
f21e396f4c
v3d: disable early-Z on odd frame dimensions
...
The early-Z buffer may load incorrect depth values if the frame has an
od width or height. In this case we need to disable early-Z.
v3:
- Set job->early_zs_clear only for V3D_VERSION >= 40 (Iago)
- Check early-Z is disabled if no zsbuf (Iago)
v4:
- Borrow comments from v3dv around v3d_update_job_ez() (Iago)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3557
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/16166 >
2022-05-04 07:44:46 +00:00
Juan A. Suarez Romero
07cfa2bd96
v3d: enable early Z/S clears
...
This performance optimization can be enabled if we are clearing Z/S
buffer, and not storing or loading it.
v2:
- Add assertion on depth/stencil job loads (Iago)
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/16166 >
2022-05-04 07:44:46 +00:00
Mike Blumenkrantz
4dec4ba87d
wgl: don't auto-load zink before software drivers
...
as in glx/egl, zink+lavapipe should only load if explicitly selected
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16311 >
2022-05-04 01:20:12 +00:00
Mike Blumenkrantz
a9451f2599
zink: use VK_EXT_primitives_generated_query when available
...
the old codepath must be maintained, but runtime will be far simpler
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
406f7a0eb1
zink: add a flag to zink_query to trigger rasterizer discard workaround
...
make this agnostic of query types; no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
5269521cc2
zink: add and use a function to detected emulated primgen queries
...
no functional changes, just reducing instances of PIPE_QUERY_PRIMITIVES_GENERATED
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
ddced9ea6b
zink: pass screen param to convert_query_type()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
563ae3fd69
zink: pass query object to get_num_results()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
6af4a74f8a
zink: pass query object to get_num_query_pools()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
24626b954d
zink: pass query object to get_num_queries()
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Mike Blumenkrantz
7aeaf695c0
zink: hook up VK_EXT_primitives_generated_query
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16274 >
2022-05-04 01:09:57 +00:00
Autumn on Tape
e353b89c57
gallivm: use VPERMPS (x86/AVX2) for 32-bit 8-element shuffles
...
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
57e25fc55c
gallivm: use shufflevector for shuffles when index is constant data
...
This checks if index is a ConstantAggregateZero, ConstantDataSequential,
or UndefValue and emits a single shufflevector instead of a loop if so.
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
433ec23457
lavapipe: enable subgroup shuffle operations
...
Bits flipped in VkPhysicalDeviceSubgroupProperties.supportedOperations:
* SUBGROUP_FEATURE_SHUFFLE_BIT
* SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Autumn on Tape
30817f7aed
gallivm: add subgroup shuffle support
...
Signed-off-by: Autumn on Tape <autumn@cyfox.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13671 >
2022-05-03 23:09:37 +00:00
Emma Anholt
695587413b
nir: Don't assert on tg4 offset range.
...
From the GL 4.6 spec: "If the value of any non-ignored component of the
offset vector operand is outside implementation-dependent limits, the
results of the texture lookup are undefined." We shouldn't assertion
fail, then.
GLSL-to-NIR shouldn't be enforcing limits on TG4 offsets, since it doesn't
for non-TG4 tex_src_offset either. Leave it up to the driver to handle
it.
Fixes a crash in a piglit test on nouveau that supplies a negative random
number up to 10,000 as the first coordinate for some reason. Other NIR
drivers lowered TG4 explicit offsets to tex_src_offset, so they weren't
affected.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16261 >
2022-05-03 21:45:49 +00:00
Mike Blumenkrantz
70f5360037
wgl: always set alpha on kopper windows
...
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16153 >
2022-05-03 20:12:27 +00:00
Erik Faye-Lund
5a62d00480
util: fix test on msvc
...
We also miss this function on MSVC. But let's use the functionality in
meson to check for supported functions instead of hand-rolling the list
here.
Fixes: 067023dce2 ("util: Add some unit tests of the half-float conversions.")
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16290 >
2022-05-03 19:33:20 +00:00
Alyssa Rosenzweig
ca280b2283
nir: Don't set writes_memory for reading XFB
...
That's a read, not a write. Fixes optimizations getting disabled for fragment
shaders when linked with a shader producing transform feedback varyings.
Fixes: 85a723975b ("nir: add and gather shader_info::writes_memory")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16285 >
2022-05-03 19:02:17 +00:00
Emma Anholt
e3607e96bb
nir: Eliminate out-of-bounds read/writes in local lowering.
...
Avoids nir validation assertion failures, and it's not like backend
drivers would want to see definitely-out-of-bounds read/writes either.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16066 >
2022-05-03 18:32:47 +00:00
David Heidelberg
b25eb4d43f
ci: traces: re-enable disabled traces which are now trimmed traces
...
After checksum mismatch, visually verified both re-enabled traces and
updated checksums for virgl-traces job.
Suggested-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16260 >
2022-05-03 18:21:06 +00:00
David Heidelberg
4b5b7010f8
ci: traces: switch to Valve trimmed traces
...
Valve has trimmed traces already for some time, switch to
them to save network bandwidth, storage and run-time.
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16260 >
2022-05-03 18:21:06 +00:00
Alyssa Rosenzweig
80f8e9da16
pan/bi: Use a dynarray for predecessors
...
This is deterministic, unlike a set. Note we need the extra dereferencing to
keep the macro safe, simple, and standards compliant:
1. Nesting two for-loops would cause break/continue to fail.
2. Declaring variables outside the loop would pollute the namespace.
3. Declaring an anonymous struct is not conformant and doesn't compile in clang.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
37f60a66e8
pan/bi: Use worklist for scoreboard analysis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
dbe4947c66
pan/bi: Use bi_worklist for post-RA liveness
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
9ca625cf24
pan/bi: Use bi_worklist for liveness
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
44f2715777
pan/bi: Use bi_worklist in analyze_helper_requirements
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
89db718936
pan/bi: Add u_worklist wrapper macros
...
..expanding to bi_block.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
d496fe153a
pan/bi: Count blocks
...
For u_worklist.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Alyssa Rosenzweig
eb0001bf2b
pan/bi: Rename bi_block->name to bi_block->index
...
This is consistent with nir_block and (IMO) less confusing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16279 >
2022-05-03 17:56:16 +00:00
Lionel Landwerlin
5a2dd4a44d
docs: explain state emission in Anv
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
797a8850b9
anv: remove static_state_mask
...
This is now unnecessary. Either an instruction is never dynamic and
it's emitted in genX_pipeline.c or it can be and it's emitted in
genX_cmd_buffer.c/gfx8_cmd_buffer/gfx7_cmd_buffer.c
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
74a27a6ccb
anv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch
...
v2: drop primitive_topology = 0xffffffff (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
48229d11ba
anv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
76e735d09c
anv: don't emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:45 +00:00
Lionel Landwerlin
e9d000a831
anv: don't emit 3DSTATE_WM in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
065242d623
anv: don't emit 3DSTATE_STREAMOUT in pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
ce8bb29342
anv: never emit 3DSTATE_CPS in the pipeline batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
168b13364f
anv: rework sample location
...
On Gfx7 we can only give the sample location for a given multisample
number. This means everytime the multisampling value changes, we have
to re-emit the locations. It's fine because it's also where
(3DSTATE_MULTISAMPLE) the number of samples is stored.
On Gfx8+ though, 3DSTATE_MULTISAMPLE only holds the number of samples
and all the sample locations for all number of samples are located in
3DSTATE_SAMPLE_PATTERN. So to be more effecient there, we need to
track the locations for all sample numbers and compare new values with
the relevant sample count when touching the dynamic state.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
810518fda7
Revert "anv: fix dynamic state emission"
...
This reverts commit f348103fce . The
change was causing performance regressions.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
69e6417e19
anv: add missing logic op set in pipeline dyn state
...
v2: add ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP check (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 75ad0e4b08 ("anv: support blending logic op dynamic state")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Lionel Landwerlin
5048f15737
anv: reset all dynamic state after secondary execution
...
We don't know in what state the secondary buffer will leave the HW
when it ends. It's easier to consider everything needs to be reemitted
for now.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220 >
2022-05-03 17:12:44 +00:00
Fabrice Fontaine
7d87478124
src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t
...
Fix the following build failure on 32-bit architectures using 64-bit
time_t (e.g. riscv32):
../src/util/futex.h: In function 'sys_futex':
../src/util/futex.h:39:19: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
39 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
| ^~~~~~~~~
| sys_futex
Fixes:
- http://autobuild.buildroot.org/results/692700a5f967760a0b8cd358b1712f1d5a7b681e
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12496 >
2022-05-03 16:40:22 +00:00
Marek Olšák
a0dad2f1db
radeonsi: remove si_create_surface_custom
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
584e996ddd
radeonsi: remove si_create_sampler_view_custom and related code
...
This was used for compressed and subsampled gfx copies.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
cf1e562fdd
radeonsi: remove compressed and subsampled gfx copy from resource_copy_region
...
This is unused because the compute copy is always used in these cases.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
f313dc2a07
radeonsi: improve the subsampled copy_image calculation
...
This fixes a few cases for AMD_TEST=copyimage, but it's still pretty broken.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
b6beb70ea4
radeonsi: handle compressed formats in si_compute_copy_image
...
This fixes a lot of AMD_TEST=copyimage cases, but there are still some
failures.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
1ea662cfbf
radeonsi/ci: update sienna_cichlid results
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
5ffd5883b5
radeonsi/test_image_copy: test all formats
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
deeb4b0a0a
radeonsi/test_image_copy: test mipmaps
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
831dd6df0f
radeonsi/test_image_copy: test copying a block-compressed format
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
0037595004
radeonsi/test_image_copy: test all interesting texture targets
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
b2cd9864ed
radeonsi/test_image_copy: separate printing pipe_resource into a function
...
also print texture targets that are going to be tested
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
67c06c63ef
radeonsi/test_image_copy: separate generating a random pipe_resource
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
daf380d489
radeonsi/test_image_copy: simplify texture size generation
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
5a4cdc809b
radeonsi/test_image_copy: remove special SDMA codepaths
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
c49559f835
radeonsi/test_image_copy: remove linear and power-of-two size testing
...
it doesn't add any value
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
f146f3cfa1
radeonsi/test_image_copy: remove whole image copies
...
it doesn't add any value
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
8db7a2d497
radeonsi: rename si_test_blit -> si_test_image_copy_region
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
e0adb5be4d
radeonsi: don't expose formats that CB supports, but not shaders
...
e.g. R4G4B4A4_UINT
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
54ccf24e79
radeonsi: assert format support in si_compute_copy_image
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
23012ff52b
radeonsi: cosmetic changes in si_compute_copy_image
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
8c0669fe3f
radeonsi: implement compute_copy_image between 1D_ARRAY and other texture types
...
And set more optimal compute block sizes.
The compute copy is required to preserve NaNs, so this fixes a lot of
AMD_TEST=copyimage cases.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
01d994f5e6
radeonsi: add color buffer support for R9G9B9E5_FLOAT on gfx10.3
...
This was missed when we added gfx10.3.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
fd5e661954
radeonsi: add color buffer support for 2_10_10_10 pipe formats
...
The hw enum is reversed.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
4512b212e7
radeonsi: don't allow broken compute image copies into A8R8_UNORM
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
52f83dce05
radeonsi: don't report R64_*INT as a sampler format because it doesn't work
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
fbe973b66e
radeonsi: add si_can_use_compute_blit
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
350bdda83d
radeonsi: code style fix
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
8890cb2a99
radeonsi: simplify setting COMPUTE_PGM_RSRC2.SCRATCH_EN
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
3d773c7303
radeonsi: remove unused si_cs_shader_state::uses_scratch
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
77e1fc67bc
radeonsi: align the tessellation ring address to 2MB
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
121cde7cb9
radeonsi: cleanup local includes
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
0cb42c57c5
radeonsi: always print the lower-case GPU name for radeonsi-run-tests.py
...
This fixes the GPU name detection in radeonsi-run-tests.py when
the marketing name is unknown.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
88f22f188e
ac,radeonsi: report SCALED formats as unsupported by samplers and color buffers
...
This was never exercised and it doesn't work.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
65c7b5ec20
ac: support GR channel order in ac_choose_spi_color_formats
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
74b3ca6752
ac/llvm: don't set ac_dlc in visit_intrinsic
...
It's set by get_load_cache_policy later.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
0cd59c7cb0
ac/llvm: set the correct cache policy for sparse buffer loads
...
The DLC bit was missing on gfx10.
Fixes: 6d5e26752c "ac/nir: implement sparse image/texture loads"
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
c7ec284024
ac: remove really_needs_scratch, parameter from ac_parse_shader_binary_config
...
it's always true
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Marek Olšák
4b93dd215f
ac/gpu_info: rework how num_se is derived
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215 >
2022-05-03 11:11:08 -04:00
Alyssa Rosenzweig
575068a165
panfrost: Unit test "from legacy" helper
...
So we don't regress the UABI. This doesn't get much CI coverage otherwise.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
6d0505701d
panfrost: Unit test stride calculations
...
These have reasonable interpretations now, and the three row strides have been
deduplicated. So add stride expectations to our ASTC unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
579fd30209
panfrost: Unify row stride and AFBC row stride
...
Row stride is defined in terms of header blocks for AFBC. Usually,
afbc.row_stride is used for AFBC images and row_stride for non-AFBC images;
however, the nonsense non-AFBC stride leaked into the UABI. So handle that in
the legacy conversion path and use a unified row stride (equal to
afbc.row_stride for AFBC images and row_stride otherwise).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
1842e14a73
panfrost: Remove line_stride
...
There are no more users. This eliminates a class of issues.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
61100e7011
lima,panfrost: Use row stride for tiling routines
...
This makes more sense.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
c4241a831f
panfrost: Use row_stride even for linear resources
...
In that case, they match up.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
c11df56cff
panfrost: Adapt get_param for row strides
...
Let's preserve the old behaviour -- this is UABI, we need to be bug for bug
compatible.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
3a4207dde6
panfrost: Use row stride to calculate slice size
...
This expresses what's actually happening. Equivalent to the old calculation due
to some cancellation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
0b788e2ee4
panfrost: Rename away from bytes_per_pixel
...
This name is wrong for block-compressed formats. The code worked out anyway, but
rename it for clarity.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
81a686a714
panfrost: Use row stride for explicit layouts
...
Line strides don't make sense for linear images, so use row strides instead in
the API. Then update the layout code accordingly.
Note: we need to preserve the old UABI (bug for bug compatibility), so we still
use legacy strides externally. But now we use row strides internally, which is
better than using both everywhere.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
c40ebd859c
panfrost: Add helpers to work with legacy strides
...
Unfortunately, the botched nonlinear "line strides" have become ingrained in the
UABI. We need to be work with them. Add safe helpers to convert to/from the
legacy strides.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
a741bd5db1
panvk: Report row_stride in GetImageSubresourceLayout
...
...Rather than line_stride. For linear images, these are equivalent. For
nonlinear images, rowPitch is implementation-defined. So this isn't strictly a
bug fix, but it gets rid of the nonsense nonlinear line_stride.
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/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
a7fdedd247
panvk: Remove unused layout structs
...
PanVK switched to the common Panfrost layout code, but these duplicate structs
stuck around. Garbage collect them to prevent confusion.
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/16201 >
2022-05-03 14:20:15 +00:00
Alyssa Rosenzweig
f45816181f
pan/decode: Print row strides, not line strides
...
I.e. what's actually passed to the hardware, in case of compression or tiling.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16201 >
2022-05-03 14:20:15 +00:00
Karmjit Mahil
58d9afb80b
pvr: Add compute update kernel in vkCmdDispatch().
...
We upload a new data section whenever a patched variant is
needed. They will be freed at command buffer destruction since
the uploads are linked.
Co-authored-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040 >
2022-05-03 13:41:28 +00:00
Karmjit Mahil
5e9e3fe7f7
pvr: Add compute update shared kernel in vkCmdDispatch().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040 >
2022-05-03 13:41:28 +00:00
Karmjit Mahil
7ccf9494b6
pvr: Add initial implementation of vkCmdDispatch().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040 >
2022-05-03 13:41:28 +00:00
Karmjit Mahil
4b7a9bf364
pvr: Add PVR_WORKGROUP_DIMENSIONS define.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16040 >
2022-05-03 13:41:28 +00:00
Lionel Landwerlin
4efc997472
anv: fix invalid utrace memcpy l3 config on gfx < 11
...
device->l3_config is only valid on Gfx11+
This only fixes using GPU_TRACE=1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 02a4d622ed ("anv: expose a couple of emit helper to build utrace buffer copies")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16291 >
2022-05-03 13:18:48 +00:00
Mike Blumenkrantz
4a4adb65ce
llvmpipe: disable compute statistics queries if queries are disabled
...
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278 >
2022-05-03 13:00:50 +00:00
Mike Blumenkrantz
e4884c35d6
llvmpipe: remove misleading query comment
...
u_blitter already handles this
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278 >
2022-05-03 13:00:50 +00:00
Mike Blumenkrantz
a36c3f6f6a
llvmpipe: disable statistic queries during draw if queries are disabled
...
cc: mesa-stable
fixes (zink):
spec@ext_transform_feedback@generatemipmap prims_generated
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16278 >
2022-05-03 13:00:50 +00:00
Pierre-Eric Pelloux-Prayer
6ee9e6ce87
radeonsi: generate unique shader name in si_get_nir_shader
...
This function modifies the NIR shader, so when using NIR_DEBUG=print and
nir_viewer all the variants are displayed using the original name.
With this change, we get the original shader (eg: GLSL3), and then each
variant gets its own name (GLSL3-xxxxxxxx) - and is displayed in its
own tab in nir_viewer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16247 >
2022-05-03 10:39:51 +00:00
Pierre-Eric Pelloux-Prayer
f1f2d407e7
radeonsi: don't always strip NIR debug infos
...
When using NIR_DEBUG=print, always having shader names help debugging.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16247 >
2022-05-03 10:39:51 +00:00
Joshua Ashton
ce7966fcb4
aco: Use movk for AddressHi bits in vertex prolog
...
Eliminates a useless extra dword by transforming
s_mov_b32 s47, 0xffff8000 ; beaf03ff ffff8000
to
s_movk_i32 s47, 0x8000 ; b02f8000
which does the same thing.
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15415 >
2022-05-03 10:15:36 +00:00
Daniel Schürmann
58bd9a379e
aco/ra: fix live-range splits of phi definitions
...
It could happen that at the time of a live-range split,
a phi was not yet placed in the new instruction vector,
and thus, instead of renamed, a new phi was created.
Fixes: dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_i8vec2
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16248 >
2022-05-03 09:54:30 +00:00
Konstantin Seurer
d639608b8b
ac/nir: Do not set cursor in try_extract_additions
...
Fixes: 61ac5ac ("radv,ac/nir: lower global access to _amd global access intrinsics")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16270 >
2022-05-03 09:23:49 +00:00
Samuel Pitoiset
3829981eb7
radv: use 3D views for 3D internal operations on GFX6-8
...
Instead of binding 2D images views and relying on BASE_ARRAY.
This cleanups the internal driver operations for 3D.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16272 >
2022-05-03 08:10:10 +02:00
Timothy Arceri
180398f785
nir: fix sorting before assigning varying driver locations
...
We need to make sure we also properly sort varyings sharing a single
slot otherwise we can end up assigning earlier components to the next
slot if we have already processed later components.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6392
Fixes: 1e93b0caa1 ("mesa/st: add support for NIR as possible driver IR")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16208 >
2022-05-03 00:04:30 +00:00
Emma Anholt
067023dce2
util: Add some unit tests of the half-float conversions.
...
Make sure that we're handling nans/infs correctly, in particular only
generating quiet nans when given a quiet nan. This catches the previous
qNaN fix.
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16233 >
2022-05-02 23:36:50 +00:00
Chia-I Wu
27e33d5c96
util: Keep quiet NaNs quiet when converting to half float.
...
We don't want to be throwing exceptions and changing float values later by
emitting a signaling binary16 nan.
If we don't do this, then when we convert back to f32 in NIR constant
expression evaluation, the signaling NaN can end up giving NaN for
fmax(NaN, 0.0), instead of 0.0.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5933
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16233 >
2022-05-02 23:36:50 +00:00
Lionel Landwerlin
acf6bf88c0
iris: use new kernel uAPI to compute video memory
...
v2: Use os_get_available_system_memory() when kernel memory region
uAPI is not available (Lionel)
Cc: 22.1 <mesa-stable>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-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/16210 >
2022-05-02 22:57:06 +00:00
Jason Ekstrand
763744aa8b
panvk: Add address/range helpers for panvk_buffer
...
The range helper is taken from ANV; the gpu_ptr one is original. This
also fixes a few more bugs where we weren't adding offsets in properly.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16216 >
2022-05-02 17:37:40 -05:00
Alyssa Rosenzweig
631f47e83a
panvk: Only write depth when depth test enabled
...
Fixes dEQP-VK.pipeline.depth.format.*_test_disabled.depth_write_enabled
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283 >
2022-05-02 20:28:48 +00:00
Alyssa Rosenzweig
46778f2b2a
panvk: Lower image deref atomics
...
Fixes dEQP-VK.image.atomic_operations.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283 >
2022-05-02 20:28:48 +00:00
Alyssa Rosenzweig
54412afadc
pan/bi: Handle texture offset + index
...
Fixes dEQP-VK.glsl.opaque_type_indexing.sampler.uniform.vertex.sampler1d
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283 >
2022-05-02 20:28:48 +00:00
Alyssa Rosenzweig
86d32eed38
panvk: Allocate stack for each thread
...
Rather than a single stack for all threads to share -- that can't work! :-) We
use the same helper that the GLES driver does. Fixes anything using scratch or
spilling, including:
dEQP-VK.glsl.indexing.varying_array.vec3_static_write_dynamic_read
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283 >
2022-05-02 20:28:48 +00:00
Alyssa Rosenzweig
7a7403f6aa
panvk: Lower global vars to local
...
Fixes dEQP-VK.glsl.indexing.varying_array.float_static_write_static_loop_read
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283 >
2022-05-02 20:28:48 +00:00
Yiwei Zhang
3f44bad1ce
venus: log performance envs upon instance creation with debug init
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Change-Id: I8db93d6de28ac6a727c10fbaca94cffac092f8ea
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16256 >
2022-05-02 20:20:43 +00:00
Yiwei Zhang
84a53de76c
venus: add VN_RELAX_BASE_SLEEP_US env var for tuning cpu utils
...
Cap the minimum to the current base sleep us 10.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16256 >
2022-05-02 20:20:43 +00:00
Rob Clark
f3fb1d6632
drm-shim: Cleanup on device file close
...
Avoid leaking memory when the device file is closed, dropping bo
references and freeing the shim_fd.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
409b76511c
freedreno/drm-shim: Better iova handling
...
We actually want to use util_vma to handle this. But fortunately core
drm-shim alredy does this for mem offset, we can just delete a bunch of
code and re-use that.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
6c465ad6c7
drm-shim: Add error handling for bo_init()
...
Don't assert, return an error. If we are fuzzing something using
drm-shim, we want to be more like the kernel and return an error
for OoM situation, rather than falling over.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
c4b5ebe1fc
drm-shim: Better mmap offsets
...
Using the bo pointer address as the offset doesn't go over well when
someone is fuzzing you. But we already have the mem_addr, we can simply
use that instead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
97f4e48717
freedreno/drm-shim: Robustify error handling
...
We can't be so sloppy if we are using drm-shim for fuzzing.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
d06fc7bb4f
freedreno/drm-shim: Update to latest uapi version
...
Needed for fuzzing virgl drm native context.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Rob Clark
a922997ffd
drm-shim: Add GET_UNIQUE support
...
Needed by drmOpenWithType(), which is used by virgl drm native context.
(We want to use drm-shim for fuzzing.)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16250 >
2022-05-02 19:50:33 +00:00
Iván Briano
bf04be17f7
vulkan/wsi/wayland: Fix double free on error condition
...
If wsi_configure_native_image() fails, it will call
wsi_destroy_image_info() itself, so let's try to not call it again from
wsi_wl_swapchain_destroy().
Fixes the CTS tests:
dEQP-VK.wsi.wayland.swapchain.simulate_oom.*
Fixes: b626a5be43 ("vulkan/wsi/wayland: Split image creation")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16257 >
2022-05-02 19:26:27 +00:00
Lionel Landwerlin
1e7ea18026
vulkan/runtime: 0-out pipeline cache object
...
I'm running into crashes because cache->cache_object is uninitialized.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 591da98779 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16275 >
2022-05-02 19:02:42 +00:00
Caio Oliveira
7cd9adeb41
intel/compiler: In XeHP prefer <1;1,0> regions before compacting
...
Ken performed some tests with shader-db to evaluate the effects
```
Across all 145,848 shaders generated, the results were:
Total bytes compacted before: 3,326,224
Total bytes compacted after: 60,963,280
```
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15399 >
2022-05-02 18:03:01 +00:00
Mike Blumenkrantz
562fd98998
llvmpipe: add a ci flake
...
not able to repro locally
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16280 >
2022-05-02 17:46:08 +00:00
Jesse Natalie
2505afc430
d3d12: Destroy empty residency bo set during early-return
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
1e940f2ccf
d3d12: Fix a couple over-releases from incorrect take-ownership flag
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
32c1b5fd05
d3d12: Fix leaks in map with do-not-wait
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
5b46ef9857
d3d12: Use a pipe_reference in d3d12_bo
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
8de1e310a7
u_primconvert: Handle take_index_buffer_ownership
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
12d88d500d
u_primconvert: Refactor to remove recursion from util_primconvert_draw_vbo
...
This prevents having unused copies of pipe_draw_info and
pipe_draw_start_count_bias on the stack, and makes it easier to do
things once for a multi-draw, which will matter in the next patch.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
0474bbcfb9
u_debug_stack: Lock around stack dumps to prevent interleaving
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
303c2754a3
u_debug_symbol: Allow re-init of DbgHelp to work around already-initialized issues
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
f51840d87c
u_debug_symbol: Use correct sizeof for DbgHelp
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
d8024b2504
u_debug_refcnt: Don't loop for initial refcounts if the initial value is huge
...
Some components use very large refcounts to bypass atomics in single-threaded
cases, and this produces near-infinite loops when these resources are created.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
0bcb5f919e
bin: Add a script for filtering/sorting refcount logs
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182 >
2022-05-02 16:58:20 +00:00
Jesse Natalie
53a94fbdd5
mesa: Ensure ARB programs end in a newline
...
If the last line of an ARB program has a comment, the program will
fail to parse, because the lexer only considers a comment valid if
it ends in a newline, not EOF. The parser then fails on the '#'.
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16230 >
2022-05-02 16:02:54 +00:00
Jesse Natalie
9f37579e1b
d3d12: Correctly key off of polygon stipple enable cap
...
Apparently we were only keying off the presence of a real stipple pattern
being set, and completely ignoring when the app does glDisable().
Add in the actual enable bit as an additional discriminator to determine
if we should be doing polygon stippling.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16254 >
2022-05-02 15:56:05 +00:00
Alyssa Rosenzweig
ce6d5094c8
pan/va: Add non-IDVS VAR_TEX instructions
...
Used in blit shaders.
Icecream95 supplied the test cases.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:25 -04:00
Alyssa Rosenzweig
030e00dea2
pan/va: Add VAR_TEX_BUF_GRADIENT instruction
...
Probably useful for ... something.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:25 -04:00
Icecream95
0b17ea7536
pan/va: Improve texture instructions
...
[Alyssa: Related improvements.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Icecream95
2bfcfa005d
pan/va: Add absneg modifier to V2F32_TO_V2F16
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Icecream95
35c3073fc2
pan/va: Add SEG_ADD/SEG_SUB operation
...
[Alyssa: Fixes to the instruction.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Icecream95
822dfb76de
pan/va: Add more transcendental operations
...
TODO: Make the secondary opcode field wider so that FATAN_ASSIST can
be split into two instructions
[Alyssa: Fixes to the hardware behaviour.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Icecream95
1015e527cd
pan/va: Improvements to LEA_TEX instructions
...
[Alyssa: Fixes to match hardware.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Alyssa Rosenzweig
d831a13c70
pan/va: Mark NOT instructions as deprecated
...
The inverters on the bitwise ops should be used instead.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Alyssa Rosenzweig
06562fd78b
pan/va: Add missing TABLE (SFU) instructions
...
Equivalent to their Bifrost predecessors.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Alyssa Rosenzweig
e6ea15a73a
pan/va: Generalize message? check for asm
...
Allows passing more uniforms in more places. We'll use this in a test case in a
moment.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588 >
2022-05-02 11:11:08 -04:00
Alyssa Rosenzweig
3641dfe436
panfrost: Flip point coords in hardware
...
On Bifrost, this is very easy: there's an RSD bit to Y-flip gl_PointCoord. It
should map perfectly to the Gallium bit. With this change, we no longer use
lower_pntc_ytransform on Bifrost, saving a bit of ALU when reading point
coordinates.
On Valhall, this is quite hard: the bit is in the framebuffer descriptor now!
That means it can't be changed in a batch. This is expected to be ok: on GLES
and VK, the origin is controlled only by the framebuffer orientation. It's a
bigger problem on big GL, where GL_POINT_SPRITE_COORD_ORIGIN can be set freely.
To cope, a tri-state data structure is used for the state tracking. This has a
failure case on Valhall: every draw toggling the coord origin. However, the
intention of the ORIGIN state bit is smoothing over coordinate system
differences; it should never /actually/ change once set. Until we see an app
doing something so stupid, I don't think we should worry about.
We need all the Valhall tri-state infrastructure for handling provoking vertices
on big GL anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:56:25 -04:00
Alyssa Rosenzweig
5bab8e6cbe
panfrost: Lower user clip planes
...
Since we don't export the relevant CAP, the state tracker calls
nir_lower_clip_vs for us. However, for some reason we're still responsible for
calling nir_lower_clip_fs. Now that we have sane shader key infrastructure,
let's do so.
Fixes the floor rendering wrong in the title screen of Neverball.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
013bb50168
panfrost: Lower point sprites on Bifrost
...
Use the common pass. This only should trigger when drawing points, so we need
some extra tracking to ensure this.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
b6909ebb36
panfrost: Refactor variant rebind code
...
For point sprite lowering on Bifrost and Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
39788ac703
panfrost: Refactor variant selection code
...
Extract the "compile a new variant" routine from the "select and bind a variant"
routine. This allows us to simplify the control flow, eliminating the `compiled`
boolean on the shader structure.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
755f30fb18
panfrost: Simplify shader key architecture
...
Rather than clever key compare/initialize code, let's make the shader keys plain
old data. This makes it easier both to extend and to optimize the shader keys.
Keys are compared with a simple memcmp(). I considered a hash table but I don't
think we have enough variants (or large enough keys) to justify the overhead.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
2c3ed7af53
panfrost: Use s->info.stage instead of tgsi stage
...
Now that we have the NIR handy.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
1c5adbb3df
panfrost: Don't subclass pipe_compute_state
...
Just copy the bit we need so the NIR doesn't hang around. This is simpler.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
b834dea889
panfrost: Call tgsi_to_nir earlier
...
This ensures we always have NIR available in the shader state. It also saves a
(trivial) amount of recomputation if multiple TGSI variants are needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
3f505a8bc1
panfrost: Remove ancient unused code
...
Leftover scraps.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16173 >
2022-05-02 09:55:49 -04:00
Alyssa Rosenzweig
7864f653ad
panvk: Emit fragment RSDs even with no shader
...
In Vulkan, it's possible to create a pipeline with no fragment shader that's
still expected to rasterize. This is useful for depth/stencil side effects, and
is closely related to the "fragment shader required" optimization we do in the
GLES driver. Refactor the RSD emit code to handle this case.
Fixes dEQP-VK.pipeline.stencil.nocolor.*
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/16204 >
2022-05-02 13:12:31 +00:00
Alyssa Rosenzweig
dcf8cdde68
panvk: Gate rasterization on !discard, not fs req
...
The "fragment shader required?" computed state is about fragment shader side
effects. There may be no fragment shader required but depth/stencil side effects
meaning that rasterization is nonoptional. What actually gates rasterization is
the rasterizer discard bit. Use that instead.
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/16204 >
2022-05-02 13:12:31 +00:00
Alyssa Rosenzweig
6d779412e5
panvk: Streamline no shader RSD case
...
Noticed by inspection.
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/16204 >
2022-05-02 13:12:31 +00:00
Alyssa Rosenzweig
db7d8519f9
panfrost: Only flip point sprites for GL
...
Fixes dEQP-VK.glsl.builtin_var.simple.pointcoord
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/16204 >
2022-05-02 13:12:31 +00:00
Alyssa Rosenzweig
ba29cdecab
panvk: Use correct point size limits
...
As determined by Icecream95. Fixes:
dEQP-VK.rasterization.primitive_size.points.point_size_*
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/16204 >
2022-05-02 13:12:31 +00:00
Alyssa Rosenzweig
9d84caa4d5
panvk: Ignore point size for !points
...
Otherwise wide lines break. The alternative approach is to eliminate the points
writes when not drawing points since we do have topology information at compile
time. I'm admittedly stuck in my GL mindset. That's the approach we'll need for
Valhall anyway.
Fixes dEQP-VK.rasterization.interpolation.basic.lines_wide
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/16204 >
2022-05-02 13:12:31 +00:00
Icecream95
2864094f69
pan/bi: Use texture index instead of sampler for message preloading
...
The VAR_TEX definition in ISA.xml only has a field for texture_index,
so trying to read sampler_index will return zero; read from
texture_index instead, and rename other fields for consistency.
The texture and sampler indices must be equal for VAR_TEX to be used,
so either name could be used for the field.
Fixes the wrong textures being used in Thief.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6219
Fixes: eb1479bda2 ("pan/bi: Support message preloading")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16255 >
2022-05-02 12:50:44 +00:00
Gert Wollny
4a2ff9eb86
r600: Allow eight bit, three channel formats for vertex buffers
...
While using three component texture formats results in CTs failures,
three component vertex attributes are fine, and not allowing them
results in significant performance regressisons.
Fixes: e41958e344
r600: Disable eight bit three channel formats
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6399
v2: rename function to is_buffer_format_supported (Emma)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16267 >
2022-05-02 12:39:31 +00:00
Lionel Landwerlin
0be9cac742
anv: limit clflush usage
...
Discrete platforms don't have LLC, but on those, we mmap our buffers
with WC. So we shouldn't need to clflush there.
Anv already had a boolean field on the physical device to know whether
we need to use clflush(), based off the memory heaps available. So use
that instead.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15780 >
2022-05-02 12:07:01 +00:00
Lionel Landwerlin
44e93b4c6f
anv: fix clflush usage on utrace copy batch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: cc5843a573 ("anv: implement u_trace support")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15780 >
2022-05-02 12:07:01 +00:00
Pierre-Eric Pelloux-Prayer
529f316d87
radeonsi: fix VS kill_outputs handling
...
981bd8cbe2 moved outputs removing handling to NIR, but instead of
applying it only to the last stage before the FS this now applies
it to both the GS and the VS.
This commit fixes this by clearing the kill_outputs field for
the VS when using a ES-GS shader.
Fixes: 981bd8cbe2 ("radeonsi: apply key.ge.opt.kill_{outputs,pointsize,clipdistance} in NIR")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16249 >
2022-05-02 13:41:39 +02:00
Rhys Perry
8a525c0fa5
radv: consider radix sort shaders to be internal/meta
...
Cleans up RADV_DEBUG=shaders
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16198 >
2022-05-02 10:19:23 +00:00
Iago Toral Quiroga
c9f68361a8
v3dv: ignore barriers for image layout transitions from undefined layouts
...
Layout transitions are not relevant to us, we only care about barriers
that involve a sync point between read/write actions on the image across
GPU jobs.
Image transitions from undefined layout can only happen before the image
is ever used by the GPU, which means they are never relevant to our
implementation.
This improves performance in vkQuake.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16235 >
2022-05-02 08:04:13 +02:00
Iago Toral Quiroga
a44d498287
v3dv: document Vulkan requirements for signaling operations
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16235 >
2022-05-02 08:04:13 +02:00
Iago Toral Quiroga
0273f661e6
v3dv: don't emit final noop job if we don't have anything to signal
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16235 >
2022-05-02 08:04:13 +02:00
Iago Toral Quiroga
de0d4d671a
v3dv: drop obsolete comment
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16235 >
2022-05-02 08:04:13 +02:00
Iago Toral Quiroga
c367bd0ee3
v3dv: ignore no-op barriers
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16235 >
2022-05-02 08:04:13 +02:00
Alyssa Rosenzweig
31fd926334
agx: Lower mediump flat shading
...
This isn't supported by the hardware. Fixes
dEQP-GLES2.functional.shaders.constants.float_uniform_vertex
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
18ef9398de
agx: Remove nir_register support
...
We don't use it anymore, now that we can handle SSA form. Gets rid of
the most gross hack in the compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
3927a9e911
agx: Remove has_liveness
...
Given we do no metadata tracking, this is an accident waiting to happen.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
1c6bd0357f
agx: Update RA comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
6b22bbab36
agx: Add validation pass
...
For now, just check that we didn't botch the structure of the block,
since this just bit me.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
4498799822
agx: Remove identity moves
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
c712043b9c
agx: Unit test parallel copy lowering
...
It's pretty tricky.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
6a4d742369
agx: Always use hash table for extracts
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
860832e41b
agx: Split up RA from post-RA lowering
...
This allows us to validate results in the middle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
ea065537cb
agx: Lower phi nodes to parallel copies
...
Now we have an SSA RA :-)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
ccb0210761
agx: Don't lower phis in NIR
...
We're ready for them now! Just scalarize.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
a8da17f628
agx: Copy prop into phi nodes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
8ff0a29baf
agx: Translate phi nodes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
4791dc9125
agx: Make DCE dumber
...
The current DCE pass hits issue around phi nodes. These need to be
solved properly eventually, but for now workaround them by doing
something obviously correct (but suboptimal compile time).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
606d9340f3
agx: Adapt liveness analysis for SSA
...
Lifted from nir_liveness.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
590df764d6
agx: Introduce worklist infrastructure
...
Using the common NIR stuff.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
e414a8c16f
agx: Add agx_after_block_logical helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
a2a947031a
agx: Mark the logical ends of blocks
...
We need to insert parallel copies at the logical end of blocks, before branches.
Add a pseudo instruction signaling that. Cribbed from ACO.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
5be26e8624
agx: Add predecessor index helper
...
To order phi sources.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
3f1e926bf4
agx: Use a dynarray for predecessors
...
This imposes a fixed ordering, allowing phi sources to be implicitly ordered.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
d02e913e95
agx: Remove else optimization
...
It will conflict with SSA-based RA and needs to be rewritten to happen
late.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
4d79f6ca76
agx: Use extract helper for tex internally
...
Allows better optimization.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
4f78141c77
agx: Emit splits for intrinsics
...
This allows optimizing the extracts.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
d06394095b
agx: Optimize p_split(kill) specially
...
Let's make sure these are allocated optimally.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
e16ad8f443
agx: Lower p_split after RA
...
Using existing regalloc infrastructure.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
4fc023ed42
agx: Use a transfer graph for parallel copies
...
Lifted from ir3. Algorithm is the same; the data structures and interface are
lightly modified to decouple from ir3's IR.
Sequentializing parallel copies after RA is tricky. ir3's implementation works
well enough, so I use that one.
Original implementation by Connor Abbott.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 22:00:00 -04:00
Alyssa Rosenzweig
330ec4260d
agx: Add helper to emit splits
...
This should be used for vector destinations, to facilitate the extraction
optimization.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
b30c718a57
agx: Add helper to emit combines
...
...in such a way that subsequent extracts will be optimized.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
5bc65ef963
agx: Add a hash table for vector extracts
...
This will allow us to introduce splits gradually, giving a graceful fallback.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
d285c63417
agx: Add phi pseudo instruction
...
For SSA.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
2a4a8a8902
agx: Add p_split pseudoinstruction
...
Easier on RA for extracts.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
bb1fb0a9db
agx: Dynamically allocate agx_instr->src
...
Required for phi nodes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
d39b1c3426
agx: Implement simple copyprop
...
Cleans up some of the mess.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
7d38bcb7ee
agx: Use pseudo ops for mov/not/and/xor/or
...
Rather than using builder magic (implicitly lowered on emit), add actual pseudo
operations (explicitly lowered before encoding). In theory this is slower, I
doubt it matters. This makes the instruction aliases first-class for IR prining
and machine inspection, which will make optimization passes easier to write.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
3d8c2f2693
agx: Add unit test infrastructure
...
Lifted from Bifrost. Add some basic optimizer tests (they pass!) to show the
compiler is ready to be unit tested. Given we can't have hardware CI for Asahi
yet -- and dEQP is still pretty janky -- unit testing should prove quite useful.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
43c701424b
agx: Wrap compiler header in extern "C"
...
So we can use it from GTest.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
f0a973081f
agx: Use correct types for some IR enums
...
Otherwise there are implicit int->enum casts which prevent us from building as
C++ (with -fpermissive).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
b87ce10210
agx: Match order for designated initializers
...
Required to compile our headers with C++, to allow us to use GTest unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
ff660dd637
agx: Track write registers more accurately
...
We may not write a full 32-bit vec4, don't be so pessimistic.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
0c82b5c99c
agx: Note that RA proceeds in dominance-order
...
This is an important invariant for SSA-based RA to work.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
81477f3809
agx: Implement some shader-db stats
...
Instructions, bytes, and registers -- this should hold us over until we
can reverse the underlying uarch and get proper cycle estimations.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:58:29 -04:00
Alyssa Rosenzweig
31b3f56813
asahi: Workaround broken GLSL compiler
...
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6075 still hasn't been
fixed (despite the bug being known for a year now..)
Workaround the brokenness.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268 >
2022-05-01 21:56:21 -04:00
Rob Clark
69edfcaa20
freedreno/drm: Fix bos_on_stack calculation
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16263 >
2022-05-01 15:53:10 +00:00
Konstantin Seurer
53fe6f1084
radv: Use the entire morton code as sort key
...
Fixes: be57b08 <"radv: Build accaleration structures using LBVH">
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16264 >
2022-04-30 22:11:06 +00:00
Konstantin Seurer
6ba55b4033
radv/radix_sort: Make variable names consistent
...
We usually use pdevice for "physical device" and not "device pointer".
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16259 >
2022-04-30 16:05:42 +02:00
Konstantin Seurer
f1eb1bd10a
radv/radix_sort: Add missing entry points
...
Fixes: 5d9ef0e ("radv: Add the fuchsia radix sort")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16259 >
2022-04-30 16:04:22 +02:00
Yiwei Zhang
2f8123abab
venus: enable ANB shared presentable image prop
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15868 >
2022-04-30 04:25:44 +00:00
Yiwei Zhang
2df0aa185e
venus: update vn_GetSwapchainGrallocUsage2ANDROID for shared present
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15868 >
2022-04-30 04:25:44 +00:00
Yiwei Zhang
d6b4f746b0
venus: cache front_rendering_usage bit at gralloc init
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15868 >
2022-04-30 04:25:44 +00:00
Yiwei Zhang
52ad0368cd
venus: refactor android gralloc pieces
...
There's no functional change.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15868 >
2022-04-30 04:25:44 +00:00
Francisco Jerez
14cad38b19
intel/dev: Compute pixel pipe information based on geometry topology DRM query.
...
This changes the intel_device_info calculation to call an additional
DRM query requesting the geometry topology from the kernel, which may
differ from the result of the current topology query on XeHP+
platforms with compute-only and 3D-only DSSes. This seems more
reliable than the current guesswork done in intel_device_info.c trying
to figure out which DSSes are available for the render CS.
Cc: 22.1 <mesa-stable>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14143 >
2022-04-30 00:00:58 +00:00
Emma Anholt
bf02bffe15
nouveau: Enable the NIR backend by default.
...
The glsl-to-tgsi code generation and GLSL IR linker is is going away
(!8044 ), so we need to make the call on whether to use nir-to-tgsi (See
!15932 and !15541 ), or switch over to the NIR code generator. The NIR
backend should reduce the compile time regression while providing more
direct control over the IR we receive than going through NTT, while still
providing the optimization that NIR-to-TGSI was bringing us.
nv92 shader-db:
total local in shared programs: 2048 -> 1988 (-2.93%)
local in affected programs: 2048 -> 1988 (-2.93%)
total gpr in shared programs: 688468 -> 724705 (5.26%)
gpr in affected programs: 437159 -> 473396 (8.29%)
total instructions in shared programs: 6115978 -> 5874401 (-3.95%)
instructions in affected programs: 5038041 -> 4796464 (-4.80%)
total loops in shared programs: 1361 -> 835 (-38.65%)
loops in affected programs: 538 -> 12 (-97.77%)
total bytes in shared programs: 42389752 -> 40480416 (-4.50%)
bytes in affected programs: 36311616 -> 34402280 (-5.26%)
LOST: 0
GAINED: 1 (pixmark-piano)
nv120 shader-db:
total local in shared programs: 4416 -> 1988 (-54.98%)
local in affected programs: 4416 -> 1988 (-54.98%)
total gpr in shared programs: 870534 -> 893490 (2.64%)
gpr in affected programs: 564210 -> 587166 (4.07%)
total instructions in shared programs: 6379402 -> 6243210 (-2.13%)
instructions in affected programs: 5430790 -> 5294598 (-2.51%)
total bytes in shared programs: 68184224 -> 66729672 (-2.13%)
bytes in affected programs: 58013544 -> 56558992 (-2.51%)
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Emma Anholt
16ead7132f
nouveau/nir: Put the UBO offset indirect into the address reg.
...
Fixes indirect UBO addressing pre-nvc0.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Karol Herbst
d1ff453a0d
nv50/nir: align tlsspace to 0x10
...
nvc0 aligns to 0x10 in setting up its rogram header, but nv50 TLS
allocation expects the incoming value to be aligned already (like TGSI
always did). Avoids regression in
KHR-GL33.shaders.arrays.declaration.dynamic_expression_array_access_* with
the nir backend.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Emma Anholt
c228cb3889
nouveau/nir: Add support for pre-GF100 images and ssbos.
...
We have to allocate them slots in the global file.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Emma Anholt
75f0127d78
ci/nouveau: Add MESA_GLES_VERSION_OVERRIDE=3.1 baseline state.
...
imirkin requested that I test the GLES31 codepaths on nv50, and this is
the best I can do with the hardware I have.
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Emma Anholt
3ddc505400
nouveau/nir: Move FS output stores to the end of the last block.
...
The nir_move/sink caused instructions to sink interleaved into the output
stores at the end of the shader. nouveau's RA doesn't track liveness of
FS outputs in registers after the export instruction, so they could end up
overwritten. To work around it, after normal NIR move/sink, move the
output stores back to the end of the shader.
Fixes: b1fa2068b8 ("nouveau/nir: Enable nir_opt_move/sink.")
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15949 >
2022-04-29 23:07:03 +00:00
Chia-I Wu
53d87865ca
turnip: fix drm modifier support with planar formats
...
We need to advertise the results of tu6_plane_count and handle
VK_IMAGE_ASPECT_MEMORY_PLANE_*_BIT.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6374
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16169 >
2022-04-29 22:30:45 +00:00
Erik Faye-Lund
ba9c917149
mesa: add missing error-path
...
The ARB_shader_objects spec says the following:
> The error INVALID_VALUE is generated by any command that takes one or
> more handles as input, and one or more of these handles are not an
> object handle generated by OpenGL.
And a long, long time ago, we used do to just that for
glDeleteObjectARB... Until 9ac9605de1 , all the way back in February 2006,
where the error condition was removed without explanation.
Let's restore it, because it should really be there.
This was noticed by running the tests that are in the mesa-demos
repository, that actually tested this condition.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16211 >
2022-04-29 19:57:58 +00:00
Erik Faye-Lund
82b681db99
gallium/xlib: fix stale comment
...
We haven't been doing what the comment says for about a decade, it's
about time to update the comment!
Fixes: 5f60a00743 ("st/glx: remove STENCIL_BITS, DEFAULT_SOFTWARE_DEPTH_BITS")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16213 >
2022-04-29 19:30:03 +00:00
Erik Faye-Lund
202cab3d30
meson: deprecate specifying osmesa-bits
...
This option has no meaningful effect any more other than pointlessly
renaming the the library. Let's introduce a new default value called
"unspecified", and complain if it's set to anything else.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16213 >
2022-04-29 19:30:03 +00:00
Erik Faye-Lund
36250e839b
meson: remove unused defines
...
These defines are no longer used since we removed libmesa_classic.
Fixes: e030d5ba8a ("mesa: Delete libmesa_classic")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16213 >
2022-04-29 19:30:03 +00:00
Jordan Justen
33456ae5a4
iris: Fix assertion meant to only target the clear-color stride
...
Fixes: 2bc8c61fd0 ("iris: Return a 64B stride for clear color plane")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6398
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16241 >
2022-04-29 09:34:56 -07:00
Jesse Natalie
ab9d649ac3
microsoft/compiler: Unload DXIL validator library *after* calling Release()
...
Otherwise, the code to actually run Release() might not be loaded or
callable anymore.
Fixes: 193cf76c ("microsoft/compiler: add common dxil-validator API")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16225 >
2022-04-29 16:16:22 +00:00
Daniel Schürmann
12d7f911c9
aco/optimizer: prevent any overflow between SGPR and const offset on MUBUF
...
Apparently, if the SGPR offset + const offset overflows,
it doesn't work.
Totals from 145 (0.11% of 134913) affected shaders: (GFX10.3)
SpillSGPRs: 134 -> 104 (-22.39%)
CodeSize: 1632676 -> 1645916 (+0.81%); split: -0.03%, +0.84%
Instrs: 316920 -> 320252 (+1.05%); split: -0.01%, +1.07%
Latency: 1456285 -> 1459686 (+0.23%); split: -0.02%, +0.25%
InvThroughput: 165785 -> 166086 (+0.18%); split: -0.02%, +0.20%
VClause: 6815 -> 6875 (+0.88%); split: -0.03%, +0.91%
SClause: 19089 -> 19079 (-0.05%); split: -0.06%, +0.01%
PreSGPRs: 7302 -> 7304 (+0.03%); split: -0.01%, +0.04%
Fixes: KHR-GL45.shader_storage_buffer_object.basic-operations-case1-cs
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15866 >
2022-04-29 15:57:57 +00:00
Daniel Schürmann
d5dc0c0392
aco: adjust num_waves for LDS before scheduling
...
Totals from 67 (0.05% of 134913) affected shaders: (GFX10.3)
VGPRs: 2024 -> 2136 (+5.53%); split: -0.40%, +5.93%
CodeSize: 162364 -> 162348 (-0.01%); split: -0.08%, +0.07%
MaxWaves: 1882 -> 1816 (-3.51%); split: +0.11%, -3.61%
Instrs: 29176 -> 29162 (-0.05%); split: -0.09%, +0.04%
Latency: 329984 -> 327272 (-0.82%); split: -0.88%, +0.06%
InvThroughput: 54653 -> 54672 (+0.03%); split: -0.01%, +0.04%
VClause: 782 -> 761 (-2.69%); split: -2.81%, +0.13%
SClause: 833 -> 824 (-1.08%); split: -2.28%, +1.20%
Copies: 1872 -> 1873 (+0.05%); split: -0.37%, +0.43%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16039 >
2022-04-29 15:39:10 +00:00
Daniel Schürmann
8d8c59b4cd
aco: split num_waves adjustment into separate function
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16039 >
2022-04-29 15:39:10 +00:00
Daniel Schürmann
6220046ad1
aco: remove 'max_waves' and use 'num_waves' to adjust for LDS and workgroup size
...
Totals from 21 (0.02% of 134913) affected shaders: (GFX10.3)
VGPRs: 1024 -> 1176 (+14.84%)
CodeSize: 127824 -> 127664 (-0.13%); split: -0.17%, +0.04%
MaxWaves: 416 -> 378 (-9.13%)
Instrs: 22521 -> 22502 (-0.08%); split: -0.17%, +0.09%
Latency: 146386 -> 143154 (-2.21%); split: -2.21%, +0.00%
InvThroughput: 28379 -> 28944 (+1.99%); split: -0.23%, +2.22%
VClause: 575 -> 579 (+0.70%); split: -0.87%, +1.57%
SClause: 692 -> 645 (-6.79%)
Copies: 780 -> 747 (-4.23%); split: -4.74%, +0.51%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16039 >
2022-04-29 15:39:10 +00:00
Danylo Piliaiev
6e6ba85fd9
turnip: Fix tu_debug_flags values clashing
...
Was not caught during rebase...
Fixes: 725ae34458
("turnip: Add debug option to print gmem load/store skip stats")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16246 >
2022-04-29 15:09:36 +00:00
Juan A. Suarez Romero
a47375d4da
mesa: unref syncobj after wait_sync
...
Before returning the wait_sync() function, the sync object must be
unreferenced.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6377
Fixes: 0af7c1e385 ("mesa/st: merge the syncobj code from st into mesa")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16242 >
2022-04-29 14:36:59 +00:00
Samuel Pitoiset
1585d12dec
radv/ci: stop skipping dEQP-VK.synchronization.* on Bonaire
...
I can't reproduce GPU hangs after 5 CTS runs and Timur also confirmed
that his Bonaire GPU didn't hang after one CTS run.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16244 >
2022-04-29 15:52:33 +02:00
Samuel Pitoiset
cdd201010d
radv: fix the number of generated primitive queries with NGG GS vs legacy
...
With NGG GS, the hardware can't know the number of generated primitives
and we have to increment it manually from the shader using a plain GDS
atomic operation.
Though this had a serious problem (see this old TODO) if the bound
pipeline was using legacy GS because the query implementation was
relying on NGG GS. Another situation is if we had one draw with NGG GS,
followed by one draw with legacy (or the opposite) the query result
would have been broken.
The solution is to allocate two 64-bit values for storing the begin/end
values if the query pool is supposed to need GDS and accumulate the
result with the number of generated primitives generated by the hw.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15892 >
2022-04-29 11:46:19 +00:00
Danylo Piliaiev
725ae34458
turnip: Add debug option to print gmem load/store skip stats
...
TU_DEBUG=log_skip_gmem_ops would print stats about skipped
gmem/load every second.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15974 >
2022-04-29 09:29:55 +00:00
Danylo Piliaiev
0c489f18cb
turnip: Skip load/stores for tiles with no geometry
...
When HW binning is used tile loads/stores could be skipped
if there is no geometry in the tile.
Loads could be skipped when:
- The attachment won't be resolved, otherwise if load is skipped
there would be holes in the resolved attachment;
- There is no vkCmdClearAttachments afterwards since it is likely
a partial clear done via 2d blit (2d blit doesn't produce geometry).
Stores could be skipped when:
- The attachment was not cleared, which may happen by load_op or
vkCmdClearAttachments;
- When store is not a resolve.
I chose to predicate each load/store separately to allow them to be
skipped when only some attachments are cleared or resolved.
Gmem loads are moved into separate cs because whether to emit
CP_COND_REG_EXEC depends on HW binning being enabled and usage of
vkCmdClearAttachments.
CP_COND_REG_EXEC predicate could be changed during draw_cs only
by perf query, in such case the predicate should be re-emitted.
(At the moment it is always re-emitted before stores)
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15974 >
2022-04-29 09:29:55 +00:00
Danylo Piliaiev
d5debf0d8a
freedreno/a6xx: Add UNK fields to CP_REG_TEST and CP_COND_REG_EXEC
...
Their meaning is unknown, however they DO change the behavior.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15974 >
2022-04-29 09:29:55 +00:00
Gert Wollny
89bba41d90
virgl: don't move input gl_SampleMaskIn to a temp
...
The input is an array so moving it to a single temporary value doesn't
seem to make much sense. I also don't see any piglit regressions when
not moving the value to a temporary.
Fixes: bc912bace1
virgl: Add workarounds for virglrenderer input/sv signedness bugs.
v2: remove unused enum for SAMPLEMASK (Emma)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15997 >
2022-04-29 10:50:51 +02:00
Samuel Pitoiset
2c6747da98
radv/ci: remove empty flakes lists for GFX9
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16239 >
2022-04-29 08:26:02 +00:00
Pierre-Eric Pelloux-Prayer
3de97742ca
radeonsi: enable PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Pierre-Eric Pelloux-Prayer
bd88bed855
gallium: add PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER
...
This way we can make allow_draw_out_of_order true by default for all
apps, iff the driver allows it.
And allow_draw_out_of_order=false can still be used in drirc, for
apps that need this optim to be turned off.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Pierre-Eric Pelloux-Prayer
7df2cc42e7
drirc: remove i965 entry
...
The driver has been deleted in !10153 .
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Pierre-Eric Pelloux-Prayer
f59c8c6e1c
radeonsi: drop assume_no_z_fights option
...
And garbage collect the code that was only used by this option.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Pierre-Eric Pelloux-Prayer
c9a73f53e8
radeonsi: remove commutative_blend_add option
...
This is unused.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Samuel Pitoiset
819dd2f27a
radv/ci: update list of expected failures for Bonaire (GFX7)
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16237 >
2022-04-29 07:34:06 +00:00
Erik Faye-Lund
41fcffeda0
microsoft/compiler: fixup indentation
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16079 >
2022-04-29 07:08:57 +00:00
Erik Faye-Lund
f8fe225840
microsoft/clc: fixup indentation
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16079 >
2022-04-29 07:08:57 +00:00
M Henning
4ce0bbffc1
ttn: Make ttn_optimize_nir match gl_nir_opts
...
ttn_optimize_nir was copied from gl code in 9a834447d6 , so update it
to include all of the lowering steps that gl does. nouveau needs
some of these passes to be applied.
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16158 >
2022-04-28 22:53:12 -04:00
Dave Airlie
85a94be0fe
vulkan/wsi: keep allocate queue families in image, just don't fill them
...
This changes the code so that it only looks at the passed in families
when concurrent, otherwise it always allocates one.
Fixes: 48b3ef625e ("vulkan/wsi: handle queue families properly for non-concurrent sharing mode.")
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Mike Lothian <mike@fireburn.co.uk >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15331 >
2022-04-29 10:58:00 +10:00
Renato Pereyra
e6706d230e
venus: add support for vk_xwayland_wait_ready
...
Signed-off-by: Renato Pereyra <renatopereyra@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16229 >
2022-04-29 00:45:24 +00:00
Mike Blumenkrantz
c5960f64b1
zink: remove drm_fd
...
no longer used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16226 >
2022-04-29 00:33:26 +00:00
Mike Blumenkrantz
c5583df02b
zink: ignore KMS handle types
...
who could've guessed that such a thing was possible
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16226 >
2022-04-29 00:33:26 +00:00
Mike Blumenkrantz
711c31d607
zink: export fd info for all 2d images
...
there's no way to add this later, so here we go
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16226 >
2022-04-29 00:33:26 +00:00
Mike Blumenkrantz
c025cb9ee9
zink: fix dmabuf plane returns
...
use the actual drm format plane count, not the resource format
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16226 >
2022-04-29 00:33:26 +00:00
Karol Herbst
93144175fa
vtn: clamp SpvOpImageQuerySize dest to 32 bit
...
CL image arrays slice is 64 bit for whatever reason...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16205 >
2022-04-29 00:01:20 +00:00
Jason Ekstrand
c31db58f65
nir/deref: Add an alu-of-cast optimization
...
Casts shouldn't change the bit pattern of the deref and you have to cast
again after you're done with the ALU anyway so we can ignore casts on
ALU sources. This means we can actually start constant folding NULL
checks even if there are annoying casts in the way.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15673 >
2022-04-28 23:05:48 +00:00
Dave Airlie
7ab05e3c3f
gallium/vl: respect the video codecs configure in meson
...
Acked-by: Christian König <christian.koenig@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258 >
2022-04-28 22:27:27 +00:00
Dave Airlie
7d969fe9e9
meson: add a video codec support option
...
This allows to turn on/off all hw implementations for a specific video
codec across the tree. Patent encumbered codecs can cause problems for
distributions due to the nature of at least MPEG-LA licensing.
https://jina-liu.medium.com/settle-your-questions-about-h-264-license-cost-once-and-for-all-hopefully-a058c2149256
is probably the best explaination I can find.
From a distro pov, codecs are a jigsaw puzzle, you only seem to become a problem well you fit all the pieces.
This patch will allow disabling the mesa piece of the puzzle.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258 >
2022-04-28 22:27:27 +00:00
Dave Airlie
2c3178329b
gallium/omx: add video codec supported hook for decode paths.
...
These never asked the driver for what was supported.
Acked-by: Christian König <christian.koenig@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258 >
2022-04-28 22:27:27 +00:00
Dave Airlie
20dfdcde71
gallium/vl: wrap codec support checks in a common function.
...
This just is an initial wrapping of all calls into the driver
to check for codec support.
The idea is to add more to this function to support the meson
level disables.
Acked-by: Christian König <christian.koenig@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258 >
2022-04-28 22:27:27 +00:00
Jordan Justen
de99a11172
intel_dev_info: Add --hwconfig command line parameter
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14511 >
2022-04-28 21:56:32 +00:00
Jordan Justen
d9ff9ea9c3
intel/dev: Read hwconfig from i915
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14511 >
2022-04-28 21:56:32 +00:00
Emma Anholt
463cb1153f
nir_to_tgsi: Drop the txl(lod=0)->tex nir_lower_tex() fixup.
...
I've fixed nir_lower_tex() to not do that for us any more.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16156 >
2022-04-28 21:26:08 +00:00
Emma Anholt
536c8ee96d
nir/lower_tex: Make the adding a 0 LOD to nir_op_tex in the VS optional.
...
This controls the whole lowering of "make tex ops with implicit
derivatives on non-implicit-derivative stages be tex ops with an explicit
lod of 0 instead", but it's really hard to describe that in a git commit
summary.
All existing callers get it added except:
- nir_to_tgsi which didn't want it.
- nouveau, which didn't want it (fixes regressions in shadowcube and
shadow2darray with NIR, since the shading languages don't expose txl of
those sampler types and thus it's not supported in HW)
- optional lowering passes in mesa/st (lower_rect, YUV lowering, etc)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16156 >
2022-04-28 21:26:08 +00:00
Yiwei Zhang
fd90a57e28
venus: disable VK_EXT_extended_dynamic_state2
...
extended_dynamic_state.*_raster tests timeout because the new
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE is not handled in venus.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16222 >
2022-04-28 21:19:11 +00:00
Nanley Chery
b023f18bad
isl,iris: Add DG2 CCS modifier support for XeHP
...
Cc: 22.1 <mesa-stable>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521 >
2022-04-28 20:02:14 +00:00
Nanley Chery
a53abeb7fb
intel/isl: Add a score for I915_FORMAT_MOD_4_TILED
...
Enables the modifier in anv.
Cc: 22.1 <mesa-stable>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521 >
2022-04-28 20:02:14 +00:00
Anuj Phogat
ac441d0953
isl,iris: Add I915_FORMAT_MOD_4_TILED support for XeHP
...
This patch adds Tile 4 modifier support to Mesa and allows Mesa to
use Tile 4 on gen12-hp with GBM.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
Cc: 22.1 <mesa-stable>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521 >
2022-04-28 20:02:14 +00:00
Anuj Phogat
acba3efe69
include/uapi: Update drm_fourcc.h from kernel
...
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com >
v2. Pull in the header from drm-next at commit
9035039e1ed691cd893777a42e048003a2f349d6
Cc: 22.1 <mesa-stable>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521 >
2022-04-28 20:02:14 +00:00
Nanley Chery
2bc8c61fd0
iris: Return a 64B stride for clear color plane
...
Although modifiers which use a clear color plane specify that the
plane's pitch should be ignored, some kernels have been found to require
64-byte alignment.
Cc: mesa-stable
Fixes: db475c81b7 ("iris: Return non-zero stride for clear color plane")
Reported-by: Dongwon Kim <dongwon.kim@intel.com >
Suggested-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14521 >
2022-04-28 20:02:14 +00:00
Jesse Natalie
a127731119
d3d12: Add a unit test for context reset recovery
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Jesse Natalie
869a1a6066
d3d12: Attempt screen reset during context create
...
This will only work if all contexts have been destroyed. If the app
attempts to re-create one context, while another outstanding context
exists and is still in the removed state, then the screen is not
recovered and the new context will fail to create.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Jesse Natalie
2d7eea08e2
d3d12: Plug screen leaks
...
This also breaks screen init/deinit into two parts. The first part of
creation cannot fail, and is not repeatable. The second part of creation
can fail, and is repeatable, to be used for reset recovery.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Jesse Natalie
d014425583
d3d12: Plug context leaks
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Jesse Natalie
2bf00b4cff
d3d12: Hook up robustness extensions
...
We can at least correctly return whether the context was lost, but
at this point can't correctly tear down and create a new one, nor
do we support the callback for dynamic notification.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Jesse Natalie
06ae10bb92
wgl: Implement WGL_ARB_create_context_robustness
...
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15002 >
2022-04-28 19:33:04 +00:00
Karol Herbst
a2c9e1cb50
nir: add 16 and 64 bit fisnormal lowering
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16206 >
2022-04-28 18:36:52 +00:00
Mike Blumenkrantz
081ac73162
kopper: implement texture-from-pixmap for software (non-dmabuf)
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Mike Blumenkrantz
27834266f9
kopper: rename a confusing variable
...
is_pixmap is defined in kopper_allocate_textures() as being (!window && x11),
which is very different from this check, which determines whether the drawable
is a window
so rename it to keep things consistent
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Mike Blumenkrantz
ab8702c59e
kopper: check whether zink is using sw
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Mike Blumenkrantz
5660cded60
zink/kopper: add a function for determining if running on software
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Mike Blumenkrantz
05ffc5f5ea
kopper: check for modifiers to use modifier functionality
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Mike Blumenkrantz
ca6760948f
kopper: add some error logging for pixmap->texture failure
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16190 >
2022-04-28 17:52:48 +00:00
Jesse Natalie
6db7dd64b6
d3d12: Don't block DISPLAY based on format for non-Windows
...
On platforms where we're not using DXGI swapchains, there's no reason
to disallow DISPLAY for formats like B5G6R5. In fact, on Android,
we need to support this format as BIND_DISPLAY.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16154 >
2022-04-28 17:44:30 +00:00
Mike Blumenkrantz
08bb498840
ac: remove gallivm header include
...
this doesn't seem to be used
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16192 >
2022-04-28 16:45:31 +00:00
Mike Blumenkrantz
1dc697942a
zink: radv ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16219 >
2022-04-28 12:30:01 -04:00
Marek Olšák
2d4067a6fb
util: change util_format_snorm8_to_sint8 -> snorm_to_sint for radeonsi
...
Convert all SNORM formats to SINT.
This fixes SNORM blits for radeonsi.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16132 >
2022-04-28 12:44:13 +00:00
Marek Olšák
09d6ebac7e
util: add pipe formats R10G10B10X2_SINT, B10G10R10X2_SINT, G16R16_SINT
...
needed by radeonsi
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16132 >
2022-04-28 12:44:13 +00:00
Lucas Stach
08bdee3f10
etnaviv: reinstate accidentially commented assert
...
I added this hack to my tree when testing another MR and ended up
squashing it into c2a3236d1a (etnaviv: clean up tiling setup in
etna_compile_rs_state) by accident when doing some changes to this
commit. Reinstate the assert.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16212 >
2022-04-28 14:00:31 +02:00
Jordan Justen
3477dbd34f
drm-uapi/i915_drm.h: Update from drm-next (2022-04-28)
...
git://anongit.freedesktop.org/drm/drm 9bda072a7bec278c424ad660373e69d8e4a3385d
Among other changes, this provides DRM_I915_QUERY_HWCONFIG_BLOB and
DRM_I915_QUERY_GEOMETRY_SUBSLICES, which are needed for DG2 support.
Cc: 22.1 <mesa-stable>
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/16174 >
2022-04-28 02:09:44 -07:00
prashanth
09e4fd1d84
vulkan/device_select: force default device if environment variable set
...
Force default device if MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE
environment variable set. This will not give multiple device
options to app. There are apps that selects gpu to use based on its
own criteria, this patch can force default behaviour for these apps
by giving only one gpu device to select from.
v2: return 0 if no physical device present (Mihai Preda)
v3: document environment variables (Mihai Preda)(Marek Olšák)
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15585 >
2022-04-28 08:05:40 +00:00
Guilherme Gallo
201b0b6d29
ci/lava: Retry when data fetching log RPC call is corrupted
...
Rarely the jobs.logs RPC call can return corrupted data, such as
mal-formed YAML data. As this is expected and very rare to occur, let's
retry this RPC call several times to give it a chance to fix itself.
Retrying would not swallow the log lines since we keep track of how many
log lines each job has.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
4ffd21ca70
ci/lava: Improve exception handling
...
Move exceptions to its own file.
Create MesaCITimeoutError and MesaCIRetryError with specific exception
data for better exception classification.
Avoid the use of `fatal_err` in favor of raising a proper exception.
Make _call_proxy exception handling exhaustive, add missing
ResponseError treatment.
Also, detect JobError during job result parsing. So when a LAVA timeout error
happens, it is probably cause by some boot/network issues with a
specific device, we can retry the same job in other device with the same
device_type.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
5fc333d0b6
ci/lava: Cancel the job if the script is interrupted
...
During development, we may want to test lava_job_submitter.py locally,
sometimes one can find what one is been looking for before the LAV job
is done. Let's respond to SIGINT signal and cancel the LAVA job, as we
can't follow what is happening anymore via script.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
c64e3d92df
ci/lava: Reduce LAVA boot phase timeout to 3 minutes
...
A normal boot on LAVA device would take less than 1 minute. Sometimes
the depthcharge freezes and LAVA waits until the current timeout (25
minutes) to kick in and fail the job.
With this lower timeout value, the job could fail faster and eventually
LAVA will be able to retry it.
Furthermore, set a default timeout for all actions to fix an undesired
behavior with some LAVA job subactions, such as depthcharge-action.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
9666ab7172
ci/lava: Let LAVA job submitter run without JWT file
...
Make jwt-file argument optional, this means that this submitter could
deal with more generic use cases, such as running it locally, since the
MINIO JWT is a sensitive information, which is not really required to
test if the submitter is working well.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
18d80f25ee
ci/lava: Parse all test cases from 0_mesa suite
...
LAVA can filter which test suite to show the results from, let's list
all testcases possible in the mesa test suite, to be able to divide more
complex jobs into test_cases.
Another advantage is that the test case can vary its name.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
e3f71aaa37
ci/lava: Fix shebang in deqp-runner.sh
...
Now, every rootfs based device has bash installed, so we can use bash
shebang instead of dash to enforce the use of bash's echo, not dash's
one.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
e9aef19e2b
ci/lava: Trap init-stage2.sh background processes
...
Any daemon executed in init-stage2.sh may interfere with LAVA signals,
since any threaded output to console may clutter the signals, which are
based on the log output.
E.g: This job
https://gitlab.freedesktop.org/gallo/mesa/-/jobs/20779120#L2102
has failed because capture-devcoredump.sh was alive and emitting kernel
messages to the console during the LAVA signal handling, mangling the
output and making the LAVA to fail to check the results of the job.
Another problem is that CONFIG_DEBUG_STACK_USAGE Kconfig is enabled.
This causes process exit to dump a `RESULT=[ 246.756067] lava-test-case
(156) used greatest stack depth: ... bytes left` kernel message to the
logs corrupting LAVA signal message. Empirically, it happens one in
every 280 jobs. To solve that, compose the lava-test-case custom script
with a short sleep to give time for kernel to dump the message clearly
and a exit command to keep the return code from init-stage2.sh script.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
09236d9607
ci/lava: Use lava-test-case to run custom scripts in LAVA
...
The exit code is automatically parsed to fail/pass the job, so this
commit removes the `hwci.*pass|fail` regex and printings.
Add mesa-job-name parameter to get the CI_JOB_NAME easily to serve as
test name.
Besides, there is the treatment for the mesa job naeme, as LAVA does not
like whitespace character inside the test case/suite name, since it
interprets it as a LAVA signal parameter and it can make the job fail
when the script looks for the results from the LAVA RPC.
And the slash character seems to break gitlab log sectioning, so
removing every character after the first whitespace.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
33a1c51e3e
ci/lava: Always validate the lava job
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
805de830c9
ci/lava: Set lava-signal to kmsg
...
By default, LAVA emit signals as specific lines of message to the
console serial for subsequent parsing. However, this is prone to be
interleaved with the dmesg messages, particularly with debug messages
that can happen just after the process exit, such as the ones set by
CONFIG_STACK_DEBUG_USAGE Kconfig.
Setting the `lava-signal` to `kmsg` will make those special messages to
be dumped to /dev/kmsg, where the each line is printed atomically
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
75410c3d76
ci/lava: Fix LAVA job validation
...
When jobs.validate returns something, it means that there is a dict
filled with the error message, so we were running the job with some
validation errors for a quite while
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
6a3ee3ea32
ci/lava: Return test-suite result as exit code
...
Makes it easier for external observers.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
43d8ed840e
ci/lava: Filter log lines from LAVA return
...
Start to differentiate between the different types of LAVA log message;
the only visible change right now is that we make warnings and errors
bold and red to match bare-metal, but it comes in useful later as we
will use the results markers to watch us step through the different
stages of job execution.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Guilherme Gallo
84a5ea4228
ci/lava: Encapsulate job data in a class
...
Less free-form passing stuff around, and also makes it easier to
implement log-based following in future.
The new class has:
- job log polling: This allows us to get rid of some more function-local
state; the job now contains where we are, and the timeout etc is
localised within the thing polling it.
- has-started detection into job class
- heartbeat logic to update the job instance state with the start time
when the submitter begins to track the logs from the LAVA device
Besides:
- Split LAVA jobs and Mesa CI policy
- Update unit tests with LAVAJob class
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Daniel Stone
b3ba448ba5
ci/lava: Sleep before, not after, API calls
...
We rate-limit LAVA API calls as they are standard polling calls rather
than blocking for changes. However when we sleep after making the calls
rather than before, we can block when we want to exit - e.g. after
getting the final logs, we will still sleep even though we can drop out.
Fix this by moving the calls to before the API calls, rather than after.
This means that the first calls (when we're waiting to be scheduled, or
haven't got our first log lines yet), will be delayed compared to
previously, but that's not going to slow us down as even in the best
case we won't be executing in a device within the first 15 seconds.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15938 >
2022-04-28 06:33:46 +00:00
Tapani Pälli
d3ef3657b2
isl: disable mcs (and mcs+ccs) for color msaa on DG2
...
Fixes lots of various test failures in:
dEQP-VK.pipeline.multisample.min_sample_shading_disabled.*
dEQP-GLES3.functional*multisample.*
KHR-GL*sample_variables.*
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13991 >
2022-04-28 05:31:52 +00:00
Jordan Justen
212fb25b26
vulkan/wsi/x11: Use atomic_int with sent_image_count
...
Without this being atomically incremented and decremented, I observed
this assert triggering in debug builds:
src/vulkan/wsi/wsi_common_x11.c:x11_present_to_x11_dri3():
assert(chain->sent_image_count <= chain->base.image_count);
I think this was happening since,
src/vulkan/wsi/wsi_common_x11.c:x11_handle_dri3_present_event()
which decrements chain->sent_image_count may be run in a separate
thread.
Fixes: d0bc1ad377 ("vulkan/wsi/x11: add sent image counter")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15908 >
2022-04-27 20:52:53 -07:00
Dave Airlie
b4bbf9d1ac
llvmpipe: add user memory resources to the debug global list.
...
Otherwise things will crash on destruction.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: 9a57dceeb7 ("llvmpipe: add support for user memory pointers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16207 >
2022-04-28 11:06:01 +10:00
Rob Clark
6a3dc4e370
freedreno: Use staging transfer if mmap fails
...
With externaly imported resources, we can have situations where we can't
mmap and directly access linear buffers. So use the staging blit path
for this case.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
a6be0cc12d
freedreno: Split out helper for staging blit
...
We are also going to want to use this for fallback when mmap fails.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0b7d910b2c
freedreno/a6xx: A couple more FD_BO_NOMAP
...
A couple other buffers that we don't need to mmap.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
e42cea4db6
freedreno/drm/virtio: Split up large uploads
...
Might be useful if host cached mmaps.. but OTOH we don't want to burn up
address space.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0aab310439
freedreno/drm/virtio: Async ccmd batching
...
This could be a bit more clever an avoid extra memcpy.. but that seems
to be in the noise at this point.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
528fa581c1
freedreno/drm/virtio: Pass guest handles to execbuf
...
This is needed for the VIRTGPU_WAIT ioctl to work.
TODO we could perhaps limit this, since it is not needed for residency,
but only fencing. Ie. we could omit cmdstream, and probably anything
that has FD_BO_NOMAP flag.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
cb5f25ea71
freedreno/drm/virtio: Protocol updates
...
This syncs up with the protocol of what eventually landed in virglrender.
1) Move all static params to capset to avoid having to query host
(reduce synchronous round trips at startup)
2) Use res_id instead of host_handle.. costs extra hashtable lookups in
host during submit, but this lets us (with userspace allocated IOVA)
make bo alloc and import completely async.
3) Require userspace allocated IOVA to simplify the protocol and not
have to deal with GEM_NEW/GEM_INFO potentially being synchronous.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
fa23ddf258
freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE
...
A shareable bo should also be mappable if FD_BO_NOMAP is not set.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
441f01e778
freedreno/drm/virtio: Drop blocking in host
...
These paths should be corner cases, but still it is a bad idea to block
in the host (because it is single threaded), so instead just turn waits
in the host into polling in the guest.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
e6b2785811
freedreno/drm/virtio: Use userspace IOVA allocation
...
If supported by host virglrenderer and host kernel, use userspace
allocated GPU virtual addresses. This lets us avoid stalling on
waiting for response from host kernel until we need to know the
host handle (which is usually not until submit time).
Handling the async response from host to get host_handle is done
thru the submit_queue, so that in the submit path (hot) we do not
need any additional synchronization to know that the host_handle
is valid.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
ae01c27ac0
freedreno/drm/virtio: Support ring_idx
...
ring_idx zero is the CPU ring, others map to the priority level, as each
priority level for a given drm_file on the host kernel side maps to a
single fence timeline.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
122cedf98c
freedreno/drm: Move bo common init
...
We'll need this to happen before virtio_bo_new() returns in the next
patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
d52455a962
freedreno/drm: Close bo handle after bo->destroy()
...
For userspace allocated iova, we want to give the backend a chance to
release the iova before the handle is closed.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
4ed346c6fb
freedreno/drm: Drop FD_PP_PGTABLE
...
Unused.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
0004cae638
freedreno/drm/virtio: Appease valgrind
...
Valgrind isn't seeing that the kernel is initializing the caps (or
returning an error).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Rob Clark
d79c71c705
freedreno: Misc indent fixes
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16086 >
2022-04-27 23:10:00 +00:00
Adam Jackson
c865416f44
glx/kopper: Wire up a way for SwapBuffers to fail
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
0394f35424
zink/kopper: add a mechanism for checking swapchain status
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
4af98df955
zink: flag swapchain resources as swapchains
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
625457caaf
zink: handle swapchain acquire failures more directly
...
if acquire fails, the pending operation cannot be completed, so just
drop it
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
494d02eacf
zink: fix return for zink_kopper_acquire
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
ce9cbeee33
zink: rework swapchain object check for acquires
...
this is more accurate
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
a2c9cc7200
zink: unset image layout when killing swapchain
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
5cb9e5db72
zink: handle dead swapchains in acquire
...
this is a no-op failure
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
651b71a6ca
zink: flag swapchains when updating fails
...
these are dead, they just don't know it yet
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Mike Blumenkrantz
b86c814347
zink: add a util function for finding swapchain resource
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038 >
2022-04-27 21:50:16 +00:00
Charmaine Lee
8d73315bce
draw: fix double free of NIR IR
...
Check the shader IR type first before freeing the NIR IR in
draw_delete_xxx_shader() in case the IR has been converted to TGSI
and the NIR IR has already been freed.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16199 >
2022-04-27 21:01:54 +00:00
Lionel Landwerlin
f4f350a06c
anv: reemit 3DSTATE_STREAMOUT after memcpy
...
This doesn't fix anything because memcpy is only used before secondary
buffer execution and we dirty everything after that.
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/16189 >
2022-04-27 18:43:00 +00:00
Sathishkumar S
f17d3a1251
radeon/vcn: skip create and destroy message for jpeg
...
JPEG does not require create and destroy codec messages.
It is not firmware based, so these messages are redundant.
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/16160 >
2022-04-27 17:13:36 +00:00
Mike Blumenkrantz
de3890daa5
zink: add supported present modes to kopper displaytarget
...
for use later
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16193 >
2022-04-27 16:52:25 +00:00
Cristian Ciocaltea
d89b95b247
ci: Limit Intel CPU scaling frequency for performance tests
...
As an additional measure to mitigate thermal throttling, set the upper
limit for the CPU scaling frequency to 65% of maximum allowed by the
hardware.
The impact on the overall tests duration should be minimal since the
performance tests do not really put high load on the CPU.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16164 >
2022-04-27 18:46:05 +03:00
Cristian Ciocaltea
99b04cbb73
ci: Add CPU frequency adjustment capability
...
Update intel-gpu-freq.sh script to offer the possibility to adjust CPU
operating frequencies in addition to GPU.
Note this is currently limited to just setting the maximum scaling
frequency as percentage of the maximum frequency allowed by the
hardware.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16164 >
2022-04-27 18:46:05 +03:00
Icecream95
76cea8e27b
panfrost: Fix pack_32_2x16 implementation
...
Fixes: 6f0eff548c ("pan/bi: Implement packing ops between 32-bit vec1 and 16-bit vec2")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16181 >
2022-04-27 15:30:09 +00:00
Samuel Pitoiset
92e5eee39e
radv: use correct push constants range for internal operations
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16131 >
2022-04-27 15:08:59 +00:00
Juan A. Suarez Romero
031bcf686b
v3d/simulator: add support for AMD cards
...
Dumb buffers do not work with AMD gpus. So use AMD ioctl to create
proper buffers.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16187 >
2022-04-27 14:42:23 +00:00
Juan A. Suarez Romero
9c3144d2ef
v3dv: store device_id on device init
...
Instead of calling later an ioctl to get the device id, let's store it
while initializing the physical device.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16187 >
2022-04-27 14:42:23 +00:00
Jason Ekstrand
3f824e0e85
panvk: Eliminate unused vertex attributes
...
We use nir_assign_io_var_locations() which compacts the varyings and
eliminates any unused input slots. We need to do the same thing when
processing pVertexAttributeDescriptions[] or else we'll end up with
mismatches between the shader and the state setup code.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16183 >
2022-04-27 14:18:25 +00:00
Jason Ekstrand
e248c64f06
panvk: Take buffer offsets into account in BindVertexBuffers
...
Found by inspection. No idea what all it fixes.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16183 >
2022-04-27 14:18:25 +00:00
David Heidelberg
657b0ff861
ci/iris: Enable SKQP on Tiger Lake boards
...
- SKQP gets included now in all amd64 LAVA builds.
- add test job for Tiger Lake (tgl)
- add manual test job for Whiskey Lake (whl), because all runners are
already used
- document that we have 13 tgl machines
Tests failed (on tgl):
- gl_simpleaaclip_aaclip, 1 pixel off : https://okias.pages.freedesktop.org/-/mesa/-/jobs/21790629/artifacts///results/gl/report.html
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/16048 >
2022-04-27 12:35:13 +00:00
David Heidelberg
c1e59bea05
ci: intel: Merge anv and iris into src/intel/ci
...
This commit make simple adding tests which use both GL(ES) and VK.
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/16048 >
2022-04-27 12:35:13 +00:00
Erik Faye-Lund
3620e7e71c
vulkan: drop empty vulkan_wsi_args
...
This is always empty, so let's just get rid of it.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16162 >
2022-04-27 11:51:26 +00:00
Erik Faye-Lund
6623f60c34
vulkan: use c_msvc_compat_args for shared code
...
Due to both Lavapipe on Windows and Dozen, we need to support MSVC in
the shared Vulkan code. So let's make sure we compile with the
compatibility flags for it.
Techinically speaking, we also need this in the wsi subdir, because we
also compile wsi_common_win32.c with MSVC. But wsi_common_wayland.c
contains void-pointer arithmetic, causing compiler errors if we do.
Fixing that properly is a bit more involved, because Meson doesn't love
passing different compiler arguments per source-file. The alternative is
to remove the void-pointer arithmetic, but that seems a bit pointless as
this code will never be compiled on MSVC.
So, let's leave that one out for now. We can probably do better in the
future, but this gets us a step further.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6386
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16162 >
2022-04-27 11:51:26 +00:00
Samuel Pitoiset
e6bcdc763c
radv: enable radv_disable_sinking_load_input_fs for Grid Autosport
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4228
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16165 >
2022-04-27 13:00:38 +02:00
Samuel Pitoiset
1dbfd2be4b
radv: allow to disable sinking of load inputs for FS via drirc
...
To workaround game bugs where partial derivatives are used in
non-uniform control flow. A proper solution needs to be implemented,
but as a quick fix disabling nir_opt_sink() works.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16165 >
2022-04-27 13:00:36 +02:00
Lucas Stach
6261ca7425
etnaviv: add tile size helper
...
On older GPUs a color tile was always 64 Byte. On new GPUs with
CACHE128B256BPERLINE support the tile size is either 128 Byte or
256 Byte depending on the TS mode. Add a helper to return the
color tile size and use in in places that use hard-coded tile
size values or do their own calculation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
2d2f9572c2
etnaviv: use feature bit to check for big tile support
...
128B/256B tile support is not a HALTI5 property, but has its own
separate feature bit.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
4122011697
etnaviv: properly set additional DEC400 compression states
...
With access to HALTI5 GPUs with and without DEC400 compression it's
obvious that the previous compression state setup only worked when
DEC400 was present. Properly set up the compression state bits.
This is only the second part of the fix, first part is moving the
compression state to the correct bit location, which has already
happened via the import of new rnndb headers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
17d9b0808a
etnaviv: add support for big tile RS states
...
On GPUs with the CACHE128B256BPERLINE feature the RS gained some
new state bits to deal with the new additional information required
for this big tile support.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
c2a3236d1a
etnaviv: clean up tiling setup in etna_compile_rs_state
...
Using the raw layout bits in the tiling setup makes this function harder
to read than necessary. Use the tiling bit defines and assign them to
some local bools with a proper name to make this easier to read.
No functional change.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
8d6b6e31e1
etnaviv: use feature bit for one const src per instuction limitation
...
Support for multiple constant sources per instruction is not a HALTI5
capability, there is a separate feature bit to signal the availability
of this shader core enhancement.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
5fcf55bb15
etnaviv: use feature flag to determine which RS states to use
...
We used the number of pipes to determine which state registers to use
for the RS pipe address configuration, as the dual pipe GPUs were the
first one where the new states were used. This isn't correct though,
as now there are single pipe GPUs which also use the new state
addresses.
There actually is a feature flag telling us to use the new RS pipe
address states, use it. As this feature flag is not available on early
GPUs using the new base address (mostly because we don't have HWDB
entries for them), still check for more than a single pipe as an
additional clue to use new states.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
7c46a48836
etnaviv: use new PE pipe address states on >= HALTI0
...
We used the number of pipes to determine which state registers to use
for the PE pipe address configuration, as the dual pipe GPUs were the
first one where those new states were used. Now there are some new
single pipe GPUs where this logic breaks. HALTI0 added the new PE
address states and all GPUs with at least this feature level are using
the new states exclusively, even if they only have a single PE pipe.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
617339ab5b
etnaviv: correct bits per tile and clear value for HALTI5
...
Bits per tile and the tile clear value are not determined by the
HALTI version, but by two separate feature bits that are not always
present on HALTI5 GPUs. With big 128B/256B tile support the bits
per tile are always 4.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
dd8a314d3f
etnaviv: update headers from rnndb
...
Update to rnndb commit ad665b720421.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
8c153bb091
etnaviv: fill all minor GPU features from the kernel
...
The kernel exposes more minor GPU feature registers. Fill them
all into our internal feature struct.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Lucas Stach
ab942aaed0
etnaviv: don't supertile textures if supertiling is disabled via debug option
...
The debug option only disables the general can_supertile spec of the GPU, so
we should also take this into account when deciding about the layout of a
sampler resource.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255 >
2022-04-27 09:10:27 +00:00
Samuel Pitoiset
f525706e77
radv: fix handling divisor == 0 with dynamic vertex input state
...
When the divisor is 0, the compiler should generate a different VS
prolog instead of re-using a previous prolog that uses nontrivial
divisors. This is because divisor == 0 and divisor > 1 should use
a different path to guarantee that the index is correctly computed.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16009 >
2022-04-27 06:43:36 +00:00
Gert Wollny
4f3736595f
r600: Add support for TGSI_OPCODE_ATOMIMIN and IMAX
...
With NTT these opcodes are now emitted and need to be handled.
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16130 >
2022-04-27 00:01:20 +00:00
Gert Wollny
a8430c43a7
r600: tune nir options
...
* Don't lower fp64 to software when on Cayman but
* lower fpow only when on native NIR, the TGSI backend handles
TGSI_OPCODE_POW
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16130 >
2022-04-27 00:01:20 +00:00
Gert Wollny
6cb510156e
r600/sb: Don't optimize float GT and GE
...
Sine NAN's can be involved the result can't be deducted like this.
Also with NTT inplace now we can assume that most possible
arithmetic optimizations have already been applied.
Piglit: spec@glsl-1.30 @execution@range_analysis_fsat_of_nan
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16130 >
2022-04-27 00:01:20 +00:00
Gert Wollny
e9797b648a
ntt: remove dead input variables before lowering FS IO
...
Because for fragment shaders we still use the variables, and
lower_io_to_vector may leave dead variables that duplicate inputs
that are now vectorized, we have to call this pass, because otherwise
we will may hit the assertion
src/gallium/auxiliary/tgsi/tgsi_ureg.c:318:
ureg_DECL_fs_input_centroid_layout:
Assertion `(ureg->input[i].usage_mask & usage_mask) == 0'
This is relevant for
spec@arb_enhanced_layouts@execution@component-layout@*
on r600/ntt
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16130 >
2022-04-27 00:01:20 +00:00
Gert Wollny
47d3f7c69f
nir: Don't optimize to 64 bit fsub if the driver doesn't support it
...
Fixes: a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16130 >
2022-04-27 00:01:20 +00:00
Yiwei Zhang
1598d18a88
venus: flush when batched draw calls reach a threshold
...
Add VN_DRAW_CMD_BATCH_LIMIT option
e.g. for Android
adb shell setprop mesa.vn.draw.cmd.batch.limit 100
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Yiwei Zhang
9dc68bd975
venus: refactor vn_cmd_submit
...
The caller checks cmd->state instead.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Yiwei Zhang
42a8383170
venus: add VN_PERF option no_async_queue_submit
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Yiwei Zhang
0fc36b11ab
venus: add VN_PERF option no_async_buffer_create
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Yiwei Zhang
f0bfd8afe2
venus: add env perf options and introduce no_async_set_alloc
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Yiwei Zhang
4ab640852b
venus: refactor to add struct vn_env
...
This is to prepare for adding perf options.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16110 >
2022-04-26 23:49:59 +00:00
Jason Ekstrand
e24d8760e9
nir: Constant fold sampler/texture offsets
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16171 >
2022-04-26 22:34:39 +00:00
Jason Ekstrand
9332598b26
nir/constant_folding: Break TXB folding into a helper function
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16171 >
2022-04-26 22:34:39 +00:00
Yiwei Zhang
4f7de83110
venus: fix view format for ahb image
...
There's below AHB VU on the image view:
VUID-VkImageViewCreateInfo-image-02399
If image has an external format, format must be VK_FORMAT_UNDEFINED
This is well hidden and completely missed from the original venus ahb
implementation.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16159 >
2022-04-26 22:21:53 +00:00
Mike Blumenkrantz
054bd2d38f
kopper: copy a bunch of code for texture_from_pixmap
...
seems to work?
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16152 >
2022-04-26 21:44:30 +00:00
Mike Blumenkrantz
89602c3970
kopper: store whether screen has dmabuf support
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16152 >
2022-04-26 21:44:30 +00:00
Mike Blumenkrantz
476f8ad350
kopper: move drawable geometry updating up in function
...
no functional changes
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16152 >
2022-04-26 21:44:30 +00:00
Mike Blumenkrantz
c38a2ad2ff
kopper: always fetch and store drawable info
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16152 >
2022-04-26 21:44:30 +00:00
Mike Blumenkrantz
6a9def8c9f
drisw: remove dead code
...
this was from a very early version of kopper, but it can no longer
be reached
Fixes: d760a9151b ("gallium: Learn about kopper")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16152 >
2022-04-26 21:44:30 +00:00
Icecream95
1a4dca989c
panfrost: Enable NIR lowering of half float packing
...
The GLSL lowering of half float packing involves software conversion
to half-float; instead, use the lowering in NIR.
Both Midgard and Bifrost are already set to lower the instructions to
bit operations, but change mdg_should_scalarize so that the lowerable
split variants of the pack/unpack instructions are generated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16175 >
2022-04-27 08:23:35 +12:00
Mike Blumenkrantz
2d7b5bd3b9
zink: fix up swapchain depth buffer geometry during fb update
...
due to desync between the frontend and the driver, the size that the
depth buffer was created with may not match the size of the swapchain if
the window is being resized very quickly, so just go ahead and clobber
the existing depth buffer with a series of very illegal internal object
replacements to make everything match up
do not try at home.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16151 >
2022-04-26 18:58:26 +00:00
Mike Blumenkrantz
305fe87d98
zink: fix/improve swapchain surface info updating
...
if the swapchain is updated, the base surface info needs to be updated
so that the surface info used for the framebuffer is updated
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16151 >
2022-04-26 18:58:26 +00:00
Mike Blumenkrantz
25840a31eb
kopper: add DISPLAY_TARGET bind for depth buffer
...
this doesn't affect functionality and is only used for validation
in the driver
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16151 >
2022-04-26 18:58:26 +00:00
Konstantin Seurer
aeeb0b4deb
radv: Copy shader modules to avoid use after free
...
The vkd3d-proton ray tracing tests delete shader modules after creating
pipeline libraries from them. This resulted in a use after free when
creating ray tracing pipelines.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16027 >
2022-04-26 18:20:11 +00:00
Konstantin Seurer
1873880b50
vulkan: Add a shader module clone helper
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16027 >
2022-04-26 18:20:11 +00:00
Alyssa Rosenzweig
7998f242a8
panfrost: Add a test for pan_image_layout_init
...
Would have caught a significant issue with ETC2 handling. Luckily Midgard dEQP
failed on this, even though Bifrost didn't (due to explicit strides?)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
52f8f7d6c9
panfrost: Simplify how image_layout_init is called
...
Rather than using it as a catch-all initialize, use it to fill in derived from
fields from a partially initialized image_layout. This is easier to understand
and, more importantly, easier to unit test.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
c45ed7e576
panfrost: Unit test block size queries
...
Simple interface, make sure we don't screw it up.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
11d0a5292b
panfrost: Remove unused dev argument
...
This function has enough arguments as it is... Motivated by wanting to unit test
this monster.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
321e1b37b9
panfrost: Unify paths through image_layout_init
...
We can always align the width/height, now that block_size is defined (as 1x1)
for linear textures. We can also remove the useless effective_depth assignment.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
724f835d2f
panfrost: Unify panfrost_block_size paths
...
Handle linear, interleaved, and AFBC formats. This requires taking a format, as
block compressed u-interleaved textures have a different tile size than other
u-interleaved textures.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
ef5e66b1fd
panfrost: Use pan_block_size in layout calculation
...
This gets rid of the weird "call block_dim twice with a mystery argument"
pattern, and will allow us to further unify code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
e4ee2c213a
panfrost: Extract panfrost_afbc_is_wide helper
...
Rather than open-code the > 16 check in multiple places and have to justify it
in each. This is easier to understand at the call sites.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
e6f3abd5ec
panfrost: Don't pretend to support multiplane AFBC
...
This requires tons of driver changes we're not ready for. In the mean time, this
will just get in the way of refactoring AFBC support.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
d25bb73bb6
panfrost: Use panfrost_afbc_superblock_width
...
..instead of panfrost_block_dim. This is clearer, and gets rid of block dim
users.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
36449bdcdc
panfrost: Add afbc_superblock_{size, width, height} helpers
...
...and use them to implement block_dim transitionally.
These should be clearer than the general block_dim.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
43202320ee
panfrost: Always use 64-bit SD with strides
...
Midgard has multiple Surface Descriptor formats selectable in the texture
descriptor. Previously, we have used both the "64-bit surface descriptor" and
the "64-bit surface descriptor with 32-bit line stride and 32-bit layer stride".
A delicate routine tried to guess what stride the hardware will use if we don't
specify it explicitly, and omit the stride if it matches. Unfortunately, that
routine is broken in at least two ways:
* Textures with ASTC must always specify an explicit stride. Failing to do so
(like we were doing) is invalid.
* It applies even for interleaved textures. The comment above the function
saying otherwise is incorrect. (TODO: double check this)
Bifrost onwards always specify the strides explicitly. Let's just do that and
unify the gens. What is lost from doing this? A ludicrously trivial amount of
memory and texture descriptor cache space. 8 bytes per layer*level per texture,
in fact. Compared to the size of the textures being addressed, the memory usage
is trivial. The texture descriptor cache size maybe matters more. But given
Arm's hardware people went this direction for Bifrost and stuck to it, I doubt
it matters much.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
644611010e
panfrost: Split pan_layout.c from pan_texture.c
...
Before we used GenXML, pan_texture mixed layout code with texture descriptor
packing code. For the most part, the layout code is generation-independent; the
pack code is not. We introduced an anti-pattern where the file was compiled N+1
times: N times for each PAN_ARCH value, and an extra time with no PAN_ARCH
value. And then the contents of the file changed completely depending on
PAN_ARCH. This is a pretty weird construction.
Let's instead split off the layout file from the descriptor file, compile the
layout file once, and compile the descriptor file per-gen.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Alyssa Rosenzweig
9ccba4943d
panfrost: Advertise all textures in drm-shim
...
I was rather confused when I couldn't reproduce an ASTC bug under drm-shim...
Fix that.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15991 >
2022-04-26 17:47:49 +00:00
Yevhenii Kolesnikov
65caf46b3b
nir: Remove single-source phis before opt_if_loop_last_continue
...
We might have some single-source phis leftover after prior optimizations. We
want to get rid of them before merging the blocks.
Fixes: 5921a19d4b ("nir: add if opt opt_if_loop_last_continue()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6312
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16095 >
2022-04-26 17:06:07 +00:00
Lucas Stach
90ea4283b4
etnaviv: set VIVS_GL_VERTEX_ELEMENT_CONFIG depending on prim type
...
New blob versions always emit this state on GPUs that don't have the
NEW_GPIPE feature bit before drawing a primitive, as it needs to be
set according to the primitive type.
Closes : #2933
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16094 >
2022-04-26 16:59:13 +00:00
Lucas Stach
9696355802
etnaviv: update headers from rnndb
...
Update to etna_viv commit 100009142dc2.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16094 >
2022-04-26 16:59:13 +00:00
Jason Ekstrand
37d4b72ff3
vulkan/log: Allow but warn for client-invisible objects
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16107 >
2022-04-26 16:22:23 +00:00
Jason Ekstrand
62a44d1bda
vulkan/log: Allow but warn if called with a NULL object
...
Most of the time when the logging code is invoked, it means we're
already in an edge case. It should be as robust as possible, otherwise
we risk making hard to debug things even harder. To that end, instead
of blowing up if passed a NULL object on the list, handle it as
gracefully as we can.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16107 >
2022-04-26 16:22:23 +00:00
Jason Ekstrand
ef9d97ec1f
spirv: Handle Op*MulExtended for non-32-bit types
...
Fixes: 58bcebd987 ("spirv: Allow [i/u]mulExtended to use new nir opcode")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6306
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16060 >
2022-04-26 15:16:11 +00:00
Alyssa Rosenzweig
f329f67243
panfrost: Kick off v9 support in the driver
...
Call panfrost_cmdstream_screen_init_v9.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
1a1546ca7e
panfrost: Compile for v9
...
Now that everything is ported!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
26d339ef8a
panfrost: Generate Valhall Malloc IDVS jobs
...
These look similar to Bifrost IDVS but with a twist: memory allocation is
handled by the hardware, and the descriptors are split up. Add the handling for
these.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
e626c9f6f8
panfrost: Use dirty flags to emit v9 descriptors
...
These new descriptors take the place of removed descriptors like the RSD, and
need corresponding dirty tracking.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
351403fe75
panfrost: Specialize shader descriptors for Valhall
...
Instead of being globbed into the RSD, Valhall uses minimal shader program
descriptors. For IDVS, we need separate descriptors for position and varying
shaders. It's actually worse -- we need separate descriptors for drawing points
and drawing lines/triangles in order to skip over the gl_PointSize write. Adapt
prepare_shader to upload all these descriptors.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
b15f53ffaa
panfrost: Specialize ZSA state for Valhall
...
Now we have a much nicer Z/Stencil Descriptor.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
68e7bcab3d
panfrost: Specialize vertex elements for Valhall
...
The split between attribute descriptors and buffer descriptors parallels that of
Bifrost's attribute descriptors and attribute buffer descriptors, with some
shuffling and simplication.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
2a027abfcf
panfrost: Simplify attribute format expression
...
Chew through a layer of indirection for clarity.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
603c06d00f
panfrost: Specialize rasterizer state for Valhall
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
818bbcecb2
panfrost: Adapt compute job emit for Valhall
...
Similar data structure, simpler packing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
cb14c639eb
panfrost: Use common state emit for compute jobs
...
This reduces the "specialness" of the Bifrost compute job emit path. It's not
useful in its own right since we currently put compute jobs in their own batch.
This could be optimized.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
7ad159aab2
panfrost: Don't fix up alpha test on Bifrost
...
Since 7d1d7cdf57 ("panfrost: Don't check alpha test in fs_required on
Bifrost+"), we don't use the alpha testing state on Bifrost. So the fixup isn't
needed either.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
cf02a1a555
panfrost: Port uniform/UBO logic to Valhall
...
Use Valhall descriptors, and report sizes so we can accurately inform the
hardware of sizes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
d7b3532553
panfrost: Add helper to emit UBOs
...
Either as uniform remap table entries on Bifrost, or as simple buffer
descriptors on Valhall. The underlying hardware is different (and there are
compiler changes for load_ubo handling), but the high level UBO upload logic
does not have to care about that.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:23 +00:00
Alyssa Rosenzweig
bfbce9c1d9
panfrost: Compile libpanfrost for v9
...
Now that everything is ported.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
af6071053b
panfrost: Don't allocate storage for PSIZ on Valhall
...
It's implicit.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
44689b222a
pan/blit: Support v9 data structures
...
Now that everything is appropriately refactored, we can support Valhall's data
structures in the blitter. Things look similar to Bifrost, but the RSD no longer
exists.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
ec6de03487
pan/blit: Prepare for Valhall port
...
Valhall's data structures are organized differently. In particular, they don't
use RSDs. So we need to reshuffle the blitter's data structures so we can map to
Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
dbe95af5dd
pan/blit: Generalize texture alignment
...
For Valhall compat.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
b7e8084af5
pan/blit: Compile blit shaders without IDVS
...
On Valhall, the fragment shader differs based on whether IDVS or the legacy
geometry flow is used be. In particular, varyings are accessed differently.
We use the legacy geometry flow for blitting on all GPUs, so indicate this in
the shader inputs.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Alyssa Rosenzweig
5ee4852239
panfrost: Add texture features enum to v9.xml
...
Required to query texture features on Valhall. It's technically the same as
previous Malis (except for narrow ASTC), but conceptually it's different as
plane descriptors have superseded indexed pixel formats for block compressed
textures.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16035 >
2022-04-26 14:56:22 +00:00
Adam Jackson
0db826a038
docs: Update supported drivers for 22.x
...
nouveau doesn't support pre-nv30 anymore, pre-DX9 drivers are no longer
supported generally, and llvmpipe jits on more than just x86.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15489 >
2022-04-26 14:46:40 +00:00
Adam Jackson
ddc59ccd71
docs: Note EGL enum allocation for EGL_EXT_present_opaque
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15489 >
2022-04-26 14:46:40 +00:00
Jason Ekstrand
e0f27eca7a
vulkan: Use ALL_COMMANDS_BIT for waits/signals instead of ~0
...
This is a bit more accurate for what's going on and, while all Mesa
drivers today seem to be ok with extra bits, ensures we're passing a
valid Vulkan thing.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16145 >
2022-04-26 14:17:28 +00:00
Jason Ekstrand
02fea6c179
vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping
...
My understanding of the signal masks is that they control what stages
must complete before the semaphore is signaled. Using 0 theoretically
means the semaphore could be signaled immediately without waiting on
anything. Use ~0 instead to say it depends on everything.
Fixes: 97f0a4494b ("vulkan: implement legacy entrypoints on top of VK_KHR_synchronization2")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16145 >
2022-04-26 14:17:28 +00:00
David Heidelberg
2f5cf6fcee
ci: skqp: update URL
...
The file and functionality isn't present in `main` branch anymore.
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15973 >
2022-04-26 14:12:20 +00:00
Erik Faye-Lund
2d597c9f9d
panvk: quiet non-conformant warning on ci
...
This helper has built-in support to be quieted, which seems like a good
idea to do on ci.
We're already setting the env var in the CI environment, so no need to
do that here.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16033 >
2022-04-26 13:47:34 +00:00
Erik Faye-Lund
5c61aa5eed
lavapipe: quiet non-conformant warning on ci
...
This helper has built-in support to be quieted, which seems like a good
idea to do on ci.
Let's enable the quieting while we're at it.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16033 >
2022-04-26 13:47:34 +00:00
Sviatoslav Peleshko
28ca5636f6
anv: workaround apps that assume full subgroups without specifying it
...
Without this we might choose 8 or 16 width, while the app assumes 32.
With subgroup operations it may cause wrong calculations and thus bugs.
Examples of such games are Aperture Desk Job and DOOM Eternal.
v2: Make it a driconf option instead of applying unconditionally, move
from brw_required_dispatch_width to brw_compile_cs
v3: Rename allow_assuming_full_subgroups -> assume_full_subgroups.
Include assume_full_subgroups value in anv_pipeline_hash_compute().
v4: Move actual workaround code from brw_fs.c -> anv_pipeline.c.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6171
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15708 >
2022-04-26 13:21:43 +00:00
Rhys Perry
f97d82c52b
radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 15640e58d9 ("radv,aco: lower texture descriptor loads in NIR")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16148 >
2022-04-26 10:36:23 +00:00
Charmaine Lee
c63346eb69
gallium/util: Increase the debug_flush map depth to 64
...
Piglit tests fbo-generatemipmap-3d RGB9_E5 and
fbo-generatemipmap-cubemap array RGB9_E5 hit assert when debug_flush
is active. Increase the debug map depth to 64.
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16061 >
2022-04-26 00:33:25 +00:00
Zack Rusin
16019ff7cc
svga: Add support for SVGAv3
...
SVGAv3 changes the PCI id due to differences in how PCI configuration
is handled - removal of VRAM and FIFO PCI resources, switch to MMIO
registers and MSI/MSI-X IRQ support but the 3D commands remain largely
the same.
This enables 3D/graphics acceleration support on SVGAv3.
Signed-off-by: Zack Rusin <zackr@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16061 >
2022-04-26 00:33:25 +00:00
Zack Rusin
e5306d190a
svga: Use direct maps when GB objects are present
...
SVGA device always supports direct maps which are preferable in all cases
because they avoid temporary surfaces and extra transfers. Furthermore
DMA transfers on devices with GB objects have undefined timing semantics.
Also the DMA transfers can not work on SVGAv3 because the device lacks
VRAM to be able to perform them.
Fix the last paths still using DMA transfers to make sure they're never
used on GB enabled configs. This fixes gnome-shell startup on SVGAv3.
Signed-off-by: Zack Rusin <zackr@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Reviewed-by: Michael Banack <banackm@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16061 >
2022-04-26 00:33:25 +00:00
Zack Rusin
c7b0309723
svga: finish readbacks before mapping resources
...
Flushing the command queue before mapping a resource is not enough
to guaruantee that the mapped content is not stale. We have to finish
to make sure that the gb readback actually updated the guest surface.
This fixes races in direct maps (map reads raced with gb readbacks)
Signed-off-by: Zack Rusin <zackr@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16061 >
2022-04-26 00:33:25 +00:00
Zack Rusin
71a749bc7b
svga: Don't try to build x86/x64 assembly on different arch's
...
svga used to use vmx backdoor directly to send logs to the host.
This functionality has been implemented in vmwgfx 2.17, but
to make sure we still work with old kernels the functionality
to use the backdoor directly has been kept.
There's no reason to port that code to arm since vmwgfx
implements it and arm64 (or other new platforms) would
depend on vmwgfx versions a lot newer than 2.17, so everywhere
but on x86/x64 it's fine to assume vmwgfx always support the host
logging ioctls.
Signed-off-by: Zack Rusin <zackr@vmware.com >
Reviewed-by: Reviewed-by: Neha Bhende <bhenden@vmware.com >
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16061 >
2022-04-26 00:33:25 +00:00
Alyssa Rosenzweig
2ca8b014d1
pan/bi: Implement pack_uvec[24]_to_uint
...
This maps nicely to Mali's weirdo MKVEC, so implement it rather than
scalarizing. The scalarization wants an extract implemented which we don't have.
Fixes dEQP-VK.glsl.builtin.function.pack_unpack.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16120 >
2022-04-26 00:18:19 +00:00
Alyssa Rosenzweig
94b01ddcdd
nir: Use u_worklist to back nir_block_worklist
...
u_worklist is nir_block_worklist, suitably generalized. All we need to do is
define the macros to translate between the APIs.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16046 >
2022-04-25 23:50:57 +00:00
Alyssa Rosenzweig
04a2c6efb1
util: Add a generic worklist implementation
...
Models a double-ended queue of elements from an a list. Based on NIR's worklist
data structure. This is useful in most backend compilers for data flow analysis.
Using this data structure has several advantages for backends:
* Simplicity, avoids open-coding a worklist data structure.
* Performance, the data structure is lighter weight than e.g sets
* Correctness, e.g. sets are nondeterministic and can cause random bugs.
Using a worklist approach at all is good for performance of liveness analysis
to avoid performing excess walks over the IR.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16046 >
2022-04-25 23:50:57 +00:00
Samuel Pitoiset
148dba95b8
radv: add an SQTT workaround for chips with disabled RBs
...
Ported from RadeonSI.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16133 >
2022-04-25 22:58:20 +00:00
Mike Blumenkrantz
76b2b6ebe9
vk/cache: unbreak vk_pipeline_cache_create with flags
...
long ago I fixed this in individual drivers
now I fix it in all drivers
Fixes: 591da98779 ("vulkan: Add a common VkPipelineCache implementation"
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16149 >
2022-04-25 22:22:56 +00:00
Jason Ekstrand
1755730362
nir: Lower all bit sizes of usub_borrow
...
It's not clear why this is restricted to 32-bit besides that being the
only bit size where GLSL has an intrinsic for this. All drivers that
set this probably want it lowered for all bit sizes as far as I can
tell.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6353
Fixes: 8a3e344180 ("nir/opt_algebraic: Fix some expressions with ambiguous bit sizes")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16146 >
2022-04-25 21:27:09 +00:00
Vinson Lee
7898721cce
panfrost: Fix memory leaks on unit test failures.
...
Change ASSERT_EQ to EXPECT_EQ to avoid aborting before freeing memory.
Fix defects reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable tiled going out of scope leaks the storage it points to.
leaked_storage: Variable linear going out of scope leaks the storage it points to.
leaked_storage: Variable ref going out of scope leaks the storage it points to.
Fixes: bb6c14a697 ("panfrost: Unit test u-interleaved tiling routines")
Suggested-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16127 >
2022-04-25 20:18:42 +00:00
Mike Blumenkrantz
f5bc062ffd
vulkan: bump layer api versions to current vk header version
...
should probably try to keep these in sync? maybe?
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16138 >
2022-04-25 19:56:39 +00:00
Michel Zou
dbceb561b0
meson: call run_command with check=true
...
This avoids a warning in meson since the default value will change:
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in future releases of meson.
See also: https://github.com/mesonbuild/meson/issues/9300
It's probably best to use the new default (true) that the old (false)
Reviewed-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15776 >
2022-04-25 18:43:50 +00:00
Eric Engestrom
1ecb440705
meson: replace deprecated dep.get_pkgconfig_variable(...) with dep.get_variable(pkgconfig : ...)
...
The former is deprecated since meson 0.56, while the latter is available since meson 0.51, and we currently require meson 0.53+.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16012 >
2022-04-25 18:10:58 +00:00
Pavel Ondračka
e01f86c67b
r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader
...
Fixes constant uploads with nine.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5966
CC: mesa-stable
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16125 >
2022-04-25 18:04:21 +00:00
Cristian Ciocaltea
a5a40f24ac
virgl/ci: Update checksums for some virgl iris traces
...
A few trace tests started to fail recently due to invalid checksums.
A visual inspection of the images didn't reveal a regression, hence
let's just update the expected checksums to match the actual values.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16141 >
2022-04-25 16:50:32 +00:00
Cristian Ciocaltea
7f8a0010ce
virgl/ci: Rename virgl-lava-* jobs to virgl-iris-*
...
Rename 'virgl-lava-*' jobs to a more descriptive 'virgl-iris-*'.
Suggested-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16141 >
2022-04-25 16:50:32 +00:00
Alyssa Rosenzweig
4e111c259c
panvk: Lower shared memory
...
Copy the code. Fixes workgroup tests, now compute kernels should work properly
on Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16123 >
2022-04-25 16:29:31 +00:00
Alyssa Rosenzweig
179d9e3511
panvk: Handle empty shaders gracefully
...
Fixes dEQP-VK.spirv_assembly.instruction.compute.shader_default_output.int.uninitialized
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16123 >
2022-04-25 16:29:31 +00:00
Alyssa Rosenzweig
c9b33fe7dc
pan/bi: Implement fquantize2f16
...
Implement as f2f32(f2f16(x)) with the conversions in flush-to-zero mode.
Accessing flush-to-zero mode on Bifrost is nontrivial: it is specified
per-clause, rather than per-instruction. I've opted to pipe support for ftz
clauses through the scheduler. This solution has two nice properties:
* It uses the native hardware for flushing subnormals, avoiding extra lowering.
* It's "smart" about scheduling around FTZ requirements, meaning we get good
code generated even for a shader that e.g. quantizes a vector.
With an unrelated scheduler fix, the *V2F32_TO_V2F16/+F16_TO_F32 operation fits
in a single tuple, minimizing the overhead of the special FTZ clause.
We'll have to do something a bit different for Valhall (FLUSH.f32), but we'll
worry about when we actually have PanVK brought up on Valhall.
Fixes dEQP-VK.spirv_assembly.instruction.compute.opquantize.*
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16123 >
2022-04-25 16:29:31 +00:00
Alyssa Rosenzweig
dfcb2f0699
panvk: Consider primitive restart in index buffer walks
...
Fixes:
dEQP-VK.pipeline.input_assembly.primitive_restart.index_type_uint32.line_strip
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/16140 >
2022-04-25 16:10:41 +00:00
Alyssa Rosenzweig
68c05c660b
panvk: Respect line width
...
Fixes:
dEQP-VK.pipeline.input_assembly.primitive_topology.index_type_uint16.line_list
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/16140 >
2022-04-25 16:10:41 +00:00
Erik Faye-Lund
d217fb9b0a
vulkan: do not depend on alignof(void)
...
alignof(void) is a non-standard GCC extension, and it doesn't compile on
MSVC. But since the Windows CI has been disabled due to stability
issues, a breakage snuk in nevertheless.
Since alignof(char) works the same as alignof(void), let's pass char
instead of void here. That hides the GCC weirdness without doing any
functional changes.
Fixes: 591da98779 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16134 >
2022-04-25 15:34:38 +00:00
Erico Nunes
d0b594a4d3
ci: put lima farm back online
...
There was an issue with the network router in the lab, which
should be resolved now.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16135 >
2022-04-25 15:01:49 +00:00
Italo Nicola
5f6a43cde6
mesa/st: call pipe->link_shader even if ir loaded from cache when linking
...
Previously, if the shader was already cached, the pipe->link_shader hook
wouldn't be called, and the gallium driver wouldn't know that shaders
were being linked.
This helps VirGL, because sometimes the guest shader cache can be hit,
while the host shader cache would be missed. VirGL uses this hook to
make the host immediately link shaders, instead of lazily linking them
when a draw call happens, which can degrade performance.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15927 >
2022-04-25 14:06:19 +00:00
Marek Olšák
e94f89189b
radeonsi/ci: add polaris11 baseline
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:16 +00:00
Marek Olšák
4a982aa542
winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen
...
Fixes: 2eb067db0f - winsys/amdgpu: add a new winsys for the new kernel driver
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:16 +00:00
Marek Olšák
fe4ec76115
radeonsi: fail to create pipe_screen if LLVM doesn't support the GPU
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:16 +00:00
Marek Olšák
12ab3e6853
radeonsi: remove an obsolete comment about LLVM 14
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:16 +00:00
Marek Olšák
b8a6bbc6c5
ac/llvm: don't create the target machine if the LLVM processor is unsupported
...
If a processor is unsupported, LLVM chooses "tahiti", which hangs
everything except gfx6. Check for support manually.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:15 +00:00
Marek Olšák
fc0e6fdcce
ac/llvm: remove unused LLVM helpers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16112 >
2022-04-25 13:43:15 +00:00
Lionel Landwerlin
fe413962b4
anv: skip acceleration structure in binding table emission
...
With mutable descriptor types, we can end up in a situation where a
binding can be, for instance, both a UBO and an acceleration
structure.
While we can promote the UBO to a binding table entry and the shader
can use it, this isn't true of acceleration structures that have no
surface state. In that case just skip the entry. The shader is already
compiled to use the descriptor entry.
In the non mutable case, the entry will not be created by
anv_nir_apply_pipeline_layout.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 63e91148b7 ("anv: Enable VK_VALVE_mutable_descriptor_type")
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15969 >
2022-04-25 13:19:28 +00:00
Mike Blumenkrantz
ce02eeecf4
zink: fix group memory barrier emission
...
same as glslang
cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16108 >
2022-04-25 12:50:03 +00:00
Konstantin Seurer
4080f18163
radv: Fix lowering ignore_ray_intersection
...
Fixes dEQP-VK.ray_tracing_pipeline.misc.report_intersection_result
Fixes: c3d82a9 ("radv: Add pass to lower anyhit shader into an intersection shader.")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16056 >
2022-04-25 12:16:46 +00:00
Lionel Landwerlin
b7828f56ba
anv: fix acceleration structure descriptor template writes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: d258b0bf0e ("anv: Add support for binding acceleration structures")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16058 >
2022-04-25 11:01:56 +00:00
Lionel Landwerlin
ace22edd30
anv: remove unused enum
...
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16058 >
2022-04-25 11:01:56 +00:00
Samuel Pitoiset
51ea72e621
radv: remove redundant VK_PIPELINE_STAGE_2_TRANSFER_BIT for CP DMA idle
...
They are equivalent.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15943 >
2022-04-25 10:40:59 +00:00
Samuel Pitoiset
591e3296cd
radv: clarify why STAGE_2_CLEAR_BIT needs to wait for CP DMA to be idle
...
To clarify that other clear operations like vkCmdFillBuffer() are
implicitly synchronized. So, STAGE_2_CLEAR_BIT is only needed for
vkCmdUpdateBuffer() in some rare cases (GFX10+ dGPUs with GTT BOs).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15943 >
2022-04-25 10:40:59 +00:00
Lionel Landwerlin
107acf5a4a
intel: fixup number of threads per EU on XeHP
...
Computations for indexing in-memory data structures for ray queries
depend on this.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4f9141607f ("intel: Add device info for DG2")
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15925 >
2022-04-25 10:06:02 +00:00
Samuel Pitoiset
4ebb5391ac
nir: mark XFB varyings as unmoveable to prevent them to be remapped
...
XFB varyings are considered as always active IO to prevent them to
be removed or compacted. Though, if the NIR linker doesn't mark XFB
varyings as unmoveable it still possible to remap other varyings to
the same location/component.
Fixes KHR-Single-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
with Zink and a bunch of other dEQP XFB tests.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6301
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16092 >
2022-04-25 07:56:27 +00:00
Samuel Pitoiset
26f74f17d9
nir: fix marking XFB varyings as always active IO
...
Components need to be handled, otherwise if a shader has two XFB
varyings at the same location, only one will be marked as always active.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16092 >
2022-04-25 07:56:27 +00:00
Samuel Pitoiset
6873da0e42
aco: fix load_barycentric_at_{sample,offset} on GFX6-7
...
The computation was wrong.
Fixes dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.*
with Zink on GFX6 (Pitcairn).
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16099 >
2022-04-25 07:17:39 +00:00
Samuel Pitoiset
9662f9bcdc
radv/ci: update the flakes list for GFX9 chips
...
Fixed since "ac/surface: fix an addrlib race condition on gfx9".
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16093 >
2022-04-25 08:18:40 +02:00
Mike Blumenkrantz
a6a4bf0f1e
glsl/nir: set new_style_shadow for sparse tex ops as necessary
...
this needs the sparse result type, which is not the ir type
Fixes: f4a972b748 ("glsl/nir: convert sparse ir_texture to nir")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16097 >
2022-04-24 15:56:05 +00:00
Mike Blumenkrantz
5f0ac8ac19
aux/trace: make get_sparse_texture_virtual_page_size useful
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16097 >
2022-04-24 15:56:05 +00:00
Mike Blumenkrantz
272f6ede0d
mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries
...
this is a legal query that cts uses, so don't just abort
Fixes: b1c32a6c8c ("mesa: add ARB_sparse_texture query in glGetInternalformativ")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16097 >
2022-04-24 15:56:05 +00:00
Konstantin Seurer
e4a6f09d12
radv: Clean up the accel-struct build shaders
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
be57b085be
radv: Build accaleration structures using LBVH
...
This sorts the leaf nodes along a morton curve before
creating the internal nodes. For reference:
https://developer.nvidia.com/blog/thinking-parallel-part-iii-tree-construction-gpu/
Ray query cts:
Test run totals:
Passed: 22418/23426 (95.7%)
Failed: 0/23426 (0.0%)
Not supported: 1008/23426 (4.3%)
Warnings: 0/23426 (0.0%)
Waived: 0/23426 (0.0%)
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
5d9ef0efb5
radv: Add the fuchsia radix sort
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
9c020b525b
radv: Format radv_acceleration_structure.c
...
This is the result of running clang-format on the entire file.
Although this is not related to this MR, I decided to include
the formatting changes so I do not have to deal with them if
I work on this file in the future.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
49383fe39e
radv: Make fill_buffer_shader non-static
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
2a004866fb
radv: Use VAs in radv_meta_buffer.c
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:32 +02:00
Konstantin Seurer
8cb92ce94e
ci: Always install glslangValidator for build jobs
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15648 >
2022-04-24 16:03:12 +02:00
Alyssa Rosenzweig
6bef59f56b
pan/bi: Simplify bi_propagate_pass_flags
...
Worklist-based dataflow analysis is overkill, we can just do DFS.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16045 >
2022-04-23 18:16:08 +00:00
Alyssa Rosenzweig
46b099e392
meson: Ignore unused variables in release builds
...
Variables that are only used for assertions are considered unused in release
builds. Don't treat this as an error, since we build with -Werror even for
release in CI. This causes reasonable code to build and pass tests locally (and
therefore to be queued for merge by reasonable developers), but later fail in CI
due to a variable used only as an assertion. This pattern is common enough we
have an ASSERTED macro to workaround the behaviour, but failing a CI run to
have the author go back and add in the ASSERTED and re-queue later is a recipe
for frustration, wasted time, and wasted CI bandwidth.
Disable this behaviour to reduce CI friction.
In my view, sprinkling in ASSERTED clutters the code, rather than helps; I find
CI's insistence on doing so actively counterproductive. Developers are free to
continue doing so after this change. But this way CI won't fail merge requests
over it. After all, CI enforces policy, and we shouldn't have "mark variables
only used for assertions as ASSERTED" as policy. Let's pick our battles wisely
and improve CI's signal-to-noise ratio.
As an added benefit, this eliminates a class of defects where ASSERTED is used
incorrectly, e.g:
c91e3c6a42 ("util: Should not use ASSERTED in util_thread_get_time_nano")
3e22fc27af ("zink: remove incorrect ASSERTED macro")
0d08ce287b ("pan/bi: Remove dated ASSERTED properties")
Note that actual unused variables will be caught by debug builds. It is expected
that developers do debug builds locally before ramming code through CI, so that
should be caught.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15582 >
2022-04-23 13:36:05 -04:00
Marek Olšák
3d5ba0e1b7
ac/gpu_info: remove old and unused fields from radeon_info
...
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
1bf39b1f9d
ac,radeonsi: rework how scratch_waves is used and move it to ac_gpu_info.c
...
The addition of the "compute" parameter is for a future change.
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
159b28ad36
ac/llvm: rename tbuffer -> buffer where tbuffer instructions are not generated
...
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
6698753cdb
ac/llvm: don't use tbuffer_store as a fallback for swizzled stores
...
This depends on the offset computation fix from:
"ac/llvm: remove inst_offset parameter from ac_build_buffer_store_dword"
v2: The instruction type is changed to MUBUF, which requires us to clear
DATA_FORMAT with ADD_TID_ENABLE.
Reviewed-by: Mihai Preda <mhpreda@gmail.com > (v1)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15966 >
2022-04-23 01:45:17 +00:00
Marek Olšák
4b63b5caa2
ac/llvm: remove unused code from ac_llvm_build.c/h
...
One forward declaration didn't have an implementation.
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
99356c597f
ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short
...
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
c888e77dfc
ac/llvm: remove inst_offset parameter from ac_build_buffer_load
...
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
e3421ae8ff
ac/llvm: use soffset correctly in ac_build_buffer_load
...
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
f68aeaa2c2
ac/llvm: remove inst_offset parameter from ac_build_buffer_store_dword
...
There was a bug that inst_offset was added to soffset in one codepath and
to voffset in all other codepaths. The correct behavior is to add it
to voffset.
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
8abb612cba
ac/llvm: remove immoffset parameter from ac_build_tbuffer_load
...
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
6234d92073
ac/llvm: remove immoffset parameter from ac_build_tbuffer_store
...
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
a3e777a89a
ac/llvm: add AC_WAIT_EXP for ac_build_waitcnt
...
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
f719085007
ac: add more non-shadowed registers to the lists
...
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
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
Dylan Baker
36a9655d50
winsys/radeon: remove unused simple_list.h
...
It's not used, 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:31 -07:00
Mike Blumenkrantz
fbece25a45
zink: add synchronization for buffer clears
...
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16098 >
2022-04-22 14:41:15 +00:00
Mike Blumenkrantz
06df3ed5c0
zink: fix stride=0 for dynamic state vertex stride checking
...
this case shouldn't trigger the fully-baked fallback since it's
legal with dynamic state
Fixes: 1eada1b02d ("zink: selectively disable dynamic vertex stride")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16098 >
2022-04-22 14:41:15 +00:00
Illia Abernikhin
dd24ab86cc
vulkan/runtime: repair thread safety in method vk_queue_start_submit_thread()
...
Accessing queue->submit.thread_run without holding lock vk_queue.submit.mutex.
Elsewhere, vk_queue.submit.thread_run is accessed with vk_queue.mutex
held 1 out of 2 times (1 of these accesses strongly imply that it is necessary).
Found by Coverity.
CID: 1503334
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15736 >
2022-04-22 14:15:29 +00:00
Pierre-Eric Pelloux-Prayer
ca40bad84a
ac/spm: setup write broadcasting correctly
...
Based on PAL's PerfExperiment::BuildGrbmGfxIndex method.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:51:44 +02:00
Pierre-Eric Pelloux-Prayer
77116d34ea
radeonsi: make sure profile_peak is used before using sqtt
...
Using sqtt without this profile can cause hangs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:51:44 +02:00
Pierre-Eric Pelloux-Prayer
c96ee36289
radeonsi/sqtt: enable spm counters on gfx10+
...
Tested on:
- navi10: L0 cache counter doesn't work (always 0)
- sienna_cichlid: L0 doesn't work (always 0) and L1 isn't visible in RGP
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:51:44 +02:00
Pierre-Eric Pelloux-Prayer
e5e8b56236
radeonsi/sqtt: setup spm bo
...
The hardware will write SPM counters to this bo.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:12:10 +02:00
Pierre-Eric Pelloux-Prayer
a884f36949
radeonsi: add spm counters setup code
...
Based on radv_spm.c and PAL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:12:08 +02:00
Pierre-Eric Pelloux-Prayer
bb16154d94
radeonsi: add helpers to deal with spm counters
...
Based on radv_perfcounter.c
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:12:06 +02:00
Pierre-Eric Pelloux-Prayer
0d733e940b
radeonsi: make si_pc_emit_shaders non static
...
Also pass "cs" as a param to allow updating a specific cs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646 >
2022-04-22 13:11:45 +02:00
Boris Brezillon
e018311b35
dzn: Add KHR_draw_indirect_count support
...
Unfortunately it's not as simple as passing the indirect draw count
buffer to ExecuteIndirect. The compute job that populate the execute
buffer also needs to know the number of entries that need to be
patched. Instead of transitioning the indirect count buffer from
GENERIC_READ to INDIRECT_ARGUMENT we just keep at as a read-only
resource and copy the draw_count value to the exec buffer in the
compute job.
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15914 >
2022-04-22 10:01:51 +00:00
Boris Brezillon
ece5e27a7f
dzn: Allow multiDrawIndirect and drawIndirectFirstInstance
...
Those are already supported, let's just toggle the switch.
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15914 >
2022-04-22 10:01:51 +00:00
Juan A. Suarez Romero
697e98c66e
v3dv: duplicate key on hashtable insert
...
The key is created on stack, so as soon as the function returns this key
is lost, so the inserted key in the hashtable is invalid.
Rather, insert a duplicated version on heap.
This fixes a stack-buffer-overflow when running some Vulkan CTS tests.
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/16083 >
2022-04-22 09:18:15 +00:00
Juan A. Suarez Romero
39cebe24ae
gallium: move get_canonical_format hook to pipe_screen
...
pipe_context shouldn't have functions that return values because this
prevent multithreading.
Move this hook to pipe_screen.
Fixes: 606e42027e ("gallium: add hook on getting canonical format")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16078 >
2022-04-22 08:51:56 +00:00
Boris Brezillon
e293691a99
dzn: Get rid of the render pass logic
...
The core provides generic render-pass -> dynamic-rendering wrappers,
so let's rely on them instead of implementing our own logic.
Suggested-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:51 -07:00
Boris Brezillon
2d0798440b
dzn: Add support for dynamic rendering
...
This is how D3D12 works, so nothing really complicated here. We just
add a bunch of states to the render state, patch the pipeline building
logic to support dynamic rendering, and add new functions to
Suggested-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:49 -07:00
Boris Brezillon
076eac0e62
dzn: Inline dzn_cmd_buffer_clear_attachments()
...
It's only called from dzn_CmdClearAttachments(), so let's move the
code there.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:22 -07:00
Boris Brezillon
70b06e775b
dzn: Move all render-related states to a substruct
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:22 -07:00
Boris Brezillon
d3836df8d4
dzn: Set MAX_RTS to D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT
...
D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT == 8, so no functional change
here, it's just cleaner to use the D3D12 definition.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:22 -07:00
Boris Brezillon
39851688df
dzn: Pass an image view to dzn_cmd_buffer_clear_attachment()
...
Let the caller extract the image view from the attachment index, so
we can make this function framebuffer-agnostic and re-use it in the
dynamic rendering path.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15913 >
2022-04-22 01:07:22 -07:00
Boris Brezillon
3420110ee7
dzn: Advertise KHR_shader_draw_parameters
...
We already pass those parameters to shaders, so let's advertise the
feature.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912 >
2022-04-22 07:31:44 +00:00
Boris Brezillon
2eadd8dd16
dzn: Update the draw_id sysval when issuing indirect draws
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912 >
2022-04-22 07:31:44 +00:00
Boris Brezillon
02d8436bbd
dzn: Simplify the triangle_fan_rewrite_index shader
...
We don't need the first_vertex argument when turning non-indexed
triangle-fan draws into indexed triangle-list ones, the firstVertex
argument can simply be passed as a vertexOffset.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912 >
2022-04-22 07:31:44 +00:00
Boris Brezillon
1cefda7cb4
dzn: Fix exec_buf_stride calculation
...
The stride depends on the indirect draw arguments which are different if
triangle-fan emulation is required.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912 >
2022-04-22 07:31:44 +00:00
Boris Brezillon
7673697256
microsoft/spirv_to_dxil: Add a draw_id field to vertex_runtime_data
...
So we can support the draw_id system value.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912 >
2022-04-22 07:31:44 +00:00
Samuel Pitoiset
5121e6dd7e
radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs
...
This is incorrect for 32-bit integer MRTs which are clamped to the
maximum value of the format, and returning 0 can break some shaders.
This fixes a rendering issue with RAGE2.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4329
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16080 >
2022-04-22 06:49:46 +00:00
Dylan Baker
d839d37642
docs: update calendar for 22.1.0-rc2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16089 >
2022-04-21 21:33:05 -07:00
Dylan Baker
5afa2cb0b3
docs: update calendar for 22.1.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16089 >
2022-04-21 21:33:05 -07:00
Dylan Baker
cdfece6123
docs: update calendar and link releases notes for 22.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16089 >
2022-04-21 21:33:05 -07:00
Dylan Baker
f64e509672
docs: Add sha256sums for 22.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16089 >
2022-04-21 21:33:05 -07:00
Dylan Baker
c2c3bc5d9e
docs: add release notes for 22.0.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16089 >
2022-04-21 21:33:05 -07:00
Mike Blumenkrantz
5e84335fb5
zink: fix memory_barrier intrinsic
...
matching glsang behavior here
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:45 +00:00
Mike Blumenkrantz
5a2acfeffb
zink: always use vk mem model for shaders if available
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:45 +00:00
Mike Blumenkrantz
306b5f3724
zink: use vulkan memory model shader semantics for tcs barriers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:44 +00:00
Mike Blumenkrantz
6f04f4c8ea
zink: hook up VK_KHR_vulkan_memory_model
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:44 +00:00
Mike Blumenkrantz
5e931cd0e1
zink: fix semantics mask for compute control barriers
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:44 +00:00
Mike Blumenkrantz
55baf0c676
zink: fix tcs control barriers for use without vk memory model
...
these are translated into memory+control barriers in nir, and only
the control barrier needs to be handled
these semantics match what glslang does, so they must be right
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959 >
2022-04-22 03:35:44 +00:00
Sidney Just
01ed71f945
wgl: support kopper
...
this is semi transposed from the dri version of kopper and mostly ignores
what wgl tries to do in order to let zink drive everything
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Sidney Just
a88bb3c5fb
zink: support win32 wsi
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Sidney Just
9b6b5e74fa
kopper: add win32 loader interface
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Sidney Just
92a7caaf03
zink: support VK_KHR_win32_surface
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Sidney Just
400661c122
wgl: add zink to the list of auto-loaded drivers
...
it's a legitimate driver!
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Sidney Just
863ce662b4
wgl: add a flag to determine if running on zink
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16068 >
2022-04-22 01:11:52 +00:00
Mike Blumenkrantz
3d5e6093a2
zink: add a stencil blit fallback path
...
nvidia doesn't support stencil exports, so this is necessary to handle
stencil-only blits
fixes #6316
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16071 >
2022-04-22 00:59:31 +00:00
Mike Blumenkrantz
c3caf5f183
zink: rework clear_depth_stencil hook
...
u_blitter works great, but it doesn't handle recursion, so only use
it as a last resort
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16071 >
2022-04-22 00:59:31 +00:00
Mike Blumenkrantz
605f3021f0
zink: make update_framebuffer_state() public
...
this is useful
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16071 >
2022-04-22 00:59:31 +00:00
Mike Blumenkrantz
710ad9cd6b
zink: make unsupported blit formats an error
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16071 >
2022-04-22 00:59:31 +00:00
Paulo Zanoni
3532c374de
iris: fix race condition during busy tracking
...
The Iris code that deals with implicit tracking is protected by
bufmgr->bo_deps_lock. Before this patch, we hold this lock during
update_batch_syncobjs() but don't keep it held until we actually
submit the batch in the execbuf ioctl. This can lead to the following
race condition:
- Context C1 generates a batch B1 that signals syncobj S1.
- Context C2 generates a batch B2 that depends on something that B1
from C1 is using, so we mark B2 as having to wait syncobj S1.
- C2 calls submit_batch() before C1 does it.
- The Kernel detects it was told to wait on syncobj S1 that was
never even submitted, so it returns EINVAL to the execbuf ioctl.
- We run abort() at the end of _iris_batch_flush().
- If DEBUG is defined, we also print:
iris: Failed to submit batchbuffer: Invalid argument
I couldn't figure out a way to reproduce this issue with real
workloads, but I was able to write a small reproducer to trigger this.
Basically it's a little GL program that has lots of contexts running
in different threads submitting compute shaders that keep using the
same SSBOs. I'll submit this as a piglit test. Edit: Tapani found a
dEQP test case which fails intermintently without this fix, so I'm not
sure a new Piglit is worth it now.
The solution itself is quite simple: just keep bo_deps_lock held all
the way from update_batch_syncobjs() until ioctl(). In order to make
that easier we just call update_batch_syncobjs() a little later. We
have to drop the lock as soon as the ioctl returns because removing
the references on the buffers would trigger other functions to try to
grab the lock again, leading to deadlocks.
Thanks to Kenneth Graunke for pointing out this issue.
This has also been confirmed to fix a dEQP test that was giving
intermittent failures:
dEQP-EGL.functional.sharing.gles2.multithread.random.images.copyteximage2d.12
v2: Move decode_batch() out, just to be safe (Jason).
v3: Do it all after assembling validation_list (Ken).
Cc: mesa-stable
Fixes: 89a34cb845 ("iris: switch to explicit busy tracking")
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14964 >
2022-04-21 22:51:25 +00:00
Yonggang Luo
370a851ef0
zink: Improve zink.rst with links
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16026 >
2022-04-21 22:46:40 +00:00
Yonggang Luo
b0de09f48a
zink: Trim spaces in zink.rst
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16026 >
2022-04-21 22:46:40 +00:00
Mike Blumenkrantz
f8f5b5455a
wgl: support GL 4.6
...
somehow we never supported anything above 4.5?
cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16085 >
2022-04-21 19:37:55 +00:00
Mike Blumenkrantz
64d5f71bbc
zink: move the kopper present fence to the displaytarget object
...
this is otherwise broken when front/back buffers share the same dt
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16070 >
2022-04-21 19:25:51 +00:00
Emma Anholt
c5cc9ed29b
virgl: Switch to nir-to-tgsi by default.
...
With !8044 all TGSI drivers will end up going through the nir-to-tgsi
path, so make the switch now that CI is happy (which will also make sure
that future NTT work doesn't break virgl).
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13295 >
2022-04-21 18:27:35 +00:00
Emma Anholt
337b3dabc0
tgsi: Extend array lengths when merging usage_masks.
...
With nir-to-tgsi, virgl saw a case where a previous declaration of array
.x and scalar .y (turning into an array with .xy) ended up being a
declaration of scalar .x and array .y (turning into a scalar with .xy).
Make sure we extend the declared array length as well.
One might think that the fix would be to union the .first/.last between
the two declarations being merged, but note that ureg_DECL_output() passes
in the current nr_output_regs as the index, so the .last would end up
getting extended for those callers (such as nir_to_tgsi fs outputs) every
time you merged.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13295 >
2022-04-21 18:27:35 +00:00
Emma Anholt
4205039a9f
nir_to_tgsi: Lower FS input array indexing since we don't declare input arrays.
...
We can't declare input arrays because mesa/st lowers NIR VS output
declarations to elements no matter what, and virgl has depended on
matching array sizes of declarations between producers and consumers. So,
we have to lower it away (which is fine because hardware drivers will
generally be lowering anyway).
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13295 >
2022-04-21 18:27:35 +00:00
Gert Wollny
e6d262a7fa
virgl: Clear all indirect flags when writing to a temporary
...
The output may be an array, e.g. with a TCS shader, so if the
value is written to a temporaray first remove the indirect
indicator for that write.
Fixes: 36f12c85c8
virgl: Extend integer write out output fix to all non-move integers ops
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13295 >
2022-04-21 18:27:35 +00:00
Lionel Landwerlin
9f44a26462
nir/divergence: handle load_global_block_intel
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: dd39e311b3 ("nir: Add nir_intrinsic_{load,store}_deref_block_intel")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16075 >
2022-04-21 17:41:04 +00:00
Gert Wollny
a501b3b614
ntt: Split 64 bit vec3 and vec4 local variables and phis
...
Fixes virgl with with ntt:
spec@arb_enhanced_layouts@execution@component-layout@vs-fs-array-dvec3
spec@arb_gpu_shader_fp64@uniform_buffers@fs-array-copy
spec@arb_gpu_shader_fp64@uniform_buffers@gs-array-copy
spec@arb_gpu_shader_fp64@uniform_buffers@vs-array-copy
spec@arb_gpu_shader_fp64@execution@gs-fs-vs-double
spec@arb_gpu_shader_fp64@execution@built-in-functions@fs-frexp-dvec4-variable-index
spec@arb_gpu_shader_fp64@execution@explicit-location-gs-fs-vs
spec@arb_gpu_shader_fp64@execution@built-in-functions@fs-frexp-dvec4-variable-index
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15945 >
2022-04-21 16:57:11 +00:00
Gert Wollny
496fd59d71
nir: Add pass to split 64 bit vec3 and vec4 variable access and phis
...
NTT can't convert local 64 variables of type vec3 or vec4, therefore,
they need to be split into vec2 + double or vec2 + vec2.
At the same time deal splitting the phi nodes.
The pass goes into the global namespace because it is also useful
for r600.
v2: only lower function_temps (Emma) and handle array of arrays (Jason)
v3: - remove bool parameter in function to merge
vec3 and vec4
- simplify load/store_deref_(array|var)
- use a pointer hash table
- simplify PHI splitting (all Emma)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15945 >
2022-04-21 16:57:11 +00:00
Filip Gawin
d48c10fab3
r300: Print warning when stubbing derivatives
...
Fixes: e1c640c3a4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14669 >
2022-04-21 16:49:53 +00:00
Daniel Stone
68e8f00c44
ci/zink: Add glx-tfp to skips
...
glx-tfp is broken since Kopper, and periodically either fails or
crashes; we seemingly can't quite deal with the change between the two.
Just skip it for now.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16082 >
2022-04-21 16:35:02 +00:00
Martin Roukala (né Peres)
c9214768fa
radv/ci: add a Van Gogh dEQP runner
...
Vangogh is the codename of the custom APU found in the Steam Deck.
As it only has 4 Zen2 cores and a 15W TDP, don't expect fast runs
until we get more of them in CI :)
Just like the Renoir and one of the NAVI10 runners, this VanGogh
runner is hosted in my CI farm, behind a couple of UPSes.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Charlie Turner <cturner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15555 >
2022-04-21 15:15:53 +00:00
Martin Roukala (né Peres)
669a3f3991
ci/b2c: update b2c to enable monitoring support
...
By enabling monitoring, we can collect all kind of metrics such as
CPU/Memory/Disk usage during execution, allowing us to detect
bottlenecks.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Charlie Turner <cturner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15555 >
2022-04-21 15:15:53 +00:00
Martin Roukala (né Peres)
e38d23a396
ci/b2c: bump the kernel to 5.17.1
...
This new kernel also brings support for sensors, which makes will
enable us to monitor metrics during the execution of tests.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Charlie Turner <cturner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15555 >
2022-04-21 15:15:53 +00:00
Martin Roukala (né Peres)
c672464844
ci/b2c: fix the generation of the IMAGE_UNDER_TEST variable
...
The `IMAGE_UNDER_TEST` variable set in `.b2c-test` got broken with
the merge of 7d474c1 (ci: Move most stuff out of root .gitlab-ci.yml).
During the shuffling, the `MESA_BASE_TAG` and `MESA_IMAGE_TAG`
variables were dropped, leading to `IMAGE_UNDER_TEST` being an
unexisting container.
To make this issue less likely to happen in the future, this patch
drops the code duplication that led to `IMAGE_UNDER_TEST` to be
the same as `MESA_IMAGE` and instead re-uses .use-debian/x86_test-vk
to generate `MESA_IMAGE`, which we then use verbatim in
`IMAGE_UNDER_TEST`.
The renaming is `MESA_IMAGE` into `IMAGE_UNDER_TEST` there to make the
distinction clear between the image run by gitlab-runner (what is
usually called `MESA_IMAGE` but we instead hardcode to valve-infra's
trigger container), and the image we are running on the test machines.
Fixes: 7d474c1 (ci: Move most stuff out of root .gitlab-ci.yml)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Charlie Turner <cturner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15555 >
2022-04-21 15:15:53 +00:00
Yonggang Luo
ea7cda93f3
misc: replace #ifdef\s\s__cplusplus with #ifdef\s__cplusplus
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15762 >
2022-04-21 14:43:39 +00:00
Yonggang Luo
9aa094d1b1
misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15762 >
2022-04-21 14:43:39 +00:00
Erik Faye-Lund
30aab0af07
nir/lower_int64: do not try to clamp floats to int-range
...
The clamping isn't correct, because the exact values ended up getting
rounded off a bit when converting back to floats.
But, converting floats to integers have undefined results when the
float value doesn't fit in the integer. So let's not try to clamp the
value here.
This was caught by digging at a Clang warning, see this thread for
details:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547#note_1329769
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16022 >
2022-04-21 14:12:34 +00:00
Alexey Bozhenko
25acf1d869
spirv: fix OpBranchConditional when both branches are the same
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6246
Signed-off-by: Bozhenko Alexey <oleksii.bozhenko@globallogic.com >
Fixes: 64cb143b92 ("spirv: Fix handling of OpBranchConditional with same THEN and ELSE")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15929 >
2022-04-21 13:41:24 +00:00
Dave Airlie
4b7ba3869b
util/stencil: fix stencil fallback blit shader texture types.
...
src/gallium/auxiliary/tgsi/tgsi_scan.c:287: scan_src_operand: Assertion `info->sampler_targets[index] == target' failed.
assert was being triggered by
GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality_multisampled_to_singlesampled_blit
using the stencil fallback with zink.
Fixes: f05dfddeb1 ("u_blitter: fix stencil blit fallback for crocus.")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16069 >
2022-04-21 13:01:53 +00:00
Dave Airlie
dbc264f504
u_blitter/stencil: take dstbox x/y into accounts for dst fb width
...
When setting the dst framebuffer width height, it might be silly
to constrain this beyond the dst resource, but at least constrain
it correctly to take account of x/y offsets.
This fixes some uses of this as a fallback for zink with
GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality_stencil_blit
Fixes: b4c07a8a87 ("gallium/util: allow scaling blits for stencil-fallback")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16069 >
2022-04-21 13:01:53 +00:00
Frank Binns
e0e5cbd5a4
pvr: replace p_compiler.h boolean with stdbool
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16037 >
2022-04-21 12:52:52 +00:00
Daniel Stone
ec4baed0ee
ci/windows: Eliminate duplicate script definition
...
We already get this from the base we extend from.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16077 >
2022-04-21 11:32:06 +00:00
Daniel Stone
0606c7b0db
ci: Also disable Windows container builds when down
...
Unlike all the other test configurations, we also want to drop the
Windows container build when our Windows machines aren't available.
Missed in !16055 .
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16077 >
2022-04-21 11:32:06 +00:00
Daniel Stone
f2ddd59bf6
ci: Allow lima jobs to be globally disabled
...
This is useful in situations like right now, where the boards are dead.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16077 >
2022-04-21 11:32:06 +00:00
Erik Faye-Lund
4300b5d914
dzn: remove stale cpp_args
...
We no longer use C++, so we don't need to set cpp_args here.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16076 >
2022-04-21 11:21:06 +00:00
Erik Faye-Lund
85d0d3fede
dzn: fixup indent
...
This seems to be all tab-indents we have in our code-base.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16076 >
2022-04-21 11:21:06 +00:00
Erik Faye-Lund
dee89ea027
dzn: drop needless enum-casts
...
After rewriting to C, we also don't need these casts.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16076 >
2022-04-21 11:21:06 +00:00
Vadym Shovkoplias
785b6579ae
anv: Fix geometry flickering issue when compute and 3D passes are combined
...
Call flush_pipeline_select_3d in CmdBeginRendering() to emit a dummy MEDIA_VFE_STATE
before switching from GPGPU to 3D.
Original commit with the fix:
bc612536 ("anv: Emit a dummy MEDIA_VFE_STATE before switching from GPGPU to 3D")
Fixes: 3501a3f9ed ("anv: Convert to 100% dynamic rendering")
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6201
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15954 >
2022-04-21 11:00:07 +00:00
Erik Faye-Lund
f854e6ec9b
dzn: add space before += operator
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16052 >
2022-04-21 10:52:44 +00:00
Erik Faye-Lund
52cde4a1ad
dzn: clean up pointer syntax
...
The code-style we use have a space before the first asterisk for
pointers. Fix a few inconsistencies.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16052 >
2022-04-21 10:52:44 +00:00
Erik Faye-Lund
92964d2bfd
dzn: remove some needless casts
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16052 >
2022-04-21 10:52:44 +00:00
Boris Brezillon
b8d41d5919
dzn: Add support for KHR_descriptor_update_template
...
Create update templates where the offset in the descriptor heap is
pre-calculated.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15691 >
2022-04-21 10:43:31 +00:00
Boris Brezillon
4da5524c9b
dzn: Split the write desc helpers in two halves
...
Split the write desc helpers in two halves, one taking a descriptor
offset directly, and the other one taking a descriptor set pointer.
This will allow us to pre-calculate descriptor offsets when creating
a descriptor_update template and speed up a bit the write step in that
case.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15691 >
2022-04-21 10:43:30 +00:00
Boris Brezillon
31dc341f3a
dzn: Pass layout objects to various dzn_descriptor_set_ptr_xxx helpers
...
Needed if we want to support KHR_descriptor_update_template, since
we won't have access to the final descriptor set when calculating heap
offsets in that case.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15691 >
2022-04-21 10:43:30 +00:00
Boris Brezillon
fe68cfe82a
dzn: Rename a bunch of dzn_descriptor_set helpers
...
Let's be consistent with other helpers taking a dzn_descriptor_set_ptr
object and prefix all such functions with dzn_descriptor_set_ptr_.
We also rename dzn_descriptor_set_ptr_get_desc_vk_type() into
dzn_descriptor_set_ptr_get_vk_type() to shorten it a bit.
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15691 >
2022-04-21 10:43:30 +00:00
Jordan Justen
d257494ec4
intel/dev: Add device info for RPL-P
...
Cc: mesa-stable
Ref: https://patchwork.freedesktop.org/series/102701/
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16054 >
2022-04-21 01:32:53 -07:00
Boris Brezillon
3af6631c6d
dzn: Add support for EXT_vertex_attribute_divisor
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15915 >
2022-04-21 00:31:18 -07:00
Boris Brezillon
d01a149b8b
ci/windows: Split the windows-related tests
...
Should help with the timeouts we see in CI right now.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16042 >
2022-04-20 23:45:28 -07:00
Boris Brezillon
cf930db39c
d3d12: Move the D3D12ResourceState code to the gallium driver
...
It's only used there, and we don't plan to use it in Dozen, so let's move
the code to src/gallium/drivers/d3d12/ and get rid of the static
d3d12_resource_state library.
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16042 >
2022-04-20 23:45:28 -07:00
Michael Olbrich
5c4906dc0f
crocus: export GEM handle with RDWR access rights
...
Without this, it is impossible to export gem handles with write access.
This was fixed the same way for
i965 (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10850 ) and
iris (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10851 ).
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >`
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16057 >
2022-04-21 07:11:31 +02:00
Mike Blumenkrantz
092ac67bb9
zink: unset PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE
...
by the time this gets to the driver, it's really awful to solve,
so have the frontend solve it
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Mike Blumenkrantz
0f28da9cd4
gallium: add PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE
...
GL spec states that the stride for indirect multidraws:
* cannot be negative
* can be zero
* must be a multiple of 4
some drivers can't support strides which are not a multiple of the
size of the indirect struct being used, however, so rewrite those to
direct draws
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Mike Blumenkrantz
ec12491620
util/draw: fix indirect draw count readback
...
if there is an indirect count, always use it
Fixes: 3eb9932317 ("aux/draw: add a util function for reading back indirect draw params")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Mike Blumenkrantz
07437fa3bd
util/draw: handle draw_count=0 when reading indirect parameters
...
Fixes: 3eb9932317 ("aux/draw: add a util function for reading back indirect draw params")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Mike Blumenkrantz
efca37d415
util/draw: fix map size of indirect buffer in util_draw_indirect_read
...
this was incorrectly calculating too small of a map region if
the stride was less than the size of the struct
Fixes: 3eb9932317 ("aux/draw: add a util function for reading back indirect draw params")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Yiwei Zhang
31727f114a
venus: use linear modifier for legacy common wsi path
...
Towards the renderer, venus better uses VK_EXT_image_drm_format_modifier
to force linear with tiling modifier and mod_linear. Doing so won't make
any difference on the mesa implementations we care about given we have
required VK_EXT_image_drm_format_modifier for wsi support.
A lucky side effect of this is to allow common wsi to work with host
implementations not supporting dma_buf export.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15993 >
2022-04-21 01:29:21 +00:00
Yiwei Zhang
09cee71e80
venus: override aspectMask for internal tiling modifier
...
WSI images and Android AHBs can have tiling modifier overrides, thus we
must override the aspectMask upon image subresource layout query.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15993 >
2022-04-21 01:29:21 +00:00
Mike Blumenkrantz
d7256043b3
zink: handle device-local unsynchronized maps
...
this is only possible when tc determines the buffer is not in use
and decides to return a pointer immediately, so just give back a staging
buffer
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15979 >
2022-04-21 00:48:19 +00:00
Mike Blumenkrantz
e509598470
zink: remove xfb_barrier flag
...
this was an attempt to minimize the number of xfb barriers being emitted,
but really xfb barriers need to always be emitted in order for xfb to work
cc: mesa-stable
fixes (nv):
KHR-GL46.texture_view.reference_counting
KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream
KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16065 >
2022-04-21 00:27:50 +00:00
Mike Blumenkrantz
fc5edf9b68
zink: fix xfb counter buffer barriers
...
a read barrier is needed for resume, yes, but the counter buffer
is always being written to, so write access must always be set
cc: mesa-stable
fixes (nv):
KHR-GL46.transform_feedback.draw_xfb_test
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16065 >
2022-04-21 00:27:50 +00:00
Mike Blumenkrantz
a056cbc691
zink: fix synchronization when drawing from streamout
...
this was well-documented, but ultimately wrong: the synchronization
being used was for binding streamout buffers (not counter buffers) as
vertex buffers, which was already handled just fine in the normal
vertex buffer binding
drawing from streamout ONLY uses the counter buffer, which means
the counter buffer needs to be synchronized for reading
cc: mesa-stable
fixes (nv):
KHR-GL46.transform_feedback.draw_xfb_feedbackk_test
KHR-GL46.transform_feedback.draw_xfb_instanced_test
KHR-GL46.transform_feedback.draw_xfb_stream_instanced_test
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16065 >
2022-04-21 00:27:50 +00:00
Mike Blumenkrantz
dd783d7144
zink: nv ci update
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16065 >
2022-04-21 00:27:50 +00:00
Mike Blumenkrantz
7af76d1aae
zink: NV_linear_color_attachment
...
this fixes staging blits on nvidia
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16016 >
2022-04-21 00:14:48 +00:00
Mike Blumenkrantz
373c8001d6
zink: set VK_QUERY_RESULT_WAIT_BIT when copying to qbo
...
according to spec, this ensures that drivers will accurately
return results relative to when the query was ended
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16049 >
2022-04-21 00:04:27 +00:00
Emma Anholt
02370e22f7
nir_to_tgsi: Make vec_to_movs avoid unsupported coalescing for 64-bit.
...
I had some workarounds in ALU op emits trying to fix up when we were asked
to store to unsupported channels when the ALU op had 64bit srcs (so only
vec2 supported) but a 32-bit dest with a >vec2 writemask.
Those workarounds had some bugs breaking 64-bit uniform initializer tests
on virgl, and also set up too wide of a writemask such that they triggered
assertion failures on nvc0. We can avoid the need for those workarounds
at emit time by just having nir_lower_vec_to_movs not generate unsupported
writemasks in the first place.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15934 >
2022-04-20 23:21:06 +00:00
Emma Anholt
cfbdbbfcab
ci/dzn: Cut the runtime by running 1/3 of the enabled tests.
...
Marge jobs are failing at their 1 hour timeout regularly because windows
CI lacks capacity. In the job I looked at, this test took 18 minutes,
which is surely contributing to the load. Cut it down to get us some hope
of getting MRs through that run windows jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16062 >
2022-04-20 22:54:31 +00:00
Boris Brezillon
b8fd1e8844
dzn: Report actual device limits
...
Report actual device limits instead of pseudo-random numbers.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15911 >
2022-04-20 22:47:29 +00:00
Boris Brezillon
6c877cb00f
dzn: Use core helpers to fill physical device features/properties
...
The core provide generic helpers to turn Vulkan minor version
features/properties into their KHR counterparts. Let's declare those
core features/properties structs and use those helpers so we get
ready to support newer spec versions without too much pain.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15911 >
2022-04-20 22:47:29 +00:00
Marek Olšák
69e3f35435
gallium/ddebug: implement pipe_vertex_state callbacks
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15964 >
2022-04-20 22:15:43 +00:00
Emma Anholt
f29706a25f
nouveau/nir: Set the input for vertex/instance ID like TGSI does.
...
Doesn't seem to help tests, but clears a TODO about differences between
them.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
801dca3c40
nouveau/nir: Fix edgeflag input detection.
...
VERT_ATTRIB_EDGEFLAG is above GENERIC0, so it was being offset and thus
not recognized by vert_attrib_to_tgsi_semantic().
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
af718674ab
nouveau/nir: Fix the inverted sense of usesSampleMaskIn.
...
Fixes: 9f3d5e99ea ("compiler: Use util/bitset.h for system_values_read")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
d9b6b2acd7
nouveau/nv50: Set the primid sysval flag if it's in the sysval list, too.
...
It's declared an input in TGSI, even though it's an SV in the backend. In
NIR, it shows up as an SV, so it's in this list. Fixes NIR regressions in
primitive-id-in and primitive-id-restart.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
814b0edae5
nouveau/nv50: Enable mesa/st alpha test lowering on nv50 with NIR.
...
With TGSI, the driver allocates space for the alpha ref as a uniform and
adds a conditional discard to the shader. We could either replicate that
with NIR, or just set the flag saying we need the shader lowering and get
the same thing.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
6040107dc1
nouveau/nir: Disable bitfield ops pre-nvc0.
...
There's no hardware instructions for them until then. These chips don't
expose the extension provinding the GLSL builtins for operations like
bfrev, but NIR can recognize the construct and optimize it to
bitfield_reverse, which pre-nvc0 would then fail to codegen. Prevents a
regression when moving to nir-to-tgsi. Other lower_bitfield flags are set
as well for when someone comes along and adds optimizations for them too.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
adb6d7fe9a
ci/nouveau: Add nv92 xfails.
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
ea5873f787
ci/nouveau: Add expectations files for GM206.
...
I'm using this in place of jetson for regression testing NTT on nvc0+.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
M Henning
c0c198ffc1
nouveau/nir: Split fewer 64-bit loads
...
Also adjust the lowering pass to handle wide SSBO loads that we now emit
for the nir case.
This improves generated code quality since memoryopt can't
merge SSBO loads that end up predicated on a bounds check.
This also happens to fix a few test cases, only because the simpler generated
IR is less likely to trigger other compiler bugs. Eg on kepler with
NV50_PROG_USE_NIR=1, this fixes
arb_gpu_shader_fp64-fs-non-uniform-control-flow-ubo
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
1b32d4b7d4
nouveau/nv50: Print the number of loops in shader-db output.
...
This is important so you don't go comparing the number of instructions
emitted when you unrolled loops differently.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063 >
2022-04-20 21:58:33 +00:00
Emma Anholt
a4840e15ab
r600: Use nir-to-tgsi instead of TGSI when the NIR debug opt is disabled.
...
For !8044 I'm working on getting all drivers to accept NIR. The NIR
compiler in the driver is apparently not quite ready, so use NIR-to-TGSI
instead. This is a net win in testcases working on my RV770 and Turks
cards (especially in some important piglit tests involving YUV dma-buf
decode), though it's not regression-free.
shader-db (R600):
total dw in shared programs: 8553412 -> 8358918 (-2.27%)
dw in affected programs: 7476702 -> 7282208 (-2.60%)
total gprs in shared programs: 217286 -> 213217 (-1.87%)
gprs in affected programs: 72747 -> 68678 (-5.59%)
total loops in shared programs: 398 -> 330 (-17.09%)
loops in affected programs: 68 -> 0
total cf in shared programs: 558835 -> 332768 (-40.45%)
cf in affected programs: 420475 -> 194408 (-53.76%)
shader-db (Turks):
total dw in shared programs: 14104598 -> 13556782 (-3.88%)
dw in affected programs: 12161972 -> 11614156 (-4.50%)
total gprs in shared programs: 321068 -> 313690 (-2.30%)
gprs in affected programs: 114899 -> 107521 (-6.42%)
total loops in shared programs: 736 -> 651 (-11.55%)
loops in affected programs: 111 -> 26 (-76.58%)
total cf in shared programs: 925771 -> 581226 (-37.22%)
cf in affected programs: 678600 -> 334055 (-50.77%)
total stack in shared programs: 27853 -> 27855 (<.01%)
stack in affected programs: 5 -> 7 (40.00%)
glmark2 terrain: 0.137649% +/- 0.0511938% (n=6)
glmark2 jellyfish: no change (n=8)
unigine valley (extreme) 5.36 -> 5.45 (n=1 it takes so long to run)
unigine heaven (basic) 16.13 -> 16.15 (n=1)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14319 >
2022-04-20 21:46:09 +00:00
Emma Anholt
0879c15666
r600/sb: Avoid causing an exception when getting the reciprocal of 0u.
...
I'm not sure what the hardware would return in this circumstance, so just
don't fold it. Avoids regressions on transition to NIR.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14319 >
2022-04-20 21:46:09 +00:00
Emma Anholt
25836895f3
r600: Fix reading back from a temp array immediately after writing on RV770.
...
KHR-GL33.shaders.indexing.tmp_array.vertexid regressed with the switch to
NIR-to-TGSI because the shader got optimized enough to emit a read just
after writing to the array (the kind of situation where a non-rel write
would have been followed by a PV/PS read). The R600 and EG docs say you
always need to do this, but apparently some hardware gives you the right
answer anyway so we don't flag it on all of them.
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14319 >
2022-04-20 21:46:09 +00:00
Emma Anholt
26189cdb1d
ci/r600: Manual run updates.
...
Various fixes have happened, update status.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14319 >
2022-04-20 21:46:09 +00:00
Emma Anholt
04a6d7b380
r600: Fix up some mis-indentation of blocks.
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14319 >
2022-04-20 21:46:09 +00:00
Rhys Perry
dab745f3b4
nir/copy_prop_vars: fix non-vector shader call payloads
...
Fixes RADV+Q2RTX.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Fixes: ff05137c2d ("nir: introduce and use nir_component_mask")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16029 >
2022-04-20 21:03:03 +00:00
Daniel Stone
f01e3400dc
CI: Disable Windows jobs
...
We are underprovisioned for Windows, almost certainly not running wide
enough on the insufficient number of slots we do have, and there are
also indications that the machine itself is having physical issues.
Disable it until it's fixed.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16055 >
2022-04-20 20:19:22 +00:00
Boris Brezillon
14c195a055
ci/windows: Add a variable to globally disable jobs using windows runners
...
Suggested-by: Daniel Stone <daniels@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16055 >
2022-04-20 20:19:22 +00:00
Jason Ekstrand
1b8a43a0ba
util: Remove util_cpu_detect
...
util_cpu_detect is an anti-pattern: it relies on callers high up in the call
chain initializing a local implementation detail. As a real example, I added:
...a Mali compiler unit test
...that called bi_imm_f16() to construct an FP16 immediate
...that calls _mesa_float_to_half internally
...that calls util_get_cpu_caps internally, but only on x86_64!
...that relies on util_cpu_detect having been called before.
As a consequence, this unit test:
...crashes on x86_64 with USE_X86_64_ASM set
...passes on every other architecture
...works on my local arm64 workstation and on my test board
...failed CI which runs on x86_64
...needed to have a random util_cpu_detect() call sprinkled in.
This is a bad design decision. It pollutes the tree with magic, it causes
mysterious CI failures especially for non-x86_64 developers, and it is not
justified by a micro-optimization.
Instead, let's call util_cpu_detect directly from util_get_cpu_caps, avoiding
the footgun where it fails to be called. This cleans up Mesa's design,
simplifies the tree, and avoids a class of a (possibly platform-specific)
failures. To mitigate the added overhead, wrap it all in a (fast) atomic
load check and declare the whole thing as ATTRIBUTE_CONST so the
compiler will CSE calls to util_cpu_detect.
Co-authored-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15580 >
2022-04-20 18:44:35 +00:00
Daniel Schürmann
90a0675989
nir/lower_alu_to_scalar: don't set the nir_builder cursor
...
This ensures recursive lowering in a single pass.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15977 >
2022-04-20 17:53:48 +00:00
Daniel Stone
5f09ee77a1
dzn/ci: Don't spam conformance warnings
...
We know it's not conformant and that's OK.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16031 >
2022-04-20 14:52:40 +00:00
Emma Anholt
7f01299c40
nine: Disable optional use of TTN when MUL_ZERO_WINS is available.
...
NIR doesn't have that knob currently, so we end up throwing errors about
it being ignored.
This should fix cases of "tgsi_to_nir: unhandled TGSI property 23 = 1",
and presumably do better at DX9 muls on nv50 and r600.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14883 >
2022-04-20 13:47:50 +00:00
Emma Anholt
09fd1e94fd
tgsi_to_nir: Emit load_ubo_vec4 instead of load_ubo on non-integer HW.
...
Otherwise, we get an ishl that the HW can't support, and a ushr if the NIR
ends up being lowered to ubo_vec4, which may not get constant-folded if
the offset was non-constant.
This matches what mesa/st uses for this arg to uniform lowering.
Fixes : #5971
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14883 >
2022-04-20 13:47:50 +00:00
Gert Wollny
535f0b9391
ntt: Add option to not optimized register allocation
...
On virglrenderer it is of interest to not re-use temporaries when we
want to handle precise, invariant, and highp/mediump with better
possibility for optimization.
v2: Force optimized RA if the number of registers is too large
(Emma: only 16 bit signed int are reserved for register indices)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16051 >
2022-04-20 13:05:57 +00:00
Mike Blumenkrantz
b043d4c4c6
lavapipe: run nir_fold_16bit_sampler_conversions
...
big cleanup for all shaders coming from zink
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15852 >
2022-04-20 12:12:36 +00:00
Mike Blumenkrantz
27a43b531b
nir/fold_16bit_sampler_conversions: add a mask for supported sampler dims
...
AMD might not support cubes, but that doesn't mean cubes can't be used
on other drivers
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15852 >
2022-04-20 12:12:36 +00:00
Konstantin Seurer
324b2ae5f2
radv: Enable rt primitive culling for spirv2nir
...
Fixes: c8fe408fcc ("radv: Advertise ray primitive culling")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16028 >
2022-04-20 11:38:52 +00:00
Konstantin Seurer
b3896fa8c7
radv: Do not discard hits with t=tmax
...
Fixes dEQP-VK.ray_tracing_pipeline.inside_aabbs.chit.ray_end_tmax_zero.*
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16034 >
2022-04-20 10:46:29 +00:00
Lionel Landwerlin
a468f26ca5
anv: implement VK_EXT_primitives_generated_query
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15638 >
2022-04-20 10:37:24 +03:00
Emma Anholt
30daa7d6d8
tgsi: Emit ureg HW_ATOMIC decls in range order.
...
It turns out r600 has a dependency on it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Emma Anholt
73e1a54623
nir_to_tgsi: Allocate the primid sysval to num_inputs, not num_outputs.
...
r600 would end up looking for it past the end of its array of inputs
(which expected 1:1 ordering from declarations to driver locations).
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Emma Anholt
fc96397256
nir_to_tgsi: Avoid swizzling from undefined channels in load_output.
...
virglrenderer emits GLSL referencing all the swizzles, even if the write
mask doesn't contain them. This is a problem when the output is
TessLevelInner, which has only 2 elements.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Emma Anholt
bac7ec1a89
nir_to_tgsi: Don't forget to split 64-bit store_per_vertex_output.
...
Same splitting method as store_output. Fixes regressions in virgl
with nir-to-tgsi.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Emma Anholt
21282879f9
nir_to_tgsi: Fix assertion failures handling 64-bit vec3/vec4 ssa undefs.
...
Found in virgl, where a glslparsertest accidentally gets its inputs
lowered to undefs, and 64-bit undefs don't get split by the normal
alu/intrinsic splitter (and would be hard to split because other passes
would see reconstruction of the vec4 from undefs and turn it back into
vec3/vec4 undef).
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Emma Anholt
4850dbb3f9
nir_to_tgsi: Add a workaround for virglrenderer TG4.
...
I've tried to keep virglrenderer workarounds out of ntt, but this one
would be bothersome to do with tgsi_translate and TG4 is pretty low-stakes
for NTT consumers.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16043 >
2022-04-19 20:05:41 +00:00
Yonggang Luo
a3a43e5fa8
win32: Do not use BUILD_GL32, we use def file to export win32 dll symbols.
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14041 >
2022-04-19 19:38:47 +00:00
Yonggang Luo
4ead2f6579
win32: Fixes 32 bits visual studio module definition files by add script gen_vs_module_defs.py
...
Getting opengl32*.def consistence with Windows SDK.
Getting osmesa.mingw.def's gl* functions consistence with Windows SDK.
stw_* functions are cdecl, not stdcall, so there is no need mangling the symbol.
Fixes egl.def for x86
d3d10sw: Move the place of d3d10_sw.def to d3d10_sw.def.in
Fixes vulkan_lvp.def for x86
Fixes #5552
Remove stdcall-fixup
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14041 >
2022-04-19 19:38:47 +00:00
Emma Anholt
550975f229
turnip: Don't disable LRZ in subpasses after the first in the easy case.
...
If it's the same depth/stencil attachment, then there's no need to turn
off LRZ just because the subpass changed. Doesn't help gfxbench perf yet,
but will with !16014 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:30 +00:00
Emma Anholt
7ba63f516a
turnip: Ignore TOP/BOTTOM_OF_PIPE bits in subpass src/dst dep flags.
...
gfxbench sets these between the gbuffer subpass and the following ones.
They should be no-ops as subpass dependencies. gfxbench vk-5-debug perf
12.8 -> 14.6 fps thanks to getting gmem on the gbuffer rendering.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:30 +00:00
Emma Anholt
1bcd848816
freedreno/ir3: Call nir_opt_find_array_copies().
...
gfxbench vk-5-normal has a shader that sampels into a texels[] array at
the top, then in a loop calls a GLSL function passing texels[] in by
value. This resulted in a copy to a temp inside the loop, which got
lowered to scratch stores since it was pretty big.
By doing find_array_copies(), we notice that it's equivalent to
copy_deref, then get to copy-propagate from the array at the top. Then we
only have to set up the scratch array outside of the loop and load_scratch
from it in the called function inside the loop. This also causes there to
be less spilling, stps 1144 -> 354 and ldps 826->36.
However, it doesn't seem to change performance on the test. So, while
this seems to be an improvement for the shader, and we could maybe even do
better by rematerializing the txl samples inside the loop instead of
storing the texture fetches to scratch in the first place, it doesn't
currently seem worth pursuing more optimization of this shader.
No change on freedreno shader-db.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:29 +00:00
Emma Anholt
7ba0c44607
turnip: Add nir_opt_conditional_discard.
...
We can easily do discard_if in the backend without control flow, but it
wasn't done in ir3 because the GL frontend already did it for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:29 +00:00
Emma Anholt
d60282f5d2
freedreno/ir3: Make sched nodes before adding deps.
...
The mark_kill_path() during dep setup follows SSA srcs, which when a phi
is involved may include a def from later in the same block, that we hadn't
created yet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:29 +00:00
Emma Anholt
ce15bf19fb
turnip: Add TU_DEBUG=layout for dumping image layouts.
...
This was useful for comparing image allocations between gfxbench
gl_5_normal and vk_5_normal to see if rendering was generally equivalent
(formats, MSAA, UBWC choices, and notably gfxbench vk was choosing DXT5
instead of ASTC on non-android builds!)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982 >
2022-04-19 18:45:29 +00:00
Danylo Piliaiev
2c683519e2
turnip: Try harder to keep LRZ valid and fix a few edge cases
...
Refactored tu6_calculate_lrz_state and added comments.
1) If there is no depth write we could keep LRZ valid with any
compare op, we just have to temporary disable LRZ for incompatible
ops in such case.
2) Found that VK_COMPARE_OP_EQUAL is not compatible with LRZ,
and since it doesn't change LRZ buffer - LRZ could be just
temporary disabled. This fixes rendering of grass/trees in
PUBG mobile on angle.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6127
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16014 >
2022-04-19 18:06:58 +00:00
M Henning
8313a9231c
nouveau: Skip cctl for atomic counters in tgsi
...
The tgsi path already marked all aliasing loads of atomic counters with
CACHE_CG, so we don't need to emit a cctl. This patch uses the cache
flag on the atomic to model whether the L1 cache needs the stale
values to be flushed or not.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14386 >
2022-04-19 16:33:36 +00:00
M Henning
850197b3e0
nouveau: Emit cctl to flush L1 cache for atomics
...
We were previously only emitting these for CAS, but all of the atomics
seem to need it.
Fixes spec@glsl-es-3.10 @execution@fs-simple-atomic-counter-inc-dec-read
on kepler with NV50_PROG_USE_NIR=1
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14386 >
2022-04-19 16:33:36 +00:00
Boris Brezillon
9eace7f2e4
dzn: refactor error-handling
...
Here's a couple of cleanups to the error-handling code, now that we're
no longer using ComPtr<T>.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
cfdaf1af9b
dzn: remove needless defines
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
2ca4e21df7
dzn: merge util sources
...
There, no more C and C++ sources of the same base-name. We can do both
in one source.
This is our last C++ source file, so let's also clean away the C++20
mess in meson.build.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
0551f8ed62
dzn: port code to plain c
...
This does quite a lot in one go, simply because C and C++ are too
different to cleanly move from one language to another. But hopefully
this won't create too many rebase-issues.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
b369e10d08
dzn: do not set unused default member initializer
...
These objects aren't allocated using C++ constructors, so these default
member initializers does nothing.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
c5e979f632
dzn: c-style casts
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
3d608de882
dzn: use c-style initialization
...
Here's a few cases where we can use C-style initialization up-front,
which reduces the diffs later on.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
05af6f0434
dzn: use c-style for-statement
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
502c36c07d
dzn: use define instead of constexpr
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
5a9571ee2c
dzn: no more reinterpret_cast
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
79119ac478
dzn: drop using references
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
bd8e8537cc
dzn: drop auto usage
...
The auto keyword isn't available in C, so let's drop it and just use
explicit types instead.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
d61c2e965b
dzn: add a bunch of missing struct-keywords
...
If we're going to have any chance of porting this code to C, we're
going to have to be better at spelling out structs.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
4903a7c051
dzn: port to d3d12 c-api
...
Using the vulkan-helpers from C++ code has turned out to have a lot of
friction, because no other driver uses C++ for this.
So let's bite the bullet and call the D3D12 C-API instead. The C-API
wasn't really around when we started out, but it's there now.
This is still far from ideal; we should really create some wrapping
macros to generate the extremely verbose COM calls.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
4753222e62
dzn: pass IDXGIAdapter1 to d3d12_create_device
...
The D3D12 C API doesn't know about the relationship between
IDXGIAdapter1 and IUnknown. And there's no good reason to care about it
here either. So let's just pass the right type all the way.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
3ba021cdd0
dzn: use ID3D10Blob instead of ID3DBlob
...
In the C interface, there's no such alias.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
8c6f50efdb
dzn: always use ID3D12GraphicsCommandList1
...
In the C-interface, ID3D12GraphicsCommandList1 and
ID3D12GraphicsCommandList are unrelated types. So let's make sure we
consistenly use the most up-to-date version.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
411dfc574c
dzn: always use ID3D12Device1
...
In the C-interface, ID3D12Device1 and ID3D12Device are unrelated types.
So let's make sure we consistenly use the most up-to-date version.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
5f17d070a9
dzn: remove all usage of ComPtr<T>
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Erik Faye-Lund
74228c32ee
dzn: fixup indent
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15816 >
2022-04-19 15:39:48 +00:00
Georg Lehmann
d12b5e7633
aco: Reuse previous -1 result in find_msb to avoid using VOP3.
...
Totals:
CodeSize: 388934388 -> 388933712 (-0.00%)
Totals from 208 (0.15% of 134913) affected shaders:
CodeSize: 2008016 -> 2007340 (-0.03%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16011 >
2022-04-19 15:18:58 +00:00
Yonggang Luo
ebb099a9b0
zink: Remove redundant framebuffer_mtx from zink_screen.h
...
Fixes: beb71504f4 ("zink: remove the worst part of basic framebuffer support")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16025 >
2022-04-19 15:02:33 +00:00
Lionel Landwerlin
2ab57e056d
ci/iris: mark another test as flaky
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16032 >
2022-04-19 14:27:26 +00:00
Lionel Landwerlin
8ef8e72aac
intel/fs: tidy up lower of ray queries
...
We already expect a single function.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15946 >
2022-04-19 12:56:06 +00:00
Boris Brezillon
9fd02d49b8
dzn: Pass the right type to CreateCommandList() in the reset path
...
The Command allocator and command list type must match, but we
are forcing it to D3D12_COMMAND_LIST_TYPE_DIRECT in the reset path.
Fixes: a012b21964 ("microsoft: Initial vulkan-on-12 driver")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16023 >
2022-04-19 12:07:38 +00:00
Marcin Ślusarz
5dace41c10
intel/compiler: invalidate metadata in brw_nir_initialize_mue
...
New "if" blocks may have been inserted.
Fixes: bc4f8c073a ("intel/compiler: inject MUE initialization")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15924 >
2022-04-19 11:43:55 +00:00
Marcin Ślusarz
4fddef33d5
intel/compiler: invalidate all metadata in brw_nir_lower_intersection_shader
...
New "if" blocks were inserted.
Fixes: 303378e1dd ("intel/rt: Add lowering for combined intersection/any-hit shaders")
Reviewed-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/15924 >
2022-04-19 11:43:55 +00:00
Marcin Ślusarz
5bd3ba5b67
anv: invalidate all metadata in anv_nir_lower_ubo_loads
...
lower_ubo_load_instr may insert "if" blocks.
Fixes: 61749b5a15 ("anv: Add a pass for lowering A64 UBO access")
Reviewed-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/15924 >
2022-04-19 11:43:55 +00:00
Lionel Landwerlin
184084e21c
anv: allow getting the address of the beginning of the batch
...
There is no reason not to be able to get it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 34a0ce58c7 ("anv: add a new execution mode for secondary command buffers")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15968 >
2022-04-19 10:43:29 +00:00
Alexey Bozhenko
2d7d907ad1
intel/compiler: fix singleton pointer coverity warning
...
fix brw_kernel::stats member that was declared as a variable
but used as a pointer to array of 3 elements
CID: 1503279
Signed-off-by: Bozhenko Alexey <oleksii.bozhenko@globallogic.com >
Reviewed-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/15975 >
2022-04-19 12:36:10 +03:00
Karmjit Mahil
4c6bec2c0c
pvr: Fix clang-format errors caused by vk outarrays.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15944 >
2022-04-19 09:13:07 +00:00
Boris Brezillon
3e97d37c63
dzn: Add support for sampleRateShading
...
Forward the sample-rate shading info to spirv_to_dxil() so we can
claim to support sampleRateShading.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Boris Brezillon
80a5deee62
microsoft/spirv_to_dxil: Allow forcing per-sample shading
...
Needed to support VkPipelineMultisampleStateCreateInfo::sampleShadingEnable.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Boris Brezillon
cacc3f03e6
microsoft/compiler: Add a dunmmy SV_SampleIndex when needed
...
When per-sample shading is forced and all input variables have a flat
interpolation, DXIL validation detects a mismatch between the
SampleFrequency property and the fact that no variables are per-sample
and SV_SampleIndex is never read. When that happens, add a dummy
SV_SampleIndex.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15916 >
2022-04-19 08:49:50 +00:00
Juan A. Suarez Romero
04fb31a420
v3d: enable GL_ARB_copy_image extension
...
Enable the proper capability to get activate this extension.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4588
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/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
e40cbd3438
v3d: define our own canonical supported formats
...
Some of the canonical formats defined by Gallium are not TLB compatible,
so we need to provide an alternative.
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/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
606e42027e
gallium: add hook on getting canonical format
...
On swizzled copies canonical formats are used to reduce the formats to a
simpler subset.
Nevertheless, it is possible that some of the canonical formats defined
in Gallium are actually not supported by the drivers themselves.
This provides a driver-defined hook that can be used to provide an
alternative canonical format in case the canonical one defined by
Gallium is not supported by the driver.
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/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
21bfbc74ee
v3d: use surface format defined on pipe_blit
...
When trying to perform a TLB-based blit, we need to create a surface out
of the src and dst resources. But instead of using the same formats as
the resources, we need to use the format that is passed through
pipe_blit_info.
This was making some cases to use the render-based blit instead of the
TLB-based blit, which is more performant.
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/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
e6bcb8ad15
v3d: do not tile 1D textures
...
Hardware already support 1D untiled textures, so no need to convert them
to tile for render-based blit.
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/15693 >
2022-04-19 08:03:42 +00:00
Juan A. Suarez Romero
18f8e3e7bd
v3d: report the correct unsupported blit format
...
We were reporting the resource format instead of the surface format for
unsupported render blit formats.
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/15693 >
2022-04-19 08:03:42 +00:00
Lionel Landwerlin
3684012770
anv: implement DEBUG_SYNC
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Lionel Landwerlin
317512e038
anv/intel: add a new debug flag for stalling after every draw/dispatch
...
Useful for hang debugging. Previously Anv incorrectly used DEBUG_SYNC
for this.
v2: Update documentations for sync/stall (Jordan)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Lionel Landwerlin
a1969fa777
anv: improve INTEL_DEBUG for submit
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15950 >
2022-04-19 07:32:01 +00:00
Erik Faye-Lund
ff05137c2d
nir: introduce and use nir_component_mask
...
The BITFIELD_MASK() macro is intended for using with actual bitfields,
not with nir_component_mask_t. This means we do some extra work to
handle values that are invalid for nir_component_mask_t in the first
place.
This eliminates some warnings on Clang, where the compiler complains
about casting UINT32_MAX to UINT16_MAX.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00
Erik Faye-Lund
be952e71a7
meson: turn on -Wno-unused-function project-wide
...
We generate a lot of functions without knowing if they end up being used
or not. So we can't easily avoid these warnings.
This fixes a bunch of warnings for me when building with Clang.
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00
Erik Faye-Lund
b27a2ba4fc
vulkan: explicitly cast object-type enum
...
VkObjectType and VkDebugReportObjectTypeEXT has the same enum-values.
Why the Vulkan WG thought this was a good idea, beats me. But it's what
we have to live with now.
Anyway, instead of having a statement that implicitly casts two
different values from the former to the latter, let's fully relsove the
type as the former, and cast the value when using it instead.
Fixes: 41318a5819 ("vulkan: Use vk_object_base::type for debug_report")
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15547 >
2022-04-19 06:54:47 +00:00
Samuel Pitoiset
90db834603
radv: do not support UNIFORM_TEXEL_BUFFER with SRGB
...
Looks like it can't be supported. Also disabled by PRO/AMDVLK.
Fixes new CTS dEQP-VK.texture.texel_buffer.uniform.srgb.*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16010 >
2022-04-19 06:35:50 +00:00
Samuel Pitoiset
443034c1ec
radv: initialize the vertex input interface state in only one place
...
Instead of copying states from these structures at many different
places, do it only once. Will help VK_EXT_graphics_pipeline_library.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15967 >
2022-04-19 06:15:52 +00:00
Samuel Pitoiset
ea6eaa4c19
radv: use the hardware primitive topology everywhere
...
Instead of mixing the VK type vs HW type everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15967 >
2022-04-19 06:15:52 +00:00
Samuel Pitoiset
984b6c037c
radv: mark all active stages earlier in the pipeline creation path
...
Few pCreateInfo structs have to be ignored based on the active stages
and this will be used to make a union of stages from graphics libraries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15967 >
2022-04-19 06:15:52 +00:00
Mike Blumenkrantz
1eada1b02d
zink: selectively disable dynamic vertex stride
...
if the vertex state doesn't meet the requirements to use this feature,
fall back to fully-baked pipelines instead of violating spec
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
d46774f8e6
zink: store min required stride values on the vertex state
...
this will be useful shortly
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
75e4a861cb
zink: always bind gfx pipeline at the top of draw
...
at one point I thought it'd be cool to try and async compile a pipeline
between shader bind and draw emit, but this is an unrealistic pipe dream
that just makes things more complicated
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16018 >
2022-04-19 03:44:59 +00:00
Mike Blumenkrantz
3d97367a60
zink: rework zink_kopper_update() assert
...
the dt might have been killed, so just assert that it's a display target
fixes #6317
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16017 >
2022-04-19 00:59:29 +00:00
Mike Blumenkrantz
9ecdc2e985
zink: make a kopper debug print into an error
...
Fixes: 8ade5588e3 ("zink: add kopper api")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16017 >
2022-04-19 00:59:29 +00:00
Mike Blumenkrantz
452a2fb995
zink: remove ZINK_NO_TIMELINES
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
beb71504f4
zink: remove the worst part of basic framebuffer support
...
this was one of the most complex interactions in zink, and now it's
finally gone
thanks to @jekstrand for licensing his patented Delete The Code methodology
for this project
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
00f2517391
zink: rename imageless framebuffer functions
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
623de06056
zink: remove framebuffer indirection
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
fe8212791f
zink: delete all non-imageless framebuffer code
...
hooray it's finally gone
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
0067641d3c
zink: require KHR_imageless_framebuffer
...
this allows for deleting tons of code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
8c539328fd
zink: require renderpass2
...
drivers should be able to support this, and it allows for deleting
a lot of untested code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
d461b1f722
zink: only use VK_DEPENDENCY_BY_REGION_BIT if sync2 is available
...
this breaks texture barriers since non-sync2 barriers don't have this
available
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
4f1ecbd7b7
zink: hook up VK_KHR_create_renderpass2
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
b0cbe3d419
zink: remove driver-based max_fences throttling
...
there are no more fence objects, so there's no need to do driver-specific
clamping on them
the mechanism remains intact to handle ETOOMANYSUBMITS
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
21fb0a3473
zink: rename zink_query::batch_id
...
this conflicts with zink_fence::batch_id and is confusing in grep
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
b5d7f61e0c
zink: remove batch lock
...
this is no longer needed and allows deleting some awful code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
bc2e29accd
zink: require timeline semaphores
...
this allows the removal of tons of awful code
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
07c86e99b1
zink: do not create fences at all if timeline semaphores are supported
...
there's no point in doing this, as it's just extra objects that don't need
to ever be used
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904 >
2022-04-18 23:45:30 +00:00
Mike Blumenkrantz
8806f444a5
zink: fix extended restart prim types without dynamic state2
...
these are all allowed with the ext
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978 >
2022-04-18 22:20:36 +00:00
Mike Blumenkrantz
cd9424d93f
zink: support restart with PIPE_PRIM_LINES_ADJACENCY if ext is available
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15978 >
2022-04-18 22:20:36 +00:00
Mike Blumenkrantz
d8b66fcbf9
zink: unconditionally set line width on rasterizer state change
...
the pipe cap is used for gating wideline support, so this will always
be 1.0 when not supported
furthermore, the previous code wasn't accurately checking line width
for tess shaders, breaking tests
cc: mesa-stable
fixes (nv):
KHR-GL46.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_PatchVerticesIn
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
9409756ee3
zink: use mixed zs renderpass for depth read/write
...
this is triggered by u_blitter when doing src==dst blits
Fixes: 7781a75229 ("zink: add a renderpass flag for mixed zs layout")
affects:
GTF-GL46.gtf30.GL3Tests.framebuffer_blit.framebuffer_blit_functionality*
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
37ac8647fc
zink: reject resource creation if format features don't match attachment
...
if a rendertarget-specified image can't be a rendertarget or a blit dst
then it can't be used for the designated functionality and must be rejected
cc: mesa-stable
fixes hangs on various nv driver versions:
dEQP-GLES2.functional.texture.mipmap.2d.generate.rgba5551_fastest
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15960 >
2022-04-18 22:10:07 +00:00
Mike Blumenkrantz
44ad45fa06
zink: add baseline for amdpro
...
got some work to do here
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980 >
2022-04-18 21:56:46 +00:00
Mike Blumenkrantz
c7122814c5
zink: disable EXT_extended_dynamic_state2 on AMDPRO
...
this is broken beyond space and time in 22.10-1395274
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15980 >
2022-04-18 21:56:46 +00:00
Mike Blumenkrantz
12cf9a1544
zink: remove tcs patch slot map
...
this is illegal, and we'll just have to eat some piglit fails
until indirects are handled
Fixes: f7ade1f188 ("zink: simplify shader i/o assignment")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15976 >
2022-04-18 21:32:40 +00:00
Erik Faye-Lund
7ca1253932
gallium: rename ldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
439c212a3c
gallium: rename dfracexp/dldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
3efd6d4bfe
gallium: rename dround shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
9b545ea691
gallium: rename continue shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Mike Blumenkrantz
d275d6c32f
zink: clamp max shader images to 32
...
NO MATTER WHAT.
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16013 >
2022-04-18 17:54:20 +00:00
Konstantin Seurer
b761b51451
radv: Fix ray queries with !15854
...
Fixes: b62e90a ("radv: use nir_op_imm helpers")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16004 >
2022-04-18 16:37:54 +00:00
Georg Lehmann
a8b29094c2
aco: Remove some old comments in aco_opcodes.py.
...
s_cmovk_i32 isn't GFX8_GFX9 only and s_version doesn't need a comment to say
it's GFX10+ exclusive. The encoding list is enough to provide this information,
as for other GFX10+ instructions.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16006 >
2022-04-18 15:59:38 +00:00
Sviatoslav Peleshko
dd7278aa10
mesa: flush bitmap caches when changing scissors or window rects state
...
If we change the sate without flushing the bitmap cache, the cache might be
rendered with the new scissor, which excludes some parts that should've
been rendered with the old state, and vice versa.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6233
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15881 >
2022-04-18 12:39:03 +00:00
Juan A. Suarez Romero
f9e424f98d
ci/v3dv: remove fixed test
...
`dEQP-VK.api.external.semaphore.opaque_fd.info_timeline` is already
fixed.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16005 >
2022-04-18 12:16:52 +00:00
Timothy Arceri
4b4bb46af4
nir: fix setting varying from uniform as flat
...
Here we just make sure we match the interpolation type on both
sides of the shader interface. Drivers like d3d12 are expecting
this.
Fixes: 9401990e6f ("nir/linker: set varying from uniform as flat")
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16003 >
2022-04-18 11:45:56 +00:00
illiliti
67af7e2b40
Use proper types for meson objects
...
Fix invalid usage of meson objects which violates official meson
specification and thus breaks muon, an implementation of meson
written in C.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15715 >
2022-04-18 13:03:08 +03:00
Samuel Pitoiset
ed7d831525
radv: fix initializing pipeline_key::topology for GFX9 and older
...
This is used to determine the geometry shader info on GFX9, and it
looks like it was broken for topologies that use adjacency.
This is also used to remove PSIZ from shaders that don't need it.
Found by inspection.
fossils-db (Polaris10):
Totals from 140 (0.10% of 135960) affected shaders:
SGPRs: 10448 -> 9696 (-7.20%)
VGPRs: 4376 -> 4264 (-2.56%)
CodeSize: 164316 -> 161028 (-2.00%)
Instrs: 26449 -> 25767 (-2.58%)
Latency: 184448 -> 180468 (-2.16%)
InvThroughput: 80772 -> 79092 (-2.08%)
VClause: 337 -> 328 (-2.67%); split: -2.97%, +0.30%
SClause: 859 -> 813 (-5.36%); split: -5.70%, +0.35%
Copies: 1027 -> 790 (-23.08%)
PreSGPRs: 2751 -> 2331 (-15.27%)
PreVGPRs: 3887 -> 3836 (-1.31%)
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15948 >
2022-04-18 06:42:39 +00:00
Timothy Arceri
3dae5442ef
glsl/st: vectorise interfaces of SSO shader programs
...
For example the SSO program may consist of just tcs -> gs or even
just a vs. In these cases we want to vectorise the externally
facing shader interfaces just like we would in non SSO programs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15941 >
2022-04-18 02:34:24 +00:00
Lionel Landwerlin
04bd007757
intel/fs: require memory fence commit bit on Gfx9
...
Fixes a hang on Gfx9 GT1 : dEQP-VK.compute.zero_initialize_workgroup_memory.max_workgroup_memory.128
Tested-by: Mark Janes <markjanes@swizzler.org >
Acked-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15596 >
2022-04-17 21:24:17 +00:00
Lionel Landwerlin
b07c215c35
intel: fix URB programming for GT1s
...
We're missing a programming restriction.
Hopefully fixing
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_1.* on
Gfx9atoms
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6216
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >.
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15596 >
2022-04-17 21:24:17 +00:00
Josh Billingsley
ee9997e932
driconf: add SD Gundam G Generation Cross Rays
...
Required to avoid blank white screen on game launch
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15998 >
2022-04-17 18:36:14 +00:00
Gert Wollny
ef75752ef8
r600/sfn: Fix store_shared_r600 write masks
...
The error was caught by the new nir_validation code.
Fixes: 73ef225fc2
nir: validate write_mask for all intrinsics that have it
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15994 >
2022-04-17 13:21:09 +00:00
Marek Olšák
11c462534b
gallium/winsys: move {amdgpu,radeon_drm}_public.h contents into radeon_winsys.h
...
header file simplification
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907 >
2022-04-17 01:27:34 +00:00
Marek Olšák
efac875b66
gallium: move radeon_winsys.h into gallium/include/winsys/
...
it's used by 3 different drivers, so it shouldn't be in radeonsi
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907 >
2022-04-17 01:27:34 +00:00
Marek Olšák
139f55071b
gallium: move drivers/radeon/* into drivers/radeonsi/
...
this is only used by radeonsi
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907 >
2022-04-17 01:27:34 +00:00
Emma Anholt
66a0f318fd
nir: Avoid generating extra ftruncs for array handling.
...
It's quite likely that the source of the f2i32 was already an integer, in
which case we can skip the ftrunc (particularly useful on the int-to-float
class of hardware that's unlikely to just have a native trunc opcode!).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870 >
2022-04-16 13:07:09 -07:00
Emma Anholt
e4aa5f7889
nir: Skip fround_even on already-integral values.
...
Just like the other make-the-float-an-integer opcodes. Noticed in a
gallium nine shader run through TGSI-to-NIR, where the array index had
been floored by the user, but got implicitly rounded by DX9 array
indexing.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870 >
2022-04-16 13:07:09 -07:00
Emma Anholt
6947016b46
nir: Add lowering for fround_even on r300.
...
When we put NIR in the compiler stack for r300, indirect addressing broke
for gallium nine. DX's array indirects round the float value, so the DX
shader gets mapped to a TGSI "ARR ADDR[0] src.x" instruction. Translating
that to NIR maps to r0[f2i32(fround(src.x))]. While we might hope that in
translation back using nir-to-tgsi after optimization we would recognize
the construct and emit ARR again, that's going to be error prone (think
"what if src.x is in a NIR register?") so we need a fallback plan. r300
will be able to handle this lowering, so get it in place first to fix the
regression.
Fixes : #6297
Fixes: 7d2ea9b0ed ("r300: Request NIR shaders from mesa/st and use NIR-to-TGSI.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15870 >
2022-04-16 13:07:09 -07:00
Leandro Ribeiro
c60fea8c22
Revert "egl/wayland: deprecate drm_handle_format() and drm_handle_capabilities()"
...
Commit af1ee8e010 dropped support to
wl_drm, as we thought that most compositors from active projects were
already supporting zwp_linux_dmabuf_v1.
But that's not true, so revert this commit in order to give these
projects a longer transition period.
Note that we didn't add back the support to GEM name API, and that was
on purpose.
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15822 >
2022-04-16 18:11:59 +00:00
Icecream95
f267000240
panfrost: Stop overallocating compressed textures
...
The line stride uses the number of bytes in the entire block, so both
the width and height need to be reduced for compressed textures so
that the surface stride is calculated correctly.
Fixes: 051d62cf04 ("panfrost: Add a pan_image_layout_init() helper")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6286
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15989 >
2022-04-16 16:14:11 +00:00
Alyssa Rosenzweig
f68e579044
docs/panfrost: Document drm-shim usage
...
Document how to build and use Panfrost's drm-shim implementation. I hope by
documenting this process, other Mesa developers are better able to test
Panfrost. In particular, this allows developers without Mali hardware to run
shader-db for any Mali target, which may be useful for debugging regressions
from common NIR changes.
drm-shim is not a substitute for testing against real hardware.
Special thanks to Emma Anholt and Icecream95 for building this infrastructure.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15930 >
2022-04-16 11:51:22 -04:00
Alyssa Rosenzweig
4d460c9fdd
panfrost: Rework PAN_GPU_ID mechanism
...
Originally, PAN_GPU_ID was checked in the driver itself. I added the mechanism
to run Bifrost shader-db on my Midgard laptop. There was no drm-shim support at
this point, and this was a reasonable stop gap at the time.
Nowadays, we have a competent drm-shim implementation, which wholly replaces
this use case. So PAN_GPU_ID is only useful for drm-shim. Let's pull the code
into drm-shim and get it out of the driver. This allows NDEBUG drm-shim builds
to work properly.
While we're at it, the default emulated GPU is changed from Mali-T860 to
Mali-G52. This reflects our shifting development priorities.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15930 >
2022-04-16 11:50:51 -04:00
Alyssa Rosenzweig
dae5e1bccd
panfrost: Dirty track batch masks
...
Since 5d187e9cad ("panfrost: Add helpers to set batch masks"), we have common
helpers to set the colour and depth/stencil batch masks. Rather than set the
masks in various Midgard/Bifrost specific paths, set them generically based on
the finer dirty tracking. This lets us share the logic with Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15956 >
2022-04-16 14:15:14 +00:00
Alyssa Rosenzweig
c4167e8911
panfrost: Rework dirty tracking for Valhall
...
Midgard aggregates a large amount of state into its renderer state descriptor.
Our current dirty tracking reflects this, with a single RENDERER dirty flag.
That won't work well on Valhall, which splits out orthogonal state into
independent descriptors (a blend descriptor, a depth/stencil descriptor, and so
on). To prepare for Valhall support, this patch moves the driver to finer dirty
tracking.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15956 >
2022-04-16 14:15:14 +00:00
Alyssa Rosenzweig
fc1397d1d7
docs/panfrost: Document u-interleaved tiling
...
The optimized routine documented the tiling format together with the software
algorithm. The reference implementation wants the tiling format alone
documented. Let's break out the high level documentation into somewhere
centrally accessible, and refocus the comments in the optimized file on the
optimization.
This documentation is linked bidirectionally with both implementations, so it
should be easy to find.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
bb6c14a697
panfrost: Unit test u-interleaved tiling routines
...
These are complex and not used in all dEQP paths. They're also easy to unit
test, so add some tests to prevent regressions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
944049dedc
panfrost: Document arguments to tiling routines
...
The exact semantics of these routines are subtle, although they match what
Gallium wants. We're about to add unit tests. Add some comments that make it
obvious what it is we expect these routines to do. (In particular, it's not a
general region-of-interest copy, it's a region-of-interest of the tiled image
and the entire linear staging image.)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
1d8ea77645
panfrost: Assert alignment in tiling routine
...
We depend on this invariant implicitly. Make that dependence explicit so we
don't get confused and add broken unit tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
f96110363a
panfrost: Allow tiling all texture targets
...
Now that tiled access to 3D textures works, we can enable tiling on all texture
targets. In particular, this adds tiling support for cube maps, arrays, and 3D
textures. Previously, these would usually fall back to linear, which is hard on
the caches.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
58a2174f8e
panfrost: Only tile for 2D dimensions
...
1D textures (Nx1 or 1xN) do not benefit from tiling. Don't try, it's a waste.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
cd2aa776cf
panfrost: Implement tiled 3D resource access
...
We need to access each layer separately. This is a simple generalization of the
existing tiled 2D resource access code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
594653173b
panfrost: Only handle 2D in should_linear_convert
...
The tiled->linear conversion mechanism is meant for 2D and doesn't handle tiled
+ 3D. This use case is not expected application behaviour, it's not worth the
complexity to try to handle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
3ee08270f3
panfrost: Remove bpp check for tiling
...
All pixel formats are now tileable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Alyssa Rosenzweig
4c31795f7a
panfrost: Add 48-bit and 96-bit tiling routines
...
Thanks to our macros and some type trickery, our generic tiling routines are
type-generic. So we just need to add 48-bit and 96-bit texel types to tile. Note
we only support power-of-two bit sizes in the specialized tile routines for the
sake of replacing a multiplication with a shift.
With this change, all pixel formats supported in Panfrost are tileable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15803 >
2022-04-16 13:43:05 +00:00
Rhys Perry
75e68f44af
radv: always use nir_lower_io_lower_64bit_to_32
...
Our I/O lowering doesn't handle 64-bit TCS stores and TES loads which use
several slots. Because of the large stride between slots, we have to split
the load so that there's a single load_buffer_amd/store_buffer_amd
intrinsic for each slot.
Our I/O lowering also sometimes creates nir_op_pack_64_2x32 after
nir_lower_alu_to_scalar.
Fixes KHR-GL45.gpu_shader_fp64.fp64.varyings with Zink
(https://gitlab.freedesktop.org/mesa/mesa/-/issues/6276 )
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15863 >
2022-04-16 11:19:11 +00:00
Rhys Perry
ab1409010a
ac/nir: fix 64-bit NGG GS output stores
...
I don't know why this was here. The DIV_ROUND_UP ensures that it's always
at least 1 and the MIN2 ensures that it's never greater than 1.
Fixes some KHR-Single-GL46.enhanced_layouts.varying_* tests with zink:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6301
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/15863 >
2022-04-16 11:19:11 +00:00
Michel Zou
4c1cb62999
gallium: fix unused symbols warnings
...
fixes: d760a915
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15840 >
2022-04-16 03:29:33 +00:00
Jason Ekstrand
5c9e4d400a
nir/opcodes: fisfinite32 should return bool32
...
Otherwise constant-folding will fold it to 0/1 instead of 0/~0.
Fixes: 330e28155f ("nir: add 32-bit bool of fisfinite")
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15984 >
2022-04-16 02:46:12 +00:00
Jason Ekstrand
319d87846c
nir,microsoft: Move scale_fdiv into a common NIR pass
...
While we're at it, convert to nir_shader_instructions_pass() to get rid
of some boilerplate and get metadata correct.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15983 >
2022-04-16 02:10:25 +00:00
Jason Ekstrand
ad0dc8e4ab
intel/compiler: Set lower_fisnormal
...
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15985 >
2022-04-16 00:26:43 +00:00
Rhys Perry
ce6867e672
radv: use inot(a) instead of ine(a, true)/ieq(a, false)
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
b62e90ad43
radv: use nir_op_imm helpers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
df994ecc8f
radv: use radv_meta_build_nir_vs_generate_vertices() more
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
8e0e98a9af
radv: initialize meta shader options earlier
...
We might need this for NIR builders.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
53e8d6618f
radv: remove unnecessary align_mul/offset initialization
...
Since af51efe195 , these builders fill these in with scalar alignment if
not provided.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
46d14abeae
nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854 >
2022-04-15 23:56:11 +00:00
Rhys Perry
9baa45c189
nir/gather_info: fix system_value_read for rt/mesh system values
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: c7eaf03068 ("radv: use shader_info::system_values_read")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15952 >
2022-04-15 11:10:22 +00:00
Rhys Perry
8fe8c5dfd0
ac/nir: properly handle large global access constant offsets
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 61ac5acca3 ("radv,ac/nir: lower global access to _amd global access intrinsics")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6321
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15951 >
2022-04-15 10:39:40 +00:00
Lionel Landwerlin
7be6632f7d
anv: use shadow surface for stencil input attachment on gfx7
...
This fixes a number of tests like :
dEQP-VK.renderpass*.suballocation.multisample.s8_uint.*
dEQP-VK.renderpass*.suballocation.multisample.separate_stencil_usage.d24_unorm_s8_uint.*.test_stencil
dEQP-VK.renderpass*.suballocation.multisample.d24_unorm_s8_uint.*
dEQP-VK.renderpass*.suballocation.multisample.d32_sfloat_s8_uint.*
Because the driver asserts when generating RENDER_SURFACE_STATE with a
8 Valign value for stencil buffer (only 2 & 4 are supported).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12670 >
2022-04-15 09:46:40 +03:00
Samuel Pitoiset
f049b1c085
radv: add support for VkShaderModuleCreateInfo as pNext
...
With VK_EXT_graphics_pipeline_library, modules can be passed via the
pNext of VkpipelineShaderStageCreateInfo.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15926 >
2022-04-15 06:08:34 +00:00
Samuel Pitoiset
c43573ba93
radv: add support for independent descriptor set layouts
...
With VK_EXT_graphics_pipeline_library, pipeline layouts created with
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT might contain NULL
descriptor sets.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15926 >
2022-04-15 06:08:34 +00:00
Samuel Pitoiset
2591a52560
radv: fix enabling adjust_frag_coord_z and apply per-pipeline
...
Fossilize always enables all supported extensions, that means that
adjust_frag_coord_z would always be enabled on RDNA2, even if the
application doesn't enable it. The pipeline key would then be different
and precompilation wouldn't work. Move this per-pipeline since we can
know if VRS will be used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15444 >
2022-04-15 05:49:54 +00:00
M Henning
9da14a2119
nouveau/nir: Allow up to 6 nested joins
...
This matches what the tgsi path does and doesn't regress any tests. (For
comparison, unlimited join nesting does regress tests in deqp and piglit)
Fixes graphical artifacts from stack overflows in
https://www.shadertoy.com/view/Xds3zN
with nir on kepler
Reviewed-by: Emma Anholt <emma@anholt.net >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15597 >
2022-04-15 01:22:03 +00:00
Enrico Galli
0c4d1762de
microsoft/compiler: Fix when using a shadow sampler more than once
...
Reusing the shadow sampler's variable causes problems when the sampler
is used more than once. The remaining `deref_var`s will be using the
wrong type.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988 >
2022-04-15 00:19:55 +00:00
Enrico Galli
0e91dd2f3e
microsoft/compiler: Add support for unnamed ubos
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988 >
2022-04-15 00:19:55 +00:00
Enrico Galli
6073c74bfd
microsoft/compiler: Fix for arrays of 1 element
...
The DXIL validator doesn't like dynamic indexing into resources if the
resource was not declared as an array type. This commit makes it so that
we always generate array resource types if the original type was
declared as an array instead, not just when the number of elements is
greater than 1.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988 >
2022-04-15 00:19:55 +00:00
Enrico Galli
0badd0547d
microsoft/spirv_to_dxil: Add pass to lower dynamic accesses on ubo[1]
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14988 >
2022-04-15 00:19:55 +00:00
Mike Blumenkrantz
2f21463b7d
zink: nv ci update
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15957 >
2022-04-15 00:09:31 +00:00
Mike Blumenkrantz
dbbd686a5d
zink: radv baseline fix
...
typo
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15957 >
2022-04-15 00:09:31 +00:00
Emma Anholt
4baf5aacb7
ci/virgl: Add piglit and GL4.3 testing to the virpipe path.
...
This will be helpful in regression-testing the nir-to-tgsi transition, and
with the big runners at google we have plenty of capacity to do it.
I dropped the GL3.0-3.2 caselists because GL4.3 should be a superset of
them.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15158 >
2022-04-14 23:58:05 +00:00
Mike Blumenkrantz
22dd082989
zink: unset PIPE_CAP_TEXRECT
...
this isn't supported by vulkan, and though it can be implicitly converted
to 2d in the driver, this still leaves validation spam
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895 >
2022-04-14 22:57:23 +00:00
Mike Blumenkrantz
2058ae7b43
mesa/st: set normalized coords for RECT samplers if rects are unsupported
...
the shaders will never see these, so set the expected value for 2D
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895 >
2022-04-14 22:57:23 +00:00
Mike Blumenkrantz
5b0634d735
nir/lower_tex: fix rect queries with lower_rect set
...
queries still need the sampler_dim changed
Fixes: 682e14d3ea ("nir: lower_tex: Don't normalize coordinates for TXF with RECT")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15895 >
2022-04-14 22:57:23 +00:00
Emma Anholt
eb78378345
Revert "ci: Disable Google's lab"
...
This reverts commit 8506c2b7ee . Network
admins say the fixed things, and we see the runners phoning home again.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15936 >
2022-04-14 22:01:27 +00:00
Jason Ekstrand
46d9b0e431
clc: Declare LLVMContexts on the stack
...
This prevents more use-after-free errors. Passing them around using
std::unique_ptr ensures that the LLVMContext gets destroyed but doesn't
ensure destruction order. Declaring it on the stack ensures that the
context doesn't get destroyed until right before the the function
returns which is after any other LLVM stuff is destroyed.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937 >
2022-04-14 21:19:56 +00:00
Jason Ekstrand
6099e6ce9a
clc: Rework logging a bit
...
First, separate out the LLVM context logging to make it take a
clc_logger instead of passing in a string stream. Currently, the LLVM
context may outlive the string stream which we assign which may lead to
use-after-free errors. Second, use a separate string stream for clang
diagnosticl logging which we intentionally declare before the compiler
so the compiler can't outlive it.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937 >
2022-04-14 21:19:56 +00:00
Jason Ekstrand
6e3b9b1b1d
clc: Only initialize LLVM once
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937 >
2022-04-14 21:19:56 +00:00
Dave Airlie
fdab872224
clc: initialise one more llvm stage
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937 >
2022-04-14 21:19:56 +00:00
Dave Airlie
b518020f64
clc: add simple llvm initialise API
...
This just calls some of the LLVM init functions in a common place
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Icecream95 <ixn@disroot.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15937 >
2022-04-14 21:19:56 +00:00
Rhys Perry
63e40adf8c
aco: fix disassembly of SMEM with both SGPR and constant offset
...
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/15890 >
2022-04-14 20:58:36 +00:00
Samuel Pitoiset
c7eaf03068
radv: use shader_info::system_values_read
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343 >
2022-04-14 14:13:07 +00:00
Samuel Pitoiset
3cc21a42fe
radv: use shader_info::outputs_written/per_primitive_outputs for VS outputs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343 >
2022-04-14 14:13:07 +00:00
Samuel Pitoiset
feaaf4ac7a
radv: use shader_info::inputs_read/outputs_written for FS IO
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343 >
2022-04-14 14:13:07 +00:00
Samuel Pitoiset
05d57159cf
radv: use shader_info::gs::active_stream_mask
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343 >
2022-04-14 14:13:07 +00:00
Samuel Pitoiset
9ca44062cd
radv: use shader_info::writes_memory
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15343 >
2022-04-14 14:13:07 +00:00
Boris Brezillon
31ea1fcd14
dzn: Make sure sampler heaps don't contain more than 2048 samplers
...
The spec says "The maximum number of samplers in a shader visible
descriptor heap is 2048.". Let's make sure we follow this rule
in dozen.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15884 >
2022-04-14 13:14:57 +00:00
Boris Brezillon
3becb2729a
dzn: Skip binding entries with zero descriptors
...
D3D12 doesn't like empty descriptor ranges, so let's skip those
at set layout creation time.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15884 >
2022-04-14 13:14:57 +00:00
Emma Anholt
b62087e069
nouveau/nir: Don't try to emit OP_FMA pre-nvc0.
...
The TGSI backend avoids TGSI_OPCODE_FMA (and thus OP_FMA) pre-nvc0,
replacing it with TGSI_OPCODE_MAD in that case.
Noticed when looking at native-NIR stats and finding that load
optimization wasn't taking place on the unsupported opcode.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15543 >
2022-04-14 12:39:48 +00:00
Gert Wollny
36f12c85c8
virgl: Extend integer write out output fix to all non-move integers ops
...
The host virglrenderer can only handle moves to integer outputs, all
ALU opt that create integer outputs are created with extra code to convert
to float for the temporaries, and this breaks the output write
handling.
Fixes:
spec@arb_sample_shading@builtin-gl-sample-mask *
spec@arb_sample_shading@builtin-gl-sample-mask-simple *
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15921 >
2022-04-14 11:53:25 +00:00
Samuel Pitoiset
4d23967e8c
radv: exclude PRIMITIVE_{COUNT,INDICES} from the per-vertex output mask
...
They should be excluded for the primitive and vertex output masks.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15918 >
2022-04-14 09:01:35 +00:00
Icecream95
f226222846
clc: Use stringstream for printing spirv errors
...
The type of the spv_position_t components can differ across platforms,
it's simpler to just let C++ overloading handle it.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15437 >
2022-04-14 00:14:43 +00:00
Dylan Baker
fb69d9925e
docs: truncate new_features.txt
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15935 >
2022-04-13 23:40:25 +00:00
Dylan Baker
6a83d94e62
VERSION: bump to 22.2-devel for next cycle
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15935 >
2022-04-13 23:40:25 +00:00