[ANNOUNCE] intel-gpu-tools 1.6

Rodrigo Vivi rodrigo.vivi at gmail.com
Thu Mar 13 04:26:08 PDT 2014

Hi all,

Here goes a new i-g-t quarterly release with the following changes:

- Changes to support Broadwell in the test suite. (Ben, Damien, et al.)

- Updated (now working again!) Android support from Oscar Mateo.

- Test coverage through i-g-t is now officially an integral part of any drm/i915
  feature work and also for bugfixes. For more details see:


- Fix the gen4asm build depency handling, now that the assembler is included in
  i-g-t (Ben).

- Improve the cairo object lifetime management of the kmstest helpers (Chris).

- Allow register access to succeed if i915 is loaded but debugfs isn't found
  (i.e. nomodeset is used)

- New kernel modesetting helper library for simpler testcases (Damien).

- New structure logging support for tests. Message at the WARN level be
  reflected in the piglit result, also included igt_warn_on macros to simplify
  test asserts which should just result in warnings, but not in a test abort.

- Broadwell support for intel_audio_dump (Mengdong Lin).

- API documentation support (Thomas)

Complete list:

Ben Widawsky (52):
      chipset: IS_I9XX macro
      pciid/bdw: Add Broadwell PCI ids
      bdw: Update obvious missing blit support
      tests/bdw: gem_exec_faulting_reloc
      tests/bdw: gem_cpu_reloc
      tests/bdw: gem_evict_*
      tests/bdw: gem_exec_blt
      tests/bdw: gem_pin
      tests/bdw: gem_linear_blits
      tests/bdw: pwrite_pread
      tests/bdw: Port storedw_loop_vebox to gen8
      assembler/bdw: Small cleanup
      quick_dump/bdw: Just basic stuff for now
      NEWS: Broadwell
      NEWS: Broadwell will be in 1.6, not 1.5
      NEWS: Restore the 1.4 release info
      gem_storedw_batches_loop: Update for gen8
      gem_evict_everything: Fix broken blit generalization
      gem_evict_alignment: Skip on GEN8 for now
      gem_cpu_reloc: Fixed botched BLIT conversion
      gem_linear_blits: Fix blit command length
      gem_storedw_batches_loop: Fix for real this time
      gem_evict_*: Fix batch lengths, broken on gen8 integration
      gem_cs_prefetch: more gen8 integration fallout
      gem_pipe_control_store_loop: BDW update
      drm_vma_limiter_cached: Missed gen8 BLT updates
      gem_write_read_ring_switch: Missed gen8 BLT updates
      gem_persistent_relocs: Update for gen8 BLT cmds
      gem_reloc_vs_gpu: Update for gen8 BLT cmds
      gen8 rendercpy: temporarily disable
      gem_exec_faulting_reloc: Update gen8 BLT cmds
      intel-gpu-tools: Version information
      shader-debugger: Use in tree gen4asm
      gem_exec_blit: gen8 updates for blit
      configure.ac: Remove GEN4ASM define
      configure.ac: Fixup conditional shader debugger
      configure.ac: Fix shader debugger for real
      gem_storedw_batches_loop: Fix for BDW
      .gitignore: Add pycache
      quick_dump: Fix the indentation
      quick_dump: Allow comments in the register files
      quick_dump/hsw: Watermark debug
      quick_dump/broadwell: Use haswell_other
      quick_dump/watermarks: lp3, misc and debug
      gem_storedw_batches_loop: Fix for pre-BDW
      quick_dump: Refactor to allow future code
      quick_dump: Add a file argument
      quick_dump/gen7: Add other GFX_MODE registers
      quick_dump/haswell: Add gen7 stuff + VECS_MODE
      quick_dump/broadwell: Add gen7 ring mode registers
      quick_dump: Add missed broadwell autodetect

Chon Ming Lee (2):
      tools/quick_dump: Update Baytrail DPIO names to reflect to the
driver change.
      Update dpio read/write to take in extra PHY parameter.

