464.41 TOTAL 81.37 igt@gem_exec_schedule@wide pass 34.48 igt@kms_flip@flip-vs-absolute-wf_vblank pass 32.55 igt@kms_flip@dpms-off-confusion-interruptible pass 24.66 igt@kms_plane_cursor@overlay pass 21.56 igt@gem_mmap_offset@open-flood pass 20.87 igt@gem_exec_schedule@wide@bcs0 pass 20.70 igt@gem_exec_schedule@wide@vcs0 pass 20.34 igt@gem_exec_schedule@wide@vecs0 pass 20.07 igt@gem_exec_create@forked pass 20.06 igt@gem_exec_create@forked@smem pass 19.43 igt@gem_exec_schedule@wide@rcs0 pass 14.78 igt@i915_selftest@perf pass 14.68 igt@sysfs_heartbeat_interval@nopreempt pass 11.35 igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions pass 11.30 igt@kms_cursor_legacy@cursorb-vs-flipb-toggle pass 10.70 igt@kms_vblank@wait-busy pass 8.41 igt@kms_busy@extended-modeset-hang-oldfb pass 7.89 igt@kms_universal_plane@universal-plane-functional pass 7.42 igt@kms_cursor_edge_walk@64x64-top-bottom pass 5.99 igt@kms_flip@flip-vs-absolute-wf_vblank@a-hdmi-a1 pass 5.85 igt@i915_selftest@perf@request pass 5.71 igt@kms_flip@flip-vs-absolute-wf_vblank@c-hdmi-a1 pass 5.70 igt@kms_flip@flip-vs-absolute-wf_vblank@c-hdmi-a2 pass 5.69 igt@kms_flip@flip-vs-absolute-wf_vblank@a-hdmi-a2 pass 5.68 igt@kms_flip@flip-vs-absolute-wf_vblank@b-hdmi-a2 pass 5.68 igt@kms_flip@flip-vs-absolute-wf_vblank@b-hdmi-a1 pass 5.64 igt@kms_flip@dpms-off-confusion-interruptible@a-hdmi-a1 pass 5.45 igt@gem_mmap_gtt@hang pass 5.42 igt@gem_exec_flush@basic-uc-set-default pass 5.38 igt@kms_flip@dpms-off-confusion-interruptible@c-hdmi-a1 pass 5.38 igt@kms_flip@dpms-off-confusion-interruptible@b-hdmi-a2 pass 5.38 igt@kms_flip@dpms-off-confusion-interruptible@a-hdmi-a2 pass 5.37 igt@kms_flip@dpms-off-confusion-interruptible@c-hdmi-a2 pass 5.36 igt@kms_flip@dpms-off-confusion-interruptible@b-hdmi-a1 pass 5.21 igt@kms_flip@bo-too-big-interruptible pass 4.50 igt@gem_exec_schedule@noreorder-priority pass 4.47 igt@gem_exec_balancer@individual pass 4.36 igt@kms_busy@extended-modeset-hang-oldfb@pipe-a pass 4.24 igt@kms_big_fb@linear-16bpp-rotate-180 pass 4.03 igt@kms_busy@extended-modeset-hang-oldfb@pipe-c pass 3.96 igt@kms_cursor_edge_walk@64x64-top-bottom@pipe-a-hdmi-a-1 pass 3.78 igt@sysfs_heartbeat_interval@nopreempt@rcs0 pass 3.63 igt@sysfs_heartbeat_interval@nopreempt@vecs0 pass 3.63 igt@sysfs_heartbeat_interval@nopreempt@vcs0 pass 3.63 igt@sysfs_heartbeat_interval@nopreempt@bcs0 pass 3.62 igt@i915_selftest@perf@region pass 3.50 igt@kms_mmap_write_crc@main@pipe-a-hdmi-a-1 pass 3.50 igt@kms_mmap_write_crc@main pass 3.44 igt@kms_cursor_edge_walk@64x64-top-bottom@pipe-c-hdmi-a-1 pass 3.38 igt@api_intel_allocator@reopen-fork pass 3.25 igt@api_intel_bb@intel-bb-blit-y pass 3.18 igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-plflip-blt pass 3.05 igt@kms_frontbuffer_tracking@fbc-farfromfence-mmap-gtt pass 3.04 igt@kms_lease@cursor-implicit-plane pass 2.90 igt@kms_universal_plane@universal-plane-functional@pipe-a-hdmi-a-1 pass 2.89 igt@kms_vblank@wait-busy@pipe-a-hdmi-a-1 pass 2.79 igt@kms_draw_crc@draw-method-mmap-cpu pass 2.78 igt@i915_selftest@perf@migrate pass 2.77 igt@kms_flip@nonexisting-fb pass 2.76 igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt pass 2.73 igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-64 pass 2.71 igt@kms_plane_cursor@overlay@pipe-b-hdmi-a-2-size-64 pass 2.63 igt@kms_plane_cursor@overlay@pipe-c-hdmi-a-1-size-64 pass 2.62 igt@kms_plane_cursor@overlay@pipe-b-hdmi-a-2-size-256 pass 2.62 igt@kms_plane_cursor@overlay@pipe-b-hdmi-a-2-size-128 pass 2.61 igt@kms_vblank@wait-busy@pipe-a-hdmi-a-2 pass 2.60 igt@kms_vblank@wait-busy@pipe-c-hdmi-a-2 pass 2.56 igt@kms_vblank@wait-busy@pipe-c-hdmi-a-1 pass 2.56 igt@kms_plane_cursor@overlay@pipe-c-hdmi-a-1-size-256 pass 2.56 igt@kms_plane_cursor@overlay@pipe-c-hdmi-a-1-size-128 pass 2.55 igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-128 pass 2.55 igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-render pass 2.54 igt@perf_pmu@render-node-busy-idle pass 2.53 igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-1-size-256 pass 2.51 igt@i915_selftest@perf@engine_cs pass 2.50 igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc pass 2.48 igt@kms_universal_plane@universal-plane-functional@pipe-c-hdmi-a-1 pass 2.48 igt@kms_universal_plane@universal-plane-functional@pipe-b-hdmi-a-2 pass 2.29 igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move pass 2.13 igt@i915_drm_fdinfo@busy pass 2.09 igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc pass 2.03 igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render pass 1.76 igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180 pass 1.72 igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180 pass 1.70 igt@kms_cursor_crc@cursor-rapid-movement-128x42 pass 1.68 igt@kms_color_pipeline@plane-ctm3x4-lut1d skip 1.59 igt@i915_pm_rpm@gem-execbuf@smem0 pass 1.59 igt@i915_pm_rpm@gem-execbuf pass 1.40 igt@gem_tiled_partial_pwrite_pread@reads pass 1.33 igt@gem_render_copy_redux@normal pass 1.14 igt@gem_exec_schedule@noreorder-priority@rcs0 pass 1.12 igt@gem_exec_schedule@noreorder-priority@bcs0 pass 1.11 igt@gem_exec_schedule@noreorder-priority@vecs0 pass 1.11 igt@gem_exec_schedule@noreorder-priority@vcs0 pass 1.07 igt@kms_flip@bo-too-big-interruptible@a-hdmi-a1 pass 0.98 igt@gem_exec_fence@syncobj-repeat pass 0.92 igt@kms_cursor_crc@cursor-rapid-movement-128x42@pipe-a-hdmi-a-1 pass 0.86 igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5 pass 0.85 igt@kms_flip@bo-too-big-interruptible@b-hdmi-a1 pass 0.82 igt@kms_flip@bo-too-big-interruptible@b-hdmi-a2 pass 0.82 igt@kms_flip@bo-too-big-interruptible@a-hdmi-a2 pass 0.81 igt@kms_flip@bo-too-big-interruptible@c-hdmi-a1 pass 0.80 igt@kms_flip@bo-too-big-interruptible@c-hdmi-a2 pass 0.77 igt@kms_lease@cursor-implicit-plane@pipe-a-hdmi-a-1 pass 0.64 igt@perf_pmu@render-node-busy-idle@rcs0 pass 0.64 igt@kms_flip@nonexisting-fb@a-hdmi-a1 pass 0.63 igt@perf_pmu@render-node-busy-idle@vecs0 pass 0.63 igt@perf_pmu@render-node-busy-idle@vcs0 pass 0.63 igt@perf_pmu@render-node-busy-idle@bcs0 pass 0.62 igt@kms_async_flips@async-flip-with-page-flip-events-linear skip 0.61 igt@kms_cursor_crc@cursor-rapid-movement-128x42@pipe-c-hdmi-a-1 pass 0.60 igt@kms_atomic@plane-overlay-legacy pass 0.59 igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling skip 0.59 igt@kms_atomic@plane-overlay-legacy@pipe-a-hdmi-a-1 pass 0.58 igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling@pipe-a-valid-mode skip 0.54 igt@i915_drm_fdinfo@busy@vcs0 pass 0.53 igt@i915_drm_fdinfo@busy@vecs0 pass 0.53 igt@i915_drm_fdinfo@busy@rcs0 pass 0.53 igt@i915_drm_fdinfo@busy@bcs0 pass 0.52 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb8888-untiled pass 0.51 igt@kms_invalid_mode@int-max-clock pass 0.48 igt@kms_lease@cursor-implicit-plane@pipe-a-hdmi-a-2 pass 0.45 igt@kms_lease@cursor-implicit-plane@pipe-b-hdmi-a-2 pass 0.45 igt@kms_lease@cursor-implicit-plane@pipe-b-hdmi-a-1 pass 0.45 igt@kms_invalid_mode@int-max-clock@pipe-a-hdmi-a-1 pass 0.45 igt@kms_flip@nonexisting-fb@a-hdmi-a2 pass 0.43 igt@kms_flip@nonexisting-fb@c-hdmi-a2 pass 0.43 igt@kms_flip@nonexisting-fb@c-hdmi-a1 pass 0.42 igt@kms_lease@cursor-implicit-plane@pipe-c-hdmi-a-2 pass 0.41 igt@kms_lease@cursor-implicit-plane@pipe-c-hdmi-a-1 pass 0.40 igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-b pass 0.40 igt@kms_flip@nonexisting-fb@b-hdmi-a1 pass 0.39 igt@kms_flip@nonexisting-fb@b-hdmi-a2 pass 0.38 igt@gem_ctx_persistence@engines-hostile pass 0.36 igt@gem_tiled_pread_basic@basic pass 0.35 igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a pass 0.33 igt@kms_big_fb@x-tiled-32bpp-rotate-270 skip 0.28 igt@kms_hdmi_inject@inject-4k pass 0.28 igt@kms_draw_crc@draw-method-mmap-cpu@xbgr16161616f-untiled pass 0.26 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb2101010-untiled pass 0.26 igt@kms_draw_crc@draw-method-mmap-cpu@rgb565-untiled pass 0.23 igt@syncobj_wait@wait-all-for-submit-complex pass 0.20 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb8888-xtiled pass 0.19 igt@prime_busy@before pass 0.19 igt@gem_mmap_wc@write-prefaulted pass 0.18 igt@kms_plane_scaling@invalid-parameters pass 0.18 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb8888-ytiled pass 0.18 igt@kms_draw_crc@draw-method-mmap-cpu@xbgr16161616f-ytiled pass 0.18 igt@kms_draw_crc@draw-method-mmap-cpu@xbgr16161616f-xtiled pass 0.18 igt@kms_draw_crc@draw-method-mmap-cpu@rgb565-ytiled pass 0.18 igt@kms_draw_crc@draw-method-mmap-cpu@rgb565-xtiled pass 0.16 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb2101010-ytiled pass 0.16 igt@kms_draw_crc@draw-method-mmap-cpu@xrgb2101010-xtiled pass 0.16 igt@kms_debugfs@display-on-read-all pass 0.14 igt@gem_exec_reloc@basic-wc-active pass 0.13 igt@gem_ctx_persistence@legacy-engines-hang pass 0.11 igt@syncobj_timeline@etime-multi-wait-for-submit-submitted pass 0.10 igt@syncobj_wait@single-wait-all-for-submit-submitted pass 0.10 igt@syncobj_timeline@etime-multi-wait-all-for-submit-available-unsubmitted-signaled pass 0.10 igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-c pass 0.10 igt@gem_ctx_persistence@engines-hostile@vecs0 pass 0.10 igt@gem_ctx_persistence@engines-hostile@bcs0 pass 0.09 igt@perf@oa-formats pass 0.09 igt@perf@oa-formats@0-rcs0 pass 0.09 igt@kms_plane_scaling@invalid-parameters@less-than-1-width-src pass 0.09 igt@gem_ctx_persistence@engines-hostile@rcs0 pass 0.08 igt@kms_plane_scaling@invalid-parameters@less-than-1-height-src pass 0.08 igt@gem_ctx_persistence@engines-hostile@vcs0 pass 0.06 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs pass 0.06 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc skip 0.05 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs skip 0.04 igt@vgem_basic@second-client pass 0.04 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs skip 0.04 igt@gem_spin_batch@resubmit-all pass 0.04 igt@gem_ctx_persistence@legacy-engines-hang@vebox pass 0.04 igt@gem_ctx_persistence@legacy-engines-hang@render pass 0.03 igt@gem_ctx_persistence@legacy-engines-hang@bsd pass 0.02 igt@perf@non-sampling-read-error pass 0.02 igt@kms_content_protection@type1 skip 0.02 igt@gem_exec_schedule@u-semaphore-codependency pass 0.01 igt@prime_busy@before@vecs0 pass 0.01 igt@prime_busy@before@vcs0 pass 0.01 igt@prime_busy@before@rcs0 pass 0.01 igt@prime_busy@before@bcs0 pass 0.01 igt@kms_invalid_mode@int-max-clock@pipe-c-hdmi-a-1 pass 0.01 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-1 skip 0.01 igt@gen9_exec_parse@bb-secure pass 0.01 igt@gem_spin_batch@resubmit-all@vecs0 pass 0.01 igt@gem_spin_batch@resubmit-all@vcs0 pass 0.01 igt@gem_spin_batch@resubmit-all@rcs0 pass 0.01 igt@gem_spin_batch@resubmit-all@bcs0 pass 0.01 igt@gem_madvise@dontneed-before-pwrite pass 0.01 igt@gem_exec_params@invalid-fence-in-submit pass 0.01 igt@gem_ctx_persistence@legacy-engines-hang@blt skip 0.01 igt@core_setmaster@master-drop-set-root pass 0.00 igt@vgem_basic@sysfs pass 0.00 igt@syncobj_wait@multi-wait-all-for-submit-signaled pass 0.00 igt@syncobj_timeline@single-wait-signaled pass 0.00 igt@syncobj_timeline@multi-wait-for-submit-available-unsubmitted-submitted pass 0.00 igt@syncobj_timeline@multi-wait-all-available-submitted pass 0.00 igt@syncobj_basic@illegal-fd-to-handle pass 0.00 igt@perf_pmu@invalid-init pass 0.00 igt@perf@gen12-oa-tlb-invalidate skip 0.00 igt@kms_psr@psr-suspend skip 0.00 igt@kms_psr@psr2-sprite-mmap-cpu skip 0.00 igt@kms_psr@pr-sprite-plane-move skip 0.00 igt@kms_psr@fbc-psr-cursor-mmap-gtt skip 0.00 igt@kms_psr@fbc-psr2-no-drrs skip 0.00 igt@kms_psr@fbc-pr-cursor-plane-onoff skip 0.00 igt@kms_psr2_sf@pr-cursor-plane-update-sf skip 0.00 igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf skip 0.00 igt@kms_pm_rpm@pc8-residency skip 0.00 igt@kms_pm_rpm@dpms-lpsp skip 0.00 igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier skip 0.00 igt@kms_panel_fitting@legacy skip 0.00 igt@kms_invalid_mode@int-max-clock@pipe-c-hdmi-a-2 pass 0.00 igt@kms_invalid_mode@int-max-clock@pipe-b-hdmi-a-2 pass 0.00 igt@kms_invalid_mode@int-max-clock@pipe-b-hdmi-a-1 pass 0.00 igt@kms_invalid_mode@int-max-clock@pipe-a-hdmi-a-2 pass 0.00 igt@kms_getfb@getfb-handle-not-fb pass 0.00 igt@kms_getfb@getfb2-handle-closed pass 0.00 igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move skip 0.00 igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-render skip 0.00 igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt skip 0.00 igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-cpu skip 0.00 igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-tiling-y skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-cpu skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render skip 0.00 igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw skip 0.00 igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling skip 0.00 igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic skip 0.00 igt@kms_cursor_crc@cursor-offscreen-max-size skip 0.00 igt@kms_chamelium_hpd@hdmi-hpd-fast skip 0.00 igt@kms_chamelium_frames@dp-crc-fast skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2 skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-1 skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-b-hdmi-a-2 skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-b-hdmi-a-1 skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-2 skip 0.00 igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-1 skip 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-c-hdmi-a-2 skip 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-c-hdmi-a-1 skip 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-b-hdmi-a-2 pass 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-b-hdmi-a-1 pass 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-a-hdmi-a-2 pass 0.00 igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-a-hdmi-a-1 pass 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1 skip 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1 skip 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1 skip 0.00 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1 skip 0.00 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2 skip 0.00 igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-1 skip 0.00 igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs skip 0.00 igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip skip 0.00 igt@kms_big_fb@4-tiled-8bpp-rotate-90 skip 0.00 igt@kms_addfb_basic@too-wide pass 0.00 igt@i915_drm_fdinfo@virtual-busy-idle-all pass 0.00 igt@gem_unfence_active_buffers pass 0.00 igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled skip 0.00 igt@gem_pxp@protected-raw-src-copy-not-readible skip 0.00 igt@gem_lmem_swapping@verify-random skip 0.00 igt@gem_huc_copy@huc-copy skip 0.00 igt@gem_flink_basic@double-flink pass 0.00 igt@gem_exec_params@no-blt pass 0.00 igt@gem_exec_balancer@parallel-out-fence skip 0.00 igt@gem_ctx_sseu@mmap-args skip 0.00 igt@gem_ctx_bad_destroy@double-destroy pass 0.00 igt@gem_compute@compute-square skip 0.00 igt@fbdev@nullptr pass 0.00 igt@core_setmaster_vs_auth pass