mesa/src/gallium/drivers
GKraats 686266d2f1 crocus: Fix shader precompilation on Gen6 and higher
By default crocus precompiles shaders, to avoid stuttering at screens,
caused by compiling shaders at the drawing phase.
Unfortunately at intel Gen 6 and higher the precompiled version of the
fragment shaders is not used and every fragment shader is compiled twice.
These double fragment shaders also are added to the memory cache
and disk cache.
This is caused by setting wrong values to variables at the key during
precompiling at routine crocus_create_fs_state() at src/gallium/drivers/crocus/crocus_program.c,
which differ from values at crocus_populate_fs_key() at src/gallium/drivers/crocus/crocus_state.c.

This commit solves 3 problems:

it adjusts the predicted value 'input_slots_valid' at Gen 6
it adjusts the predicted value 'ignore_sample_mask_out' at Gen 6 and higher
it predicts the value 'multisample_fbo' , which helps if samplemask is used

Cc: mesa-stable
Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35605>
2026-04-22 20:50:29 +00:00
..
asahi nir/gather_info: clear interpolation qualifiers only in fragment stage 2026-04-19 10:10:15 +00:00
crocus crocus: Fix shader precompilation on Gen6 and higher 2026-04-22 20:50:29 +00:00
d3d12 d3d12: Create PIPE_BIND_SHARED resources with D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS 2026-04-22 18:08:30 +00:00
ethosu ethosu: Move ethosu_allocate_feature_map() to ethosu_lower.c 2026-04-02 21:04:25 +00:00
etnaviv nir: add and use block predecessor helpers 2026-04-08 15:06:32 +00:00
freedreno ir3: Don't reset immediate count to 0 after lowering 2026-04-16 05:40:14 +00:00
i915 r300,i915/ci: update expectations 2026-04-22 10:16:43 +00:00
iris iris,crocus: remove benign but unsupported cap 2026-04-20 17:09:20 +00:00
lima gallium: kill off pipe_surface::context 2026-03-23 16:58:15 +00:00
llvmpipe ci: Delete references to various broken traces. 2026-04-22 17:39:31 +00:00
nouveau gallium: remove defunct pipe-cap 2026-04-20 17:09:21 +00:00
panfrost pan/lib: validate data_size_B in drivers 2026-04-20 16:00:56 +00:00
r300 r300,i915/ci: update expectations 2026-04-22 10:16:43 +00:00
r600 r600: fix atomic_counter_post_dec 2026-04-20 15:04:42 +00:00
radeonsi radeonsi: remove old, unsupported cap 2026-04-20 17:09:20 +00:00
rocket gallium: add pipe_ml_device, pipe_screen::get_ml_device() 2026-03-25 16:58:05 +00:00
softpipe softpipe: delete pipe_context::create_surface 2026-03-23 16:58:11 +00:00
svga Uprev Piglit to 11ce9eb56edb00e6a7702d13168cc827ce5e0cbd 2026-04-10 21:21:52 +00:00
tegra tegra: delete pipe_context surface hooks 2026-03-23 16:58:13 +00:00
v3d v3d: mark mapped BO as initialized for valgrind 2026-04-16 07:55:39 +00:00
vc4 broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
virgl glsl, spirv: Improve accuracy of asin() and acos() 2026-04-21 21:10:22 +00:00
zink zink/ci: Move Turnip flakes to correct list 2026-04-22 19:56:11 +00:00