/aosp_15_r20/external/mesa3d/src/intel/blorp/ |
H A D | blorp_elk.c | 14 blorp_nir_options_elk(struct blorp_context *blorp, in blorp_nir_options_elk() argument 17 const struct elk_compiler *compiler = blorp->compiler->elk; in blorp_nir_options_elk() 22 blorp_compile_fs_elk(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_fs_elk() argument 27 const struct elk_compiler *compiler = blorp->compiler->elk; in blorp_compile_fs_elk() 54 .log_data = blorp->driver_ctx, in blorp_compile_fs_elk() 74 blorp_compile_vs_elk(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_vs_elk() argument 77 const struct elk_compiler *compiler = blorp->compiler->elk; in blorp_compile_vs_elk() 98 .log_data = blorp->driver_ctx, in blorp_compile_vs_elk() 127 blorp_compile_cs_elk(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_cs_elk() argument 130 const struct elk_compiler *compiler = blorp->compiler->elk; in blorp_compile_cs_elk() [all …]
|
H A D | blorp_clear.c | 56 batch->blorp->isl_dev->info->ver < 20; in blorp_params_get_clear_kernel_fs() 57 struct blorp_context *blorp = batch->blorp; in blorp_params_get_clear_kernel_fs() local 70 if (blorp->lookup_shader(batch, &blorp_key, sizeof(blorp_key), in blorp_params_get_clear_kernel_fs() 77 blorp_nir_init_shader(&b, blorp, mem_ctx, MESA_SHADER_FRAGMENT, in blorp_params_get_clear_kernel_fs() 98 blorp_compile_fs(blorp, mem_ctx, b.shader, multisample_fbo, use_replicated_data); in blorp_params_get_clear_kernel_fs() 101 blorp->upload_shader(batch, MESA_SHADER_FRAGMENT, in blorp_params_get_clear_kernel_fs() 116 struct blorp_context *blorp = batch->blorp; in blorp_params_get_clear_kernel_cs() local 129 if (blorp->lookup_shader(batch, &blorp_key, sizeof(blorp_key), in blorp_params_get_clear_kernel_cs() 136 blorp_nir_init_shader(&b, blorp, mem_ctx, MESA_SHADER_COMPUTE, in blorp_params_get_clear_kernel_cs() 137 "BLORP-gpgpu-clear"); in blorp_params_get_clear_kernel_cs() [all …]
|
H A D | blorp_brw.c | 13 blorp_nir_options_brw(struct blorp_context *blorp, in blorp_nir_options_brw() argument 16 const struct brw_compiler *compiler = blorp->compiler->brw; in blorp_nir_options_brw() 21 blorp_compile_fs_brw(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_fs_brw() argument 26 const struct brw_compiler *compiler = blorp->compiler->brw; in blorp_compile_fs_brw() 46 .log_data = blorp->driver_ctx, in blorp_compile_fs_brw() 66 blorp_compile_vs_brw(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_vs_brw() argument 69 const struct brw_compiler *compiler = blorp->compiler->brw; in blorp_compile_vs_brw() 90 .log_data = blorp->driver_ctx, in blorp_compile_vs_brw() 119 blorp_compile_cs_brw(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_cs_brw() argument 122 const struct brw_compiler *compiler = blorp->compiler->brw; in blorp_compile_cs_brw() [all …]
|
H A D | blorp.c | 84 [BLORP_SHADER_TYPE_COPY] = "BLORP-copy", in blorp_shader_type_to_name() 85 [BLORP_SHADER_TYPE_BLIT] = "BLORP-blit", in blorp_shader_type_to_name() 86 [BLORP_SHADER_TYPE_CLEAR] = "BLORP-clear", in blorp_shader_type_to_name() 87 [BLORP_SHADER_TYPE_MCS_PARTIAL_RESOLVE] = "BLORP-mcs-partial-resolve", in blorp_shader_type_to_name() 88 [BLORP_SHADER_TYPE_LAYER_OFFSET_VS] = "BLORP-layer-offset-vs", in blorp_shader_type_to_name() 89 [BLORP_SHADER_TYPE_GFX4_SF] = "BLORP-gfx4-sf", in blorp_shader_type_to_name() 109 blorp_init(struct blorp_context *blorp, void *driver_ctx, in blorp_init() argument 112 memset(blorp, 0, sizeof(*blorp)); in blorp_init() 114 blorp->driver_ctx = driver_ctx; in blorp_init() 115 blorp->isl_dev = isl_dev; in blorp_init() [all …]
|
H A D | blorp_priv.h | 32 #include "blorp.h" 38 void blorp_init(struct blorp_context *blorp, void *driver_ctx, 45 const nir_shader_compiler_options *(*nir_options)(struct blorp_context *blorp, 48 struct blorp_program (*compile_fs)(struct blorp_context *blorp, void *mem_ctx, 52 struct blorp_program (*compile_vs)(struct blorp_context *blorp, void *mem_ctx, 55 struct blorp_program (*compile_cs)(struct blorp_context *blorp, void *mem_ctx, 66 * Binding table indices used by BLORP. 290 .name = "blorp", \ 422 * \name BLORP internals 443 blorp_compile_fs(struct blorp_context *blorp, void *mem_ctx, in blorp_compile_fs() argument [all …]
|
H A D | blorp.h | 103 void blorp_init_brw(struct blorp_context *blorp, void *driver_ctx, 107 void blorp_init_elk(struct blorp_context *blorp, void *driver_ctx, 111 void blorp_finish(struct blorp_context *blorp); 116 * This flag indicates that blorp should *not* re-emit the depth and 123 /* This flag indicates that the blorp call should be predicated. */ 126 /* This flag indicates that blorp should use a compute program for the 139 struct blorp_context *blorp; member 144 void blorp_batch_init(struct blorp_context *blorp, struct blorp_batch *batch, 266 blorp_clear_supports_compute(struct blorp_context *blorp, 271 blorp_clear_supports_blitter(struct blorp_context *blorp, [all …]
|
H A D | blorp_blit.c | 938 /* Blorp likes to assume that colors are vec4s */ in bit_cast_color() 1019 * Generator for WM programs used in BLORP blits. 1158 blorp_build_nir_shader(struct blorp_context *blorp, in blorp_build_nir_shader() argument 1162 const struct intel_device_info *devinfo = blorp->isl_dev->info; in blorp_build_nir_shader() 1198 blorp_nir_init_shader(&b, blorp, mem_ctx, stage, NULL); in blorp_build_nir_shader() 1396 unreachable("Invalid blorp filter"); in blorp_build_nir_shader() 1502 struct blorp_context *blorp = batch->blorp; in blorp_get_blit_kernel_fs() local 1504 if (blorp->lookup_shader(batch, key, sizeof(*key), in blorp_get_blit_kernel_fs() 1510 nir_shader *nir = blorp_build_nir_shader(blorp, batch, mem_ctx, key); in blorp_get_blit_kernel_fs() 1517 blorp_compile_fs(blorp, mem_ctx, nir, multisample_fbo, false); in blorp_get_blit_kernel_fs() [all …]
|
H A D | blorp_genX_exec_brw.h | 36 * This file provides the blorp pipeline setup and execution functionality. 40 * blorp_exec(struct blorp_context *blorp, void *batch_data, 279 intel_get_urb_config(batch->blorp->compiler->brw->devinfo, in emit_urb_config() 296 if (batch->blorp->config.use_mesh_shading) { in emit_urb_config() 391 GFX_VER < 10 ? batch->blorp->isl_dev->ss.clear_value_size : 4 * 4; in blorp_emit_input_varying_data() 599 if (GFX_VER != 9 && batch->blorp->config.use_cached_dynamic_states) { in blorp_emit_cc_viewport() 603 vp.MinimumDepth = batch->blorp->config.use_unrestricted_depth_range ? in blorp_emit_cc_viewport() 605 vp.MaximumDepth = batch->blorp->config.use_unrestricted_depth_range ? in blorp_emit_cc_viewport() 646 uint32_t offset = batch->blorp->config.use_cached_dynamic_states ? in blorp_emit_sampler_state_ps() 680 batch->blorp->isl_dev->info->max_vs_threads - 1; in blorp_emit_vs_config() [all …]
|
H A D | blorp_genX_exec_elk.h | 40 * This file provides the blorp pipeline setup and execution functionality. 44 * blorp_exec(struct blorp_context *blorp, void *batch_data, 275 intel_get_urb_config(batch->blorp->compiler->elk->devinfo, in emit_urb_config() 403 const unsigned clear_color_size = batch->blorp->isl_dev->ss.clear_value_size; in blorp_emit_input_varying_data() 481 bool need_ndc = batch->blorp->compiler->elk->devinfo->ver <= 5; in blorp_emit_vertex_elements() 657 vp.MinimumDepth = batch->blorp->config.use_unrestricted_depth_range ? in blorp_emit_cc_viewport() 659 vp.MaximumDepth = batch->blorp->config.use_unrestricted_depth_range ? in blorp_emit_cc_viewport() 751 batch->blorp->isl_dev->info->max_vs_threads - 1; in blorp_emit_vs_config() 876 const struct intel_device_info *devinfo = batch->blorp->compiler->elk->devinfo; in blorp_emit_ps_config() 974 const struct intel_device_info *devinfo = batch->blorp->compiler->elk->devinfo; in blorp_emit_ps_config() [all …]
|
H A D | blorp_nir_builder.h | 29 struct blorp_context *blorp, in blorp_nir_init_shader() argument 35 blorp->compiler->nir_options(blorp, stage); in blorp_nir_init_shader() 66 /* Blorp only has one texture and it's bound at unit 0 */ in blorp_nir_txf_ms_mcs()
|
H A D | meson.build | 5 'blorp.c', 6 'blorp.h', 24 'blorp',
|
/aosp_15_r20/external/mesa3d/src/gallium/drivers/iris/ |
H A D | iris_blorp.c | 30 * GenX specific code for working with BLORP (blitting, resolves, clears 32 * implement the BLORP API. 50 #include "blorp/blorp_genX_exec_brw.h" 52 #include "blorp/blorp_genX_exec_elk.h" 150 struct iris_context *ice = blorp_batch->blorp->driver_ctx; in blorp_alloc_dynamic_state() 176 struct iris_context *ice = blorp_batch->blorp->driver_ctx; in blorp_alloc_binding_table() 215 struct iris_context *ice = blorp_batch->blorp->driver_ctx; in blorp_alloc_vertex_buffer() 245 struct iris_context *ice = blorp_batch->blorp->driver_ctx; in blorp_vf_invalidate_for_vb_48b_transitions() 261 "workaround: VF cache 32-bit key [blorp]", in blorp_vf_invalidate_for_vb_48b_transitions() 309 struct iris_context *ice = blorp_batch->blorp->driver_ctx; in iris_blorp_exec_render() [all …]
|
H A D | iris_program_cache.c | 120 /* Blorp shader must have a mem_ctx. */ in iris_create_shader_variant() 127 /* Shaders that are neither blorp nor tessellation control must not have in iris_create_shader_variant() 221 struct blorp_context *blorp = blorp_batch->blorp; in iris_blorp_lookup_shader() local 222 struct iris_context *ice = blorp->driver_ctx; in iris_blorp_lookup_shader() 250 struct blorp_context *blorp = blorp_batch->blorp; in iris_blorp_upload_shader() local 251 struct iris_context *ice = blorp->driver_ctx; in iris_blorp_upload_shader()
|
H A D | iris_blit.c | 32 #include "intel/blorp/blorp.h" 187 * blorp blit operation slightly. What we want to do here is detect the in apply_blit_scissor() 409 iris_copy_region(&ice->blorp, &ice->batches[IRIS_BATCH_BLITTER], in iris_blit() 465 blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags); in iris_blit() 644 iris_copy_region(struct blorp_context *blorp, in iris_copy_region() argument 654 struct iris_context *ice = blorp->driver_ctx; in iris_copy_region() 680 blorp_batch_init(blorp, &blorp_batch, batch, blorp_flags); in iris_copy_region() 762 iris_copy_region(&ice->blorp, batch, p_dst, dst_level, dstx, dsty, dstz, in iris_resource_copy_region() 771 iris_copy_region(&ice->blorp, batch, &s_dst_res->base.b, dst_level, dstx, in iris_resource_copy_region()
|
/aosp_15_r20/external/mesa3d/src/intel/vulkan_hasvk/ |
H A D | anv_blorp.c | 31 struct blorp_context *blorp = batch->blorp; in lookup_blorp_shader() local 32 struct anv_device *device = blorp->driver_ctx; in lookup_blorp_shader() 59 struct blorp_context *blorp = batch->blorp; in upload_blorp_shader() local 60 struct anv_device *device = blorp->driver_ctx; in upload_blorp_shader() 92 blorp_init_elk(&device->blorp, device, &device->isl_dev, in anv_device_init_blorp() 94 device->blorp.lookup_shader = lookup_blorp_shader; in anv_device_init_blorp() 95 device->blorp.upload_shader = upload_blorp_shader; in anv_device_init_blorp() 98 device->blorp.exec = gfx7_blorp_exec; in anv_device_init_blorp() 101 device->blorp.exec = gfx75_blorp_exec; in anv_device_init_blorp() 104 device->blorp.exec = gfx8_blorp_exec; in anv_device_init_blorp() [all …]
|
H A D | genX_blorp_exec.c | 35 #include "blorp/blorp_genX_exec_elk.h" 228 * really matter for blorp because we never call apply_pipe_flushes after in blorp_vf_invalidate_for_vb_48b_transitions() 283 /* BLORP doesn't do anything fancy with depth such as discards, so we want in blorp_exec_on_render() 290 /* Calculate state that does not get touched by blorp. in blorp_exec_on_render() 348 /* The MI_LOAD/STORE_REGISTER_MEM commands which BLORP uses to implement in genX() 356 "before blorp prep fast clear"); in genX()
|
/aosp_15_r20/external/mesa3d/src/intel/vulkan/ |
H A D | anv_blorp.c | 32 struct blorp_context *blorp = batch->blorp; in lookup_blorp_shader() local 33 struct anv_device *device = blorp->driver_ctx; in lookup_blorp_shader() 60 struct blorp_context *blorp = batch->blorp; in upload_blorp_shader() local 61 struct anv_device *device = blorp->driver_ctx; in upload_blorp_shader() 101 device->blorp.dynamic_states[name] = in upload_dynamic_state() 116 blorp_init_brw(&device->blorp.context, device, &device->isl_dev, in anv_device_init_blorp() 118 device->blorp.context.lookup_shader = lookup_blorp_shader; in anv_device_init_blorp() 119 device->blorp.context.upload_shader = upload_blorp_shader; in anv_device_init_blorp() 120 device->blorp.context.enable_tbimr = device->physical->instance->enable_tbimr; in anv_device_init_blorp() 121 device->blorp.context.exec = anv_genX(device->info, blorp_exec); in anv_device_init_blorp() [all …]
|
H A D | genX_blorp_exec.c | 35 #include "blorp/blorp_genX_exec_brw.h" 124 return cmd_buffer->device->blorp.dynamic_states[name].offset; in blorp_get_dynamic_state() 239 * really matter for blorp because we never call apply_pipe_flushes after in blorp_vf_invalidate_for_vb_48b_transitions() 313 "before blorp BTI change"); in blorp_exec_on_render() 318 /* Check if blorp ds state matches ours. */ in blorp_exec_on_render() 328 /* Add the stall that will flush prior to the blorp operation by in blorp_exec_on_render() 361 /* BLORP doesn't do anything fancy with depth such as discards, so we want in blorp_exec_on_render() 381 "after blorp BTI change"); in blorp_exec_on_render() 385 /* Flag all the instructions emitted by BLORP. */ in blorp_exec_on_render() 418 if (batch->blorp->config.use_mesh_shading) { in blorp_exec_on_render() [all …]
|
/aosp_15_r20/external/mesa3d/src/gallium/drivers/crocus/ |
H A D | crocus_blorp.c | 30 * GenX specific code for working with BLORP (blitting, resolves, clears 32 * implement the BLORP API. 46 #include "blorp/blorp_genX_exec_elk.h" 294 struct crocus_context *ice = blorp_batch->blorp->driver_ctx; in crocus_blorp_exec() 301 * data with different formats, which blorp does for stencil and depth in crocus_blorp_exec() 372 /* BLORP disabled tessellation, that's fine for the next draw */ in crocus_blorp_exec() 382 /* BLORP disabled geometry shaders, that's fine for the next draw */ in crocus_blorp_exec() 447 blorp_init_elk(&ice->blorp, ice, &screen->isl_dev, screen->compiler, NULL); in genX() 448 ice->blorp.lookup_shader = crocus_blorp_lookup_shader; in genX() 449 ice->blorp.upload_shader = crocus_blorp_upload_shader; in genX() [all …]
|
H A D | crocus_blit.c | 32 #include "intel/blorp/blorp.h" 226 * blorp blit operation slightly. What we want to do here is detect the in apply_blit_scissor() 528 blorp_batch_init(&ice->blorp, &blorp_batch, batch, blorp_flags); in crocus_blit() 567 /* on SNB blorp will use render target instead of depth in crocus_blit() 669 crocus_copy_region(struct blorp_context *blorp, in crocus_copy_region() argument 679 struct crocus_context *ice = blorp->driver_ctx; in crocus_copy_region() 716 blorp_batch_init(&ice->blorp, &blorp_batch, batch, 0); in crocus_copy_region() 735 blorp_batch_init(&ice->blorp, &blorp_batch, batch, 0); in crocus_copy_region() 780 crocus_copy_region(&ice->blorp, batch, p_dst, dst_level, dstx, dsty, dstz, in crocus_resource_copy_region() 790 crocus_copy_region(&ice->blorp, batch, &s_dst_res->base.b, dst_level, dstx, in crocus_resource_copy_region()
|
H A D | crocus_program_cache.c | 243 struct blorp_context *blorp = blorp_batch->blorp; in crocus_blorp_lookup_shader() local 244 struct crocus_context *ice = blorp->driver_ctx; in crocus_blorp_lookup_shader() 265 struct blorp_context *blorp = blorp_batch->blorp; in crocus_blorp_upload_shader() local 266 struct crocus_context *ice = blorp->driver_ctx; in crocus_blorp_upload_shader() 319 return "BLORP"; in cache_name()
|
/aosp_15_r20/external/mesa3d/docs/relnotes/ |
H A D | 21.3.0.rst | 1943 - intel/blorp: Use nir_texop_txl 1949 - anv/blorp: Drop some can_ycbcr checks 1950 - anv/blorp: Use the isl_surf for computing level_width/height in anv_image_ccs_op 2199 - intel/blorp: Move most of BLORP_CREATE_NIR_INPUT into a function 2200 - intel/blorp: Add compute support to BLORP_CREATE_NIR_INPUT 2201 - intel/blorp: Add shader_pipeline to brw_blorp_base_key 2202 - intel/blorp: Add brw_blorp_init_cs_prog_key 2203 - intel/compiler: Use INTEL_DEBUG=blorp to dump blorp compute shaders 2204 - intel/blorp: Add subgroup_id input for compute programs 2205 - intel/blorp: Add blorp_compile_cs [all …]
|
H A D | 24.1.0.rst | 97 - blorp: avoid dirtying push constants in 3D 949 - intel/blorp: Don't require specific prog_data type in callback 950 - intel/blorp: Remove brw\_ prefix when not applicable 951 - intel/blorp: Simplify blorp_compile_fs() interface 952 - intel/blorp: Simplify blorp_compile_cs() interface 953 - intel/blorp: Use a struct to return blorp_compile_*() results 954 - intel/blorp: Remove outdated reference in comment 955 - intel/blorp: Move brw_blorp_get_urb_length helper 956 - intel/blorp: Avoid brw types in blorp_priv.h 957 - intel/blorp: Move brw_compiler.h include to where is needed [all …]
|
H A D | 19.3.0.rst | 1763 - blorp: Memset surface info to zero when initializing it 1764 - intel/blorp: Expose surf_retile_w_to_y internally 1765 - intel/blorp: Expose surf_fake_interleaved_msaa internally 1766 - intel/blorp: Use wide formats for nicely aligned stencil clears 1795 - intel/blorp: Use surf instead of aux_surf for image dimensions 2098 - iris: Skip double-disabling TCS/TES/GS after BLORP operations 2618 - anv/blorp: Use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR 2627 - intel/blorp: Halve the Gen12 fast-clear/resolve rectangle 2628 - intel/blorp: Don't assert aux slices match main slices 2636 - intel/blorp: Disable depth testing for slow depth clears [all …]
|
H A D | 17.2.5.rst | 48 - cherry-ignore: i965: fix blorp stage_prog_data->param leak 79 - i965/blorp: Use blorp_to_isl_format for src_isl_format in 81 - i965/blorp: Use more temporary isl_format variables
|