mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-21 14:56:18 +00:00
For posterity, I've squashed these commits against Damien's request. rendercopy/gen8: Fix the include guards rendercopy/gen8: Update the 3DSTATE_MULTISAMPLE opcode The opcode has changed in BDW. rendercopy/gen8: Add the VF_TOPOLOGY state The primitive type has moved out of the 3DPRIMITIVE to its own state, VF_TOPOLOGY. rendercopy/gen8: Fixup 3STATE_PS Update the state to the latest BSpec, in particular the thread count was using a wrong shift and we were missing kernel2 offset. rendercopy/gen8: Update 3DSTATE_BASE_ADDRESS This state has seen its fields moved around a bit, follow the BSpec. rendercopy/gen8: Allocate 64 VUEs The simulator screams at us if we try to allocate less than that. rendercopy/gen8: Surface states have to be 64 bytes a aligned rendercopy/gen8: Vertical/horizontal align 2 does not exist any more So set them to 4. This should not matter with rendercopy (which is not using compressed textures), but it makes the simulator moan. rendercopy/gen8: Make sure the vertex buffer is 8 bytes aligned rendercopy/gen8: Adjust 3DSTATE_VERTEX_BUFFERS for gen8 The address of the buffer is now on 48 bits. Also the size was computed as offset + size where the field is really the size of the buffer itself, not the end address. rendercopy/gen8: Update the SF/SBE states for gen8 gen8 has a few changes around those states and a new ones RASTER and SBE_SWIZ. rendercopy/gen8: Add the PS_EXTRA and PS_BLEND states rendercopy/gen8: Fix building with DEBUG_RENDERCOPY defined The forward declaration was missing the final ';'. Let's move the whole function at the top instead. rendercopy/gen8: Update the PS and CONSTANT_PS states rendercopy/gen8: Fix the red channel selection Make it output red. rendercopy/gen8: Update the write -1 shader With the latest assembler changes from Haihao. rendercopy/gen8: Remove blit.g8a There is no diff between this file and blig.g7a. Remove it. rendercopy/gen8: Fix the surface relocation offset The surface base address is now at dwords 8/9 so the relocation has to mirror the change. rendercopy/gen8: Add the VF_INSTANCING state Should work without, but doesn't hurt to add it. rendercopy/gen8: Set the Attribule enable field in PS_EXTRA When the SF is set up to output some attributes, the pixel shader also have to be told there's attributes to care about. rendercopy/gen8: Set the force bits to read URB offset/length If we want to override the URB offset/length in the SBE state itself, we need to set the force bits on (new in gen8) Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
This is a collection of tools for development and testing of the Intel DRM driver. There are many macro-level test suites that get used against our driver, including xtest, rendercheck, piglit, and oglconform, but failures from those can be difficult to track down to kernel changes, and many require complicated build procedures or specific testing environments to get useful results. Thus, intel-graphics-tools was a project I started to collect some low-level tools I intended to build. benchmarks/ This should be a collection of useful microbenchmarks. The hope is that people can use these to tune some pieces of DRM code in relevant ways. The benchmarks require KMS to be enabled. When run with an X Server running, they must be run as root to avoid the authentication requirement. Note that a few other microbenchmarks are in tests (like gem_gtt_speed). tests/ This is a set of automated tests to run against the DRM to validate changes. Hopefully this can cover the relevant cases we need to worry about, including backwards compatibility. Note: The old automake based testrunner had to be scraped due to upstream changes which broke dynamic creation of the test list. Of course it is still possible to directly run tests, even when not always limiting tests to specific subtests (like piglit does). The more comfortable way to run tests is with piglit. First grab piglit from: git://anongit.freedesktop.org/piglit and build it (no need to install anything). Then we need to link up the i-g-t sources with piglit piglit-sources $ cd bin piglit-sources/bin $ ln $i-g-t-sources igt -s The tests in the i-g-t sources need to have been built already. Then we can run the testcases with (as usual as root, no other drm clients running): piglit-sources # ./piglit-run.py tests/igt.tests <results-file> The testlist is built at runtime, so no need to update anything in piglit when adding new tests. See piglit-sources $ ./piglit-run.py -h for some useful options. Piglit only runs a default set of tests and is useful for regression testing. Other tests not run are: - tests that might hang the gpu, see HANG in Makefile.am - gem_stress, a stress test suite. Look at the source for all the various options. - testdisplay is only run in the default mode. testdisplay has tons of options to test different kms functionality, again read the source for the details. When creating new tests or subtests please read and follow tests/NAMING-CONVENTION. lib/ Common helper functions and headers used by the other tools. man/ Manpages, unfortunately rather incomplete. tools/ This is a collection of debugging tools that had previously been built with the 2D driver but not shipped. Some distros were hacking up the 2D build to ship them. Instead, here's a separate package for people debugging the driver. These tools generally must be run as root, safe for the ones that just decode dumps. tools/quick_dump Quick dumper is a python tool built with SWIG bindings to important libraries exported by the rest of the tool suite. The tool itself is quite straight forward, and should also be a useful example for others wishing to write python based i915 tools. Note to package maintainers: It is not recommended to package this directory, as the tool is not yet designed for wide usage. If the package is installed via "make install" the users will have to set their python library path appropriately. Use --disable-dumper debugger/ This tool is to be used to do shader debugging. It acts like a debug server accepting connections from debug clients such as mesa. The connections is made with unix domain sockets, and at some point it would be nice if this directory contained a library for initiating connections with debug clients.. The debugger must be run as root: "sudo debugger/eudb" DEPENDENCIES This is a non-exchaustive list of package dependencies required for building everything: libpciaccess-dev libdrm-dev xutils-dev libcairo2-dev swig2.0 libpython3.3-dev x11proto-dri2-dev
Description
Languages
C
95.5%
Yacc
2.5%
Makefile
0.5%
Shell
0.5%
Lex
0.3%
Other
0.6%