Chris Wilson (26):
      tests/pm_pc8: Fix invalid pointer-to-integer casting
      drmtest: Fix weird signage on errno
      kmstest: Fix up lifetimes of cairo objects
      tests: Add gem_gtt_hog
      gem_gtt_hog: Print elapsed time in ms
      tests/gem_pipe_control_store_loop: Delete bogus assertion
      gem_gtt_hog: use a normal exit()
      kms_flip: Try to consume all fences after a flip
      intel_error_decode: Protect against missing ring registers
      igt/gem_concurrent_blit: Scale resource usage to RAM correctly
      igt/gem_close_race: Fix blit commands for BDW
      lib: Capture errno on entry
      tests: Add gem_madvise
      tests: Add gen7_forcewake_mt
      Add i915_pciids.h
      kms_flip: Try to make hang_gpu() robust against hanging the GPU
      tests: Compile all threaded tests with -pthread when appropriate
      kms_flip: Assert that hang_gpu() should only fail is the GPU is
already hung
      kms_flip: Skip tests that try to inject GPU hangs if already
terminally wedged
      gem_render_linear_blits: Trim usage to fit within RAM
      gem_render_tiled_blits: Trim usage to fit within RAM
      lib: Test against available swap
      evictions: Limit the number of minor eviction surfaces to fit in RAM
      igt/gem_pwrite_pread: Fix XY_SRC_COPY command length for gen8+
      igt/gem_pwrite_pread: Fix relocation offsets for gen8+
      igt/gem_pwrite_pread: Fix relocation offsets for gen8+

Damien Lespiau (68):
      bdw: Add gen8 to the IS_9XX() macro
      bdw: Add gen8 to intel_gen()
      bdw: Add gen8 specific instdone bits
      tests/bdw: Port storedw_loop_render to bdw
      assembler/bdw: Add gen8_instruction from mesa
      assembler/bdw: Support some basic gen8 intructions
      assembler/bdw: Make the validation functions take a
      assembler/bdw: Add the start of a gen8 disassembler
      assembler/bdw: Preliminary gen8 send & msgtarget support
      assembler/bdw: Use gen8_set_exec_size() to set the execution size
      rendercopy/bdw: Add gen8_render.h to the file list
      rendercopy/bdw: Fix the original implementation
      rendercopy/bdw: Add AUB annotations for states
      list-workarounds/bdw: Add Broadwell to the list of valid platorms
      gitignore: Ignore the newly introduced pm_psr
      gitignore: Ignore gem_reset_stats
      intel_dump_decode: Actually parse the -d option
      intel_dump_decode: Support the INTEL_DEVID_OVERRIDE env variable
      rendercopy/bdw: Fix the STATE_SIP instruction length
      rendercopy/bdw: Fix the various 3DSTATE_CONSTANT_* instruction length
      rendercopy/bdw: Fix the 3DSTATE_HIER_DEPTH_BUFFER instruction length
      rendercopy/bdw: Fix the 3DSTATE_STENCIL_BUFFER instruction length
      kms_fbc_crc: Remove unused variable
      gitignore: Ignore kms_fbc_crc
      gitignore: Ignore gem_media_fill
      lib: Include the necessary stdint.h in gen6_render.h
      intel_error_decode: Factor out common decoding code
      intel_reg: Renamed INST_DONE to INSTDONE
      instdone: Add an assert to make sure we never overflow instdone_bits
      lib: Move the INSTDONE bit definitions to instdone.c
      lib: Use INSTDONE_I965 and INSTDONE_1 for gen6
      tools: Removed unused tools/intel_iosf_read.c
      tools: Remove intel_disable_clock_gating
      gem_ring_sync_copy: Add a ring to ring synchronization test
      lib: Introduce a modeset API
      kms_pipe_crc_basic: Port to the new modeset API
      lib: Introduce symbolic names for display planes
      lib: Introduce a for_each_connected_output() macro
      kms_pipe_crc_basic: Use for_each_connected_output()
      lib/display: Add an accessor to retrieve the number of pipes
      kms_pipe_crc_basic: Use igt_display_get_n_pipes() instead of hardcoding 3
      tests/kms_cursor_crc: Move the array of cursor fb_ids to the stack
      lib/display: Fix the SetCrtc disabling log message
      lib/display: Add support for the cursor plane
      lib/display: Add a way to specify we don't care about the pipe to use
      kms_cursor_crc: Port the test to the new modeset API
      lib/display: Allow to override the display verbosity with an env variale
      lib/display: Check if we're trying to use the same pipe on 2 outputs
      lib/crc: Factor out reading a single CRC value
      lib/crc: Add a helper to read a single CRC value
      tests/kms_cursor_crc: Use igt_pipe_crc_collect_crc()
      lib/display: Add support for DRM planes
      lib: Introduce a new helper kmstest_create_color_fb()
      kms_cursor_crc: Use kmstest_create_color_fb()
      lib: Include drm_fourcc.h from igt_kms.h
      kms_pipe_crc_basic: Use kmstest_create_color_fb()
      lib: Add a helper to wait for a keypress
      lib/display: Add a way to wait at every commit for inspection
      lib/display: Print the fb id, not its pointer in the set_fb() log message
      lib/display: Wait for a vblank after SetPlane()
      lib/display: Fix assertion in set_plane()
      kms_plane: Start a basic display plane test
      lib: Don't wait in igt_wait_for_keypress() if stdin is not a tty
      lib: Fix igt_ouput_get_plane() typo (output)
      kms_pipe_crc_basic: Remove igt_display_get_n_pipes() usage in main
      lib/display: Fix typo in igt_plane_get_fd_id() (fb)
      kms_plane: Remove spurious inclusion of glib.h
      kms_pipe_crc_basic: Remove spurious inclusion of glib.h

