intel_upload_blit_large_map
Upload large bitmaps to Intel GPU
SYNOPSIS
igt --run-tests "gem_blt@upload_blit_large_map" [igt_options]
PARAMETERS
This specific test (gem_blt@upload_blit_large_map) does not accept direct command-line parameters of its own.
It is invoked as part of the igt test runner framework. Its behavior can be influenced by the global options provided to the igt command itself.
--run-tests "
Instructs igt to execute only the specified test(s). In this case, "gem_blt@upload_blit_large_map" selects the relevant test.
--list-tests
Lists all available tests within the igt suite, which can be useful to find the exact name for this test.
--device device_path
Specifies the Intel GPU device to test (e.g., /dev/dri/renderD128). If not specified, igt typically selects the primary Intel GPU.
--loops N
Runs the selected test N times, useful for stress testing and finding intermittent issues.
DESCRIPTION
The intel_upload_blit_large_map is not a standalone Linux command in the traditional sense, but rather a specific test case within the igt-gpu-tools (Intel Graphics Tools) suite. This suite is a collection of utilities and tests primarily used by Intel graphics driver developers and testers to validate the correctness, performance, and robustness of Intel's integrated graphics hardware and its Linux kernel driver (i915).
Specifically, the intel_upload_blit_large_map test focuses on evaluating the driver's capability to efficiently handle and blit (block transfer) large memory maps within the GPU's addressable memory space. It verifies the proper functioning of memory management, including GTT (Graphics Translation Table) mappings, and ensures that large memory objects can be correctly uploaded to and blitted by the GPU's blitter engine without errors or performance regressions. This test is crucial for identifying potential issues with large texture handling, framebuffer operations, and general GPU memory concurrency under heavy load.
CAVEATS
The intel_upload_blit_large_map test is part of a developer tool suite and is not intended for typical end-user interaction. Running it requires an Intel GPU and the igt-gpu-tools package installed, which is usually part of development or testing environments. It can stress the GPU and driver, potentially leading to system instability if issues are present. Results are primarily relevant to driver developers and quality assurance engineers.
TECHNICAL FOCUS
This test primarily targets the GEM (Graphics Execution Manager) subsystem within the i915 kernel driver. It specifically tests large object mapping using DRM_IOCTL_I915_GEM_MMAP_GTT and subsequent blitting operations, ensuring that GTT mappings for large memory regions are correctly established and utilized by the GPU's blitter engine for high-performance memory transfers.
USE CASES
It is primarily used in continuous integration (CI) environments, pre-release validation, and during development of new Intel graphics hardware or driver features. It helps in catching regressions related to memory fragmentation, address space limitations, or performance bottlenecks in the blitter hardware/driver interaction when dealing with large graphical assets.
HISTORY
The igt-gpu-tools suite, which includes the intel_upload_blit_large_map test, has evolved alongside Intel's Linux graphics drivers. Its development began as part of the broader effort to ensure the stability, performance, and feature compliance of the open-source Intel graphics stack. As Intel GPUs and their capabilities advanced, so did the complexity of driver interactions, particularly concerning memory management and efficient data transfer. Tests like intel_upload_blit_large_map were introduced to specifically validate the driver's ability to handle large memory allocations and GPU-accelerated blitting operations, which are fundamental to modern graphics applications and desktop environments.
SEE ALSO
igt(1): Intel Graphics Tools test runner utility., igt-gpu-tools(7): Man page for the Intel GPU Tools suite (if available on your system)., drm(7): Direct Rendering Manager, the kernel interface for graphics hardware., i915(4): Linux kernel module for Intel graphics devices.