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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 1/10/2019 10:02 PM, Michał Winiarski wrote:
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ł

Padding 128 bytes of zeros are required by Gen HW. It is required for all shaders unless your compiler did it quietly.

It makes sense to combine the instructions into lib/i915/shaders/README and use existing python script to dump hex.

But the README seems to be outdated. I could not find intel-gen4asm when I follow the instructions to build intel-graphics-compiler. Can you update the README firstly to make it workable with latest https://github.com/intel/intel-graphics-compiler?

Regards, --Tony


+
+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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux