[Intel-gfx] [igt-dev] [PATCH i-g-t 3/4] tests/gem_media_vme: Simple test to exercise the VME block

Michał Winiarski michal.winiarski at intel.com
Thu Jan 10 14:02:35 UTC 2019


On Tue, Jan 08, 2019 at 03:13:02PM +0000, Tvrtko Ursulin wrote:
> From: Tony Ye <tony.ye at intel.com>
> 
> 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 at intel.com>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Tony Ye <tony.ye at intel.com>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> ---
>  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


More information about the Intel-gfx mailing list