All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING
@ 2018-10-02 13:49 Katarzyna Dec
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-02 13:49 UTC (permalink / raw)
  To: igt-dev

This is the same series that was sent in june'18, but got lost during review.
Major issue was with introducing IGA for newer gens.
I've discussed about this series lately on intel-gfx and with high probability
we could merge it (after successful review).

Please look at these patches and leave your comment.

Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>

Katarzyna Dec (2):
  shaders: Add assembler instructions and update README for shaders
  lib/i915: Move shaders directory

 lib/i915/shaders/README                       | 19 +++++++++++++++
 lib/i915/shaders/converter.py                 | 24 +++++++++++++++++++
 lib/i915/shaders/gpgpu/README                 | 15 ++++++++++++
 .../i915/shaders}/gpgpu/gpgpu_fill.gxa        |  0
 lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm    | 10 ++++++++
 lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm    | 10 ++++++++
 lib/i915/shaders/media/README                 | 14 +++++++++++
 .../i915/shaders}/media/media_fill.gxa        |  0
 lib/i915/shaders/media/media_fill_gen8.asm    | 11 +++++++++
 lib/i915/shaders/ps/README                    |  9 +++++++
 {shaders => lib/i915/shaders}/ps/blit.g7a     |  0
 lib/i915/shaders/ps/blit_gen8.asm             |  7 ++++++
 lib/i915/shaders/ps/neg1_gen8.asm             |  9 +++++++
 .../i915/shaders}/ps/neg1_test.g7a            |  0
 shaders/gpgpu/README                          |  4 ----
 shaders/media/README                          |  5 ----
 shaders/ps/README                             |  1 -
 17 files changed, 128 insertions(+), 10 deletions(-)
 create mode 100644 lib/i915/shaders/README
 create mode 100644 lib/i915/shaders/converter.py
 create mode 100644 lib/i915/shaders/gpgpu/README
 rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill.gxa (100%)
 create mode 100644 lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm
 create mode 100644 lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm
 create mode 100644 lib/i915/shaders/media/README
 rename {shaders => lib/i915/shaders}/media/media_fill.gxa (100%)
 create mode 100644 lib/i915/shaders/media/media_fill_gen8.asm
 create mode 100644 lib/i915/shaders/ps/README
 rename {shaders => lib/i915/shaders}/ps/blit.g7a (100%)
 create mode 100644 lib/i915/shaders/ps/blit_gen8.asm
 create mode 100644 lib/i915/shaders/ps/neg1_gen8.asm
 rename {shaders => lib/i915/shaders}/ps/neg1_test.g7a (100%)
 delete mode 100644 shaders/gpgpu/README
 delete mode 100644 shaders/media/README
 delete mode 100644 shaders/ps/README

-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
@ 2018-10-02 13:49 ` Katarzyna Dec
  2018-10-02 13:57   ` Kalamarz, Lukasz
                     ` (2 more replies)
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory Katarzyna Dec
                   ` (4 subsequent siblings)
  5 siblings, 3 replies; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-02 13:49 UTC (permalink / raw)
  To: igt-dev

We're not planning to work on assembler in igt anymore, since we can
reuse an existing project (IGA) that will do this work for us. The
only extra thing we need to do is convert the result binary to C-array,
simple python script.

v2: Moved converter to single file. Fixed README for shaders.

Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
---
 shaders/README                    | 19 +++++++++++++++++++
 shaders/converter.py              | 24 ++++++++++++++++++++++++
 shaders/gpgpu/README              | 11 +++++++++++
 shaders/gpgpu/gpgpu_fill_gen8.asm | 10 ++++++++++
 shaders/gpgpu/gpgpu_fill_gen9.asm | 10 ++++++++++
 shaders/media/README              |  9 +++++++++
 shaders/media/media_fill_gen8.asm | 11 +++++++++++
 shaders/ps/README                 |  8 ++++++++
 shaders/ps/blit_gen8.asm          |  7 +++++++
 shaders/ps/neg1_gen8.asm          |  9 +++++++++
 10 files changed, 118 insertions(+)
 create mode 100644 shaders/README
 create mode 100644 shaders/converter.py
 create mode 100644 shaders/gpgpu/gpgpu_fill_gen8.asm
 create mode 100644 shaders/gpgpu/gpgpu_fill_gen9.asm
 create mode 100644 shaders/media/media_fill_gen8.asm
 create mode 100644 shaders/ps/blit_gen8.asm
 create mode 100644 shaders/ps/neg1_gen8.asm

