iris: align down the max_shader_buffer_size

Fixes many failing CTS tests in following set:
   KHR-Single-GL46.enhanced_layouts.ssb_member_invalid_offset*

See commit e58dcc47c3 that made the same change for radeonsi.

Fixes: 1eb4a2f5cd ("iris: Limit max_shader_buffer_size to INT32_MAX")
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/41958>
This commit is contained in:
Tapani Pälli 2026-06-02 14:19:58 +03:00 committed by Marge Bot
parent ce4d2d7faa
commit b33635bbe7

View file

@ -394,7 +394,7 @@ iris_init_screen_caps(struct iris_screen *screen)
caps->constant_buffer_offset_alignment = 32;
caps->min_map_buffer_alignment = IRIS_MAP_BUFFER_ALIGNMENT;
caps->shader_buffer_offset_alignment = 4;
caps->max_shader_buffer_size = (unsigned)MIN2(screen->isl_dev.max_buffer_size, INT32_MAX); // INT32_MAX is correct.
caps->max_shader_buffer_size = ROUND_DOWN_TO((unsigned)MIN2(screen->isl_dev.max_buffer_size, INT32_MAX), 256);
caps->texture_buffer_offset_alignment = 16; // XXX: u_screen says 256 is the minimum value...
caps->linear_image_pitch_alignment = 1;
caps->linear_image_base_address_alignment = 1;