[ANNOUNCE] intel-gpu-tools 1.1

Daniel Vetter daniel.vetter at ffwll.ch
Fri Dec 23 16:49:50 PST 2011

A bit early for a Xmas gift but way too late for a release, I've finally
managed to shove out a new intel-gpu-tools version. Too much stuff to list
here, and mostly only interesting for developers (who use the latest git
version anyway).

One thing though I'd like to highlight which is also useful for the wider
community of users and testers, is the improved test-suite for the kernel
drm: It's just a beginning but after compiling everything you can run (as
root, no X running)

 # make test

and watch your kernel die a pityful death. For a less quick death, my next
branch at


contains fixes for all known issues this hits. Reports for any issues not yet
fixed there highly welcome.


Adam Jackson (6):
      intel_reg_dumper: Add support for reading register dumps from files
      bios reader: Decode device type from child device table
      fix reg_dumper on systems without intel gpus
      Use longer string padding in intel_reg_dumper on ironlake
      bios_reader: Fix to work on non-Intel machines
      bios_reader: Allow forcing the device ID with DEVICE=0xNNNN

Ben Widawsky (13):
      Add MI_SUSPEND_FLUSH instruction decode
      Add C99 requirement to autoconf.
      forcewake: Add mmio code to do proper forcewake stuff for gen6
      intel-gpu-tools/range handling: register range handling
      intel-gpu-tools/forcewaked: sample forcewake app
      intel-gpu-tools/debugging: add important debug regs
      intel-gpu-tools/debugging: shader debugger
      tools/range handing: forgot the register map file :(
      tools: readme addition for shader debugging
      intel: we don't do distcheck for the debugger
      i-g-t/debugger: Only allow the shader debugger if the user has specified a gen4asm
      i-g-t/debugger - make the debugger work with distcheck
      intel-decode: fix flush dword post sync parse

Chris Wilson (112):
      Add: tools/intel_gpu_time
      decode: Split decoder and reuse outside of intel_gpu_dump
      decode/i965: Show byte lengths for buffers.
      reg: Include INSTPM in dump.
      gpu_dump: Parse INSTDONE if seen inside a file.
      intel_gpu_dump: Parse ringbuffer info from i915_error_state
      Add intel_error_decode.
      decode: Parse MI_BATCH_BUFFER for i8xx
      man: Add manpage for intel_error_decode
      decode: Fix length mask for LOAD_REGISTER_IMM.
      intel_error_decode: Pretty print i830 PGTBL_ER
      decode: Parse i915 MAP_STATE texture sizes and tiling
      decode: There are 4 unpreserved registers on i915, not 3.
      Enable compilation on non-Intel, non-DRM systems.
      gitignore: Add missing intel_reg_snapshot
      decode: CLEAR_PARAMETERS has a fixed length bias of 5.
      decode: CLEAR_RECT uses a fixed VERTEX_XY format.
      decode: There are 4 unpreserved registers on i915, not 3.
      decode: Use a valid S4 mask [VERTEX_XY] for 3DPRIM_CLEAR_RECT
      decode: Also override S2 for 3DPRIM_CLEAR_RECT
      decode; Parse 3DSTATE_BUFFER_INFO
      intel_reg_dump: Off-by-one in calculation of i965 fence pitch
      error: Decode i915 PGTBL errors
      dump decode: Add a non-installed program for decoding binary batchbuffer dumps.
      reg dumper: Add panel backlight detailed information
      decode: Handle errors during parsing.
      tests: Fix fallout from s/EBADF/ENOENT/ in 2.6.36
      reg dumper: Fix ilk panel fitter filter shift
      reg dumper: Dump ILK panel fitting control debug registers
      intel_gpu_top: Sample BSD rings as well as render
      Decode PGTBL_ER for i965
      Prepare for split BLT ring on Sandybridge.
      decode: Improve parsing of i915 fixed-length indexed primitives
      error-decode: Operate as a pipe and accept input from stdin
      dump-decode: allow specification of devid, i.e. gen
      decode: Add some missing protection against short buffers for gen6 instr
      gpu-dump: Include BLT and BSD ringbuffers
      decode: Add a couple of BLT MI.
      error-decode: stdin is 0 not 1
      Add a GTT timing test
      error decode: print out class of chipset in the error report
      intel_gpu_top: Wake the GT power well to read gen6 ring registers
      intel_gpu_top: Include BLT ring
      error: Parse ring name before gtt_offset
      gpu-top: Correct computation of ring size
      bios: Parse SDVO panel DTDs
      Add a GTT timing test
      Add a simple test to execute n nop batches
      Time blt vs pwrite
      Exercise the whole aperture with tiled blits
      tests/gem_tiled_fence_blits: Ensure the bo count is odd
      Search for the first Intel dri device.
      error decode: Search for first i915_error_state
      Simple test to ensure that working sets larger than memory, just work.
      Simplify gem_linear_blits
      gem_linear_blits: Minor enhancements
      gem_tiled_blits: Minor enhancements
      Fix typo excluding Ironlake from IS_INTEL
      Fix basic blt test for SNB
      gem_linear_blits,gem_tiled_blits: Add optional count
      configure: Bump the libdrm dependency
      tests/gem_exec_blt: Compile fix
      tests: Move potential machine killers away from distcheck
      tests/intel_reg_dumper: Replace asprintf with snprintf
      tools/intel_gpu_dump: Replace asprintf with snprintf
      tools: Do not install intel_gpu_dump
      tools/intel_disable_clock_gating: Remove unused variable
      tools/intel_bios_reader: use correct printf format for size_t
      intel_stepping: Include clocks in summary
      testdisplay: Clarify
      testdisplay: Remove deprecated GIO functions
      Remove confusing use of IS_9XX
      decode: fix gen6 PS binding table update bit
      decode: Fix pretty printing of 3DSTATE_URB allocation size
      test: Mark gem_bad_batch as a known hang
      stress: Distinguish between busy_bo and scratch_bo creation sizes
      decode: Correct a couple of mistakes in gen3 IMMEDIATE_STATE_1
      gem_stress: Add render copyfunc for SandyBridge
      gem_stress: '-b' option to disable BLT copyfunc
      Update gitignore
      tests: Add a fenced execbuffer thrash test
      test: Exercise gen3 render copies
      test: Add more gen3 render blitters
      decode: Fix segmentation fault
      test/gen3_mixed_blits: Acutally use fences for BLT
      test/gen3_mixed_blits: Alternately use fence regs for the render copies
      test/gen3_mixed_blits: Remember that the BLT engine cannot handle Y-tiling
      gem_stress: Add extra passes to intial render copyfunc verification
      gem_stress: cpu maps force tiling to be disabled, so fix the printf
      gem_stress: trim buffer sizes to fit into 3D pipeline
      scripts: Add throttle.py
      tests: Add a simple exercise of GTT mmaps
      tests: Add an exercise for zero-length buffers
      gem_stress: Add an option to test handling of signals
      gem_gtt_speed: Add option for variable buffer size
      gem_stress: Assert we have no pending ops when using the CPU
      Add a test case for coherency of vmaps
      intel_reg_dumper: Slightly tidy the reporting of pipe configs
      tests/gem_vmap_blits: Fix typo
      intel_decode: Handle a few gen7 blocks
      Add intel_backlight
      top: Avoid FPE by removing meaningless metric
      testdisplay: Round tiled allocations up to pot stride and fence size
      Call Arrandale gen5 not gen4.
      decode: Fix interpretation of i915 8bit formats
      scripts: Add a trivial script to show which programs are using the GPU
      scripts/who: Add the process id to the output
      tests/gem_largeobject: silence the compiler
      tests/gem_stress: silence the compiler by using '%zu' for size_t
      tests/gem_exec_nop: silence the compiler by failing on error
      tests/gem_exec_blt: silence the compiler by failing on error
      tests/gem_double_irq_loop: silence the compiler

Daniel Vetter (119):
      Decode depth buffer format
      Decode MS3 tex format
      Decode MS3 tex format
      Decode scissor state
      Fully decode map state
      Fully decode sampler state
      Small cleanups for immediate state S5
      Decode gen2/gen3 fences in the error_state
      Decode map state on gen2
      Add gem stress test
      gem_stress: pwrite/pread support
      gem_stress: submit batch if there's only one fence left
      gem_stress: fix blitter_copy on gen4+
      gem_stress: implement gen5 blitter work-around
      gem_stress: limit gtt_size to 256
      Move gen5 blitter work-around to lib
      gem_stress: dump complete failed tile
      gem_stress: getoptification
      gem_stress: variable gpu busy load
      gem_stress: optin to set num_buffers
      gem_stress: ad-hoc tile tracing
      gem_stress: fix set_tiling
      lib: execbuffer2 support
      gem_stress: render copy on gen3
      gem_stress: option to disable render copy
      gem_stress: split out gen3 render copy
      gem_stress: gen2 render copy
      gem_stress: extract emit_blt
      gem_stress: clean up fence_storm
      gem_stress: option to disable tiling
      intel_decode: drop unused code
      Disable gem tests when libdrm is not available
      gem_stress: option to only use x-tiling
      gem_stress: option to use cpu mappings
      gem_stress: round max_dimension down to the next pot
      gem_stress: disable fence storm when only using untiled buffers
      gem_stress: avoid division by 0
      gem_stress: option to override the number of rounds to complete
      gem_stress: option to continue despite failures
      gem_stress: option to set tiles per buffer
      gem_stress: option for tile_size
      gem_stress: option to disable render copyfunc check
      gem_stress: some stats about incoherencies
      gem_stress: ducttaping mandatory
      tools/intel_gpu_dump: add hackish --devid parsing
      tools: decode MI_SEMAPHORE_MBOX
      tools: decode some more MI_ ops
      test/gem_storedw_*: tune some more
      lib/batch: hackish interface to run batches on specific rings
      tests/gem_storedw: disable on pre-gen6
      tests: split up gem_storedw_loop into ring specific variations
      tests: basic ring<->cpu and ring<->ring tests
      tools: add intel_gen
      tests: check pipe_control coherency
      tests: add basic test for missed irqs
      tests: mark gen3-only tests as such
      tests: exit(77) to properly mark tests as SKIP
      tools: beef up intel_dump_decode
      tools: remove intel_gpu_dump
      intel_gpu_dump: also kill manpage
      intel_gpu_dump: really kill it
      tests/gem_bad_length: dont throw garbage at the gpu
      tests: disable gem_bad_blit
      tests: separate testcases in gem_bad_length
      tests: build all tests by default
      tests/gem_mmap_gtt: also test gtt pwrite paths
      tools/decode: add missing shift to MI_SEM_MBOX decoder
      tests: disable storedw tests on !render
      tests/gem_*_blits: reduce buffer count to not trash swap
      tests/gem_fence_trash: some retuning
      tests: add gem_hangcheck_forcewake
      tools/decode: retain the ring name
      tools/intel_dump_decode: make devid parsing more useful
      tools/decode: don't forget to print the name of the last ring
      tools/decode: don't move around the display register section
      intel/decode: print out chipset gen
      tools/decode: properly decode gen6+ PIPE_CONTROL flags
      tools/intel_error_decode: decode gen4+ fences
      tools/decode: decode XY_SETUP_* cmds
      tools/decode: decode XY_SCANLINES_BLT
      tests: add gem_unref_active_buffers
      testdisplay: compile fix for !DRM_PLANES
      tests: add test to read all debugfs files
      make distcheck fixes
      tools: script to gather bug report data
      tests: don't run kernel check from make check
      tests/gem_bad_length: disable broken batchbuffer
      tests: check for other drm clients
      tests: actually add the drm client check script
      tests/debugfs_reader: fight bashism
      tests: mark gem_bad_address as HANG
      tests/gem_largeobject: accomodate for puny apertures
      tests/gem_tiled_pread: fixup detiler for gen2
      always require libdrm
      cargo-cult the build system into shape
      tests: disable pipe_control on i965g
      tests: properly terminate tests when values mismatch
      tests/sysfs_edit_reader: posixify
      tests: implement snb+ XY_SETUP_CLIP_BLT workaround
      tests/gem_gtt_speed: Add modes that force that to the gtt domain
      improve README
      tests: add gem_tiled_pread_pwrite
      tests: add gem_exec_bad_domains
      tests: add gem_exec_faulting_reloc
      Revert some accidental things
      tests: add gem_reloc_vs_gpu
      tests/gem_tiled_pread_pwrite: kill set-but-unsed warning
      tests/gem_reloc_vs_gpu: switch to COLOR_BLT instead of PIPE_CONTROL
      tests/gem_reloc_vs_gpu: emit special batch on blt ring on gen6+
      tests/gem_reloc_vs_gpu: fixup this mess
      tests: add gem_partial_pwrite_pread
      tests/gem_partial_pwrite_pread: don't trash gtt unnecessarily
      testdisplay: move drm_fourcc.h include under the #ifdef protection
      testdisplay: shut up compiler
      Release 1.1

Eric Anholt (29):
      Add intel_gpu_dump from the 2D driver.
      Replace dolt and shave with using current autotools.
      intel_gtt: Add intel_gtt from the 2D driver.
      Move the intel_lid tool from the 2D driver to here.
      Add intel_bios_dumper from the 2D driver.  Last of the tools, finally!
      Add some initial definitions for Sandybridge.
      intel_gpu_dump: Add support for sandybridge DEPTH_BUFFER and BINDING_TABLEs.
      Add Sandybridge STATE_BASE_ADDRESS decode.
      Add Sandybridge decode for CMD_VIEWPORT_STATE_POINTERS
      intel_gpu_dump: Use the spec's names for the INSTDONE regs printed out.
      intel_gpu_dump: More SNB packets.
      Add support for Sandybridge mobile chipset.
      Add support for Sandybridge INSTDONE regs.
      Add decode for more Sandybridge packets.
      Add manpages for a bunch of recently-added tools.
      Fix a typo in intel_gtt(1).
      intel_gpu_top: Print the vertex/primitive statistics on gen4+.
      intel_gpu_top: Print stats lines even when there's no done bit on the line.
      intel_reg_dumper: Fix the i915 fence reg decode to not be pure lies.
      Add Ironlake INSTDONE bits.
      Fix INSTDONE1 bits on g4x, and use those on Ironlake too.
      intel_decode: Fix whitespace for importing to Mesa.
      intel_decode: Fix decode for gen6's moved VERTEX_ELEMENTS valid bit.
      intel_gpu_top: Fix the "limit printing to terminal height" again.
      intel_gpu_top: Print stats regs on Ironlake as well.
      intel_disable_clock_gating: New tool for turning off clock gating on ILK.
      Add Ivybridge support to intel_gpu_dump and the BLT tests.
      Add missing copyright info to intel_decode.c
      intel_reg_checker: New tool to accumulate checks for HW workarounds.

Eugeni Dodonov (17):
      intel_gpu_top: account for time spent in syscalls
      intel_gpu_top: suport command line parameters and variable samples per
      intel_gpu_tool: initial support for non-screen output
      intel_gpu_top: initialize monitoring statistics at startup
      Revert "intel_gpu_top: initialize monitoring statistics at startup"
      This patch initializes the last_stats[] for registers prior to starting
      intel_gpu_top: support non-interactive mode
      intel_gpu_top: support profiling user-specified commands
      intel_gpu_top: adopt to kernel coding style
      intel_gpu_tools: describe -e option in usage screen
      intel_gpu_top: access hardware before running profiling command
      Allow to output statistics to stdout.
      Allow intel_dump_decode to read data from stdin.
      intel_gpu_top: use debugfs interface for forcewake
      tests: add test for kernel segmentation fault
      tests: add a test for checking edid reading delays
      tests/gem_hang: fix copy-paste problem

Forest Bond (1):
      intel_bios_dumper: handle rom_size == 0

Hai Lan (5):
      Add a test case into intel-gpu-tools for intel display driver validation.
      correct a mistyping for testdisplay
      Fix a bug of testing preferred mode
      testdisplay: Test the first mode if there is no preferred mode.
      testdisplay: for tiled mode test, the height should be aligned

Javier Jardón (1):
      build: Update autotools configuration

Jesse Barnes (24):
      intel_reg_dumper: add some 945 MI reg dumping
      intel_reg_dumper: eDP port is on the CPU, not PCH
      tests: add display testing program
      tools/bios_reader: try to dump more child device data
      testdisplay: paint color gradients
      testdisplay: add non-24 bit depth support
      testdisplay: don't read hotplug events from buffer before libudev
      Add Ivybridge device IDs
      testdisplay: add 30bpp support (#ifdef'd out until the next cairo release)
      testdisplay: add overlay plane test option
      testdisplay: add tiled buffer test support
      testdisplay: fix error output if test pattern draw fails
      testdisplay: automatically enable TEST_PLANES if possible
      tests: add store dword tests
      Treat PPT like CPT as we do in the kernel
      intel_reg_dumper: use none instead of NULL if no port is assigned to TRANS_DP
      testdisplay: add sprite scaling and location support
      testdisplay: add stub disable_planes() function
      intel_reg_dumper: handle 3 pipe configs when dumping HDMI config
      testdisplay: allow overlay plane to be moved & scaled at runtime
      testdisplay: update to new addfb2 definition
      testdisplay: find planes for each pipe
      testdisplay: update for final plane & fb ABI
      testdisplay: don't test planes if i915 color key ioctl is not available

Kenneth Graunke (1):
      Limit printing to terminal height in intel_gpu_top.

Lan, Hai (1):
      testdisplay: fix possible_crtcs check so LVDS works

Paul Berry (1):
      Add missing executables to .gitignore.

Paulo Zanoni (9):
      gem_vmap_blits: fix compilation if I915_PARAM_HAS_VMAP is not defined
      testdisplay: fix compiler warnings
      Add missing files to .gitignore
      testdisplay: test all modes if no option is provided
      testdisplay: don't enter the main loop if dump_info or test_all_modes
      testdisplay: remove wrong return statement
      drm_open_any: explain why we are abort()ing
      getstats: remove useless assertion
      testdisplay: return 0 when successful

Shuang He (1):
      intel_gpu_top: Fix broken clock reporting.

Sun Yi (1):
      testdisplay: print pixel clock in mode debug output

Wu Fengguang (2):
      Add: tools/intel_audio_dump
      intel_audio_dump: add support for IbexPeak and CougarPoint

Yi Sun (1):
      tests/testdisplay.c: make the 3th pipe finish all the mode setting.

Zhao Yakui (1):
      reg_dump: Dump display port register on Ironlake

Zhenyu Wang (11):
      Add 'intel_reg_read' tool
      gitignore intel_audio_dump and intel_reg_read
      Pull bios_reader program from Xorg driver
      Remove extra aclocal flag after replace dolt and shave
      Add PCH chipset type check for Cougarpoint
      reg dump update for SNB/CPT
      update PCH HDMI debug info
      bios_reader: Fix SSC frequency parse for Ironlake/Sandybridge
      Add all sandybridge device ids
      intel_decode: decode 3d commands for sandybridge
      decode: fix PS sample state change bit on sandybridge

git tag: 1.1

MD5:  af42e60d45562d09c547f61ebf60f103  intel-gpu-tools-1.1.tar.bz2
SHA1: b6e4dbd7dec88d0469725943c520e0b03f0eced1  intel-gpu-tools-1.1.tar.bz2
SHA256: e275018ae2090849a89fd55fa1a331263d67b7c5f0325e0d5375ab504feeac7c  intel-gpu-tools-1.1.tar.bz2

MD5:  1e91a59552c120014e4a1472d7de2d04  intel-gpu-tools-1.1.tar.gz
SHA1: d4f3f5bb4bfd33c359bc60f8b59d9328ee85ddaa  intel-gpu-tools-1.1.tar.gz
SHA256: ebb67b84d407789de6ddaeb11a33f9f9f4567b632e18bbe8cc2da723820fa40a  intel-gpu-tools-1.1.tar.gz

Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48

More information about the xorg-announce mailing list