Daniel Vetter (91):
      NEWS: Remove spurious -
      tests/gem_reloc_overflow: Polish after Rafael's patch
      tests/gem_overflow_reloc: Rework subtest enumeration
      Revert "tests/gem_ctx_bad_exec: Check the errno, too"
      NEWS: Android.mk updates!
      NEWS: Make testing requirements official
      lib: adjust oom_score
      tests/gem_cs_prefetch: Fix bdw damage
      tests: More bdw fallout
      tests: More bdw fallout
      tests/gem_reset_stats: Use macros a bit more
      tools/reg_dumper: Add FW_BLC regs
      tests/gem_reset_stats: More macros!
      tests: Document per-ring naming conventions
      tests: Document exec naming convention for execbuf related tests
      lib: Don't put functional code into asserts
      Revert "test/gem_concurrent_blt"
      tests: rename get_client_auth to have a core_ prefix
      tests/core_get_client_auth: new subtests for always authenticated
      lib: add gem_available_aperture_size helper
      tests/gem_ctx_exec: Add eviction test
      tests/gem_reset_stats: document the new subtest a bit better
      tests: drm_open_any doesn't fail
      lib: add igt_pipe_crc_check
      lib: make igt_pipe_crc_start never fail
      lib: Always print errno in igt assert/require macros
      lib: Add host platform to version string
      lib: print uname information in the version string
      lib: igt_simple_main/init for subtest-less tests
      tests: gem_close_race has subtests!
      tests: roll out igt_simple_init/igt_simple_main
      ignore version.h
      tests: Move gem_reset_stats to the right place
      tests: Document the Makefile variables a bit better
      README: Document how to avoid Waffle with piglit
      README: Fix spelling fail
      NEWS updates
      tests/NAMING-CONVENTION: s/snooped/snoop/
      tests/gem_ctx_exec: fix ram requirement fumble
      tests: fixup igt_simple_main fallout
      tests/gem_largeobject: Prefault instead of pin
      tests/prime_nv_pcopy: disable swizzle tests
      tests/primve_nv_pcopy: Comment out unused check_swizzle function
      tests/gem_gtt_hog: Use igt_simple_main
      tools: Install them all
      tests: Move pm_rps to the right Makefile target
      tests: Add gem_fd_exhaustion
      lib: extract igt_drop_root
      debugger: avoid global variable shadowing
      tests/pm_rps: Add missing static
      lib: add __gem_create
      tests/gem_fd_exhaustion: Make it work
      tests/pm_rps: rename basic test to "basic-api"
      fix make distcheck
      tests/pm_rps: Fix compilation on Linux
      tests/pm_rps: Round requested freq correctly
      tests/pm_rps: remove setfreq
      tests/gem_reset_stats: Correctly wrap global test code
      lib/drmtest: Fix up skip_henceforth checks
      lib: fix header include
      tests/gem_close_race: Properly wrap init code in fixtures
      tests/gem_bad_ctx_exec: Properly wrap in igt_fixtures
      tests/gem_madvise: use correct main block
      test/gem_gtt_hog: bail out earlier
      lib: install exit handler only on success for prefault control
      lib: Make igt_skip noreturn
      NEWS: Mention Damien's new helper library
      lib: (somewhat) structured logging support
      test/pm_rps: use igt logging
      tests/gem_seqno_wrap: use igt logging
      tests/kms_flip: use igt logging
      NEWS: Mention new logging support
      testdisplay: implement dpms test
      testdisplay: Allow to specify the dpms level
      test/kms_flip: fix up igt logging conversion
      configure: Bump libdrm requirements
      NEWS: intel_audio_dump has now bdw support
      tests/drv_missed_irq_hang: Remove debug output
      tests/gem_exec_blt: More reasonable runtime
      tests/drv_missed_irq_hand: Make it robuster
      gtk-doc: Document the docs
      lib: extract ioctl_wrappers.c
      lib/ioctl_wrappers: api doc
      lib: extract igt_core.c
      lib/igt_core: api documentation
      lib: move prefault helpers to igt_debugfs.c
      lib/ioctl_wrappers: api doc fixup
      lib: make igt_debugfs_open infallible
      lib/igt_debugfs: drop drm_fd argument from igt_pipe_crc_new
      lib/igt_debugfs: api docs

