mesa/src/intel/compiler
Lionel Landwerlin 4db4bd1d04 brw: always write the VUE header
In 35df3925ca ("brw: ensure VUE header writes in HS/DS/GS stages") I
misread the PRMs and thought that the VF would initialize the header.

What actually happens is that the VF does not write valid values in
there and the PRMs explicitly say that the VS shader should overwrite
whatever is in there.

We could avoid writing the header in some cases when no HW is going to
read back the header. For example with rendering disables through
3DSTATE_STREAMOUT::RenderingDisable. But those cases are dynamic and
the compiler is not able to tell. So just always write the header.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 35df3925ca ("brw: ensure VUE header writes in HS/DS/GS stages")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12880
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34211>
2025-03-27 07:42:23 +00:00
..
elk intel/compiler: Add missing breaks 2025-03-13 20:11:10 +00:00
tests brw: Rename shared function enums for clarity 2025-02-27 08:49:24 +00:00
brw_analysis.cpp intel/brw: Rename fs_visitor to brw_shader 2025-02-11 09:13:28 +00:00
brw_analysis.h brw: Use brw_inst::block in Def analysis 2025-03-06 23:33:38 +00:00
brw_analysis_def.cpp brw: Use brw_inst::block in Def analysis 2025-03-06 23:33:38 +00:00
brw_analysis_liveness.cpp intel/brw: Rename fs_visitor to brw_shader 2025-02-11 09:13:28 +00:00
brw_analysis_performance.cpp intel/compiler: Add support for MSAA typed load/store messages 2025-03-07 23:06:14 +00:00
brw_asm.c brw: Rework label tracking in assembler 2025-03-06 17:06:20 -08:00
brw_asm.h brw: Fix size in assembler when compacting 2025-03-03 20:43:56 +00:00
brw_asm_internal.h brw: Rework label tracking in assembler 2025-03-06 17:06:20 -08:00
brw_asm_tool.c brw: Fix size in assembler when compacting 2025-03-03 20:43:56 +00:00
brw_builder.cpp intel/brw: Rename fs_visitor to brw_shader 2025-02-11 09:13:28 +00:00
brw_builder.h brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_cfg.cpp brw: Remove dead code from control flow 2025-03-10 19:23:17 +00:00
brw_cfg.h brw: Remove dead code from control flow 2025-03-10 19:23:17 +00:00
brw_compile_bs.cpp brw: factor out base prog_data setting 2025-02-22 08:30:22 +00:00
brw_compile_cs.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_compile_fs.cpp nir, compiler: Rename needs_quad_helper_invocations 2025-03-14 21:55:57 +00:00
brw_compile_gs.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_compile_mesh.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_compile_tcs.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_compile_tes.cpp brw: factor out base prog_data setting 2025-02-22 08:30:22 +00:00
brw_compile_vs.cpp brw: factor out base prog_data setting 2025-02-22 08:30:22 +00:00
brw_compiler.c intel/brw, lp: enable lower_pack_64_4x16 2025-02-26 20:43:39 +00:00
brw_compiler.h brw: store source_hash in prog_data 2025-02-22 08:30:22 +00:00
brw_debug_recompile.c intel/brw: Simplify @file annotations 2024-07-22 22:48:03 +00:00
brw_device_sha1_gen_c.py intel/compiler: drop unused ray-tracing fields from cache hash 2024-03-22 00:01:28 +00:00
brw_disasm.c brw: Fix disassembler trying to decode 3src_hstride in Gfx9 2025-03-26 18:12:46 +00:00
brw_disasm.h intel/brw: Rename brw_inst to brw_eu_inst 2024-12-30 17:16:15 +00:00
brw_disasm_info.cpp brw: Remove extra interface in brw_cfg types 2025-03-10 19:23:17 +00:00
brw_disasm_info.h intel/brw: Rename fs_inst to brw_inst 2025-01-31 00:57:21 +00:00
brw_disasm_tool.c
brw_eu.c brw: Add support for GOTO/JOIN in the assembler 2025-03-06 17:06:20 -08:00
brw_eu.h brw: Add assembler support for DPAS 2025-03-25 01:40:02 +00:00
brw_eu_compact.c brw: Add support for GOTO/JOIN in the assembler 2025-03-06 17:06:20 -08:00
brw_eu_defines.h brw: Remove prefix gfx10 from enum types 2025-03-25 05:23:37 +00:00
brw_eu_emit.c brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_eu_inst.h brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_eu_validate.c brw: Expand EU validation for DPAS 2025-03-25 07:38:08 +00:00
brw_from_nir.cpp brw: Remove extra SHADER_OPCODE_FLOW emitted during NIR conversion 2025-03-25 02:05:26 +00:00
brw_generator.cpp brw: Add assembler support for DPAS 2025-03-25 01:40:02 +00:00
brw_generator.h brw: factor out base prog_data setting 2025-02-22 08:30:22 +00:00
brw_gram.y brw: Add EU assembler support for bfloat16 2025-03-25 05:23:37 +00:00
brw_inst.cpp brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_inst.h brw: fix spilling for Xe2+ 2025-03-13 15:29:22 +00:00
brw_isa_info.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
brw_kernel.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_kernel.h intel: rework CL pre-compile 2025-01-25 03:28:07 +00:00
brw_lex.l brw: Add EU assembler support for bfloat16 2025-03-25 05:23:37 +00:00
brw_lower.cpp brw: Add missing dependency classes to various passes 2025-03-12 22:44:10 +00:00
brw_lower_dpas.cpp brw: Simplify brw_builder "insert before inst" constructor 2025-03-06 23:33:38 +00:00
brw_lower_integer_multiplication.cpp brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_lower_logical_sends.cpp intel/compiler: Use FALLTHROUGH 2025-03-13 20:11:09 +00:00
brw_lower_pack.cpp brw: Simplify brw_builder "insert before inst" constructor 2025-03-06 23:33:38 +00:00
brw_lower_regioning.cpp brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_lower_scoreboard.cpp brw: Consider bfloat16 in scoreboard 2025-03-25 05:23:37 +00:00
brw_lower_simd_width.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_lower_subgroup_ops.cpp brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_nir.c intel/compiler: Use unreachable instead of assert(!"...") 2025-03-13 20:11:10 +00:00
brw_nir.h intel/compiler: Lower sample index into coord for MSRT messages 2025-03-07 23:06:14 +00:00
brw_nir_analyze_ubo_ranges.c intel/compiler: take reg_unit size into account with ubo ranges 2025-01-07 21:38:06 +00:00
brw_nir_lower_alpha_to_coverage.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_cooperative_matrix.c intel/brw/xe2+: Allow vec16 for cooperative matrix 2024-06-25 14:17:47 -07:00
brw_nir_lower_cs_intrinsics.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_fsign.py intel/brw: Use range analysis to optimize fsign 2024-05-14 01:28:21 +00:00
brw_nir_lower_intersection_shader.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_ray_queries.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_rt_intrinsics.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_sample_index_in_coord.c intel/compiler: Lower sample index into coord for MSRT messages 2025-03-07 23:06:14 +00:00
brw_nir_lower_shader_calls.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_lower_storage_image.c brw: add support for 64bit storage images load/store 2025-02-23 15:16:50 +00:00
brw_nir_lower_texel_address.c intel/compiler: Use correct enum type 2025-03-13 20:11:10 +00:00
brw_nir_opt_fsat.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_rt.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
brw_nir_rt.h brw: enable A64 pulling of push constants 2025-02-05 09:56:04 +00:00
brw_nir_rt_builder.h intel/compiler: Drop primitive leaf desc load code 2025-02-12 05:23:05 +00:00
brw_nir_trig_workarounds.py
brw_opt.cpp brw: Add missing dependency classes to various passes 2025-03-12 22:44:10 +00:00
brw_opt_address_reg_load.cpp brw: Remove block parameter from brw_inst::remove() 2025-03-06 23:33:38 +00:00
brw_opt_algebraic.cpp intel/compiler: Add missing breaks 2025-03-13 20:11:10 +00:00
brw_opt_bank_conflicts.cpp intel/brw: Rename fs_visitor to brw_shader 2025-02-11 09:13:28 +00:00
brw_opt_cmod_propagation.cpp brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_opt_combine_constants.cpp brw: Use brw_inst::block in Combine Constants 2025-03-06 23:33:38 +00:00
brw_opt_copy_propagation.cpp brw: Add missing dependency classes to various passes 2025-03-12 22:44:10 +00:00
brw_opt_cse.cpp brw: Add missing dependency classes to various passes 2025-03-12 22:44:10 +00:00
brw_opt_dead_code_eliminate.cpp brw: Remove block parameter from brw_inst::remove() 2025-03-06 23:33:38 +00:00
brw_opt_register_coalesce.cpp brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_opt_saturate_propagation.cpp brw: Move defs analysis back to its place in saturate propagation 2025-03-13 10:59:30 +00:00
brw_opt_txf_combiner.cpp brw: Simplify brw_builder "insert before inst" constructor 2025-03-06 23:33:38 +00:00
brw_opt_virtual_grfs.cpp brw: Simplify brw_builder "insert before inst" constructor 2025-03-06 23:33:38 +00:00
brw_packed_float.c
brw_prim.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
brw_print.cpp brw/print: Don't let SHADER_OPCODE_FLOW affect indentation 2025-02-26 19:50:30 +00:00
brw_private.h intel/brw: Rename a few remaining functions to remove fs prefix 2025-02-11 09:13:28 +00:00
brw_reg.cpp intel/compiler: Use unreachable instead of assert(!"...") 2025-03-13 20:11:10 +00:00
brw_reg.h brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_reg_allocate.cpp brw: fix spilling for Xe2+ 2025-03-13 15:29:22 +00:00
brw_reg_type.c brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_reg_type.h brw: Add BRW_TYPE_BF for bfloat16 2025-03-25 05:23:37 +00:00
brw_rt.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
brw_schedule_instructions.cpp intel/compiler: Add support for MSAA typed load/store messages 2025-03-07 23:06:14 +00:00
brw_shader.cpp brw: always write the VUE header 2025-03-27 07:42:23 +00:00
brw_shader.h brw: Remove bblock_t parameters from various passes 2025-03-06 23:33:38 +00:00
brw_simd_selection.cpp intel/brw/xe3+: Optimize CS/TASK/MESH compile time optimistically assuming SIMD32. 2025-01-29 23:39:32 +00:00
brw_spirv.c nir/peephole_select: add options struct 2025-02-20 21:59:16 +00:00
brw_thread_payload.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
brw_thread_payload.h intel/brw: Rename fs_visitor to brw_shader 2025-02-11 09:13:28 +00:00
brw_validate.cpp brw: Add BRW_TYPE_BF validation 2025-03-25 05:23:37 +00:00
brw_vue_map.c intel/brw: Simplify @file annotations 2024-07-22 22:48:03 +00:00
brw_workaround.cpp brw: Simplify brw_builder "insert before inst" constructor 2025-03-06 23:33:38 +00:00
intel_clc.c intel_clc: remove NIR output support 2025-02-01 07:54:37 +00:00
intel_gfx_ver_enum.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
intel_nir.c
intel_nir.h brw: Align and combine constant-offset UBO loads in NIR 2025-01-10 22:44:09 +00:00
intel_nir_blockify_uniform_loads.c intel: switch to nir_metadata_divergence 2025-02-13 10:08:43 +00:00
intel_nir_clamp_image_1d_2d_array_sizes.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_clamp_per_vertex_loads.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_conversions.c intel/nir: Don't needlessly split u2f16 for nir_type_uint32 2024-07-11 02:37:05 -07:00
intel_nir_lower_non_uniform_barycentric_at_sample.c intel: switch to nir_metadata_divergence 2025-02-13 10:08:43 +00:00
intel_nir_lower_non_uniform_resource_intel.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_printf.c nir: drop printf_base_identifier 2025-02-05 20:33:15 +00:00
intel_nir_lower_shading_rate_output.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_sparse.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_texture.c
intel_nir_opt_peephole_ffma.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_opt_peephole_imul32x16.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_tcs_workarounds.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
intel_shader_enums.h anv/brw: move INTEL_MSAA_* flag computation to the compiler 2025-03-05 17:20:12 +00:00
meson.build brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_eu_compact.cpp intel/brw: Rename brw_inst_* helpers to brw_eu_inst_* 2024-12-30 17:16:15 +00:00
test_eu_validate.cpp brw: Expand EU validation for DPAS 2025-03-25 07:38:08 +00:00
test_helpers.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_helpers.h brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_lower_scoreboard.cpp brw: Embed at_end() inside brw_builder(brw_shader *) constructor 2025-03-06 23:33:38 +00:00
test_opt_cmod_propagation.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_opt_combine_constants.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_opt_copy_propagation.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_opt_cse.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_opt_saturate_propagation.cpp brw: Simplify the test code for brw passes 2025-03-13 17:43:17 +00:00
test_simd_selection.cpp intel/brw/xe3+: Optimize CS/TASK/MESH compile time optimistically assuming SIMD32. 2025-01-29 23:39:32 +00:00
test_vf_float_conversions.cpp