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 http://cgit.freedesktop.org/~danvet/drm/log/?h=my-next contains fixes for all known issues this hits. Reports for any issues not yet fixed there highly welcome. Enjoy! -Daniel 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 3DSTATE_DRAWING_RECTANGLE Decode scissor state Decode 3DSTATE_LOAD_INDIRECT S0-S4 Decode 3DSTATE_LOAD_INDIRECT Fully decode map state Fully decode sampler state Small cleanups for immediate state S5 Decode 3DSTATE_CLEAR_PARAMETERS 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 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.1.tar.bz2 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 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.1.tar.gz 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