Devon Davies (1):
      build: Added -UNDEBUG to tools/Android.mk

Imre Deak (5):
      kms_flip: fix seq_step for 2xcrtc subtests
      kms_flip: keep drm_fd open for the dpms restore exit handler
      kms_flip: consolidate run_test_on_{crtc,crtc_pair}
      lib/drmtest: fix hang in quiescent_gpu_at_exit due to
signal-unsafe asprintf
      kms_setmode: Add clone-single-crtc subtest

Jeff McGee (18):
      pm_rps: Use unbuffered I/O on sysfs files
      pm_rps: Assert that valid sysfs writes return success
      pm_rps: Fix test to target original min and max
      pm_rps: Use igt exit handler for restore
      pm_rps: Add read back checking on sysfs writes
      pm_rps: Convert to subtest structure
      pm_rps: Fix verbose option and streamline its use
      pm_rps: Expand on min and max config testing
      pm_rps: Remove repeat sysfs reads
      pm_rps: Make frequency logging more compact
      pm_rps: New subtest min-max-config-idle
      lib/drmtest: Add igt_wait_helper
      pm_rps: Add load helper for loading gpu
      pm_rps: New subtest min-max-config-loaded
      pm_rps: Add stop rings injection utility
      pm_rps: Load helper should stall for last write
      pm_rps: Add variable load support to load helper
      pm_rps: New subtest for gpu reset

Jesse Barnes (8):
      rendercopy/bdw: Initial gen8 rendercopy
      mmio: allow register init even if debugfs isn't available and
i915 isn't loaded
      quick_dump: more vlv dpio regs
      NEWS: update with nomodeset register access change
      mmio: use intel_iosf.c for DPIO reads and writes
      mmio: drop unused i915_loaded fn
      dpio: make dpio reg read/write output like normal reg read/write output
      iosf: make iosf_rw take a larger addr

Joao Santos (1):
      build: Skip kms_plane on Android

Kenneth Graunke (2):
      rendercopy/bdw: Emit 3DSTATE_WM_HZ_OP.
      rendercopy/bdw: Fix length of a bunch of zeroed out packets.

Mengdong Lin (15):
      intel_audio_dump/bdw: add support for Broadwell
      intel_audio_dump/bdw: dump debug registers for audio immediate commands
      intel_audio_dump/bdw: dump audio chicken bit register
      intel_audio_dump/bdw: dump audio DP and DIP FIFO debug status
      intel_audio_dump/bdw: dump audio M CTS readback register
      quick_dump/bdw: dump audio configuration registers for Haswell
and Broadwell
      quick_dump/bdw: dump audio debug registers for Haswell and Broadwell
      quick_dump/bdw: support Broadwell in device auto-detection
      intel_audio_dump: support using base address plus an offset to
dump registers
      intel_audio_dump: move definitions of
