anv/xe2+: Align push constant ranges to GRF boundaries.

This fixes corruption of push constants on Xe2 due to a mismatch in
the uniform layout implemented by the compiler and assumed by the
driver.  To fix it we need to align the push constant ranges computed
by the Vulkan driver to a multiple of the GRF size of the platform.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29926>
This commit is contained in:
Francisco Jerez
2023-01-04 12:55:10 -08:00
committed by Marge Bot
parent 039f4fe25e
commit 01118a3fbb
3 changed files with 10 additions and 6 deletions

View File

@@ -97,7 +97,8 @@ void anv_nir_compute_push_layout(nir_shader *nir,
enum anv_descriptor_set_layout_type desc_type,
void *mem_ctx);
void anv_nir_validate_push_layout(struct brw_stage_prog_data *prog_data,
void anv_nir_validate_push_layout(const struct anv_physical_device *pdevice,
struct brw_stage_prog_data *prog_data,
struct anv_pipeline_bind_map *map);
bool anv_nir_update_resource_intel_block(nir_shader *shader);