lost the way on how to trace JIT codes

2023-09-06 Thread summer xia
I use this version: llvmpipe (LLVM 14.0.0, 256 bits Type: CPU API: 1.3.246)
as a backed vulkan engine. When I trace the whole pipeline that draws a
picture.I can trace all the C level codes as following hints:

#0  lp_setup_draw_elements (vbr=0x55bcfe30, indices=0x55bcdf10,
nr=1023) at ../src/gallium/drivers/llvmpipe/lp_setup_vbuf.c:238
#1  0x761d0707 in draw_pt_emit (emit=0x55bcfce0,
vert_info=0x7fffd966e718, prim_info=0x7fffd966e8d8) at
../src/gallium/auxiliary/draw/draw_pt_emit.c:197
#2  0x761cc208 in emit (emit=0x55bcfce0,
vert_info=0x7fffd966e718, prim_info=0x7fffd966e8d8) at
../src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:541
#3  0x761cbe4c in llvm_pipeline_generic (middle=0x55bcfbd0,
fetch_info=0x0, in_prim_info=0x7fffd966e8d8) at
../src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:759
#4  0x761ca5fc in llvm_middle_end_run (middle=0x55bcfbd0,
fetch_elts=0x55bccf10, fetch_count=683, draw_elts=0x55bcdf10,
draw_count=1023, prim_flags=2) at
../src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:812
#5  0x76130283 in vsplit_flush_cache (vsplit=0x55bcced0,
flags=2) at ../src/gallium/auxiliary/draw/draw_pt_vsplit.c:78
#6  0x76131236 in vsplit_segment_cache_uint (vsplit=0x55bcced0,
flags=2, istart=0, icount=1023, spoken=0 '\000', ispoken=0, close=0 '\000',
iclose=0) at ../src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h:163
#7  0x76130f8c in vsplit_segment_simple_uint
(vsplit=0x55bcced0, flags=2, istart=0, icount=1023) at
../src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h:173
#8  0x7612f4cd in vsplit_run_uint (frontend=0x55bcced0,
start=0, count=5529600) at
../src/gallium/auxiliary/draw/draw_split_tmp.h:106
#9  0x76122e96 in draw_pt_arrays (draw=0x55b96920,
prim=PIPE_PRIM_TRIANGLES, index_bias_varies=true, draw_info=0x7fffd966ec70,
num_draws=1) at ../src/gallium/auxiliary/draw/draw_pt.c:161
#10 0x76122995 in draw_instances (draw=0x55b96920,
drawid_offset=0, info=0x55b7fb60, draws=0x7fffd966ec70, num_draws=1) at
../src/gallium/auxiliary/draw/draw_pt.c:485
#11 0x76122689 in draw_vbo (draw=0x55b96920,
info=0x55b7fb60, drawid_offset=0, indirect=0x0, draws=0x7fffd966ec70,
num_draws=1, patch_vertices=0 '\000') at
../src/gallium/auxiliary/draw/draw_pt.c:619
#12 0x760757ee in llvmpipe_draw_vbo (pipe=0x55b8db40,
info=0x55b7fb60, drawid_offset=0, indirect=0x0, draws=0x7fffd966ec70,
num_draws=1) at ../src/gallium/drivers/llvmpipe/lp_draw_arrays.c:150
#13 0x75c71083 in handle_draw_indexed (cmd=0x55dca790,
state=0x55b7faf0) at
../src/gallium/frontends/lavapipe/lvp_execute.c:2725
#14 0x75c6f1e0 in lvp_execute_cmd_buffer
(cmd_buffer=0x55b78520, state=0x55b7faf0, print_cmds=false) at
../src/gallium/frontends/lavapipe/lvp_execute.c:4324
#15 0x75c6ef10 in lvp_execute_cmds (device=0x55b7e5f0,
queue=0x55b7f8e0, cmd_buffer=0x55b78520) at
../src/gallium/frontends/lavapipe/lvp_execute.c:4621
#16 0x75c682ba in lvp_queue_submit (vk_queue=0x55b7f8e0,
submit=0x55dccb80) at
../src/gallium/frontends/lavapipe/lvp_device.c:1548
#17 0x75d651fd in vk_queue_submit_final (queue=0x55b7f8e0,
submit=0x55dccb80) at ../src/vulkan/runtime/vk_queue.c:377
#18 0x75d67eef in vk_queue_submit_thread_func
(_data=0x55b7f8e0) at ../src/vulkan/runtime/vk_queue.c:490
#19 0x75d45522 in impl_thrd_routine (p=0x55aa1ee0) at
../src/c11/impl/threads_posix.c:67
#20 0x77894b43 in start_thread (arg=) at
./nptl/pthread_create.c:442
#21 0x77926a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81


But when I want to make clear what this method's function :

/* Run vertex fetch shader */
  clipped = fpme->current_variant->jit_func(&fpme->llvm->jit_context,
llvm_vert_info.verts,
draw->pt.user.vbuffer,
fetch_info->count,
start,
fpme->vertex_size,
draw->pt.vertex_buffer,
draw->instance_id,
vertex_id_offset,
draw->start_instance,
elts,
draw->pt.user.drawid,
draw->pt.user.viewid);
I can't step into this function with gdb and can't find any hints on how to
fill this llvm_vert_info.verts in it.  Appreciate any comments.

Regards

Nelson


[ANNOUNCE] mesa 23.1.7

2023-09-06 Thread Eric Engestrom
Hello everyone,

The bugfix release 23.1.7 is now available.

If you find any issues, please report them here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/new

The next bugfix release is due in two weeks, on September 20th.

Cheers,
  Eric

---