transcoder/pipe/port/converter earlier
      intel_audio_dump: define IS_HASWELL_PLUS to cover Haswell and
its successors
      intel_audio_dump: define get_num_pipes() to get number of pipes
for a device ID
      intel_audio_dump: share common audio dump code for Ironlake,
Haswell & Broadwell
      intel_audio_dump: adjust code alignment
      intel_audio_dump: add support for Valleyview

Mika Kuoppala (10):
      tests: add gem_reset_stats
      tests/gem_reset_stats: add support for BDW+
      tests/gem_reset_stats: stop rings after injecting hang
      tests/gem_reset_stats: check non root access to reset_stats
      lib/drmtest: Fix filedesc leak on gem_quiescent_gpu
      tests/gem_reset_stats: add close-pending-fork
      tests/gem_reset_stats: add reverse order in close-pending-fork
      tests/gem_reset_stats: split ctx tests
      tests/gem_reset_stats: run tests on all rings
      tests/gem_reset_stats: stop only one ring when submitting hang

Oscar Mateo (14):
      tests/drv_suspend: Replace "&> /dev/null" with "> /dev/null 2>&1"
      build: list all test/tool/lib source files in their own Makefile.sources
      build: Fix missing "\" in tests/Makefile.sources
      build: Move logic to tests/Makefile.am and away from Makefile.sources
      lib: Move kms stuff from drmtest.c over to igt_kms.c
      rendercopy: Remove rendercopy.c
      tests/drm_get_client_auth: In Android, use gettid() instead of
      tests/gem_vmap_blits: Finish extracting gem_read
      build: Fix assorted compilation warnings
      lib/drmtest: Get the correct basename() under Android
      lib/igt_display: workaround a name conflict in Android
      build: New Android makefiles
      tests/gem_close_race: Adapt the test for Full PPGTT
      build: Create version and config information files in Android

Paulo Zanoni (40):
      tests/pm_pc8: move teardown_environment next to setup_environment
      tests/pm_pc8: return void on test_i2c
      tests/pm_pc8: extract i2c_subtest_check_environment
      tests/pm_pc8: add modeset-lpsp-stress
      tests/pm_pc8: add debugfs/sysfs tests
      tests/pm_pc8: remove "batch" and "stress-test" subtests
      tests/pm_pc8: add some GEM tests
      tests/pm_pc8: reorganize main function
      tests/pm_pc8: add support for runtime PM
      tests/pm_pc8: check for PC8 status, not residency in most cases
      tests/pm_pc8: fix debugfs-forcewake-user for PC8-only cases
      tests/pm_pc8: rename some variables
      tests/pm_pc8: remove compare_registers subtest
      tests/pm_pc8: add some more stress tests
      tests/pm_pc8: add --quick option
      tests/pm_pc8: rename some subtests
      tests/pm_pc8: try harder to reach PC8+ residencies
      tests/pm_pc8: try to reuse FBs when possible
      tests/pm_pc8: add "resuming" state
      lib: rename some power well bit names
      tests: add pm_lpsp
      tests/kms_setmode: avoid 2 connectors on the same encoder
      tests/pm_pc8: check if we can't become DRM master
      drmtest: don't leak memory when parsing the arguments
      tests/kms_flip: don't leak the connector when setting DPMS
      tests/kms_flip: don't leak the CRTC
      tests/kms_flip: don't leak the connector_config struct
      tests/kms_flip: free the test_output struct when counting modes
      tests/gen7_forcewake_mt: use -lpthread
      tests/pm_pc8: remove sleep() call when setting up the environment
      tests/pm_pc8: add gem-idle subtest
      tests/pm_pc8: try to modprobe i2c-dev
      tests/pm_pc8: try to modprobe msr
      tests/pm_pc8: add reg-read-ioctl subtest
      tests/pm_pc8: add pci-d3-state subtest
      tests/pm_pc8: add "stay" mode
      tests/pm_pc8: use XY_COLOR_BLT instead of just COLOR_BLT
      tests/pm_pc8: BDW should also support PC8 residencies
      tests/pm_pc8: use intel_gen instead of a big IS_GEN check
      tests/pm_pc8: be more verbose on test_i2c failures

