mesa/src/intel/compiler
Jason Ekstrand 705395344d intel/fs: Add support for compiling bindless shaders with resume shaders
Instead of depending on the driver to compile each resume shader
separately, we compile them all in one go in the back-end and build an
SBT as part of the shader program.  Shader relocs are used to make the
entries in the SBT point point to the correct resume shader.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>
2021-06-22 21:09:25 +00:00
..
brw_cfg.cpp intel/ir: Remove scheduling-based cycle count estimates. 2020-04-28 23:01:27 -07:00
brw_cfg.h intel/ir: Remove scheduling-based cycle count estimates. 2020-04-28 23:01:27 -07:00
brw_clip.h
brw_clip_line.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_clip_point.c
brw_clip_tri.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_clip_unfilled.c
brw_clip_util.c intel: Rename gen field in gen_device_info struct to ver 2021-04-02 18:33:07 +00:00
brw_compile_clip.c intel: Rename files with gen_debug prefix 2021-04-20 20:06:33 +00:00
brw_compile_ff_gs.c intel/compiler: add support for compiling fixed function gs 2021-05-04 03:39:45 +00:00
brw_compile_sf.c intel: Rename files with gen_debug prefix 2021-04-20 20:06:33 +00:00
brw_compiler.c intel/compiler: Add a U32 reloc type 2021-06-22 21:09:25 +00:00
brw_compiler.h intel/fs: Add support for compiling bindless shaders with resume shaders 2021-06-22 21:09:25 +00:00
brw_dead_control_flow.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_dead_control_flow.h
brw_debug_recompile.c intel: Rename genx keyword to gfxx in source files 2021-04-02 18:33:07 +00:00
brw_disasm.c intel/disasm: remove useless space after "(" 2021-06-07 08:46:11 +00:00
brw_disasm_info.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_disasm_info.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_eu.cpp intel/compiler: Fix INTEL_DEBUG=hex 2021-04-30 01:51:23 -07:00
brw_eu.h intel/compiler: Generalize shader relocations a bit 2021-06-22 21:09:25 +00:00
brw_eu_compact.c intel: Fix alignment and line wrapping due to gen_device renaming 2021-04-20 20:06:33 +00:00
brw_eu_defines.h intel/vec4: Add support for masking pushed data 2021-05-19 14:38:13 +00:00
brw_eu_emit.c intel/compiler: Generalize shader relocations a bit 2021-06-22 21:09:25 +00:00
brw_eu_util.c intel: Rename genx keyword to gfxx in source files 2021-04-02 18:33:07 +00:00
brw_eu_validate.c intel: simplify is_haswell checks, part 1 2021-05-17 09:46:45 +00:00
brw_fs.cpp intel/fs: Add support for compiling bindless shaders with resume shaders 2021-06-22 21:09:25 +00:00
brw_fs.h intel/fs: Add support for compiling bindless shaders with resume shaders 2021-06-22 21:09:25 +00:00
brw_fs_bank_conflicts.cpp intel: Fix alignment and line wrapping due to gen_device renaming 2021-04-20 20:06:33 +00:00
brw_fs_builder.h Convert most remaining free-form fall-through comments to FALLTHROUGH 2021-04-15 16:01:22 +00:00
brw_fs_cmod_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_fs_combine_constants.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_fs_copy_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_fs_cse.cpp intel/fs: Use BRW_OPCODE_HALT for discards 2020-12-01 16:19:08 -06:00
brw_fs_dead_code_eliminate.cpp intel/compiler/fs: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:57 -08:00
brw_fs_generator.cpp intel/fs: Add support for compiling bindless shaders with resume shaders 2021-06-22 21:09:25 +00:00
brw_fs_live_variables.cpp intel/compiler: Silence unused parameter warning in fs_live_variables::setup_one_read 2020-04-17 08:21:40 -07:00
brw_fs_live_variables.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_fs_lower_pack.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_fs_lower_regioning.cpp intel/fs: make sure shuffle is lowered to supported types 2021-05-22 21:55:33 +00:00
brw_fs_nir.cpp nir: Move workgroup_size and workgroup_variable_size into common shader_info 2021-06-08 09:23:55 -07:00
brw_fs_reg_allocate.cpp intel/fs/ra: Fix payload node setup for SIMD16 on Gen4-5 2021-06-07 16:52:19 +00:00
brw_fs_register_coalesce.cpp intel/fs: Don't delete coalesced MOVs if they have a cmod 2020-04-29 16:45:51 +00:00
brw_fs_saturate_propagation.cpp intel/compiler/fs: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:57 -08:00
brw_fs_scoreboard.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_fs_sel_peephole.cpp intel/compiler: Don't create 64-bit src1 immediates in opt_peephole_sel 2020-04-23 00:53:14 +00:00
brw_fs_validate.cpp
brw_fs_visitor.cpp intel/fs: Handle non-perspective-correct interpolation on gen4-5 2021-06-03 02:36:17 +00:00
brw_gfx_ver_enum.h intel: Rename gen enum to gfx_ver 2021-04-20 20:06:34 +00:00
brw_inst.h intel: Fix alignment and line wrapping due to gen_device renaming 2021-04-20 20:06:33 +00:00
brw_interpolation_map.c intel: Rename genx keyword to gfxx in source files 2021-04-02 18:33:07 +00:00
brw_ir.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_ir_allocator.h
brw_ir_analysis.h intel/compiler: use C++ template instead of preprocessor 2020-11-03 10:42:29 +00:00
brw_ir_fs.h intel/fs: use the final destination type for regioning restrictions 2021-05-12 21:19:11 +00:00
brw_ir_performance.cpp intel/vec4: Add support for masking pushed data 2021-05-19 14:38:13 +00:00
brw_ir_performance.h intel/ir: Import shader performance analysis pass. 2020-04-28 23:01:03 -07:00
brw_ir_vec4.h intel: Fix alignment and line wrapping due to gen_device renaming 2021-04-20 20:06:33 +00:00
brw_nir.c intel/compiler: add flag to indicate edge flags vertex input is last 2021-06-14 06:05:18 +10:00
brw_nir.h intel/compiler: add flag to indicate edge flags vertex input is last 2021-06-14 06:05:18 +10:00
brw_nir_analyze_boolean_resolves.c intel/fs: Mark source 0 of bcsel as needing Boolean resolve 2019-06-11 12:12:07 -07:00
brw_nir_analyze_ubo_ranges.c intel/nir,i965: Move HW generation check for UBO pushing to i965 2021-06-03 05:12:33 +00:00
brw_nir_attribute_workarounds.c nir: Make nir_ssa_def_rewrite_uses_after take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_clamp_image_1d_2d_array_sizes.c intel: Rename GEN:BUG:### to Wa_### 2021-04-02 18:33:07 +00:00
brw_nir_lower_alpha_to_coverage.c intel/nir: Clean up lower_alpha_to_coverage a bit 2020-08-29 16:41:05 +00:00
brw_nir_lower_conversions.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_cs_intrinsics.c nir: Move workgroup_size and workgroup_variable_size into common shader_info 2021-06-08 09:23:55 -07:00
brw_nir_lower_image_load_store.c intel: simplify is_haswell checks, part 1 2021-05-17 09:46:45 +00:00
brw_nir_lower_intersection_shader.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_nir_lower_mem_access_bit_sizes.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_nir_lower_rt_intrinsics.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_nir_lower_scoped_barriers.c intel/compiler: use intrinsic builders 2021-01-06 14:34:41 +00:00
brw_nir_lower_shader_calls.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_opt_peephole_ffma.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_rt.c nir: Move workgroup_size and workgroup_variable_size into common shader_info 2021-06-08 09:23:55 -07:00
brw_nir_rt.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_nir_rt_builder.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_nir_tcs_workarounds.c intel: Rename Genx keyword to Gfxx 2021-04-02 18:33:07 +00:00
brw_nir_trig_workarounds.py intel/nir: do not apply the fsin and fcos trig workarounds for consts 2019-09-17 23:39:18 +03:00
brw_packed_float.c intel/compiler: Cast to target type before shifting left 2019-10-24 16:19:23 +02:00
brw_predicated_break.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_reg.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_reg_type.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_reg_type.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_rt.h intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_schedule_instructions.cpp intel/compiler: use existing helpers to pull bits of descriptors 2021-05-02 20:20:06 +00:00
brw_shader.cpp intel/vec4: Add support for masking pushed data 2021-05-19 14:38:13 +00:00
brw_shader.h intel/vec4: Add support for UBO pushing 2021-05-19 14:38:13 +00:00
brw_vec4.cpp intel/compiler: add flag to indicate edge flags vertex input is last 2021-06-14 06:05:18 +10:00
brw_vec4.h intel/vec4: Set up push ranges before we emit any code 2021-05-19 14:38:13 +00:00
brw_vec4_builder.h intel: Rename Genx keyword to Gfxx 2021-04-02 18:33:07 +00:00
brw_vec4_cmod_propagation.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_vec4_copy_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_vec4_cse.cpp i965/vec4: Ignore swizzle of VGRF for use by var_range_end() 2020-05-20 20:19:18 +00:00
brw_vec4_dead_code_eliminate.cpp intel/compiler/vec4: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:59 -08:00
brw_vec4_generator.cpp intel/vec4: Add missing break statement. 2021-06-18 05:02:23 +00:00
brw_vec4_gs_nir.cpp nir: Add ability to count emitted GS primitives. 2020-10-09 15:26:14 +02:00
brw_vec4_gs_visitor.cpp intel/gfx6: move xfb_setup outside the gs compiler into the driver. 2021-06-03 04:05:07 +00:00
brw_vec4_gs_visitor.h intel/compiler: Make visitors take debug_enabled as a parameter 2021-03-24 23:18:46 +00:00
brw_vec4_live_variables.cpp intel/compiler: Drop invalidate_live_intervals() 2020-03-06 10:21:01 -08:00
brw_vec4_live_variables.h intel/compiler/vec4: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:59 -08:00
brw_vec4_nir.cpp intel/vec4: Also use MOV_FOR_SCRATCH for swizzle resolves 2021-06-03 06:14:17 +00:00
brw_vec4_reg_allocate.cpp intel/vec4: Use ra_alloc_contig_reg_class() to reduce RA overhead. 2021-06-04 19:08:57 +00:00
brw_vec4_surface_builder.cpp intel/vec4: Remove all support for Gen8+ [v2] 2020-09-28 11:43:10 -07:00
brw_vec4_surface_builder.h intel/vec4: Drop dead code for handling typed surface messages 2019-02-28 16:58:20 -06:00
brw_vec4_tcs.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_vec4_tcs.h intel/compiler: remove unused member 'input_vue_map' 2021-04-08 18:20:10 +00:00
brw_vec4_tes.cpp intel: Rename files with gen_debug prefix 2021-04-20 20:06:33 +00:00
brw_vec4_tes.h intel/compiler: Make visitors take debug_enabled as a parameter 2021-03-24 23:18:46 +00:00
brw_vec4_visitor.cpp i965: Use nir_lower_passthrough_edgeflags 2021-06-11 21:19:06 +00:00
brw_vec4_vs.h intel/compiler: Make visitors take debug_enabled as a parameter 2021-03-24 23:18:46 +00:00
brw_vec4_vs_visitor.cpp intel: Rename files with gen_debug prefix 2021-04-20 20:06:33 +00:00
brw_vue_map.c intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
brw_wm_iz.cpp intel: Rename genx keyword to gfxx in source files 2021-04-02 18:33:07 +00:00
gfx6_gs_visitor.cpp intel/gfx6: move xfb_setup outside the gs compiler into the driver. 2021-06-03 04:05:07 +00:00
gfx6_gs_visitor.h intel/gfx6: move xfb_setup outside the gs compiler into the driver. 2021-06-03 04:05:07 +00:00
meson.build intel/compiler: add support for compiling fixed function gs 2021-05-04 03:39:45 +00:00
test_eu_compact.cpp intel: Rename eu compact instruction tests 2021-04-20 20:06:34 +00:00
test_eu_validate.cpp intel: simplify is_haswell checks, part 1 2021-05-17 09:46:45 +00:00
test_fs_cmod_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_fs_copy_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_fs_saturate_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_fs_scoreboard.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_vec4_cmod_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_vec4_copy_propagation.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_vec4_dead_code_eliminate.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_vec4_register_coalesce.cpp intel: Rename gen_device prefix to intel_device 2021-04-20 20:06:33 +00:00
test_vf_float_conversions.cpp