diff --git a/shaders/README b/shaders/README
new file mode 100644
index 00000000..3365a209
--- /dev/null
+++ b/shaders/README
@@ -0,0 +1,19 @@
+This directory is for shaders used in media_fill, gpgpu_fill, rendercopy
+and media_spin libraries.
+
+Till Gen8 shaders were generated using intel-gen4asm script (implementation in
+assembler/ directory). From Gen8 it is possible to use Intel Graphics Assembler
+to generate binary from asm instructions.
+https://github.com/intel/intel-graphics-compiler
+    1. Clone IGC project
+    2. Go to igc/visa/iga
+    3. Build iga
+        cmake . && make
+
+For maintaining compatibility with our tests there is a bin to hex converter
+written in python:
+    $>converter.py input_file > output_file
+e.g.$>python converter.py gen9_iga_output > gen9_hex_array
+
+Instructions how to build media, gpgpu or ps shaders included in their
+subdirectories.
diff --git a/shaders/converter.py b/shaders/converter.py
new file mode 100644
index 00000000..a50ac96c
--- /dev/null
+++ b/shaders/converter.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python2
+import struct
+import sys
+import argparse
+
+parser = argparse.ArgumentParser(description='Script for converting shaders in binary to hex.')
+args = parser.parse_args()
+
+print "static const uint32_t kernel[][4] = {"
+
+with open(sys.argv[1], 'r') as f:
+    fmt = '<LLLL'
+    step = struct.calcsize(fmt)
+    while True:
+        buf = f.read(step)
+        if not buf:
+            break
+        elif len(buf) < step:
+            buf += '\x00' * (step - len(buf))
+
+        val = struct.unpack('<LLLL', buf)
+        print "\t{{ 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x} }},".format(*val)
+
+print "};"
\ No newline at end of file
diff --git a/shaders/gpgpu/README b/shaders/gpgpu/README
index 3bf328ad..91aca7e8 100644
--- a/shaders/gpgpu/README
+++ b/shaders/gpgpu/README
@@ -1,4 +1,15 @@
+These files are here for reference only.
 
 Commands used to generate the shader on gen7
 $> m4 gpgpu_fill.gxa > gpgpu_fill.gxm
 $> intel-gen4asm -g 7 -o <output> gpgpu_fill.gxm
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions
+https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga.
+
+
+How to get binary from .asm (e.g. when ISA instructions has changed):
+        $> iga64 gpgpu_fill.asm -p=8 -a -o gpgpu_fill_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm b/shaders/gpgpu/gpgpu_fill_gen8.asm
new file mode 100644
index 00000000..448e0256
--- /dev/null
+++ b/shaders/gpgpu/gpgpu_fill_gen8.asm
@@ -0,0 +1,10 @@
+         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
+         mul (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
+         mov (1|M0)               r2.1<1>:ud    r0.6<0;1,0>:ud
+         mov (8|M0)               r4.0<1>:ud    r0.0<8;8,1>:ud
+         mov (2|M0)               r4.0<1>:ud    r2.0<2;2,1>:ud
+         mov (1|M0)               r4.2<1>:ud    0xF:ud
+         mov (16|M0)   (eq)f0.0   r5.0<1>:ud    r1.0<0;1,0>:ud
+         send (16|M0)             acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
+         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
+         send (16|M0)             null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm b/shaders/gpgpu/gpgpu_fill_gen9.asm
new file mode 100644
index 00000000..6f948935
--- /dev/null
+++ b/shaders/gpgpu/gpgpu_fill_gen9.asm
@@ -0,0 +1,10 @@
+         mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
+         mul (1|M0)  r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
+         mov (1|M0)  r2.1<1>:ud    r0.6<0;1,0>:ud
+         mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
+         mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
+         mov (1|M0)  r4.2<1>:ud    0xF:ud
+         mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
+         send (16|M0)  acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
+         mov (8|M0)  r112.0<1>:ud  r0.0<8;8,1>:ud
+         send (16|M0)  null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/media/README b/shaders/media/README
index 9f296010..dff53bd0 100644
--- a/shaders/media/README
+++ b/shaders/media/README
@@ -3,3 +3,12 @@ These files are here for reference only.
 Commands used to generate the shader on gen8
 $> m4 media_fill.gxa > media_fill.gxm
 $> intel-gen4asm -g 8 -o <output> media_fill.gxm
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga.
+
+How to get binary from .asm (e.g. when ISA instructions has changed):
+        $> iga64 media_fill_gen8.asm -p=8 -a -o media_fill_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
+
diff --git a/shaders/media/media_fill_gen8.asm b/shaders/media/media_fill_gen8.asm
new file mode 100644
index 00000000..4b6eb84b
--- /dev/null
+++ b/shaders/media/media_fill_gen8.asm
@@ -0,0 +1,11 @@
+        mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
+        mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
+        mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
+        mov (1|M0)  r4.2<1>:ud    0xF000F:ud
+        mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r7.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r9.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r11.0<1>:ud   r1.0<0;1,0>:ud
+        send (16|M0) acc0.0:uw  r4:d  0x1000000C  0x120A8000 //  DP_DC1  wr:9h, rd:0, fc: 0x28000
+        mov (8|M0) r112.0<1>:ud  r0.0<8;8,1>:ud
+        send (16|M0) null:uw  r112:d  0x10000027  0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/ps/README b/shaders/ps/README
index b196d025..a4be135d 100644
--- a/shaders/ps/README
+++ b/shaders/ps/README
@@ -1 +1,9 @@
 These files are here for reference only.
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga.
+
+How to get binary from .asm?
+        $> iga64 blit_gen8.asm -p=8 -a -o blit_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
diff --git a/shaders/ps/blit_gen8.asm b/shaders/ps/blit_gen8.asm
new file mode 100644
index 00000000..c35b70a1
--- /dev/null
+++ b/shaders/ps/blit_gen8.asm
@@ -0,0 +1,7 @@
+ pln (8|M0) r10.0<1>:f r6.0<0;1,0>:f r2.0<8;8,1>:f
+ pln (8|M0) r11.0<1>:f r6.0<0;1,0>:f r4.0<8;8,1>:f
+ pln (8|M0) r12.0<1>:f r6.4<0;1,0>:f r2.0<8;8,1>:f
+ pln (8|M0) 13.0<1>:f r6.4<0;1,0>:f r4.0<8;8,1>:f
+ send (16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001
+ send (16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0
+
diff --git a/shaders/ps/neg1_gen8.asm b/shaders/ps/neg1_gen8.asm
new file mode 100644
index 00000000..582375b5
--- /dev/null
+++ b/shaders/ps/neg1_gen8.asm
@@ -0,0 +1,9 @@
+mov(8) r112:ud 0x3f800000:ud
+mov(8) r113:ud 0x3f800000:ud
+mov(8) r114:ud 0x3f800000:ud
+mov(8) r115:ud 0x3f800000:ud
+mov(8) r116:ud 0x3f800000:ud
+mov(8) r117:ud 0x3f800000:ud
+mov(8) r118:ud 0x3f800000:ud
+mov(8) r119:ud 0x3f800000:ud
+send(16) null r112  0x25 0x10031000 { EOT }
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
@ 2018-10-02 13:49 ` Katarzyna Dec
  2018-10-03 11:00   ` Petri Latvala
  2018-10-02 14:55 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-02 13:49 UTC (permalink / raw)
  To: igt-dev

In shaders/ directory we got Intel specific information. As igt
is a project for more vendors, let's move this directory to
lib/i915.

Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 {shaders => lib/i915/shaders}/README                    | 0
 {shaders => lib/i915/shaders}/converter.py              | 0
 {shaders => lib/i915/shaders}/gpgpu/README              | 0
 {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill.gxa      | 0
 {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen8.asm | 0
 {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen9.asm | 0
 {shaders => lib/i915/shaders}/media/README              | 0
 {shaders => lib/i915/shaders}/media/media_fill.gxa      | 0
 {shaders => lib/i915/shaders}/media/media_fill_gen8.asm | 0
 {shaders => lib/i915/shaders}/ps/README                 | 0
 {shaders => lib/i915/shaders}/ps/blit.g7a               | 0
 {shaders => lib/i915/shaders}/ps/blit_gen8.asm          | 0
 {shaders => lib/i915/shaders}/ps/neg1_gen8.asm          | 0
 {shaders => lib/i915/shaders}/ps/neg1_test.g7a          | 0
 14 files changed, 0 insertions(+), 0 deletions(-)
 rename {shaders => lib/i915/shaders}/README (100%)
 rename {shaders => lib/i915/shaders}/converter.py (100%)
 rename {shaders => lib/i915/shaders}/gpgpu/README (100%)
 rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill.gxa (100%)
 rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen8.asm (100%)
 rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen9.asm (100%)
 rename {shaders => lib/i915/shaders}/media/README (100%)
 rename {shaders => lib/i915/shaders}/media/media_fill.gxa (100%)
 rename {shaders => lib/i915/shaders}/media/media_fill_gen8.asm (100%)
 rename {shaders => lib/i915/shaders}/ps/README (100%)
 rename {shaders => lib/i915/shaders}/ps/blit.g7a (100%)
 rename {shaders => lib/i915/shaders}/ps/blit_gen8.asm (100%)
 rename {shaders => lib/i915/shaders}/ps/neg1_gen8.asm (100%)
 rename {shaders => lib/i915/shaders}/ps/neg1_test.g7a (100%)

diff --git a/shaders/README b/lib/i915/shaders/README
similarity index 100%
rename from shaders/README
rename to lib/i915/shaders/README
diff --git a/shaders/converter.py b/lib/i915/shaders/converter.py
similarity index 100%
rename from shaders/converter.py
rename to lib/i915/shaders/converter.py
diff --git a/shaders/gpgpu/README b/lib/i915/shaders/gpgpu/README
similarity index 100%
rename from shaders/gpgpu/README
rename to lib/i915/shaders/gpgpu/README
diff --git a/shaders/gpgpu/gpgpu_fill.gxa b/lib/i915/shaders/gpgpu/gpgpu_fill.gxa
similarity index 100%
rename from shaders/gpgpu/gpgpu_fill.gxa
rename to lib/i915/shaders/gpgpu/gpgpu_fill.gxa
diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm b/lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm
similarity index 100%
rename from shaders/gpgpu/gpgpu_fill_gen8.asm
rename to lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm
diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm b/lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm
similarity index 100%
rename from shaders/gpgpu/gpgpu_fill_gen9.asm
rename to lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm
diff --git a/shaders/media/README b/lib/i915/shaders/media/README
similarity index 100%
rename from shaders/media/README
rename to lib/i915/shaders/media/README
diff --git a/shaders/media/media_fill.gxa b/lib/i915/shaders/media/media_fill.gxa
similarity index 100%
rename from shaders/media/media_fill.gxa
rename to lib/i915/shaders/media/media_fill.gxa
diff --git a/shaders/media/media_fill_gen8.asm b/lib/i915/shaders/media/media_fill_gen8.asm
similarity index 100%
rename from shaders/media/media_fill_gen8.asm
rename to lib/i915/shaders/media/media_fill_gen8.asm
diff --git a/shaders/ps/README b/lib/i915/shaders/ps/README
similarity index 100%
rename from shaders/ps/README
rename to lib/i915/shaders/ps/README
diff --git a/shaders/ps/blit.g7a b/lib/i915/shaders/ps/blit.g7a
similarity index 100%
rename from shaders/ps/blit.g7a
rename to lib/i915/shaders/ps/blit.g7a
diff --git a/shaders/ps/blit_gen8.asm b/lib/i915/shaders/ps/blit_gen8.asm
similarity index 100%
rename from shaders/ps/blit_gen8.asm
rename to lib/i915/shaders/ps/blit_gen8.asm
diff --git a/shaders/ps/neg1_gen8.asm b/lib/i915/shaders/ps/neg1_gen8.asm
similarity index 100%
rename from shaders/ps/neg1_gen8.asm
rename to lib/i915/shaders/ps/neg1_gen8.asm
diff --git a/shaders/ps/neg1_test.g7a b/lib/i915/shaders/ps/neg1_test.g7a
similarity index 100%
rename from shaders/ps/neg1_test.g7a
rename to lib/i915/shaders/ps/neg1_test.g7a
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
@ 2018-10-02 13:57   ` Kalamarz, Lukasz
  2018-10-03  5:47   ` Katarzyna Dec
  2018-10-03 11:05   ` Arkadiusz Hiler
  2 siblings, 0 replies; 15+ messages in thread
From: Kalamarz, Lukasz @ 2018-10-02 13:57 UTC (permalink / raw)
  To: Dec, Katarzyna, igt-dev

On Tue, 2018-10-02 at 15:49 +0200, Katarzyna Dec wrote:
> We're not planning to work on assembler in igt anymore, since we can
> reuse an existing project (IGA) that will do this work for us. The
> only extra thing we need to do is convert the result binary to C-
> array,
> simple python script.
> 
> v2: Moved converter to single file. Fixed README for shaders.
> 
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> ---
>  shaders/README                    | 19 +++++++++++++++++++
>  shaders/converter.py              | 24 ++++++++++++++++++++++++
>  shaders/gpgpu/README              | 11 +++++++++++
>  shaders/gpgpu/gpgpu_fill_gen8.asm | 10 ++++++++++
>  shaders/gpgpu/gpgpu_fill_gen9.asm | 10 ++++++++++
>  shaders/media/README              |  9 +++++++++
>  shaders/media/media_fill_gen8.asm | 11 +++++++++++
>  shaders/ps/README                 |  8 ++++++++
>  shaders/ps/blit_gen8.asm          |  7 +++++++
>  shaders/ps/neg1_gen8.asm          |  9 +++++++++
>  10 files changed, 118 insertions(+)
>  create mode 100644 shaders/README
>  create mode 100644 shaders/converter.py
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen8.asm
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen9.asm
>  create mode 100644 shaders/media/media_fill_gen8.asm
>  create mode 100644 shaders/ps/blit_gen8.asm
>  create mode 100644 shaders/ps/neg1_gen8.asm
> 
> diff --git a/shaders/README b/shaders/README
> new file mode 100644
> index 00000000..3365a209
> --- /dev/null
> +++ b/shaders/README
> @@ -0,0 +1,19 @@
> +This directory is for shaders used in media_fill, gpgpu_fill,
> rendercopy
> +and media_spin libraries.
> +
> +Till Gen8 shaders were generated using intel-gen4asm script
> (implementation in
> +assembler/ directory). From Gen8 it is possible to use Intel
> Graphics Assembler
> +to generate binary from asm instructions.
> +https://github.com/intel/intel-graphics-compiler
> +    1. Clone IGC project
> +    2. Go to igc/visa/iga
> +    3. Build iga
> +        cmake . && make
> +
> +For maintaining compatibility with our tests there is a bin to hex
> converter
> +written in python:
> +    $>converter.py input_file > output_file
> +e.g.$>python converter.py gen9_iga_output > gen9_hex_array
> +
> +Instructions how to build media, gpgpu or ps shaders included in
> their
> +subdirectories.
> diff --git a/shaders/converter.py b/shaders/converter.py
> new file mode 100644
> index 00000000..a50ac96c
> --- /dev/null
> +++ b/shaders/converter.py
> @@ -0,0 +1,24 @@
> +#!/usr/bin/env python2
> +import struct
> +import sys
> +import argparse
> +
> +parser = argparse.ArgumentParser(description='Script for converting
> shaders in binary to hex.')
> +args = parser.parse_args()
> +
> +print "static const uint32_t kernel[][4] = {"
> +
> +with open(sys.argv[1], 'r') as f:
> +    fmt = '<LLLL'
> +    step = struct.calcsize(fmt)
> +    while True:
> +        buf = f.read(step)
> +        if not buf:
> +            break
> +        elif len(buf) < step:
> +            buf += '\x00' * (step - len(buf))
> +
> +        val = struct.unpack('<LLLL', buf)
> +        print "\t{{ 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x}
> }},".format(*val)
> +
> +print "};"
> \ No newline at end of file

Please add newline

> diff --git a/shaders/gpgpu/README b/shaders/gpgpu/README
> index 3bf328ad..91aca7e8 100644
> --- a/shaders/gpgpu/README
> +++ b/shaders/gpgpu/README
> @@ -1,4 +1,15 @@
> +These files are here for reference only.
>  
>  Commands used to generate the shader on gen7
>  $> m4 gpgpu_fill.gxa > gpgpu_fill.gxm
>  $> intel-gen4asm -g 7 -o <output> gpgpu_fill.gxm
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from
> asm
> +instructions
> +https://github.com/intel/intel-graphics-
> compiler/tree/master/visa/iga.

I don't think dot is necessary at the end of a link

> +
> +
> +How to get binary from .asm (e.g. when ISA instructions has
> changed):
> +        $> iga64 gpgpu_fill.asm -p=8 -a -o gpgpu_fill_gen8.bin
> +        $> Use converter from shaders/README to have hex array used
> in libs
> +        $> Copy output to proper lib
> diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm
> b/shaders/gpgpu/gpgpu_fill_gen8.asm
> new file mode 100644
> index 00000000..448e0256
> --- /dev/null
> +++ b/shaders/gpgpu/gpgpu_fill_gen8.asm
> @@ -0,0 +1,10 @@
> +         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
> +         mul
> (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
> +         mov (1|M0)               r2.1<1>:ud    r0.6<0;1,0>:ud
> +         mov (8|M0)               r4.0<1>:ud    r0.0<8;8,1>:ud
> +         mov (2|M0)               r4.0<1>:ud    r2.0<2;2,1>:ud
> +         mov (1|M0)               r4.2<1>:ud    0xF:ud
> +         mov (16|M0)   (eq)f0.0   r5.0<1>:ud    r1.0<0;1,0>:ud
> +         send
> (16|M0)             acc0.0:uw  r4:d  0xC       0x060A8000
> //  DP_DC1  wr:3h, rd:0, fc: 0x28000
> +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send
> (16|M0)             null:uw  r112:d  0x27      0x02000010 {EOT}
> //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm
> b/shaders/gpgpu/gpgpu_fill_gen9.asm
> new file mode 100644
> index 00000000..6f948935
> --- /dev/null
> +++ b/shaders/gpgpu/gpgpu_fill_gen9.asm
> @@ -0,0 +1,10 @@
> +         mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
> +         mul (1|M0)  r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
> +         mov (1|M0)  r2.1<1>:ud    r0.6<0;1,0>:ud
> +         mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
> +         mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
> +         mov (1|M0)  r4.2<1>:ud    0xF:ud
> +         mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
> +         send (16|M0)  acc0.0:uw  r4:d  0xC       0x060A8000
> //  DP_DC1  wr:3h, rd:0, fc: 0x28000
> +         mov (8|M0)  r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send (16|M0)  null:uw  r112:d  0x27      0x02000010 {EOT}
> //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/media/README b/shaders/media/README
> index 9f296010..dff53bd0 100644
> --- a/shaders/media/README
> +++ b/shaders/media/README
> @@ -3,3 +3,12 @@ These files are here for reference only.
>  Commands used to generate the shader on gen8
>  $> m4 media_fill.gxa > media_fill.gxm
>  $> intel-gen4asm -g 8 -o <output> media_fill.gxm
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from
> asm
> +instructions https://github.com/intel/intel-graphics-
> compiler/tree/master/visa/iga.

Same as above.

Everything else LGTM.
------
Lukasz

> +
> +How to get binary from .asm (e.g. when ISA instructions has
> changed):
> +        $> iga64 media_fill_gen8.asm -p=8 -a -o media_fill_gen8.bin
> +        $> Use converter from shaders/README to have hex array used
> in libs
> +        $> Copy output to proper lib
> +
> diff --git a/shaders/media/media_fill_gen8.asm
> b/shaders/media/media_fill_gen8.asm
> new file mode 100644
> index 00000000..4b6eb84b
> --- /dev/null
> +++ b/shaders/media/media_fill_gen8.asm
> @@ -0,0 +1,11 @@
> +        mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
> +        mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
> +        mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
> +        mov (1|M0)  r4.2<1>:ud    0xF000F:ud
> +        mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r7.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r9.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r11.0<1>:ud   r1.0<0;1,0>:ud
> +        send (16|M0) acc0.0:uw  r4:d  0x1000000C  0x120A8000
> //  DP_DC1  wr:9h, rd:0, fc: 0x28000
> +        mov (8|M0) r112.0<1>:ud  r0.0<8;8,1>:ud
> +        send (16|M0) null:uw  r112:d  0x10000027  0x02000010 {EOT}
> //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/ps/README b/shaders/ps/README
> index b196d025..a4be135d 100644
> --- a/shaders/ps/README
> +++ b/shaders/ps/README
> @@ -1 +1,9 @@
>  These files are here for reference only.
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from
> asm
> +instructions https://github.com/intel/intel-graphics-compiler/tree/m
> aster/visa/iga.
> +
> +How to get binary from .asm?
> +        $> iga64 blit_gen8.asm -p=8 -a -o blit_gen8.bin
> +        $> Use converter from shaders/README to have hex array used
> in libs
> +        $> Copy output to proper lib
> diff --git a/shaders/ps/blit_gen8.asm b/shaders/ps/blit_gen8.asm
> new file mode 100644
> index 00000000..c35b70a1
> --- /dev/null
> +++ b/shaders/ps/blit_gen8.asm
> @@ -0,0 +1,7 @@
> + pln (8|M0) r10.0<1>:f r6.0<0;1,0>:f r2.0<8;8,1>:f
> + pln (8|M0) r11.0<1>:f r6.0<0;1,0>:f r4.0<8;8,1>:f
> + pln (8|M0) r12.0<1>:f r6.4<0;1,0>:f r2.0<8;8,1>:f
> + pln (8|M0) 13.0<1>:f r6.4<0;1,0>:f r4.0<8;8,1>:f
> + send (16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4,
> rd:8, fc: 0x40001
> + send (16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC
> wr:8, rd:0, Render Target Write msc:16, to #0
> +
> diff --git a/shaders/ps/neg1_gen8.asm b/shaders/ps/neg1_gen8.asm
> new file mode 100644
> index 00000000..582375b5
> --- /dev/null
> +++ b/shaders/ps/neg1_gen8.asm
> @@ -0,0 +1,9 @@
> +mov(8) r112:ud 0x3f800000:ud
> +mov(8) r113:ud 0x3f800000:ud
> +mov(8) r114:ud 0x3f800000:ud
> +mov(8) r115:ud 0x3f800000:ud
> +mov(8) r116:ud 0x3f800000:ud
> +mov(8) r117:ud 0x3f800000:ud
> +mov(8) r118:ud 0x3f800000:ud
> +mov(8) r119:ud 0x3f800000:ud
> +send(16) null r112  0x25 0x10031000 { EOT }
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory Katarzyna Dec
@ 2018-10-02 14:55 ` Patchwork
  2018-10-03  6:14 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING (rev2) Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2018-10-02 14:55 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Shaders documentation RESENDING
URL   : https://patchwork.freedesktop.org/series/50445/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4915 -> IGTPW_1891 =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1891 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1891, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50445/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1891:

  === IGT changes ===

    ==== Warnings ====

    igt@drv_selftest@live_guc:
      fi-glk-j4005:       SKIP -> PASS

    
== Known issues ==

  Here are the changes found in IGTPW_1891 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_frontbuffer_tracking@basic:
      fi-byt-clapper:     PASS -> FAIL (fdo#103167)

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
      fi-ilk-650:         PASS -> DMESG-WARN (fdo#106387)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_coherency:
      fi-gdg-551:         DMESG-FAIL (fdo#107164) -> PASS

    igt@drv_selftest@live_execlists:
      fi-glk-j4005:       INCOMPLETE (k.org#198133, fdo#103359) -> PASS

    igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
      fi-byt-clapper:     FAIL (fdo#103191, fdo#107362) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-skl-guc:         FAIL (fdo#103191) -> PASS

    
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387
  fdo#107164 https://bugs.freedesktop.org/show_bug.cgi?id=107164
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (46 -> 43) ==

  Missing    (3): fi-bsw-cyan fi-byt-squawks fi-icl-u2 


== Build changes ==

    * IGT: IGT_4660 -> IGTPW_1891

  CI_DRM_4915: 26e7a7d954a9c28b97af8ca7813f430fd9117232 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1891: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1891/
  IGT_4660: d0975646c50568e66e65b44b81d28232d059b94e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1891/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
  2018-10-02 13:57   ` Kalamarz, Lukasz
@ 2018-10-03  5:47   ` Katarzyna Dec
  2018-10-03 11:02     ` Petri Latvala
  2018-10-03 11:05   ` Arkadiusz Hiler
  2 siblings, 1 reply; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-03  5:47 UTC (permalink / raw)
  To: igt-dev

We're not planning to work on assembler in igt anymore, since we can
reuse an existing project (IGA) that will do this work for us. The
only extra thing we need to do is convert the result binary to C-array,
simple python script.

v2: Moved converter to single file. Fixed README for shaders.
v3: Fixed typos.

Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
---
 shaders/README                    | 19 +++++++++++++++++++
 shaders/converter.py              | 24 ++++++++++++++++++++++++
 shaders/gpgpu/README              | 10 ++++++++++
 shaders/gpgpu/gpgpu_fill_gen8.asm | 10 ++++++++++
 shaders/gpgpu/gpgpu_fill_gen9.asm | 10 ++++++++++
 shaders/media/README              |  8 ++++++++
 shaders/media/media_fill_gen8.asm | 11 +++++++++++
 shaders/ps/README                 |  8 ++++++++
 shaders/ps/blit_gen8.asm          |  7 +++++++
 shaders/ps/neg1_gen8.asm          |  9 +++++++++
 10 files changed, 116 insertions(+)
 create mode 100644 shaders/README
 create mode 100644 shaders/converter.py
 create mode 100644 shaders/gpgpu/gpgpu_fill_gen8.asm
 create mode 100644 shaders/gpgpu/gpgpu_fill_gen9.asm
 create mode 100644 shaders/media/media_fill_gen8.asm
 create mode 100644 shaders/ps/blit_gen8.asm
 create mode 100644 shaders/ps/neg1_gen8.asm

diff --git a/shaders/README b/shaders/README
new file mode 100644
index 00000000..7ac125b5
--- /dev/null
+++ b/shaders/README
@@ -0,0 +1,19 @@
+This directory is for shaders used in media_fill, gpgpu_fill, rendercopy
+and media_spin libraries.
+
+Till Gen8 shaders were generated using intel-gen4asm script (implementation in
+assembler/ directory). From Gen8 it is possible to use Intel Graphics Assembler
+to generate binary from asm instructions.
+https://github.com/intel/intel-graphics-compiler
+    1. Clone IGC project
+    2. Go to igc/visa/iga
+    3. Build iga
+        cmake . && make
+
+For maintaining compatibility with our tests there is a bin to hex converter
+written in python:
+    $>converter.py input_file > output_file
+e.g.$>python converter.py gen9_iga_output > gen9_hex_array
+
+Instructions how to build media, gpgpu or ps shaders are included in their
+subdirectories.
diff --git a/shaders/converter.py b/shaders/converter.py
new file mode 100644
index 00000000..d00e6193
--- /dev/null
+++ b/shaders/converter.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python2
+import struct
+import sys
+import argparse
+
+parser = argparse.ArgumentParser(description='Script for converting shaders in binary to hex.')
+args = parser.parse_args()
+
+print "static const uint32_t kernel[][4] = {"
+
+with open(sys.argv[1], 'r') as f:
+    fmt = '<LLLL'
+    step = struct.calcsize(fmt)
+    while True:
+        buf = f.read(step)
+        if not buf:
+            break
+        elif len(buf) < step:
+            buf += '\x00' * (step - len(buf))
+
+        val = struct.unpack('<LLLL', buf)
+        print "\t{{ 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x} }},".format(*val)
+
+print "};"
diff --git a/shaders/gpgpu/README b/shaders/gpgpu/README
index 3bf328ad..9d254e2a 100644
--- a/shaders/gpgpu/README
+++ b/shaders/gpgpu/README
@@ -1,4 +1,14 @@
+These files are here for reference only.
 
 Commands used to generate the shader on gen7
 $> m4 gpgpu_fill.gxa > gpgpu_fill.gxm
 $> intel-gen4asm -g 7 -o <output> gpgpu_fill.gxm
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions
+https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
+
+How to get binary from .asm (e.g. when ISA instructions has changed):
+        $> iga64 gpgpu_fill.asm -p=8 -a -o gpgpu_fill_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm b/shaders/gpgpu/gpgpu_fill_gen8.asm
new file mode 100644
index 00000000..448e0256
--- /dev/null
+++ b/shaders/gpgpu/gpgpu_fill_gen8.asm
@@ -0,0 +1,10 @@
+         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
+         mul (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
+         mov (1|M0)               r2.1<1>:ud    r0.6<0;1,0>:ud
+         mov (8|M0)               r4.0<1>:ud    r0.0<8;8,1>:ud
+         mov (2|M0)               r4.0<1>:ud    r2.0<2;2,1>:ud
+         mov (1|M0)               r4.2<1>:ud    0xF:ud
+         mov (16|M0)   (eq)f0.0   r5.0<1>:ud    r1.0<0;1,0>:ud
+         send (16|M0)             acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
+         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
+         send (16|M0)             null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm b/shaders/gpgpu/gpgpu_fill_gen9.asm
new file mode 100644
index 00000000..6f948935
--- /dev/null
+++ b/shaders/gpgpu/gpgpu_fill_gen9.asm
@@ -0,0 +1,10 @@
+         mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
+         mul (1|M0)  r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
+         mov (1|M0)  r2.1<1>:ud    r0.6<0;1,0>:ud
+         mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
+         mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
+         mov (1|M0)  r4.2<1>:ud    0xF:ud
+         mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
+         send (16|M0)  acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
+         mov (8|M0)  r112.0<1>:ud  r0.0<8;8,1>:ud
+         send (16|M0)  null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/media/README b/shaders/media/README
index 9f296010..44c08dce 100644
--- a/shaders/media/README
+++ b/shaders/media/README
@@ -3,3 +3,11 @@ These files are here for reference only.
 Commands used to generate the shader on gen8
 $> m4 media_fill.gxa > media_fill.gxm
 $> intel-gen4asm -g 8 -o <output> media_fill.gxm
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
+
+How to get binary from .asm (e.g. when ISA instructions has changed):
+        $> iga64 media_fill_gen8.asm -p=8 -a -o media_fill_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
diff --git a/shaders/media/media_fill_gen8.asm b/shaders/media/media_fill_gen8.asm
new file mode 100644
index 00000000..4b6eb84b
--- /dev/null
+++ b/shaders/media/media_fill_gen8.asm
@@ -0,0 +1,11 @@
+        mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
+        mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
+        mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
+        mov (1|M0)  r4.2<1>:ud    0xF000F:ud
+        mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r7.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r9.0<1>:ud    r1.0<0;1,0>:ud
+        mov (16|M0) r11.0<1>:ud   r1.0<0;1,0>:ud
+        send (16|M0) acc0.0:uw  r4:d  0x1000000C  0x120A8000 //  DP_DC1  wr:9h, rd:0, fc: 0x28000
+        mov (8|M0) r112.0<1>:ud  r0.0<8;8,1>:ud
+        send (16|M0) null:uw  r112:d  0x10000027  0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
diff --git a/shaders/ps/README b/shaders/ps/README
index b196d025..21ff571a 100644
--- a/shaders/ps/README
+++ b/shaders/ps/README
@@ -1 +1,9 @@
 These files are here for reference only.
+
+From gen8 we can use Intel Graphics Assember to generate binary from asm
+instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
+
+How to get binary from .asm?
+        $> iga64 blit_gen8.asm -p=8 -a -o blit_gen8.bin
+        $> Use converter from shaders/README to have hex array used in libs
+        $> Copy output to proper lib
diff --git a/shaders/ps/blit_gen8.asm b/shaders/ps/blit_gen8.asm
new file mode 100644
index 00000000..c35b70a1
--- /dev/null
+++ b/shaders/ps/blit_gen8.asm
@@ -0,0 +1,7 @@
+ pln (8|M0) r10.0<1>:f r6.0<0;1,0>:f r2.0<8;8,1>:f
+ pln (8|M0) r11.0<1>:f r6.0<0;1,0>:f r4.0<8;8,1>:f
+ pln (8|M0) r12.0<1>:f r6.4<0;1,0>:f r2.0<8;8,1>:f
+ pln (8|M0) 13.0<1>:f r6.4<0;1,0>:f r4.0<8;8,1>:f
+ send (16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001
+ send (16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0
+
diff --git a/shaders/ps/neg1_gen8.asm b/shaders/ps/neg1_gen8.asm
new file mode 100644
index 00000000..582375b5
--- /dev/null
+++ b/shaders/ps/neg1_gen8.asm
@@ -0,0 +1,9 @@
+mov(8) r112:ud 0x3f800000:ud
+mov(8) r113:ud 0x3f800000:ud
+mov(8) r114:ud 0x3f800000:ud
+mov(8) r115:ud 0x3f800000:ud
+mov(8) r116:ud 0x3f800000:ud
+mov(8) r117:ud 0x3f800000:ud
+mov(8) r118:ud 0x3f800000:ud
+mov(8) r119:ud 0x3f800000:ud
+send(16) null r112  0x25 0x10031000 { EOT }
-- 
2.17.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING (rev2)
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
                   ` (2 preceding siblings ...)
  2018-10-02 14:55 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING Patchwork
@ 2018-10-03  6:14 ` Patchwork
  2018-10-03  6:53 ` [igt-dev] ✗ Fi.CI.IGT: failure for Shaders documentation RESENDING Patchwork
  2018-10-03 10:14 ` [igt-dev] ✓ Fi.CI.IGT: success for Shaders documentation RESENDING (rev2) Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2018-10-03  6:14 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Shaders documentation RESENDING (rev2)
URL   : https://patchwork.freedesktop.org/series/50445/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4915 -> IGTPW_1896 =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1896 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1896, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50445/revisions/2/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1896:

  === IGT changes ===

    ==== Warnings ====

    igt@drv_selftest@live_guc:
      fi-glk-j4005:       SKIP -> PASS

    
== Known issues ==

  Here are the changes found in IGTPW_1896 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-bdw-samus:       NOTRUN -> INCOMPLETE (fdo#107773)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_coherency:
      fi-gdg-551:         DMESG-FAIL (fdo#107164) -> PASS

    igt@drv_selftest@live_execlists:
      fi-glk-j4005:       INCOMPLETE (k.org#198133, fdo#103359) -> PASS

    igt@gem_exec_suspend@basic-s3:
      fi-bdw-samus:       INCOMPLETE (fdo#107773) -> PASS

    igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
      fi-byt-clapper:     FAIL (fdo#107362, fdo#103191) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-skl-guc:         FAIL (fdo#103191) -> PASS

    
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#107164 https://bugs.freedesktop.org/show_bug.cgi?id=107164
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (46 -> 40) ==

  Missing    (6): fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-icl-u2 fi-skl-6260u fi-snb-2520m 


== Build changes ==

    * IGT: IGT_4660 -> IGTPW_1896

  CI_DRM_4915: 26e7a7d954a9c28b97af8ca7813f430fd9117232 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1896: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1896/
  IGT_4660: d0975646c50568e66e65b44b81d28232d059b94e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1896/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for Shaders documentation RESENDING
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
                   ` (3 preceding siblings ...)
  2018-10-03  6:14 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING (rev2) Patchwork
@ 2018-10-03  6:53 ` Patchwork
  2018-10-03 10:14 ` [igt-dev] ✓ Fi.CI.IGT: success for Shaders documentation RESENDING (rev2) Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2018-10-03  6:53 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Shaders documentation RESENDING
URL   : https://patchwork.freedesktop.org/series/50445/
State : failure

== Summary ==

= CI Bug Log - changes from IGT_4660_full -> IGTPW_1891_full =

== Summary - FAILURE ==

  Serious unknown changes coming with IGTPW_1891_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1891_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50445/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1891_full:

  === IGT changes ===

    ==== Possible regressions ====

    igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
      shard-glk:          PASS -> FAIL +1

    igt@kms_color@pipe-a-degamma:
      shard-apl:          PASS -> FAIL

    igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
      shard-apl:          SKIP -> FAIL +16

    igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
      shard-kbl:          SKIP -> FAIL +16

    igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
      shard-glk:          SKIP -> FAIL +11

    
    ==== Warnings ====

    igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid:
      shard-kbl:          SKIP -> PASS +9

    igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
      shard-glk:          SKIP -> PASS +12

    igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid:
      shard-apl:          SKIP -> PASS +9

    
== Known issues ==

  Here are the changes found in IGTPW_1891_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> FAIL (fdo#106680)

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
      shard-snb:          NOTRUN -> DMESG-WARN (fdo#107956) +1

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
      shard-kbl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_cursor_crc@cursor-256x256-suspend:
      shard-kbl:          PASS -> FAIL (fdo#103191, fdo#103232)

    igt@kms_cursor_crc@cursor-256x85-onscreen:
      shard-glk:          PASS -> FAIL (fdo#103232) +2

    igt@kms_cursor_crc@cursor-256x85-random:
      shard-apl:          PASS -> FAIL (fdo#103232) +5

    igt@kms_cursor_crc@cursor-64x64-suspend:
      shard-apl:          PASS -> FAIL (fdo#103191, fdo#103232) +1

    igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
      shard-glk:          PASS -> DMESG-WARN (fdo#105763, fdo#106538)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-apl:          PASS -> FAIL (fdo#103167) +2

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
      shard-glk:          PASS -> FAIL (fdo#103167) +2

    igt@kms_plane@pixel-format-pipe-a-planes:
      shard-snb:          PASS -> FAIL (fdo#107749, fdo#103166)

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-glk:          PASS -> FAIL (fdo#103166) +1
      shard-apl:          PASS -> FAIL (fdo#103166) +2

    igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
      shard-snb:          SKIP -> INCOMPLETE (fdo#105411)

    
    ==== Possible fixes ====

    igt@gem_ctx_isolation@bcs0-s3:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS

    igt@gem_exec_big:
      shard-hsw:          TIMEOUT (fdo#107937) -> PASS

    igt@gem_exec_suspend@basic-s3:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

    igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt:
      shard-glk:          FAIL (fdo#103167) -> PASS

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> PASS

    
    ==== Warnings ====

    igt@kms_setmode@basic:
      shard-hsw:          FAIL (fdo#99912) -> DMESG-FAIL (fdo#102614, fdo#99912)

    
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106680 https://bugs.freedesktop.org/show_bug.cgi?id=106680
  fdo#107749 https://bugs.freedesktop.org/show_bug.cgi?id=107749
  fdo#107937 https://bugs.freedesktop.org/show_bug.cgi?id=107937
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4660 -> IGTPW_1891
    * Linux: CI_DRM_4912 -> CI_DRM_4915

  CI_DRM_4912: fde5d8f7153abb900a378cce97a7a6b32576a3fa @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4915: 26e7a7d954a9c28b97af8ca7813f430fd9117232 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1891: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1891/
  IGT_4660: d0975646c50568e66e65b44b81d28232d059b94e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1891/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Shaders documentation RESENDING (rev2)
  2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
                   ` (4 preceding siblings ...)
  2018-10-03  6:53 ` [igt-dev] ✗ Fi.CI.IGT: failure for Shaders documentation RESENDING Patchwork
@ 2018-10-03 10:14 ` Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2018-10-03 10:14 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Shaders documentation RESENDING (rev2)
URL   : https://patchwork.freedesktop.org/series/50445/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4660_full -> IGTPW_1896_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_1896_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1896_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50445/revisions/2/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1896_full:

  === IGT changes ===

    ==== Warnings ====

    {igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid}:
      shard-kbl:          SKIP -> PASS +9

    {igt@kms_plane_alpha_blend@pipe-b-alpha-7efc}:
      shard-glk:          SKIP -> PASS +11

    {igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid}:
      shard-apl:          SKIP -> PASS +9

    igt@pm_rc6_residency@rc6-accuracy:
      shard-snb:          SKIP -> PASS

    
== Known issues ==

  Here are the changes found in IGTPW_1896_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_softpin@noreloc-s3:
      shard-apl:          PASS -> FAIL (fdo#103375)

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-snb:          PASS -> FAIL (fdo#106641)

    igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
      shard-snb:          NOTRUN -> DMESG-WARN (fdo#107956) +2

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
      shard-kbl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_cursor_crc@cursor-128x42-onscreen:
      shard-kbl:          PASS -> FAIL (fdo#103232)

    igt@kms_cursor_crc@cursor-256x256-random:
      shard-apl:          PASS -> FAIL (fdo#103232) +3

    igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
      shard-hsw:          PASS -> FAIL (fdo#105767)

    igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
      shard-hsw:          PASS -> FAIL (fdo#103355)

    igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
      shard-hsw:          PASS -> DMESG-WARN (fdo#102614)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
      shard-apl:          PASS -> FAIL (fdo#103167) +1
      shard-kbl:          PASS -> FAIL (fdo#103167) +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-glk:          PASS -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbc-1p-rte:
      shard-kbl:          PASS -> FAIL (fdo#103167, fdo#105682)
      shard-apl:          PASS -> FAIL (fdo#103167, fdo#105682)

    igt@kms_plane@plane-position-covered-pipe-c-planes:
      shard-apl:          PASS -> FAIL (fdo#103166) +5

    {igt@kms_plane_alpha_blend@pipe-b-alpha-7efc}:
      shard-apl:          SKIP -> FAIL (fdo#108146) +3

    {igt@kms_plane_alpha_blend@pipe-b-alpha-basic}:
      shard-apl:          SKIP -> FAIL (fdo#108145) +11

    {igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb}:
      shard-kbl:          SKIP -> FAIL (fdo#108145) +12

    {igt@kms_plane_alpha_blend@pipe-c-alpha-7efc}:
      shard-kbl:          SKIP -> FAIL (fdo#108146) +3

    {igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb}:
      shard-glk:          SKIP -> FAIL (fdo#108145) +10

    {igt@kms_plane_alpha_blend@pipe-c-coverage-7efc}:
      shard-glk:          SKIP -> FAIL (fdo#108146)

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-snb:          NOTRUN -> FAIL (fdo#103166)

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          PASS -> FAIL (fdo#103166) +3
      shard-kbl:          PASS -> FAIL (fdo#103166) +2

    igt@kms_rotation_crc@primary-rotation-180:
      shard-snb:          PASS -> FAIL (fdo#103925)

    igt@kms_setmode@basic:
      shard-kbl:          PASS -> FAIL (fdo#99912)

    igt@perf@blocking:
      shard-hsw:          PASS -> FAIL (fdo#102252)

    igt@perf_pmu@semaphore-wait-idle-vcs1:
      shard-snb:          SKIP -> INCOMPLETE (fdo#105411)

    
    ==== Possible fixes ====

    igt@drv_suspend@shrink:
      shard-glk:          INCOMPLETE (fdo#106886, k.org#198133, fdo#103359) -> PASS

    igt@gem_exec_big:
      shard-hsw:          TIMEOUT (fdo#107937) -> PASS

    igt@gem_exec_suspend@basic-s3:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

    igt@gem_ppgtt@blt-vs-render-ctxn:
      shard-kbl:          INCOMPLETE (fdo#106023, fdo#103665) -> PASS

    igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled:
      shard-glk:          FAIL (fdo#107589) -> PASS

    igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt:
      shard-glk:          FAIL (fdo#103167) -> PASS

    igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS

    igt@kms_setmode@basic:
      shard-apl:          FAIL (fdo#99912) -> PASS

    
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
  fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107589 https://bugs.freedesktop.org/show_bug.cgi?id=107589
  fdo#107937 https://bugs.freedesktop.org/show_bug.cgi?id=107937
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4660 -> IGTPW_1896
    * Linux: CI_DRM_4912 -> CI_DRM_4915

  CI_DRM_4912: fde5d8f7153abb900a378cce97a7a6b32576a3fa @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4915: 26e7a7d954a9c28b97af8ca7813f430fd9117232 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1896: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1896/
  IGT_4660: d0975646c50568e66e65b44b81d28232d059b94e @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1896/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory Katarzyna Dec
@ 2018-10-03 11:00   ` Petri Latvala
  2018-10-03 13:52     ` Katarzyna Dec
  0 siblings, 1 reply; 15+ messages in thread
From: Petri Latvala @ 2018-10-03 11:00 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

On Tue, Oct 02, 2018 at 03:49:33PM +0200, Katarzyna Dec wrote:
> In shaders/ directory we got Intel specific information. As igt
> is a project for more vendors, let's move this directory to
> lib/i915.
> 
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  {shaders => lib/i915/shaders}/README                    | 0
>  {shaders => lib/i915/shaders}/converter.py              | 0
>  {shaders => lib/i915/shaders}/gpgpu/README              | 0
>  {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill.gxa      | 0
>  {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen8.asm | 0
>  {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen9.asm | 0
>  {shaders => lib/i915/shaders}/media/README              | 0
>  {shaders => lib/i915/shaders}/media/media_fill.gxa      | 0
>  {shaders => lib/i915/shaders}/media/media_fill_gen8.asm | 0
>  {shaders => lib/i915/shaders}/ps/README                 | 0
>  {shaders => lib/i915/shaders}/ps/blit.g7a               | 0
>  {shaders => lib/i915/shaders}/ps/blit_gen8.asm          | 0
>  {shaders => lib/i915/shaders}/ps/neg1_gen8.asm          | 0
>  {shaders => lib/i915/shaders}/ps/neg1_test.g7a          | 0
>  14 files changed, 0 insertions(+), 0 deletions(-)
>  rename {shaders => lib/i915/shaders}/README (100%)
>  rename {shaders => lib/i915/shaders}/converter.py (100%)
>  rename {shaders => lib/i915/shaders}/gpgpu/README (100%)
>  rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill.gxa (100%)
>  rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen8.asm (100%)
>  rename {shaders => lib/i915/shaders}/gpgpu/gpgpu_fill_gen9.asm (100%)
>  rename {shaders => lib/i915/shaders}/media/README (100%)
>  rename {shaders => lib/i915/shaders}/media/media_fill.gxa (100%)
>  rename {shaders => lib/i915/shaders}/media/media_fill_gen8.asm (100%)
>  rename {shaders => lib/i915/shaders}/ps/README (100%)
>  rename {shaders => lib/i915/shaders}/ps/blit.g7a (100%)
>  rename {shaders => lib/i915/shaders}/ps/blit_gen8.asm (100%)
>  rename {shaders => lib/i915/shaders}/ps/neg1_gen8.asm (100%)
>  rename {shaders => lib/i915/shaders}/ps/neg1_test.g7a (100%)


# git grep shaders/
include/drm-uapi/vc4_drm.h:      * how many pointers are necessary (fixed number for shaders/uniforms,
lib/gpgpu_fill.c:/* shaders/gpgpu/gpgpu_fill.gxa */
lib/rendercopy_gen8.c:/* see shaders/ps/blit.g7a */
lib/rendercopy_gen9.c:/* see shaders/ps/blit.g7a */

Ignoring the vc4_drm.h hit, change those other comments to refer to
the new paths.


-- 
Petri Latvala




> 
> diff --git a/shaders/README b/lib/i915/shaders/README
> similarity index 100%
> rename from shaders/README
> rename to lib/i915/shaders/README
> diff --git a/shaders/converter.py b/lib/i915/shaders/converter.py
> similarity index 100%
> rename from shaders/converter.py
> rename to lib/i915/shaders/converter.py
> diff --git a/shaders/gpgpu/README b/lib/i915/shaders/gpgpu/README
> similarity index 100%
> rename from shaders/gpgpu/README
> rename to lib/i915/shaders/gpgpu/README
> diff --git a/shaders/gpgpu/gpgpu_fill.gxa b/lib/i915/shaders/gpgpu/gpgpu_fill.gxa
> similarity index 100%
> rename from shaders/gpgpu/gpgpu_fill.gxa
> rename to lib/i915/shaders/gpgpu/gpgpu_fill.gxa
> diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm b/lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm
> similarity index 100%
> rename from shaders/gpgpu/gpgpu_fill_gen8.asm
> rename to lib/i915/shaders/gpgpu/gpgpu_fill_gen8.asm
> diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm b/lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm
> similarity index 100%
> rename from shaders/gpgpu/gpgpu_fill_gen9.asm
> rename to lib/i915/shaders/gpgpu/gpgpu_fill_gen9.asm
> diff --git a/shaders/media/README b/lib/i915/shaders/media/README
> similarity index 100%
> rename from shaders/media/README
> rename to lib/i915/shaders/media/README
> diff --git a/shaders/media/media_fill.gxa b/lib/i915/shaders/media/media_fill.gxa
> similarity index 100%
> rename from shaders/media/media_fill.gxa
> rename to lib/i915/shaders/media/media_fill.gxa
> diff --git a/shaders/media/media_fill_gen8.asm b/lib/i915/shaders/media/media_fill_gen8.asm
> similarity index 100%
> rename from shaders/media/media_fill_gen8.asm
> rename to lib/i915/shaders/media/media_fill_gen8.asm
> diff --git a/shaders/ps/README b/lib/i915/shaders/ps/README
> similarity index 100%
> rename from shaders/ps/README
> rename to lib/i915/shaders/ps/README
> diff --git a/shaders/ps/blit.g7a b/lib/i915/shaders/ps/blit.g7a
> similarity index 100%
> rename from shaders/ps/blit.g7a
> rename to lib/i915/shaders/ps/blit.g7a
> diff --git a/shaders/ps/blit_gen8.asm b/lib/i915/shaders/ps/blit_gen8.asm
> similarity index 100%
> rename from shaders/ps/blit_gen8.asm
> rename to lib/i915/shaders/ps/blit_gen8.asm
> diff --git a/shaders/ps/neg1_gen8.asm b/lib/i915/shaders/ps/neg1_gen8.asm
> similarity index 100%
> rename from shaders/ps/neg1_gen8.asm
> rename to lib/i915/shaders/ps/neg1_gen8.asm
> diff --git a/shaders/ps/neg1_test.g7a b/lib/i915/shaders/ps/neg1_test.g7a
> similarity index 100%
> rename from shaders/ps/neg1_test.g7a
> rename to lib/i915/shaders/ps/neg1_test.g7a
> -- 
> 2.17.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-03  5:47   ` Katarzyna Dec
@ 2018-10-03 11:02     ` Petri Latvala
  2018-10-03 13:51       ` Katarzyna Dec
  0 siblings, 1 reply; 15+ messages in thread
From: Petri Latvala @ 2018-10-03 11:02 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

On Wed, Oct 03, 2018 at 07:47:22AM +0200, Katarzyna Dec wrote:
> We're not planning to work on assembler in igt anymore, since we can
> reuse an existing project (IGA) that will do this work for us. The
> only extra thing we need to do is convert the result binary to C-array,
> simple python script.
> 
> v2: Moved converter to single file. Fixed README for shaders.
> v3: Fixed typos.
> 
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> ---
>  shaders/README                    | 19 +++++++++++++++++++
>  shaders/converter.py              | 24 ++++++++++++++++++++++++
>  shaders/gpgpu/README              | 10 ++++++++++
>  shaders/gpgpu/gpgpu_fill_gen8.asm | 10 ++++++++++
>  shaders/gpgpu/gpgpu_fill_gen9.asm | 10 ++++++++++
>  shaders/media/README              |  8 ++++++++
>  shaders/media/media_fill_gen8.asm | 11 +++++++++++
>  shaders/ps/README                 |  8 ++++++++
>  shaders/ps/blit_gen8.asm          |  7 +++++++
>  shaders/ps/neg1_gen8.asm          |  9 +++++++++
>  10 files changed, 116 insertions(+)
>  create mode 100644 shaders/README
>  create mode 100644 shaders/converter.py
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen8.asm
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen9.asm
>  create mode 100644 shaders/media/media_fill_gen8.asm
>  create mode 100644 shaders/ps/blit_gen8.asm
>  create mode 100644 shaders/ps/neg1_gen8.asm
> 
> diff --git a/shaders/README b/shaders/README
> new file mode 100644
> index 00000000..7ac125b5
> --- /dev/null
> +++ b/shaders/README
> @@ -0,0 +1,19 @@
> +This directory is for shaders used in media_fill, gpgpu_fill, rendercopy
> +and media_spin libraries.
> +
> +Till Gen8 shaders were generated using intel-gen4asm script (implementation in
> +assembler/ directory). From Gen8 it is possible to use Intel Graphics Assembler
> +to generate binary from asm instructions.
> +https://github.com/intel/intel-graphics-compiler
> +    1. Clone IGC project
> +    2. Go to igc/visa/iga
> +    3. Build iga
> +        cmake . && make
> +
> +For maintaining compatibility with our tests there is a bin to hex converter
> +written in python:
> +    $>converter.py input_file > output_file
> +e.g.$>python converter.py gen9_iga_output > gen9_hex_array
> +
> +Instructions how to build media, gpgpu or ps shaders are included in their
> +subdirectories.
> diff --git a/shaders/converter.py b/shaders/converter.py
> new file mode 100644
> index 00000000..d00e6193
> --- /dev/null
> +++ b/shaders/converter.py
> @@ -0,0 +1,24 @@
> +#!/usr/bin/env python2


Python 2 in 2018? Why?


-- 
Petri Latvala



> +import struct
> +import sys
> +import argparse
> +
> +parser = argparse.ArgumentParser(description='Script for converting shaders in binary to hex.')
> +args = parser.parse_args()
> +
> +print "static const uint32_t kernel[][4] = {"
> +
> +with open(sys.argv[1], 'r') as f:
> +    fmt = '<LLLL'
> +    step = struct.calcsize(fmt)
> +    while True:
> +        buf = f.read(step)
> +        if not buf:
> +            break
> +        elif len(buf) < step:
> +            buf += '\x00' * (step - len(buf))
> +
> +        val = struct.unpack('<LLLL', buf)
> +        print "\t{{ 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x} }},".format(*val)
> +
> +print "};"
> diff --git a/shaders/gpgpu/README b/shaders/gpgpu/README
> index 3bf328ad..9d254e2a 100644
> --- a/shaders/gpgpu/README
> +++ b/shaders/gpgpu/README
> @@ -1,4 +1,14 @@
> +These files are here for reference only.
>  
>  Commands used to generate the shader on gen7
>  $> m4 gpgpu_fill.gxa > gpgpu_fill.gxm
>  $> intel-gen4asm -g 7 -o <output> gpgpu_fill.gxm
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from asm
> +instructions
> +https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
> +
> +How to get binary from .asm (e.g. when ISA instructions has changed):
> +        $> iga64 gpgpu_fill.asm -p=8 -a -o gpgpu_fill_gen8.bin
> +        $> Use converter from shaders/README to have hex array used in libs
> +        $> Copy output to proper lib
> diff --git a/shaders/gpgpu/gpgpu_fill_gen8.asm b/shaders/gpgpu/gpgpu_fill_gen8.asm
> new file mode 100644
> index 00000000..448e0256
> --- /dev/null
> +++ b/shaders/gpgpu/gpgpu_fill_gen8.asm
> @@ -0,0 +1,10 @@
> +         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
> +         mul (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
> +         mov (1|M0)               r2.1<1>:ud    r0.6<0;1,0>:ud
> +         mov (8|M0)               r4.0<1>:ud    r0.0<8;8,1>:ud
> +         mov (2|M0)               r4.0<1>:ud    r2.0<2;2,1>:ud
> +         mov (1|M0)               r4.2<1>:ud    0xF:ud
> +         mov (16|M0)   (eq)f0.0   r5.0<1>:ud    r1.0<0;1,0>:ud
> +         send (16|M0)             acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
> +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send (16|M0)             null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/gpgpu/gpgpu_fill_gen9.asm b/shaders/gpgpu/gpgpu_fill_gen9.asm
> new file mode 100644
> index 00000000..6f948935
> --- /dev/null
> +++ b/shaders/gpgpu/gpgpu_fill_gen9.asm
> @@ -0,0 +1,10 @@
> +         mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
> +         mul (1|M0)  r2.0<1>:ud    r0.1<0;1,0>:ud    0x10:ud
> +         mov (1|M0)  r2.1<1>:ud    r0.6<0;1,0>:ud
> +         mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
> +         mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
> +         mov (1|M0)  r4.2<1>:ud    0xF:ud
> +         mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
> +         send (16|M0)  acc0.0:uw  r4:d  0xC       0x060A8000 //  DP_DC1  wr:3h, rd:0, fc: 0x28000
> +         mov (8|M0)  r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send (16|M0)  null:uw  r112:d  0x27      0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/media/README b/shaders/media/README
> index 9f296010..44c08dce 100644
> --- a/shaders/media/README
> +++ b/shaders/media/README
> @@ -3,3 +3,11 @@ These files are here for reference only.
>  Commands used to generate the shader on gen8
>  $> m4 media_fill.gxa > media_fill.gxm
>  $> intel-gen4asm -g 8 -o <output> media_fill.gxm
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from asm
> +instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
> +
> +How to get binary from .asm (e.g. when ISA instructions has changed):
> +        $> iga64 media_fill_gen8.asm -p=8 -a -o media_fill_gen8.bin
> +        $> Use converter from shaders/README to have hex array used in libs
> +        $> Copy output to proper lib
> diff --git a/shaders/media/media_fill_gen8.asm b/shaders/media/media_fill_gen8.asm
> new file mode 100644
> index 00000000..4b6eb84b
> --- /dev/null
> +++ b/shaders/media/media_fill_gen8.asm
> @@ -0,0 +1,11 @@
> +        mov (4|M0)  r1.0<1>:ub    r1.0<0;1,0>:ub
> +        mov (8|M0)  r4.0<1>:ud    r0.0<8;8,1>:ud
> +        mov (2|M0)  r4.0<1>:ud    r2.0<2;2,1>:ud
> +        mov (1|M0)  r4.2<1>:ud    0xF000F:ud
> +        mov (16|M0) r5.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r7.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r9.0<1>:ud    r1.0<0;1,0>:ud
> +        mov (16|M0) r11.0<1>:ud   r1.0<0;1,0>:ud
> +        send (16|M0) acc0.0:uw  r4:d  0x1000000C  0x120A8000 //  DP_DC1  wr:9h, rd:0, fc: 0x28000
> +        mov (8|M0) r112.0<1>:ud  r0.0<8;8,1>:ud
> +        send (16|M0) null:uw  r112:d  0x10000027  0x02000010 {EOT} //  SPAWNER  wr:1, rd:0, fc: 0x10
> diff --git a/shaders/ps/README b/shaders/ps/README
> index b196d025..21ff571a 100644
> --- a/shaders/ps/README
> +++ b/shaders/ps/README
> @@ -1 +1,9 @@
>  These files are here for reference only.
> +
> +From gen8 we can use Intel Graphics Assember to generate binary from asm
> +instructions https://github.com/intel/intel-graphics-compiler/tree/master/visa/iga
> +
> +How to get binary from .asm?
> +        $> iga64 blit_gen8.asm -p=8 -a -o blit_gen8.bin
> +        $> Use converter from shaders/README to have hex array used in libs
> +        $> Copy output to proper lib
> diff --git a/shaders/ps/blit_gen8.asm b/shaders/ps/blit_gen8.asm
> new file mode 100644
> index 00000000..c35b70a1
> --- /dev/null
> +++ b/shaders/ps/blit_gen8.asm
> @@ -0,0 +1,7 @@
> + pln (8|M0) r10.0<1>:f r6.0<0;1,0>:f r2.0<8;8,1>:f
> + pln (8|M0) r11.0<1>:f r6.0<0;1,0>:f r4.0<8;8,1>:f
> + pln (8|M0) r12.0<1>:f r6.4<0;1,0>:f r2.0<8;8,1>:f
> + pln (8|M0) 13.0<1>:f r6.4<0;1,0>:f r4.0<8;8,1>:f
> + send (16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001
> + send (16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0
> +
> diff --git a/shaders/ps/neg1_gen8.asm b/shaders/ps/neg1_gen8.asm
> new file mode 100644
> index 00000000..582375b5
> --- /dev/null
> +++ b/shaders/ps/neg1_gen8.asm
> @@ -0,0 +1,9 @@
> +mov(8) r112:ud 0x3f800000:ud
> +mov(8) r113:ud 0x3f800000:ud
> +mov(8) r114:ud 0x3f800000:ud
> +mov(8) r115:ud 0x3f800000:ud
> +mov(8) r116:ud 0x3f800000:ud
> +mov(8) r117:ud 0x3f800000:ud
> +mov(8) r118:ud 0x3f800000:ud
> +mov(8) r119:ud 0x3f800000:ud
> +send(16) null r112  0x25 0x10031000 { EOT }
> -- 
> 2.17.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
  2018-10-02 13:57   ` Kalamarz, Lukasz
  2018-10-03  5:47   ` Katarzyna Dec
@ 2018-10-03 11:05   ` Arkadiusz Hiler
  2018-10-03 13:50     ` Katarzyna Dec
  2 siblings, 1 reply; 15+ messages in thread
From: Arkadiusz Hiler @ 2018-10-03 11:05 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

On Tue, Oct 02, 2018 at 03:49:32PM +0200, Katarzyna Dec wrote:
> We're not planning to work on assembler in igt anymore, since we can
> reuse an existing project (IGA) that will do this work for us. The
> only extra thing we need to do is convert the result binary to C-array,
> simple python script.
> 
> v2: Moved converter to single file. Fixed README for shaders.
> 
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Kalamarz Lukasz <lukasz.kalamarz@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> ---
>  shaders/README                    | 19 +++++++++++++++++++
>  shaders/converter.py              | 24 ++++++++++++++++++++++++
>  shaders/gpgpu/README              | 11 +++++++++++
>  shaders/gpgpu/gpgpu_fill_gen8.asm | 10 ++++++++++
>  shaders/gpgpu/gpgpu_fill_gen9.asm | 10 ++++++++++
>  shaders/media/README              |  9 +++++++++
>  shaders/media/media_fill_gen8.asm | 11 +++++++++++
>  shaders/ps/README                 |  8 ++++++++
>  shaders/ps/blit_gen8.asm          |  7 +++++++
>  shaders/ps/neg1_gen8.asm          |  9 +++++++++
>  10 files changed, 118 insertions(+)
>  create mode 100644 shaders/README
>  create mode 100644 shaders/converter.py
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen8.asm
>  create mode 100644 shaders/gpgpu/gpgpu_fill_gen9.asm
>  create mode 100644 shaders/media/media_fill_gen8.asm
>  create mode 100644 shaders/ps/blit_gen8.asm
>  create mode 100644 shaders/ps/neg1_gen8.asm
> 
> diff --git a/shaders/README b/shaders/README
> new file mode 100644
> index 00000000..3365a209
> --- /dev/null
> +++ b/shaders/README
> @@ -0,0 +1,19 @@
> +This directory is for shaders used in media_fill, gpgpu_fill, rendercopy
> +and media_spin libraries.
> +
> +Till Gen8 shaders were generated using intel-gen4asm script (implementation in
> +assembler/ directory). From Gen8 it is possible to use Intel Graphics Assembler
> +to generate binary from asm instructions.
> +https://github.com/intel/intel-graphics-compiler
> +    1. Clone IGC project
> +    2. Go to igc/visa/iga
> +    3. Build iga
> +        cmake . && make
> +
> +For maintaining compatibility with our tests there is a bin to hex converter
> +written in python:
> +    $>converter.py input_file > output_file
> +e.g.$>python converter.py gen9_iga_output > gen9_hex_array
> +
> +Instructions how to build media, gpgpu or ps shaders included in their
> +subdirectories.
> diff --git a/shaders/converter.py b/shaders/converter.py
> new file mode 100644
> index 00000000..a50ac96c
> --- /dev/null
> +++ b/shaders/converter.py
> @@ -0,0 +1,24 @@
> +#!/usr/bin/env python2
> +import struct
> +import sys
> +import argparse
> +
> +parser = argparse.ArgumentParser(description='Script for converting shaders in binary to hex.')
> +args = parser.parse_args()
> +
> +print "static const uint32_t kernel[][4] = {"
> +
> +with open(sys.argv[1], 'r') as f:
> +    fmt = '<LLLL'
> +    step = struct.calcsize(fmt)
> +    while True:
> +        buf = f.read(step)
> +        if not buf:
> +            break
> +        elif len(buf) < step:
> +            buf += '\x00' * (step - len(buf))
> +
> +        val = struct.unpack('<LLLL', buf)
> +        print "\t{{ 0x{:08x}, 0x{:08x}, 0x{:08x}, 0x{:08x} }},".format(*val)
> +
> +print "};"
> \ No newline at end of file
> diff --git a/shaders/gpgpu/README b/shaders/gpgpu/README
> index 3bf328ad..91aca7e8 100644
> --- a/shaders/gpgpu/README
> +++ b/shaders/gpgpu/README
> @@ -1,4 +1,15 @@
> +These files are here for reference only.
>  
>  Commands used to generate the shader on gen7
>  $> m4 gpgpu_fill.gxa > gpgpu_fill.gxm
>  $> intel-gen4asm -g 7 -o <output> gpgpu_fill.gxm

Is there any point in having this README almost copy-and-pasted for each
shader directory, instead of having just a common one in shaders/
direcotry?

-- 
Cheers,
Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-03 11:05   ` Arkadiusz Hiler
@ 2018-10-03 13:50     ` Katarzyna Dec
  0 siblings, 0 replies; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-03 13:50 UTC (permalink / raw)
  To: Arkadiusz Hiler, igt-dev

On Wed, Oct 03, 2018 at 02:05:12PM +0300, Arkadiusz Hiler wrote:
> On Tue, Oct 02, 2018 at 03:49:32PM +0200, Katarzyna Dec wrote:
> 
> Is there any point in having this README almost copy-and-pasted for each
> shader directory, instead of having just a common one in shaders/
> direcotry?
> 
> -- 
> Cheers,
> Arek

Good point! I have consolidated README files.
Kasia :)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders
  2018-10-03 11:02     ` Petri Latvala
@ 2018-10-03 13:51       ` Katarzyna Dec
  0 siblings, 0 replies; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-03 13:51 UTC (permalink / raw)
  To: Petri Latvala, igt-dev

On Wed, Oct 03, 2018 at 02:02:56PM +0300, Petri Latvala wrote:
> On Wed, Oct 03, 2018 at 07:47:22AM +0200, Katarzyna Dec wrote:
> Python 2 in 2018? Why?
> 
> 
> -- 
> Petri Latvala
>
I have changed that, thanks!
Kasia :)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory
  2018-10-03 11:00   ` Petri Latvala
@ 2018-10-03 13:52     ` Katarzyna Dec
  0 siblings, 0 replies; 15+ messages in thread
From: Katarzyna Dec @ 2018-10-03 13:52 UTC (permalink / raw)
  To: Petri Latvala, igt-dev

On Wed, Oct 03, 2018 at 02:00:32PM +0300, Petri Latvala wrote:
> On Tue, Oct 02, 2018 at 03:49:33PM +0200, Katarzyna Dec wrote:
> # git grep shaders/
> include/drm-uapi/vc4_drm.h:      * how many pointers are necessary (fixed number for shaders/uniforms,
> lib/gpgpu_fill.c:/* shaders/gpgpu/gpgpu_fill.gxa */
> lib/rendercopy_gen8.c:/* see shaders/ps/blit.g7a */
> lib/rendercopy_gen9.c:/* see shaders/ps/blit.g7a */
> 
> Ignoring the vc4_drm.h hit, change those other comments to refer to
> the new paths.
> 
> 
> -- 
> Petri Latvala
>
I forgot about "see shaders/" comments in code. Thansk!
Kasia :)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2018-10-03 13:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-02 13:49 [igt-dev] [PATCH i-g-t 0/2] Shaders documentation RESENDING Katarzyna Dec
2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 1/2] shaders: Add assembler instructions and update README for shaders Katarzyna Dec
2018-10-02 13:57   ` Kalamarz, Lukasz
2018-10-03  5:47   ` Katarzyna Dec
2018-10-03 11:02     ` Petri Latvala
2018-10-03 13:51       ` Katarzyna Dec
2018-10-03 11:05   ` Arkadiusz Hiler
2018-10-03 13:50     ` Katarzyna Dec
2018-10-02 13:49 ` [igt-dev] [PATCH i-g-t 2/2] lib/i915: Move shaders directory Katarzyna Dec
2018-10-03 11:00   ` Petri Latvala
2018-10-03 13:52     ` Katarzyna Dec
2018-10-02 14:55 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING Patchwork
2018-10-03  6:14 ` [igt-dev] ✓ Fi.CI.BAT: success for Shaders documentation RESENDING (rev2) Patchwork
2018-10-03  6:53 ` [igt-dev] ✗ Fi.CI.IGT: failure for Shaders documentation RESENDING Patchwork
2018-10-03 10:14 ` [igt-dev] ✓ Fi.CI.IGT: success for Shaders documentation RESENDING (rev2) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.