Rafael Barbalho (6):
      tests/gem_reloc_overflow: Add gen8+ specifc tests
      android: Handle the case when android doesn't have mmap64
      android: Clean-up common makefile directives
      android: Add makefile for the lib directory
      android: Add the generation of vesion.h & config.h to lib
      android: Change tests & tools directory to use the lib directory

Robert Beckett (1):
      igt: tests/Android.mk: fix LOCAL_PATH usage

Rodrigo Vivi (1):
      bump version to 1.6 and add the release date

Thomas Wood (10):
      assembler: define YY_NO_INPUT to prevent unused symbol warnings
      lib: fix signed/unsigned comparison issues
      debugger: fix the -p option
      assembler: fix condition for printing a warning
      tests/gem_seqno_wrap: fix over allocation of arrays
      tests: fix sub-test enumeration
      Add API documentation support
      drmtest: reformat the API documentation
      lib: Add missing header to Makefile.sources
      tests: add missing assertion

Tvrtko Ursulin (8):
      build: Make sure asserts are enabled for tests
      build: Skip kms_fbc_crc on Android
      drmtest: Avoid wrong PID/TID after clone races
      Revert "lib/drmtest: ducttape over fork race"
      tests/gem_media_fill: Remove unnecessary include
      tools: Allow building on Android after noinst_PROGRAMS is not
defined any more
      tests/gem_evict_everything: Factor out eviction logic
      tests/eviction_common: Avoid submitting duplicate objects

Ville Syrjälä (11):
      lib: Fix pipe_crc->ctl_fd assert
      kms_cursor_crc: Fix crc readout after a subtest failure
      rendercopy: Pass context to rendercopy functions
      lib: Add gem_sw_finish()
      lib: Add gem_bo_busy
      kms_fbc_crc: Add a CRC based FBC test
      quick_dump: Restore execture permission on quick_dump.py
      tests: Drop glib.h include from kms_cursor_crc and kms_fbc_crc
      kms_flip: Restore rings to running state in unhang_gpu()
      kms_flip: Fail the subtest if page flip hang recovery wasn't
actually tested
      kms_flip: Add dpms-vs-vblank-race and modeset-vs-vblank-race subtests

Xiang, Haihao (16):
      assembler/bdw: Set math function
      assembler/bdw: Disable mask control for advanced mode
      assembler/bdw: Set jip/uip offsets used by flow control instructions
      assembler/bdw: Set thread switch for multiple branch instructions
      assembler/bdw: Data port message
      assembler/bdw: Thread Spawn message
      assembler/bdw: Video Motion Estimation(VME) message
      assembler/bdw: Check & Refinement Engine message
      assembler/bdw: SEND instruction
      tests: add gem_media_fill
      tests/gem_media_fill: add support for gen8
      tests/gem_media_fill: add support for gen7
      tests/gem_media_fill: the assembly code for the shader used in the case
      lib: Clean the batch buffer store after reset
      rendercopy/bdw: Set Instruction Buffer size Modify Enable to 1
      assembler/bdw: Update write(...)

Zhao Yakui (5):
      tests/bdw: Port storedw_loop_bsd to gen8
      tests/bdw: Port storedw_loop_blt to gen8
      assembler/bdw: Add the support of align1 register-indirect
addressing mode on Gen8
      assembler/bdw: Add the DATA_PORT_CACHE1 shared function for Gen8+
      Assembler/bdw: Remove the unsupported cache agent for WRITE(...)

git tag: intel-gpu-tools-1.6

MD5:  e823be446e06d31195c66e354752fb0b  intel-gpu-tools-1.6.tar.bz2
SHA1: 87a066862f6cd4090b7bbb6a4ebc59e7aee330cd  intel-gpu-tools-1.6.tar.bz2
SHA256: 6b29e04fd08c3b66639969c6e128db979d729f891017932e30034037df106cc6

MD5:  ae257d0231eea0992afe55be2db40d88  intel-gpu-tools-1.6.tar.gz
SHA1: 54b49a28144072a43d94df48f407e3d08e74bba6  intel-gpu-tools-1.6.tar.gz
SHA256: 9aff9c59ba315c500e0329d1421bb2892d5749797444c2661d6ef290678b63ac

Rodrigo Vivi
Blog: http://blog.vivi.eng.br

More information about the xorg-announce mailing list