Alyssa Rosenzweig (1):
  nir/passthrough_gs: Fix array size

Chia-I Wu (1):
  ac/surface: limit RADEON_SURF_NO_TEXTURE to color surfaces

Corentin Noël (1):
  virgl: Do not expose EXT_texture_mirror_clamp when using a GLES host

Daniel Schürmann (1):
  nir/opt_move: fix handling of if-condition

David Heidelberg (1):
  ci: disable Material Testers.x86_64_2020.04.08_13.38_frame799.rdc trace

David Rosca (1):
  Revert "radeonsi/vcn: add an exception of field case for h264 decoding"

Dmitry Baryshkov (1):
  tu: Pass real size of prime buffers to allocator

Emma Anholt (2):
  freedreno/a3-5xx: Don't try to emit ISAM for SSBO loads.
  disk_cache: Disable the "List" test for RO disk cache.

Eric Engestrom (24):
  docs: add sha256sum for 23.1.6
  .pick_status.json: Update to 9d442b459a43264c28994e65dcaacfe303feedd1
  .pick_status.json: Mark aebe58458611e0bb585a5bce8e16c1175783f3cc as 
denominated
  .pick_status.json: Update to 61dd0ff97d8d670e1b7dfea8a37e73b67a7f5ff3
  .pick_status.json: Update to 5fa9f842b09694a91310640ae949327a74d1bcd2
  vc4: drop duplicate .lower_ldexp
  zink: fix format in zink_make_{image,texture}_handle_resident()
  .pick_status.json: Mark 04ba4059b7243fb9258df12154ce1e7a01e019c8 as 
denominated
  .pick_status.json: Mark fe4208ed4c9a08c7963caa287ae34e9357de68af as 
denominated
  v3dv: fix 
VK_PIPELINE_ROBUSTNESS_{BUFFER,IMAGE}_BEHAVIOR_DEVICE_DEFAULT_EXT copy/paste 
typo
  v3dv: fix copy/pasted type of `sample`
  v3dv: fix shader stage name in error message
  v3d/qpu: fix type of function argument
  .pick_status.json: Update to 939845e424da7b2433902a9954cb6b615cd06d41
  .pick_status.json: Mark 5d19a0a19ba2ffe50a7d05fcf0ff17e0078c2d8e as 
denominated
  .pick_status.json: Mark 9865e5dff49395543da4331a943ba5a03ce6a413 as 
denominated
  .pick_status.json: Update to 3a949de28c42d8714320e56bd99168148503da7d
  .pick_status.json: Mark f97e38f9cdabf6e1cfab11ebaabf193492bd403c as 
denominated
  .pick_status.json: Mark fa6562b239f00f9f72c988459e252bdee072fd73 as 
denominated
  .pick_status.json: Update to 318b83899056d02ee83817cf16201a128fb81443
  .pick_status.json: Mark 83716b08cf103622829d84e673584781ee8850f6 as 
denominated
  .pick_status.json: Mark 8b93fa149bfbe1ca1a59d89ec53d576aa4ede2ec as 
denominated
  docs: add release notes for 23.1.7
  VERSION: bump for 23.1.7

Faith Ekstrand (4):
  nir: Fix nir_op_mov handling in nir_collect_src_uniforms
  nir: Handle nir_op_mov properly in opt_shrink_vectors
  nir: Don't handle nir_op_mov in get_undef_mask in opt_undef
  nir: Fix metadata in nir_lower_is_helper_invocation

Friedrich Vock (2):
  nir/load_store_vectorize: Handle intrinsics with constant base
  radv/rt: Pre-initialize instance address

Georg Lehmann (1):
  aco: fix u2f16 with 32bit input

Helen Koike (1):
  ci/android: remove strace output from cuttlefish-runner.sh

Jordan Justen (2):
  intel/dev: Use RPL-U name on RPL-U devices
  intel/dev: Add more RPL PCI IDs

Karol Herbst (3):
  rusticl/kernel: optimize nir between lowering io and explicit types
  nv50: limit max code uploads to 0x8000
  rusticl/memory: do not verify pitch for IMAGE1D_BUFFER

Kenneth Graunke (1):
  iris: Check prog[] instead of uncompiled[] for BLORP state skipping

Leo Liu (1):
  radeonsi/vcn: fix the incorrect dt_size

Lionel Landwerlin (5):
  intel/compiler: disable per-sample interpolation modes with 
non-per-sample dispatch
  intel/compiler: fix dynamic alpha-to-coverage handling
  intel/fs: implement dynamic interpolation mode for dynamic persample 
shaders
  anv: add missing ISL storage usage
  intel/nir: rerun lower_tex if it lowers something

Marek Vasut (1):
  etnaviv: Fully replicate back stencil config

Matt Turner (1):
  Revert "intel/fs: only avoid SIMD32 if strictly inferior in throughput"

Mike Blumenkrantz (3):
  vk/graphics: fix CWE handling with DS3
  zink: wait on async fence during ctx program removal
  zink: don't start multiple cache jobs for the same program

Paul Gofman (1):
  driconf: add a workaround for Rainbow Six Extraction

Rhys Perry (5):
  radv: disable 64-bit color attachments
  radv: fix 128bpp comp-to-single clears
  aco: fix p_bpermute_gfx6 with input at non-zero byte
  aco/spill: skip p_branch in process_block
  aco/spill: add all live-in to merge block spill candidates

Rohan Garg (3):
  crocus: fix GFX_VERx10 macro
  blorp: drop undefined macro
  iris: migrate preemption streamwout wa to WA infra

Samuel Pitoiset (2):
  Revert "radv/amdgpu: workaround a kernel bug whe