Hi all, After a long time here is another intel-gpu-release with much stuff changed. Most of them in test framework with many testcases included. The plan now is to release intel-gpu-tools quarterly in sync or in time for validation of our Intel Linux Graphics Stack available at https://01.org/linuxgraphics/. Cheers, Rodrigo Vivi. NEWS: - Integration of the gen4+ assembler (Damien). - Start of a new performance analysis tool from Chris Wilson with front-ends for both X11 and plain kms. This uses the perf subsystem and the gpu performance counter kernel patches from Chris. - New register dumper quick_dump from Ben, with lots of work from Damien. This will superseed intel_reg_dumper for newer platforms (which are not yet released) since it will allow us to automatically generate register dumps from the internal xml register specifications. - Tools to access the pletoria of new indirect register access functions on newer platforms. - Framebuffer contents dumper to debug some of the nastier corruption issues. The advantage here is that this bypasses any userspace drivers and so avoids that the corruptions get magically fixed when taking an X screenshot. - Tons of new testcases. Including subtests we are now at roughly 450 tests! - Improvements to the test framework infrastructure. See http://blog.ffwll.ch/2013/08/recent-drmi915-testsuite-improvements.html for an overview. Alan Coopersmith (1): tests/gem_seqno_wrap.c: include <signal.h> for definition of kill() Ben Widawsky (58): clang: Fix warnings found through clang. clang: Fix static analysis warnings from clang intel_sprite_on: Idententation + Copyright fix intel_sprite_on: coding style fixes intel_sprite_on: plane needs 16.16 width and height sysfs rps test added sysfs_rps: Add negative test case for bad values intel_gtt: Fix PTE offsets configure.ac: Fix spacing configure.ac: Add vim magic modeline configure: slightly more standard --disable-tests configure.ac: Move prime stuff to where it belongs quick_dump: A dump utility different than reg_dumper quick_dump: gen6 support quick_dump: gen7 support quick_dump: vlv support configure.ac: Add swig dependency quick_dump: SWIG chipset interface quick_dump: Connect libpciaccess and other utils quick_dump: Use the register access library quick_dump: Give dumper an AM_CONDITIONAL README: Add quick_dump info quick_dump: chdir us to where the text files are fix arch build: update ax_python_devel.m4 quick_dump: prettier printing intel-gen4asm: have a C-like binary output intel-gen4asm: add byte array style disasm disasm: add pln instruction disasm: add sendc disasm: add gen6 style send decoding disasm: decode SENDC like SEND m4: Updates to ax_python_devel.m4 quick_dump: say something when reg init fails intel_mmio: Allow mmio without debugfs intel_mmio: a query for forcewake requirement quick_dump: add register write reg_access: Forcewake as necessary quick_dump: Add dpio read intel_error_decode: Whitespacing fix intel_error_decode: HEAD stuff gem_storedw_loop_vebox: Modernize test to look like blitter clean warnings: Silence unused (or private) functions intel_mmio: Add intel_register_access_needs_fakewake list-workarounds: Convert to python3 quick_dump: Add more ring registers quick_dump: Add basic haswell support quick_dump: Add CCID lib/intel_mmio: Fix the fix quick_dump: fix text file m4/ax_python_devel: Update to upstream tests: Basic tools tester lib/intel_mmio: Fix the fixed fix (register access) quick_dump: add is_haswell() intel_reg_dumper: Silence GCC for uninitialized clock gem_vmap_blits: Demote warning to note intel_gtt: Use function to get the physical address intel_gtt: Properly support gen6+ GTT PTEs intel_gtt: Raw PTE dumper mode Chen, Yangyang (2): fix CHANNEL select 1. fix DOT Chris Wilson (165): Add bare-metal interface to adjust cacheing (i.e. snoop status) of a bo tests/gem_cacheing: Exercise snoop coherency gem_gtt_speed: Use a memset() to test streaming performance gem_gtt_speed: Add a test that caches the mmapping across iterations tests/module_reload: Silence warnings when unloaded shared modules tests/flip_test: Revamp to demonstrate race with modeset/dpms and pageflips flip_test: count the number of flips and check we don't drop any tests: Add gem_cpu_reloc gem_wait_render_timeout: Fix SKIP return code gem_cpu_reloc: Fix for running on SNB+ gem_cpu_reloc: And run the test in reverse to check with already bound batches gem_cpu_reloc: Use the mappable aperture size! gem_cpu_reloc: Do another pass explicitly moving to the CPU write domain pci: Search for the first Intel GPU, rather than assume a fixed slot tests: Add basic test for render blits Implement a working gen7 rendercopy tests: Add a basic test for tiled render copies tests/gem_tiled_swapping: Don't needless crash on 32-bit systems tests/gem_tiled_pread_pwrite: Allow the kernel to reap the GTT address space tests/gem_*_tiled_blits: Use the vma limiter to present address space exhaustion tests: Add basic testing of gem_pin tests: Exercise new API for using a LUT with the execbuffer tests: Benchmark new API for using a LUT with the execbuffer tests/gem_lut_handle: Expand negative testing tests/gem_lut_handle: Limit testing LUT interface to recent kernels intel_error_decode: Don't barf on a malformed PCI ID line gem_fence_thrash: Fix array allocation size for LP64 systems Check for vebox support before testing gem_reg_read: Only check errno after a definite error gem_lut_handle: Make the error checking explicit for LUT handling gem_lut_handle: Avoid using a valid handle when testing BROKEN gem_lut_handle: Print some more information upon failure kms_render: Skip unsupported display configurations tests/kms_flip: Suppress failure from setting mode tests/gem_lut_handle: Simplify creation of broken handles tests/gem_lut_handle: Quit when we hit ENOSPC tests/gem_(cpu|gtt)_concurrent_blit: Enable signals tests/gem_(cpu|gtt)_concurrent_blit: Restore the old tests and add the new interruptible as new tests test/gem_(cpu|gtt)_concurrent_blit: Move the set_bo() from create to the test tests/gem_cpu_concurrent_blit: Undo debugging hack tests/gem_cpu_concurrent_blit: Restore lost intel_copy_bo() tests/kms_flip: Repeat all of the tests whilst being rudely interrupted tests/gem_(linear|tiled)_blits: Repeat whilst being interrupted tests/hangman: Be lenient towards a non-existent sysfs error state drm_lib.sh: Be more precise in detecting the i915 /sys path Avoid corrupting the exitcode with a failure to open a quiescent fd Make the failure message for drm_open_any() more specific gem_(tiled|linear)_blits: s/interrutible/interruptible/ tests/gem_write_read_ring_switch: Repeat under rude interrupter tests/gem_write_ring_switch: Skip on pre-SNB test/gem_pread_after_blit: Make the test a little more stressful gem_pread_after_blit: Exercise reading back through different cache levels gem_partial_pwrite_pread: Exercise different cacheing of the staging bo gem_pwrite: Time pwrites to both uncached/snooped memory gem_pread: Symmetric measurement to gem_pwrite lib: Reset sig_stat after stopping the rude interrupter gem_pwrite_pread: Measure how long it takes to upload/copy/download gem_pwrite_pread: Use mmap to bypass pwrite/pread for comparison intel_error_decode: First try /sys/drm/card0/error for the error-state Expand gem_set_cacheing testing to handle the proposed DISPLAY domain gem_pwrite: Print the cache name not the number gem_exec_lut_handle: Use linear regression analysis gem_write_read_ring_switch: Copy the missing igt_require gem_(cpu|prw)_concurrent_blit: Add contending processes Add intel_framebuffer_dump gem_concurrent_blit: Share total num_buffers between all children gem_concurrent_blit: Fix the leak from the children. drmtest: Squelch the rude interrupter gem_concurrent_blit: Purge the child bufmgr's cache Introduce intel-gpu-overlay overlay: Show GPU waits overlay: Primitive integration with perf overlay: Fix wraparound handling of perf ringbuffer overlay: Constify perf ringbuffer overlay: Drop unused mmap/comm events overlay: Track requests per-process overlay: Graph per-process requests over time overlay: Show per-process wait times overlay: Perf output redirection must be done after mmap() overlay: Couple wait begin/end events together to fix accounting overlay: Accumulate busy times overlay: Correct layout of ring/seqno in raw sample overlay: Improve the horizontal fit of the charts overlay: Count flips per plane overlay: Include CPU usage in the overview chart overlay: Add GPU frequency overlay: Parse gem objects overlay: Convert gem objects to megabytes overlay: Print min/max GPU frequencies. overlay: Rearrange GUI state overlay: Use a more compact 2x2 layout for the graphs overlay: Remove the double ':' from object comm names overlay: Don't smooth gpu freq overlay: Tweak a couple of the fill colours to be slightly less horrid overlay: Add a X11 window backend overlay: Tweak label locations to include baseline offset. overlay: Auatomatically mount debugfs overlay: Add missing include "debugfs.h" overlay: Wrap the colour index around the rgba array overlay: Add rc6 residency overlay: Add graph for GPU power consumption overlay: Fix counting fail overlay: use rc6_enable to drop useless information overlay: Sample power every second tests: Add gem_evict_everything gem_evict_everything: Fix the error code checking after drmIoctl lib: Make igt_assert() abort under gdb overlay: Take a snapshot on SIGUSR1 overlay: Use the new i915 PMU to query GPU busyness overlay: Add copyright statements overlay: Fix display of rc6 states overlay: Fix sampling of i915 perf event overlay: Fix old mmio gpu busyness probing tests: Add gem_evict_alignment overlay: Fade the graphs behind the text overlay: Put a faint outline around each chart overlay: i915 pmu doesn't require a specific frequency overlay: Fix underflow for clamping initial values overlay: Remove busy estimation overlay: Fill the blank charts with error messages overlay: Rudiments of config files and option parsing overlay: Make the config parser more lenient overlay: Double buffer the x11 window overlay: Close DRI2 device after authentication failure overlay: Replace debug ticker with hostname overlay: Search for right debugfs path overlay: Distinguish the root debugfs path and our dri node overlay: Fix power reading from debugfs overlay: Expose sampling period/frequency as a user parameter overlay: simplify types for object counts for 32/64bit porting overlay: Draw the cpu busy line on top of the waits overlay: Add a raw kms output overlay: Detach from terminal overlay: Monitor interrupts overlay: Allow simple positioning and resizing overlay: Count number of semaphores used by each process overlay: Trim the padding slightly overlay: Align the process names in the memory table overlay: Read power from perf_events overlay: Read frequency from perf overlay: Read interrupts from perf overlay: improve alignment of some labels overlay: Set the text color in case we do not have RC6 overlay: Add support for multi-monitor positioning overlay: read rc6 status from perf overlay: Restore the correct default font size overlay: Tidy presentation of ring busy values overlay: Scale the CPU busy value by the numer of active cores overlay: Include the core count in the cpu info line overlay: Add number of running processes to CPU display overlay: Generate unique name for snapshots overlay: Make it easier to renice overlay: Monitor per-ring context switch rate overlay: Autohide Flip counter after a period of inactivity overlay: Hide idle processes overlay: Increase idle timeout to 30s kms_flip: Exercise flip-vs-render kms_flips: Operate on an array of crtc kms_flip: Run on pairs of connected outputs. kms_flip: Hook up primary events for page-flips kms_flip: Use the first mode if we find no matching modes for the crtc pair kms_flip: Set everything to zero to disable a CRTC kms_flip: Remove debugging leftovers kms_flip: Fix use of fb_width for PAN subtests NEWS: smelling fixes Damien Lespiau (155): intel_reg_dumper: Add a single register decode mode intel_reg_dumper: Also decode registers given by address intel_reg_dumper: Allow partial register names on the command line intel_reg_dumper: Add more information when dumping single registers tools: Update gitignore with intel_dpio_{read, write} intel_infoframes: Dump HDMI vendor infoframes testdisplay: Use the fb stride when painting the color key lib: Add a way to specify values for "quick" runs tests: Add a quick variant to the gem_storedw_* tests tests: Forbid to run the blit tests with count of 1 lib: Factor out a function to check if an environment variable is set lib: Allow to override the device id at run time build: Guard the inclusions of config.h with HAVE_CONFIG_H build: Integrate the merged gen assembler in the build system build: Add CAIRO_FLAGS to the debugger compilation gitignore: Ignore TAGS files build: Don't use AM_MAINTAINER_MODE build: Only build the assembler if flex and bison are found build: Add the debugger compilation status to the summary assembler: Sync brw_instruction's header with mesa's assembler: Rename three_src_gen6 to da3src assembler: Rename dp_read_gen6 to gen6_dp_sampler_const_cache assembler: Rename dp_gen6 to gen6_dp and sync with Mesa's assembler: Rename dp_gen7 to gen7_dp and sync it with Mesa's assembler: Remove struct dp_write_gen6 and struct use gen6_dp assembler: Rename gen5 DP pixel_scoreboard_clear to last_render_target assembler: Rename branch to branch_gen6 assembler: Rename branch_2_offset to break_cont assembler: Rename bits3.id and bits3.fd assembler: Adopt brw_structs.h from mesa assembler: Remove trailing white spaces from brw_structs.h assembler: Adopt enum brw_message_target from mesa assembler: Rename BRW_ACCWRCTRL_ACCWRCTRL assembler: Import brw_defines.h from Mesa assembler: Remove trailing white space from brw_defines.h assembler: Update the disassembler code assembler: Import ralloc from Mesa assembler: Remove white space from brw_eu.h assembler: Introduce struct brw_context assembler: Make an libbrw library assembler: Protect gen4asm.h from multiple inclusions assembler: Import brw_eu_compact.c assembler: Import brw_eu.c assembler: Don't use -Wpointer-arith assembler: Import brw_eu_emit.c assembler: Use BRW_WRITEMASK_XYZW instead of the 0xf constant assembler: Remove the writemask_set field of struct dest_operand assembler: Use subreg_nr to store the address register subreg assembler: Simplify get_subreg_address() assembler: Make print_instruction() take an instruction assembler: Refactor the code adding instructions and labels assembler: Make explicit that labels are part of the instructions list assembler: Don't change the size of opcodes! assembler: Make sure nobody adds a field back to struct brw_instruction assembler: Don't expose functions only used in main.c assembler: Make struct declared_register use struct brw_reg assembler: Replace struct direct_reg by struct brw_reg assembler: Replace struct indirect_reg by struct brw_reg assembler: Unify the direct and indirect register type assembler: Replace struct dst_operand by struct brw_reg assembler: Consolidate the swizzling configuration on 8 bits assembler: Get rid of src operand's swizzle_set assembler: Use brw_reg in the source operand assembler: Factor out the destination register validation assembler: Use brw_set_dest() to encode the destination assembler: Factor out the source register validation assembler: ExecSize can be as big as 32 channels assembler: Fix comparisons between reg.type and Architecture registers assembler: Store immediate values in reg.dw1.ud assembler: Don't warn if identical declared registers are redefined assembler: Add location support assembler: Add error() and warn() shorthands and use them in set_src[01] assembler: Add a check for when width is 1 and hstride is not 0 assembler: Add a check for when ExecSize and width are 1 assembler: Add the input filename to the error/warning messages assembler: Use brw_set_src0() assembler: Port the warning and error reporting to warn()/error() assembler: Cleanup visibility of a few global variables/functions assembler: Fix ')' placement in condition assembler: Implement register-indirect addressing mode in brw_set_src1() assembler: Use brw_set_src1() assembler: Renamed the instruction field to insn assembler: Unify all instructions to be brw_program_instructions assembler: Move struct relocation out of relocatable instructions assembler: Gather all predicate data in its own structure assembler: Unify adding options to the header assembler: Isolate all the options in their own structure assembler: Introduce set_instruction_opcode() assembler: Introduce set_intruction_pred_cond() assembler: Introduce set_instruction_saturate() assembler: Expose setters for 3src operands assembler: Add support for D and UD in 3-src instructions assembler: Use brw_*() functions for 3-src instructions assembler: Don't pollute the library files with gen4asm.h assembler: Put struct opcode_desc back in brw_context.h assembler: Use set_instruction_src1() in send assembler: Finish importing brw_eu_*c from mesa assembler: Merge declared_register's type into the reg structure assembler: Use defines for width assembler: Remove trailing white space assembler: Don't use GL types assembler: Group the header inclusions together assembler: Fix the decoding of the destination horizontal stride assembler: Mark format() as PRINTFLIKE in the disassembler build: Fix typo if the test setting enable_debugger lib: Add a comment about why we only parse long options for subtests scripts: Add a script to list implemented workarounds README: Reword a few sentences build: Make grep silent when running make test lib: Remove the execution bit of intel_chipset.h Update .gitignore files with the new tests and tools lib: Add the declaration of intel_register_access_needs_fakewake() reg_dumper: Shut a warning down tools: Add a standalone tool to test the computation of r,n,p for WRPLLs ddi_compute_wrpll: Code the reference frequencies in Hz ddi_compute_wrpll: Fix the reference table for 37762500Hz ddi_compute_wrpll: Fix the reference for 222525Khz and 296703Khz ddi_compute_wrpll: Rework the logic around r2 and n2 a bit ddi_compute_wrpll: Factor out a common expression ddi_compute_wrpll: Do not use a double constant list-workarounds: Don't add an already present platform list-workarounds: Don't prepend kernel_path to the driver directory list-workarounds: Some workarounds start with WA, not Wa build: Depend on cairo 1.12.0 for CAIRO_FORMAT_RGB30 lib: Rename IGT_QUICK to INTEL_SIMULATION lib: Introduce drmtest_skip_on_simulation() lib: Remove old dead code intel_batchbuffer_emit_mi_flush() tests: Black list tests we don't want to run on simulation tests: Instrument tests run in simulation to run quickly tests: Instrument gem_lut_handle for simulation tests: Instrument gem_seqno_wrap to run in simulation tests: Add some tiled tests to the runs on simulation build: Fix a small typo in configure.ac build: Fix unbalanced quoting in the python dumper AC_ARG_ENABLE() build: Fix automake 1.13 warnings build: Pimp up the configure summary lib: Allow users of env_set() to specify a default value tests: Allow a shell test to declare it doesn't need to be DRM master tests: Source drm_lib.sh instead of having its own INTEL_SIMULATION test intel_infoframes: Add support for decoding HDMI VICs intel_infoframes: Dump 3D_Ext_Data when using Side-by-side (half) gem_ctx_basic: Fix misc warnings build: Fix the overlay build summary at the end of configure intel_infoframes: Be future-proof about showing 3D_Ext_Data assembler: Tune the error message for invalid send on gen6+ assembler: Revert "Automatically run all test cases." assembler: Revert "Fix missing environment variables problem in test/run-test.sh" assembler: Fix the path of intel-gen4asm assembler: Ignore make check output assembler: Disable tests that where already failing in the gen4asm repo assembler: Disable the declare test overlay: Include gpu-perf.h for distribution quick_dump: Use AM_V_GEN when generating the bindings gitignore: Add a couple of recent binaries to .gitignore files overlay: Fix stale mention to x11-position.c Daniel Vetter (240): drmtest: use do_or_die lib: helper to convert gem_hanlde to drm_intel_bo fixup .gitignore for newly add sysfs_rps test tests/flip_test: new testcase with a busy load before the flip tests/flip_test: re-enable disabled testcases tests/flip_test: check whether the pageflip event took too long tests/flip_test: check whether timestamp isn't in the past tests/flip_test: actually try to check what I want to check tests/flip_test: don't complain about timestamps in the future tests/flip_test: robustifications tests/flip_test: test interaction with panning tests/flip_test: also test pannning with dummy load flip_test: race against modesets, too tests/flip_test: measure inter-frame ts jitter flip_test: increase runtime of the plain flip to 15s flip_test: add an explicit flag for timing checks tests: add drm_threaded_access_tiled tests/gem_caching: only disable on vintage i965g/gm flip_test: fix timestamp order tests/*storedw*: add subcases with more outstanding batches tests/flip_test: check -EBUSY and -EINVAL behaviour tests/gem_cs_prefetch: clarify what it tests tests: add gem_cs_tlb tests: update .gitignore lib: make drmtest_progress more robust lib: remove auto-quiescenting of the gpu tests: add big batchbuffer test tests/gem_exec_big: add a reloc at the end of the big batch tests/gem_exec_big: fixups lib/mmio: gen2 has a bigger register window, too flip_test: tune test-durations a bit flip_test: drop vblank vs. pan flip_test: check whether wait_vblank fails when it should tests/gem_cs_tlb: make it more robust tests: add gem_non_secure_batch tests: infrastructure for piglit runner tests: remove ZZ_check_dmesg from runner tests: dont polute stderr if the test succeeds/skips lib/drmtest: subtest infrastructure tests/flip_test: use subtest infrastructure tests/gem_basic: convert to subtest infrastructure tests/gem_cacheing: convert to subtest infrastructure tests/gem_cpu_concurrent_blt: convert to subtest infrastructure tests/gem_cs_tlb: convert to subtests tests/gem_flink: convert to subtest infrastructure tests/gem_gtt_concurrent_blit: convert to subtest infrastructure tests: re-enable gem_hangcheck_forcewak tests/gem_mmap_gtt: convert to subtest infrastructure tests/gem_partial_pwrite_pread: refactor subtests into functions tests/gem_partial_pwrite_pread: convert to subtest infrastructure tests/gem_ringfill: convert to subtest infrastructure tests/gem_set_tiling_vs_blt: convert to subtest infrastructure tests/gem_tiled_partial_pwrite_pread: refactor subtests into functions tests/gem_tiled_partial_pwrite_pread: convert to subtest infrastructure tests: disable gem_non_secure_batch lib: extract get_render_copyfunc tests/gem_stress: prevent segfault in getopt parsing tools/intel_reg_dumper: add some cpt/ppt debug regs tests/gem_exec_bad_domains: add more bad domains tests/gem_flink: check flink lifetime rules README: add quick howto for using piglit as testrunner tests/Makefile.am: Add a comment about the subtest infrastructure README: piglit requires results-file for testruns tests: run no-op batches on all rings tests: fixup gem_exec_nop subtests tests/gem_dummy_reloc_loop: some updates tests/gem_exec_nop: implemented correct SKIP reporting tests: disable gem_exec_bad_domains/conflicting-write-domain tests/prime_nv_tests: convert to subtests tests/prime_nv_pcopy: convert to subtests tests/flip_test: split out timestamp checks into subtest flip_test: recreate fb tests/flip_test: add flip vs. rmfb testcase tests: s/flip_test/kms_flip tests/gem_flink: enable flink lifetime subtest lib: extract kmstest_get_pipe_from_crtc_id tests/kms_flip: don't die on stdin input tests: add testcase to check igt runtime enviroment tests/prime_nv_pcopy: guard output for subtest listing tests/Makefile.am: gem_fence_trash has grown subtests lib: fixup register access on gen2/3 tests/prime_udl: proper return values tests/prime_udl: skip harder tests/kms_flip: don't leak gpu hang state lib/drmtest: tune down signal handler stats tests/gem_fence_trash: make threaded tests more through-rough tests/prime_udl: don't put dirt into stderr when skipping tests: fix script testlist tests/gem_cpu_concurrent_blit: stop signal helper again lib/drmtest: set default sighandler for QUIT in the signal process test/drm_lib.sh: Updated sysfs error filename tests/drm_lib.sh: Don't die if the sysfs path can't be found tests/gem_linear|tiled_blits: convert to subtests tests/kms_flip: don't run blocking relateve vblank waits with interrupts tools/intel_reg_dumper: add gen6+ fences tools/intel_reg_dumper: fix up END register test: add gem_write_read_ring_switch tests: actually add gem_write_read_ring_switch tools/quickdump: gitignore generated files tests/prime_nv_api: convert to subtest infrastructure tests/prime_nv_api: Drop bogus check from import-twice test/prime_nv_api: more descriptive subtest names test/prime_nv_test: nicer test names test/prime_nv_test: use gem drmtest functions for pread/pwrite tests/prime_nv_api: check multiple foreign imports with flink lib/drmtest: fix const mismatch warning lib/drmtest: document interface groups with one-liners tests/gem_suspend: exercise fence restore code tests: sort tests in Makefile.am and .gitignore lib/drmtest: add gem_flink and gem_open tests: add gem_flink_race tests/gem_flink_race: kill debug printf tests/gem_flink_race: count leaked objects tests/gem_flink_race: check for expected flink failure code Revert "tests/gem_flink_race: count leaked objects" tests/gem_flink_race: actually make it somewhat useful tests/gem_flink_race: fix up scanf format tests/gem_flink_race: correct thread count tests/sysfs_edid_timing: use real bash tests/gem_flink_race: Kill duplicate drm_open_any tests/prime_self_import: Add racing handle2fd testcase tests: add gem_prw_concurrent_blt tests/gem_pwrite_pread: subtest annotation tests: update .gitignore tests/prime_self_import: Add a flink/dma-buf self-import test tests/prime_self_import: Fixup previuos test tests/prime_self_import: fix comment tests: s/cacheing/caching lib/drmtest: Add drmtest_subtest_block macro lib/drmtest: skip/fail handling tests/gem_caching: convert to use drmtest retval infrastructure lib/drmtest: make signal process cleanup more robust tests: use drmtest_skip() in caching ioctl helpers tests: use drmtest_skip to check for rings lib/intel_mmio: Remove unused label lib/drmtest: __ prefix for drmtest_run_subtest s/drmtest_subtest_block/drmtest_subtest/ s/drmtest_/igt_/ tests: s/return igt_retval();/igt_exit();/ tests: scrap old automake based kernel test runner tests: add drm_get_client_auth lib/drmtest: fixup igt_fail for the list-only case lib/drmtest: add igt_assert as a replacement for assert lib/drmtest: roll out igt_assert tests: s/assert/igt_assert tests/gem_ctx_bad_exec: convert to subtests tests/gem_readwrite: convert to subtests tests: s/exit(EXIT_FAILURE)/igt_fail(1)/ tests: s/exit(EXIT_SUCCESS)/igt_success()/ tests: s/exit(77)/igt_skip()/ tests: use igt_fail instead of exit(param != 0) tests: introduce igt_require configure: require libdrm 2.4.45 lib/drmtest: Don't run the rude interruptor when just listing subtests tests/gem_write_read_ring_switch: use igt_exit and friends tests/gem_dummy_reloc_loop: use igt_skip tests: add igt_subtest_f for snprintf'ing testnames lib/drmtest: Don't spoil stdout when listing tests tests: merge gem_*_concurrent_blt together tests/gem_concurrent_blt: refactor basic run modes a bit tests/gem_concurrent_blt: use the test helpers in the forked tests tests/gem_concurrent_blt: extract run wrappers tests: use igt_exit() consistently with subtests lib/drmtest: sprinkle documentation over igt_skip|fail|success|exit tests: Introduce igt_fixture tests/gem_ctx_bad_exec: add subtest for vebox tests: roll out igt_fixture lib/drmtest: add igt_subtest_name and use it in kms_flip lib/drmtest: documentation for igt_fixture tests/primve_nv_test: use igt_assert for checking tests/prime_nv_api: fixup conversion goof-up lib/drmtest: fix subtest output when skipping all tests tests/gem_ctx_basic: Use igt_require lib/drmtest: Use igt_assert in the do_ioctl/do_or_die helpers tests/prime: test dma-buf llseek support test/gem_dummy_reloc_loop: fix igt_require conversion lib/drmtest: skip fixtures after an igt_skip lib/drmtest: make igt_fail work outside of subtests lib/drmtest: Properly skip if no intel gfx supported lib/drmtest: rip out drm_open_any_master tests: roll out igt_require some more lib/drmtest: extract gem_create_context lib/drmtest: igt_skip when drm_get_card fails tests/gem_concurrent_blit: Fix segmentation fault tests/pc8: Update to latest igt infrastructure lib/drmtest: fix logic fumble in gem_context_create tests/sysfs_rps: Fix igt_require conversion tests/gem_evict_*: Add interruptible modes tests/gem_mmap: Convert to subtests tests/gem_mmap_gtt: Add testcase for the vma access manager lib/drmtest: don't complete fixtures with a longjmp Revert "tests/gem_concurrent_blit: Fix segmentation fault" lib/drmtest: restore in_fixture assert lib/drmtest: extract igt_fork from gem_concurrent_blt tests/gem_tiled_swapping: Use igt_require tests/gem_evict_*: Fix leak in copy tests/gem_evict_everything: add swapping and forked subtests lib/drmtest: Print info when children died due to signals tests/gem_mmap_gtt: clarify access check checks a bit tests/gem_mmap_gtt: fix access checks tests/gem_tiled_swapping: fix igt_require conversion test/gem_concurrent_blt: remove hack for testing igt_fork lib/drmtest: Improve output when igt_waitchildren fails tests/gem_reloc_vs_gpu: add interruptible version lib/drmtest: extract gem_execbuf helper lib/drmtest: include sys/mman.h from drmtest.h tests/gem_reloc_vs_gpu: Add faulting reloc tests lib/drmtest: use igt_require/assert in the prefault helpers tests/gem_reloc_vs_gpu: add forked versions tests/gem_reloc_vs_gpu: add thrashing tests tests: add gem_persisten_relocs tests: Update .gitignore lib/drmtest: add igt_skip_on macro tests: add missing igt_exit() calls tests/gem_pipe_control_store_loop: Add subtest for reused buffers tests/gem_exec_bad_domains: enable conflicting write domains test tests/gem_reloc_overflow: convert to subtests tests/gem_reloc_overflow: Add more checks lib/drmtest: Avoid calling exit handlers multiple times lib/drmtest: fixup for the prefault rework lib/drmtest: create helpers for forking helper threads tests/gem_reloc_vs_gpu: use igt_fork_helper lib/drmtest: consolidate the helper process killing in one exit handler lib/drmtest: double-check that we clean up helper processes lib/drmtest: Use ARRAY_SIZE lib/drmtest: skip when prefault control isn't available lib/drmtest: Fix igt_stop_signal_helper for subtest listing lib/drmtest: Reject igt_fork from within igt_fork earlier lib/drmtest: handle SIGBUS in the exit handlers tests/gem_reloc_vs_gpu: some fixes tests/gem_persisten_relocs: Update like gem_reloc_vs_pug lib/drmtest: clean up children in an exit handler lib/drmtest: don't frob signals in __igt_fork_helper lib/drmtest: Restore default sighandlers lib/drmtest: drop unused oldsig variabel lib/drmtest: skip suspend tests in simulation reconstruct NEWS file for the releases thus far initial release notes for the next release lib: add test for igt_fork_signal_helper lib/drmtest: ducttape over fork race Dave Airlie (1): intel/udl tests; Eero Tamminen (1): man: Fixes typo in intel_lid.man Eric Anholt (85): Initial gen4asm code. Get the wm program to parse. Start correcting the translation. actually print out last uint32_t of instruction. Add Wall. C warnings cleanup. Fix horizontal stride translation. Remove generated file. And add a comma. This was supposed to be a minor change. Fix dest_horiz_stride translation, and destination type. Fix imm32 translation. Add support for negate and abs to source operands. Remove generated source from repo. Fix translation of saturate value, and wire conditionalmod to 0 for now. Fix translation of message registers. This code was supposed to be null instead of acc0 (brw_disasm.c gave "a0"). Fill in type of null register to match Mesa. bzero instructions before filling in the bits we care about. There's no reason to provide typing or region on the null register. Zero out the initial header instoptions. Fix up sampler send message translation and give it a near-usable syntax. Fix respecting of instruction options (misunderstood default action behavior). Add syntax for translating the DP write send message. Add packed yuv sf kernel from 2d driver. Add some more generated files to ignore. Add a syntax for urb write messages. Add syntax for extended math send functions, and adjust packed_yuv_sf for it. Lex the register number with the register name. Add many more opcodes. Add a negation that the initial disasm missed. Rename the resulting binary to gen4asm instead of lextest. Add rules for more registers, and use some for destinations. Add support for more registers as source operands. Support src ARF operands in another place, and spell it arch instead of acc. Rename direct_gen_reg struct to direct_reg now that it fills more roles. Typo fix in comment. Add support for more instruction options. Comment cleanup and add missing semicolons after rules. Add acc[01] as src operands. Add support for swizzle control on source operands. Add support for predicate control. Avoid shift/reduce conflict in predicate by making flagreg and subreg 1 token. Add support for destination writemasks. Add support for register-indirect access in destination registers. Add support for register-indirect addressing in source operands. Add input/output file command line arguments. Add autotools build system, and rearrange directory layout. Fix issues in the grammar that caused errors in bison. Fix gram.h creation, fixing dependencies and distcheck. Fix a compiler warning by defining struct {in,}direct_reg at the top level. Add DO and ENDIF instructions. Add rules for branch and jump instructions. Add a rule for the ELSE instruction. Start adding a test suite. Add more unary operation tests. Add configure.lineno to ignores. Add some masks in comments that will help with writing tests. Explain why rnde-intsrc is expected to fail. Add tests for jmpi, if, iff, and while, revealing issues. Initialize the structure used for setting up the ip src/dst in branches/jumps. Fix copy'n'paste-o in lexing of the WHILE instruction. Fix the width of the IP count field expected by the while test. Parse negative integers for imm32s, and don't exceed the IP count width field. Add a failing test for maximum ranges of UD/D immediates. Lex integers as unsigned long instead of signed int, fixing the immediate test. Add a test for wait instruction (not yet implemented). Add support for the WAIT instruction. Add a test for the ELSE instruction, revealing issues. Fix initialization of null reg for ELSE, and set the pop count right. Add a test for ENDIF, revealing issues. Fix the exitcode type for ENDIF to be D instead of UD. Add tests for break, cont, and halt instructions. Add break, cont, and halt instructions. Update the TODO with more tasks and a bit more description. Use inttypes.h to get at uint32_t instead of sys/types.h. Use 0 instead of INITIAL, as the chosen lex on my debian doesn't supply it. Rename package and binary to intel-gen4asm. Update .gitignore for gen4asm -> intel-gen4asm More renaming of gen4asm -> intel-gen4asm, plus README update. Add accidentally forgotten rnde test. Fix compiler warning from missing include. whitespace cleanup from Mesa import. disasm: Print out ELSE and ENDIF src1 arguments like IF does. Fix setup of immediate types for gen4 disasm. intel_perf_counters: a little tool for dumping performance counters. Feng, Boqun (1): Send instruction on PRE-ILK Gwenole Beauchesne (4): Bump gen_level to multiple of tens. Allow Gen version decimals. Add initial support for Haswell. Fix JMPI encoding for Haswell. Homer Hsing (65): Fix a typo ... lable -> label Close input file handler yyin after yyparse Call yylex_destroy() to free memory after yyparse() close File yyin before calling yylex_destroy Comment magic words "da1", "da16", "ia1", and "ia16" add data structure in src/brw_structs.h for supporting three-source-operator instruncions Support trinary source instruction "multiply add". Supporting LRP: dest = src0 * src1 + (1-src0) * src2 Supporting bit field extract and bit field insert 2 Supporting addc instruction Delete an extra space character in brw_defines.h Supporting instruction Bit Field Insert 1 Supporting instruction "reverse bits" Supporting count bit set instruction Supporting half precision to single precision float convertion Supporting find first bit instructions Supporting integer subtraction with borrow Replace bzero by memset. Better comment text. Change "c like" to "C style" in main.c Move program_defaults init statement into variable declaration Reduce hash value collision probability in src/main.c Fix a typo in src/main.c: "in unit of type" -> "in unit of byte" Make the entry point padding code logic looks nicer Reduce memory cost in entry_table Merge same if branches in declare_pragma section in gram.y Pad NOP instructions instead of the ILLEGAL instruction for entry Use bits3.if_else.jump_count instead of bits3.ud for readability Renaming according to BSPEC: jump_count -> JIP; pop_count -> UIP. Explain the difference between binaryinstruction and binaryaccinstruction According to BSPEC, put PLN & BFI1 to binaryop, put SUBB to binaryaccop Rename brw_instruction.bits3.if_else to branch Add a test case for ".declare" pragma Add a generic hash table algorithm. Reuse for declared_reg_table and label_table in the future. Fix missing environment variables problem in test/run-test.sh Automatically run all test cases. Fix field length of JIP for one-offset-branch in Gen6 Fix memory leaking in the parser Add test case for ".declare" overriding feature. Add second_reloc_target in the data structure. Rewrite label matching code. Collect labels in a linked list. Restrict type of relativelocation2 to int Reduce replicative code in gram.y by reloc_target field in src_operand Merge replicative code in gram.y Support subroutine instructions, CALL & RET Use right-recursing in parser rule inst_option_list Supporting multi-branch instructios BRD & BRC Fully support Gen7 branching instructions Fix reloc_target_offset computing logic Compile ELSE and WHILE in Gen5 as same way as in Gen4 Support Gen6 three-source-operand instructions. Let ip_dst and ip_src become local const variable, so as to reduce replicated code. Replace variable init code in WAIT by src_null_reg Support Gen6 CALL instruction. Support Gen6 RET instruction. Make sure BREAK/CONT/HALT work on Gen6. Fix Gen6 ELSE instructions code logic according to bspec. Fix JIP position for Gen6 JMPI Make sure Gen6 ENDIF work Make sure Gen6 IF works Support Gen6 WHILE instruction Show warning when compiling the grammar parser Fix symbol register subreg number calculation rule symbol_reg_p Fix sub-register number of an address register encoding Fix Gen7 JMPI compilation Fix typo. "donesn't" -> "doesn't" Imre Deak (69): fix warn: 'div' shadows a global declaration fix warn in intel_error_decode: ignoring return value of 'asprintf' fix warn in intel_reg_snapshot: ignoring return value of 'write' fix warn in gem_readwrite: 'read/write' shadows a global declaration fix warn in sysfs_{rc6, rps}*: ignoring return value of 'fscanf' fix warn in gem_reg_read: 'read' shadows a global declaration fix warn in prime_nv_*: ignoring return value of ?fgets? fix warn in testdisplay: ignoring return value of 'chdir' drmtest: add function to remove an DRM FB flip_test: free FBs after each test run flip_test: reset the state for each test run flip_test: check drmHandleEvents()' return value test_flip: fix checking for delayed event reception flip_test: factor out drmModePageFlip flip_test: store fb width, height in test context object flip_test: move output panning inside the flip_handler flip_test: factor out the event loop/wait for event logic flip_test: factor out the final state check flip_test: store current flip/received timestamps in the context obj flip_test: split the flip handler into logical parts flip_test: swap the order of check state/run test step flip_test: factor out the event state flip_test: don't skip checks for sequence #1 flip_test: store the pipe id in the test context obj flip_test: unify the name of the current test in status messages flip_test: make page flip tests conditional flip_test: add logic to track pending events flip_test: add event sequence number tracking flip_test: add check to see if any event has occured flip_test: add wait-for-vblank tests flip_test: increase duration for vbl+flip tests with ts check flip_test: fixup zero timestamp for premature vblanks flip_test: check if the vblank and flip states correlate flip_test: add comment about the race between flip vs. vblank events flip_test: add wf-vblank test for expired sequence flip_test: skip check for last_received_ts for the first event flip_test: use monotonic time to measure the test duration flip_test: switch to using monotonic timestamps (v2) flip_test: fix link error due to missing -lrt tests/prime_self_import: add subtest to export/import a second gem buffer kms_flip: suppress uninitialized var warning lib: add helper to set VT graphics mode kms_flip: set VT graphics mode testdisplay: set VT graphics mode lib: fix exit handler when multiple handlers are registered lib: export the exit handler interface kms_flip: do a DPMS ON when exiting with error kms_flip: add subtests for the DPMS OFF->modeset->flip sequence lib: make sure all rings are idle in gpu_quiescent_gpu() tests/lib: make sure the GPU is idle at test start and exit lib: move connector_type_str and co to drmtest lib: add kmstest_cairo_printf_line lib: use kmstest_cairo_printf_line in paint_marker lib: add kmstest_get_connector_config lib: refactor kmstest_create_fb tests: add kms_render lib: fix drm_fourcc.h include path intel_batchbuffer: add support for non-32bit blt copies lib: export drm_format_to_bpp kms_render: fix gpu-blit for non-32bit bpps lib: export kmstest_get_connector_default_mode lib: shorten DP/eDP connector names lib: handle SIGSEGV similarly to other error signals lib: add subtest extra command line option handling tests: add kms_setmode lib/drmtest: fix handling of -h --help argument parsing tests/kms_setmode: don't save/restore vt graphics for dry-run lib/intel_batchbuffer: remove code w/o effect lib: fix the fix for gen5 workaround emmision Jani Nikula (1): quick_dump: vlv mipi dsi register support Jesse Barnes (5): add more VLV PCI IDs add VLV punit & north cluster read tools fixup VLV reg offsets, add a few more add punit and nc read/write tools for vlv fix breakage from newly used functions vs rebase Kees Cook (1): tests: add gem_reloc_overflow to check wrapping Keith Packard (8): Add GCC warnings Add packed vector immediate values Ensure that parse errors cause non-zero exit. Support #line directives Add disassembler (intel-gen4disasm). Add math and urb units, deal with nop Add conditional support to assembler. Add align16 dest support to disasm. Support more addressing modes in disasm Kenneth Graunke (3): intel_chipset: Fix Haswell CRW PCI IDs. intel_perf_counters: Abstract out Ironlake-specific code. intel_perf_counters: Add support for Sandybridge. Lu Guanqun (1): fix the label checking logics Maarten Lankhorst (1): tests/prime_nv_pcopy.c: fail if nouveau_pushbuf_kick fails rather than spinning Matt Turner (3): configure.ac: fix autogen.sh quick_dump: Makefile.am best practices and fix distcheck assembler: Add support for the SENDC instruction. Mengdong Lin (1): quick_dump/bdw: use hex() to convert devid to hex string in error message Mika Kuoppala (11): tests: add gem_seqno_wrap tests/gem_seqno_wrap: dont sync when crossing half of seqno space tests/gem_seqno_wrap: adapt to new next_seqno debugfs interface tests/gem_seqno_wrap: skip if debugfs entry is not there tests/gem_ctx_exec: properly test destroy_ctx ioctl tests: add write-verify test to gem_fence_thrash tests/gem_seqno_wrap: verify debugfs write with readback tests: rename debugfs base path to be more specific tests: add i915_sfs_path tests/ZZ_hangman: Test both error_state interfaces tools/inter_error_decode: decode for ctl and acthd Paulo Zanoni (14): lib: detect PCH_LPT and PCH_NONE intel_reg_dumper: recognize LPT intel_reg_dumper: make Haswell dump useful intel_reg_dumper: decode some useful Haswell registers intel_reg_dumper: dump HSW watermark registers lib: fix HAS_PCH_SPLIT check intel_reg_dumper: debug SDEISR on Haswell intel_reg_dumper: improve the dumping of backlight registers intel_reg_dumper: add hsw_debug_lp_wm lib: fix WM_DBG register address intel_reg_dumper: enable the power well tests: add pc8 tests/pc8: fix function return value tests/pc8: don't work around the eDP I2C bug Rodrigo Vivi (11): tools: intel_gpu_abrt "get" function tools: intel_gpu_abrt collecting more useful info tools: intel_gpu_abrt checking for root access tools: intel_gpu_abrt bug report template. Build: Add --disable-tests configure flag to avoid tests build intel_chipset: Fix Haswell GT3 names. intel_chipset: Adding more reserved PCI IDs for Haswell. tests: ddx_intel_after_fbdev loads intel ddx after fbdev was loaded. overlay: fix link error due to missing -lrt NEWS: Fix dates of previous releases bump version to 1.4 and add the release date Thomas Jarosch (1): Fix out of bounds memory access Ville Syrj?l? (16): kms_flip: Add -lrt back kms_flip: Make flip events optional kms_flip: Add flip-vs-modeset-vs-hang test intel_chipset: Use parens around macro arguments intel_chipset: Add multiple inclusion guards into intel_chipset.h kms_flip: Split the "no events" logic into a separate flag kms_flip: Add a flip-vs-panning-vs-hang test kms_flip: Add flip-vs-bad-tiling test kms_flip: Don't access freed data tests/gem_fenced_exec_thrash: Increase MAX_FENCES to 32 tests: Use gem_available_fences() tests/gem_tiling_max_stride: Add a test for max fence stride tests/gem_fenced_exec_thrash: Test with > max fences quick_dump: Add automagic DPIO register support quick_dump: Document the register definition format quick_dump: Add VLV DPIO registers Xiang Haihao (1): Add support for GEN5 Xiang, Haihao (43): change read message format on GEN5 the offset of JMPI is in unit of 64bits on GEN5. add intel-gen4asm.pc.in add -g 6 for Sandybridge fix jump count for Sandybridge. always set destination horiz stride for Align16 to 1 on Sandybridge. add AccWrCtrl flag on Sandybridge fix send instruction on Sandybridge add support for data port write on Sandybridge. add support for data port read on Sandybridge sampler, urb write, null and gateway on Sandybridge are same as Ironlake. print error message when using math function on Sandybridge. no compression flag on Sandybridge Send on Sandybridge uses a message register as operand src0 add support for plane instruction (pln) add support for math instruction on Sandybridge bump version to 1.1 Support for headerless write Support instructions which strictly follow the documents. fix notification count register send instruction on GEN6 fix the parameters of register region Add -g 7 for Ivybridge Add support for data port read/write on Ivybridge Add support for sample (00000) on Ivybridge SEND uses GRFs instead of MRFs on Ivybridge fix an error in commit cf76278 sampler/render/constant cache unit since Sandybridge Support DP for sampler/render/constant/data cache Support VME on Ivybridge bump version to 1.2 A new syntax of SEND intruction on Ivybridge Accept symbol register as the leading register of the request Change the rule for flag register Remove flag_reg_nr from the DW3 of an instruction s/flag_reg_nr/flag_subreg_nr for an instruction Add support for flag register f1 on Ivy bridge Waring if both predication and conditional modifier are enabled but use different flag registers bump version to 1.3 gem_ring_sync_loop: check the rings supported by the kernel gem_ring_sync_loop: test the new ring tests: storedw on VEBOX assembler: error for the wrong syntax of SEND instruction on GEN6+ Xiong Zhang (2): lib/drmtest: add drmtest_disable/enable_prefault() function tests: add reloc, pread, pwrite slow path subtest Yi Sun (4): Add option -o <number>, which can test only one specified mode. tests/testdisplay: Specify the display. tests/testdisplay.c: Fix the issue which don't display anything until '-o' given. tests/testdisplay.c: Remove the variable only_one_mode. Zhao Yakui (1): Add the CRE enginee for HSW+ Zhong Li (5): gem_ring_sync_loop.c: fix an operator error gem_cs_tlb.c: add vebox test case gem_exec_nop.c: add vebox test case i-g-t: check kernel enable rings or not i-g-t: gem_dummy_reloc_loop.c: add vebox test case Zhou Chang (1): Add VME support in SEND Zou Nan hai (5): Add thread_spawner message target support. Add support for dp_read message. support simple expression 1. type syntax :ud :uw etc use left recursion instead of right recursion to avoid memory exhausted issue when compiling large source files Zou Nanhai (1): Add support for labeled and conditional branches git tag: intel-gpu-tools-1.4 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.4.tar.bz2 MD5: bfa2ff70c09c95fcad46e7d332e08d28 intel-gpu-tools-1.4.tar.bz2 SHA1: c118ad97d38697ca4f119df868fe5c2eca03d0ed intel-gpu-tools-1.4.tar.bz2 SHA256: ba37f6adb2ffd3b69540ada116ad12d50e8d80c9322eca89bc23a8fe4a51eae6 intel-gpu-tools-1.4.tar.bz2 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.4.tar.gz MD5: d073a864fed557d5936e0c66b45541aa intel-gpu-tools-1.4.tar.gz SHA1: 26d001564f0ff9c241ec5d409698c5a108928b76 intel-gpu-tools-1.4.tar.gz SHA256: 26387981e877980e2740897dd306d41f00eb8b7f2dee77994566a331b1360df4 intel-gpu-tools-1.4.tar.gz -- Rodrigo Vivi Blog: http://blog.vivi.eng.br