On Tue, Jan 08, 2019 at 03:13:02PM +0000, Tvrtko Ursulin wrote: > From: Tony Ye <tony.ye@xxxxxxxxx> > > Simple test which exercises the VME fixed function block. > > v2: (Tvrtko Ursulin) > * Small cleanups like copyright date, tabs, remove unused bits. > > v3: (Tony Ye) > * Added curbe data entry for dst surface. > * Read the dst surface after the VME kernel being executed. > > v4: (Tony Ye) > * Added the media_vme.gxa kernel source code and compile instructions. > > v5: (Tvrtko Ursulin) > * Added hang detector. > > v6: (Tvrtko Ursulin) > * Replace gem_read with gem_sync. (Chris Wilson) > > Signed-off-by: Tony Ye <tony.ye@xxxxxxxxx> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Tony Ye <tony.ye@xxxxxxxxx> > Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > --- > lib/gpu_cmds.c | 136 ++++++++++++++++++++ > lib/gpu_cmds.h | 20 ++- > lib/i915/shaders/media/README_media_vme.txt | 65 ++++++++++ > lib/i915/shaders/media/media_vme.gxa | 51 ++++++++ > lib/intel_batchbuffer.c | 9 ++ > lib/intel_batchbuffer.h | 7 + > lib/media_fill.c | 110 ++++++++++++++++ > lib/media_fill.h | 6 + > lib/surfaceformat.h | 2 + > tests/Makefile.sources | 3 + > tests/i915/gem_media_vme.c | 117 +++++++++++++++++ > tests/meson.build | 1 + > 12 files changed, 525 insertions(+), 2 deletions(-) > create mode 100755 lib/i915/shaders/media/README_media_vme.txt > create mode 100755 lib/i915/shaders/media/media_vme.gxa > create mode 100644 tests/i915/gem_media_vme.c > > diff --git a/lib/i915/shaders/media/README_media_vme.txt b/lib/i915/shaders/media/README_media_vme.txt > new file mode 100755 > index 000000000000..2470fdd89825 > --- /dev/null > +++ b/lib/i915/shaders/media/README_media_vme.txt > @@ -0,0 +1,65 @@ > +Step1: Building IGA (Intel Graphics Assembler) > +======================================================================== > + > +1. Download or clone IGC (Intel Graphics Compiler) > + > + https://github.com/intel/intel-graphics-compiler.git > + > +2. Chdir into 'intel-graphics-compiler' (or any other workspace folder of choice) > + > + It should read the following folder strucutre: > + > + workspace > + |- visa > + |- IGC > + |- inc > + |- 3d > + |- skuwa > + > +3. Chdir into IGA sub-component > + > + cd visa/iga > + > +4. Create build directory > + > + mkdir build > + > +5. Change into build directory > + > + cd build > + > +6. Run cmake > + > + cmake ../ > + > +7. Run make to build IGA project > + > + make > + > +8. Get the output executable "iga64" in IGAExe folder > + > + usage: ./iga64 OPTIONS ARGS > + where OPTIONS: > + -h --help shows help on an option > + -d --disassemble disassembles the input file > + -a --assemble assembles the input file > + -n --numeric-labels use numeric labels > + -p --platform DEVICE specifies the platform (e.g. "GEN9") > + -o --output FILE specifies the output file > + > + EXAMPLES: > + ./iga64 file.gxa -p=11 -a -o file.krn > + > +Step2: Building ASM code > +======================================================================== > +1. Command line to convert asm code to binary: > + > + iga64 media_vme.gxa -p=11 -a -o media_vme.krn > + > +2. Pad 128 bytes zeros to the kernel: > + > + dd if=/dev/zero bs=1 count=128 >> media_vme.krn Why we're padding it with 128B zeroes? We don't seem to do that for any other shaders. Could you modify this instruction to use lib/i915/shaders/converter.py and rather than adding yet another README, update lib/i915/shaders/README instead? -Michał > + > +3. Generate hexdump: > + > + hexdump -v -e '4/4 "0x%08x " "\n"' media_vme.krn > media_vme.hex _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx