intel_upload_blit_large_map
Upload large bitmaps to Intel GPU
SYNOPSIS
intel_upload_blit_large_map [-h] [-s size] [-n iterations] [-t threads]
PARAMETERS
-h, --help
Display usage summary and exit
-s SIZE, --size SIZE
Buffer size in MiB (default: 512, max: 4096)
-n ITERS, --iterations ITERS
Number of upload cycles (default: 100)
-t THREADS, --threads THREADS
Concurrent test threads (default: 1)
-v, --verify
Enable data integrity checks (default: on)
-l, --linear
Use linear tiling instead of X/Y tiled
-d DEVICE, --device DEVICE
DRM device path (default: auto-detect)
DESCRIPTION
intel_upload_blit_large_map is a low-level testing utility for Intel integrated graphics hardware, specifically targeting the i915 DRM driver. It exercises the GPU's blit engines (BCS - Blitter Copy Engine) to upload large memory-mapped buffers from system RAM to video RAM (VRAM), simulating high-bandwidth data transfers common in graphics workloads like texture staging or framebuffer copies.
The tool creates oversized buffers exceeding typical page sizes, maps them into user space, fills with test patterns, and performs tiled or linear blits to GPU aperture or GTT (Graphics Translation Table). It verifies data integrity post-upload by reading back via MMIO or userptr, detecting corruption, partial writes, or engine hangs. This stresses GPU memory management, context switching, and execbuf submission paths.
Primarily used by developers for regression testing kernel patches, Mesa drivers, or firmware updates. Run in a DRM-render node environment (e.g., /dev/dri/renderD128). Supports multi-threaded execution for concurrency testing. Failure modes include "GPU HANG", "CHECKSUM MISMATCH", or "OOM" under low memory conditions.
Ideal for CI/CD pipelines validating Intel Arc, Xe, or Gen graphics on Linux.
CAVEATS
Requires root or render group access; Intel i915 only; may trigger GPU hangs on faulty hardware; high memory/CPU usage; not for production systems.
EXAMPLE USAGE
./intel_upload_blit_large_map -s 1024 -n 50
Tests 1GiB buffers 50 times.
EXIT CODES
0: pass
1: runtime error
77: unsupported hardware
99: internal failure
HISTORY
Introduced in Intel Graphics Tester (IGT) v1.20 (2019) as part of GEM selftests for large buffer handling. Enhanced in kernel 5.4+ for XeHP support. Active in Intel's graphics QA since.
SEE ALSO
igt(1), drm_info(1), intel_reg_read(1), gem_exec_blt(1)


