Timothy Arceri
ac5af6c06d
util/driconf: add Dune: Spice Wars workaround
...
As per the bug report the game does not correctly handle a uniform
index of -1 being returned for the unused array element, which
results in rendering issues. So here we skip the uniform array
resizing optimisation.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6397
Cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20579 >
2023-01-10 03:53:19 +00:00
Giancarlo Devich
e986d8c337
d3d12: Update hard-coded heap sizes and batch limit
...
Increasing the heap sizes and active batch count reduces flushing
churn when rendering runs out of descriptors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20589 >
2023-01-10 03:22:26 +00:00
Daniel Stone
9c1fbc076a
Return 'Mesa' for GL_VENDOR for community drivers
...
Rather than a grab-bag of random values, return 'Mesa' as the GL_VENDOR
string for all community-supported drivers.
Drivers which are primarily developed/maintained by the hardware vendor
retain that vendor's name as the GL_VENDOR string.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16064 >
2023-01-10 01:50:33 +00:00
WebsterEndymion
7d9eb64990
zink: fix the stencil write
...
Stencil writing also needs to be considered when setting the flag renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20245 >
2023-01-10 01:30:02 +00:00
WebsterEndymion
53c4ce495c
zink: add a condition to needs_write_s
...
Previously missing check on the stencil write, condition added to needs_write_s using util_writes_stencil
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20245 >
2023-01-10 01:30:02 +00:00
Mike Blumenkrantz
847d198c1f
lavapipe: add some safety asserts when beginning rendering
...
if the render area exceeds the attachment size, this is not only illegal,
it will crash later
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20583 >
2023-01-10 01:12:28 +00:00
Mike Blumenkrantz
b20df1abeb
zink: add a fs base key, fix optimal fs key packing
...
the optimal fs key gets at most 16 bits, so it's crucial to only use
the ones that are needed in order to conserve bits for things needed
by all drivers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
8772651aa0
zink: use optimal key for pipeline library hash
...
this doesn't really change anything other than making the set collide less
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
19332b13e1
zink: unify some shadow tex code in match_tex_dests_instr()
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
e6c6a59f56
zink: fix some weird indentation in zink_set_sampler_views
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
90cd9cd3d1
zink: simplify some depth texturing spv
...
the special-casing here is no longer necessary since multi-component
depth sample ops have already been rewritten by this point
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
b23877e7fa
zink: put line emulation stuff behind optimal_keys check in draw
...
these parts of the shader key can't be accessed in optimal_keys mode
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
c6f06901b7
zink: only flag modules_changed in optimal path if a change has occurred
...
this should save some cycles when a recalc is a no-op
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Mike Blumenkrantz
b295accf07
zink: delete dead code
...
update_gfx_program_optimal() is the real version of this
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20585 >
2023-01-10 00:51:24 +00:00
Eric Engestrom
bc801c0808
meson/zink: use vk_api_xml variable instead of re-constructing the file path
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20568 >
2023-01-10 00:31:11 +00:00
Alyssa Rosenzweig
615c3a078b
asahi: Fix segfault with null drawbuffer
...
Fixes fbo-drawbuffers-none piglit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20569 >
2023-01-10 00:17:12 +00:00
Alyssa Rosenzweig
9b67afb55d
agx: Fix missing #include
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20569 >
2023-01-10 00:17:12 +00:00
Alyssa Rosenzweig
b4d8be165b
asahi: Implement ARB_texture_mirror_clamp_to_edge
...
Guessing the enum value, passes texwrap piglit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20560 >
2023-01-09 23:58:52 +00:00
Alyssa Rosenzweig
0e2d786579
asahi: Implement GL_CLAMP natively
...
Turns out there's a hardware mode for this. Apple's GL driver uses this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20560 >
2023-01-09 23:58:52 +00:00
Lionel Landwerlin
8679956e63
ci/zink+anv: remove dEQP-GLES31.functional.layout_binding.ubo.*
...
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/20555 >
2023-01-09 23:00:24 +00:00
Lionel Landwerlin
2d627f28c8
anv: use the null surface with unused push descriptor binding table entries
...
Some binding table entries have been identify as unused in the shaders
by the push constant analysis pass. We can just put the null entry in
there.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: b49b18f0b7
("anv: reduce BT emissions & surface state writes with push descriptors")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20555 >
2023-01-09 23:00:24 +00:00
Lionel Landwerlin
bbfca4eb92
anv: return properly typed value for no ubo promoted
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ff91c5ca42
("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20555 >
2023-01-09 23:00:24 +00:00
Lionel Landwerlin
e2b0086b78
anv: check that push range actually match binding considered
...
We can't just check the load_ubo range is contained in the push entry,
we also need to check that the push entry set/binding matches the
load_ubo set/binding.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ff91c5ca42
("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20555 >
2023-01-09 23:00:24 +00:00
Lionel Landwerlin
48bb3df951
anv: don't nullify entries
...
We'll use those to fill the push constant addresses, so we can't have
them turned to null.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ff91c5ca42
("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20555 >
2023-01-09 23:00:24 +00:00
Tapani Pälli
319d485679
iris: let isl set tiling mode for external resources
...
Patch sets memory object external format (which is otherwise
PIPE_FORMAT_NONE for memory objects) before main surface gets
configured. With this we can add a check that when dealing
with external resource that has no modifier set, we let isl
figure out the tiling mode.
Fixes memobj tests on DG2:
piglit.spec.ext_external_objects.vk-image-display-muliple-textures
piglit.spec.ext_external_objects.vk-image-display-overwrite
piglit.spec.ext_external_objects.vk-depth-display
piglit.spec.ext_external_objects.vk-image-display
piglit.spec.ext_external_objects.vk-stencil-display
v2: add assert and comment on tiling decision (Ken)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7684
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20473 >
2023-01-09 22:38:29 +00:00
Rhys Perry
fdf4a87823
radv/rt: use a smaller value to enable scratch
...
The scratch allocation alignment on GFX11 is small enough that this should
help. Would be nice to someday remove this hack completely though.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20534 >
2023-01-09 21:46:13 +00:00
Rhys Perry
810ced93f3
aco: align scratch size during assembly
...
This lets us use less scratch if both VGPR spilling and scratch intrinsics
are used.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20534 >
2023-01-09 21:46:13 +00:00
Rhys Perry
c9846158cd
aco/gfx11: reduce scratch allocation alignment
...
fossil-db (gfx1100):
Totals from 112 (0.08% of 134574) affected shaders:
Scratch: 1513472 -> 1455360 (-3.84%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20534 >
2023-01-09 21:46:13 +00:00
Qiu Wenbo
ee32f3873c
vc4: Fix running process_mux_deps on irrelevant type of instructions
...
Only ALU and ALU Small Imm instructions have input mux.
Signed-off-by: Qiu Wenbo <qiuwenbo@kylinos.com.cn >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20581 >
2023-01-09 20:22:47 +00:00
Qiu Wenbo
7489c29abe
vc4: Fix RADDR_A field extraction of branch instruction
...
Signed-off-by: Qiu Wenbo <qiuwenbo@kylinos.com.cn >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20581 >
2023-01-09 20:22:47 +00:00
Mike Blumenkrantz
82bd38fa11
zink: add a bunch of asserts for starting dynamic render
...
try to avoid any race condition bugs triggering later when they're
harder to catch
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Mike Blumenkrantz
0997a6272e
zink: re-clamp dynamic render area when doing swapchain fixups
...
this may catch another corner case if a late fixup changes fb size
fixes (lavapipe):
dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.clear_render
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Mike Blumenkrantz
c53fc5f48e
zink: catch a potential corner case with dynamic render and swapchain updates
...
zink_prep_fb_attachment() calls acquire internally, which means it's theoretically
possible that fixups are required very late in this function
never seen it happen, but who knows
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Mike Blumenkrantz
a59dc9d157
zink: split out swapchain render update fixups into separate function
...
this needs to be more granular for corner cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Mike Blumenkrantz
6f02fe8842
zink: protect against invalid scissored renderpass clears
...
if the clear region is oob, this is illegal and may crash some drivers
fixes (lavapipe):
dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.buffer_age_clear_render
dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.buffer_age_render_clear
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Mike Blumenkrantz
79a4d22928
zink: only update framebuffer object during swapchain update if framebuffer exists
...
otherwise this might be randomly creating an unused framebuffer for dynamic render
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20584 >
2023-01-09 20:06:14 +00:00
Ian Romanick
51be623372
intel/eu/validate: Check predication and cmod for SEL, CMP, and CMPN
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
e0f409c5d8
intel/eu/validate: Add validation for csel
...
v2: Also check the condition modifier. Suggested by Lionel.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
3a7c23973b
intel/eu/validate: Add validation for bfi2
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
f34821d998
intel/eu/validate: More validation for logic ops
...
v2: Use number of source to condition validating src1 instead of using
the opcode. Suggested by Lionel.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
8be7406c81
intel/compiler: Assert that ARF used is the accumulator
...
v2: Move the new check to be with similar existing checks. Suggested by
Lionel.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
3b579a2ea8
intel/compiler: Validate 3-source instruction source strides
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Ian Romanick
c5684019f6
intel/compiler: Validate 3-source instruction sources have same base type
...
This can't be checked in EU validation because the bits to describe the
base type of the individual sources no longer exist.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20527 >
2023-01-09 19:15:19 +00:00
Georg Lehmann
c241980751
aco: Mark more instructions as 16bit on GFX10.
...
p_cvt_f16_f32_rtne will be lowered to v_cvt_f16_f32 and we already know that
preserves the high bits.
I tested the others on GFX1036.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20574 >
2023-01-09 18:54:35 +00:00
Rhys Perry
b64afc1d37
aco: use s_delay_alu skip field
...
fossil-db (gfx1100):
Totals from 130066 (96.65% of 134574) affected shaders:
Instrs: 80208817 -> 71420648 (-10.96%)
CodeSize: 403523036 -> 368370360 (-8.71%)
Latency: 658064779 -> 657935384 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 87698268 -> 87693326 (-0.01%); split: -0.01%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20512 >
2023-01-09 18:22:59 +00:00
Rhys Perry
e2f083c0a7
aco: add more dependency instructions under waitcnt class
...
This makes these instructions free when considering pipeline statistics
and s_delay_alu insertion.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20512 >
2023-01-09 18:22:59 +00:00
Rhys Perry
c8357136d4
aco: improve parse_delay_alu
...
Use gpr_map to determine how many cycles each dependency of the
s_delay_alu needs. This information helps the pass avoid further
s_delay_alu instructions.
fossil-db (gfx1100):
Totals from 13097 (9.73% of 134574) affected shaders:
Instrs: 30711894 -> 30702692 (-0.03%)
CodeSize: 153462500 -> 153425692 (-0.02%)
Latency: 372758612 -> 372741922 (-0.00%)
InvThroughput: 50164111 -> 50160717 (-0.01%); split: -0.01%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20512 >
2023-01-09 18:22:59 +00:00
Samuel Pitoiset
bbad550f3d
radv/winsys: fill real info for CHIP_GFX1100
...
From my AMD Radeon 7900 XT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20476 >
2023-01-09 17:28:05 +00:00
Samuel Pitoiset
d944959fbf
radv: configure VGT_TF_PARAM directly from the command buffer
...
The driver re-emits the tessellation domain origin state when a new
pipeline with tessellation is bound, so this can be moved there.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20486 >
2023-01-09 15:46:49 +00:00
Samuel Pitoiset
f1b3e6aefd
radv: fix re-emitting tessellation domain origin when it's dynamic
...
The winding order can be different between pipelines.
Fixes new dEQP-VK.pipeline.pipeline_library.dynamic_control_points.change_*_winding.
Fixes: f22290949d
("radv: add support for dynamic tessellation domain origin")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20486 >
2023-01-09 15:46:49 +00:00