public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL
@ 2019-09-17  9:13 Katarzyna Dec
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL Katarzyna Dec
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-17  9:13 UTC (permalink / raw)
  To: igt-dev; +Cc: Lucas De Marchi

Patches add media_fill and gpgpu_fill functions on TGL.

v2: Switched to IS_GEN12 macro.

Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>

Katarzyna Dec (3):
  lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  lib/media_fill/tgl: Implement media_fillfunc for TGL
  HAX: run gpgpu_fill and media_fill in BAT

 lib/gpgpu_fill.c                              | 22 ++++++++++++++++
 lib/gpgpu_fill.h                              |  7 ++++++
 lib/i915/shaders/README                       |  2 ++
 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm | 12 +++++++++
 lib/i915/shaders/media/gen12_media_kernel.asm | 13 ++++++++++
 lib/intel_batchbuffer.c                       |  6 ++++-
 lib/media_fill.c                              | 25 +++++++++++++++++++
 lib/media_fill.h                              |  7 ++++++
 tests/intel-ci/fast-feedback.testlist         |  3 ++-
 9 files changed, 95 insertions(+), 2 deletions(-)
 create mode 100644 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
 create mode 100644 lib/i915/shaders/media/gen12_media_kernel.asm

-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
@ 2019-09-17  9:13 ` Katarzyna Dec
  2019-09-18  4:51   ` Ashutosh Dixit
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc " Katarzyna Dec
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-17  9:13 UTC (permalink / raw)
  To: igt-dev; +Cc: Lucas De Marchi

Adding gen12_gpgpu_fillfunc to have gpgpu_fill running on TGL.
Gpgpu shader was generated using IGA (Intel Graphics Assembler)
based on Gen11 binary adding necessary SWSB dependencies and
changes in SEND instruction.

Shader source code and array containing its assembled version
have same names now to avoid ambiguity.

v2: Switched to using IS_GEN12

Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 lib/gpgpu_fill.c                              | 22 +++++++++++++++++++
 lib/gpgpu_fill.h                              |  7 ++++++
 lib/i915/shaders/README                       |  2 ++
 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm | 12 ++++++++++
 lib/intel_batchbuffer.c                       |  2 ++
 5 files changed, 45 insertions(+)
 create mode 100644 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm

diff --git a/lib/gpgpu_fill.c b/lib/gpgpu_fill.c
index 003f4616..9a48c645 100644
--- a/lib/gpgpu_fill.c
+++ b/lib/gpgpu_fill.c
@@ -87,6 +87,19 @@ static const uint32_t gen11_gpgpu_kernel[][4] = {
 	{ 0x07800031, 0x20000a40, 0x06000e00, 0x82000010 },
 };
 
+static const uint32_t gen12_gpgpu_kernel[][4] = {
+	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
+	{ 0x00000069, 0x02058220, 0x02000024, 0x00000004 },
+	{ 0x00000061, 0x02250220, 0x000000c4, 0x00000000 },
+	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
+	{ 0x00010261, 0x04050220, 0x00220205, 0x00000000 },
+	{ 0x00000061, 0x04454220, 0x00000000, 0x0000000f },
+	{ 0x00040661, 0x05050220, 0x00000104, 0x00000000 },
+	{ 0x00049031, 0x00000000, 0xc0000414, 0x02a00000 },
+	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
+	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
+};
+
 /*
  * This sets up the gpgpu pipeline,
  *
@@ -282,3 +295,12 @@ void gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
 	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
 			      gen11_gpgpu_kernel, sizeof(gen11_gpgpu_kernel));
 }
+void gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
+			  const struct igt_buf *dst,
+			  unsigned int x, unsigned int y,
+			  unsigned int width, unsigned int height,
+			  uint8_t color)
+{
+	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
+			      gen12_gpgpu_kernel, sizeof(gen12_gpgpu_kernel));
+}
diff --git a/lib/gpgpu_fill.h b/lib/gpgpu_fill.h
index e405df3e..acee5bdc 100644
--- a/lib/gpgpu_fill.h
+++ b/lib/gpgpu_fill.h
@@ -57,4 +57,11 @@ gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
 		     unsigned int width, unsigned int height,
 		     uint8_t color);
 
+void
+gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
+		       const struct igt_buf *dst,
+		       unsigned int x, unsigned int y,
+		       unsigned int width, unsigned int height,
+		       uint8_t color);
+
 #endif /* GPGPU_FILL_H */
diff --git a/lib/i915/shaders/README b/lib/i915/shaders/README
index 06b9883c..6f80111b 100644
--- a/lib/i915/shaders/README
+++ b/lib/i915/shaders/README
@@ -23,3 +23,5 @@ Commands used to generate the shader on gen8
 $> m4 media_fill.gxa > media_fill.gxm
 $> intel-gen4asm -g 8 -o <output> media_fill.gxm
 
+Gen11+ shader is generated using IGA (Intel Graphics Assembler).
+Binary can no longer be generated using intel-gen4asm.
diff --git a/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
new file mode 100644
index 00000000..ede87a05
--- /dev/null
+++ b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
@@ -0,0 +1,12 @@
+L0:
+         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
+         shl (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x4: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                   {@2}
+         mov (1|M0)               r4.2<1>:ud    0xF:ud
+         mov (16|M0)              r5.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
+         send.dc1 (16|M0)         null     r4      null    0x0         0x40A8000  {@1, $0} //    wr:2h+0, rd:0, Media Block Write msc:0, to #0
+         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
+         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
+L160:
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 07de5cbb..269c8982 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -901,6 +901,8 @@ igt_fillfunc_t igt_get_gpgpu_fillfunc(int devid)
 		fill = gen9_gpgpu_fillfunc;
 	else if (IS_GEN11(devid))
 		fill = gen11_gpgpu_fillfunc;
+	else if (IS_GEN12(devid))
+		fill = gen12_gpgpu_fillfunc;
 
 	return fill;
 }
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc for TGL
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL Katarzyna Dec
@ 2019-09-17  9:13 ` Katarzyna Dec
  2019-09-18  4:55   ` Ashutosh Dixit
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT Katarzyna Dec
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-17  9:13 UTC (permalink / raw)
  To: igt-dev; +Cc: Lucas De Marchi

Adding gen12_media_fillfunc to have media_fill running on TGL.
Media shader was generated using IGA (Intel Graphics Assembler)
based on binary found in lib/media_fill_gen9.c to match the
changes in TGL HW. Main change was made in SEND instructions
and adding SWSB dependencies.

v2: Switched to GEN_12.

Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 lib/i915/shaders/media/gen12_media_kernel.asm | 13 ++++++++++
 lib/intel_batchbuffer.c                       |  4 ++-
 lib/media_fill.c                              | 25 +++++++++++++++++++
 lib/media_fill.h                              |  7 ++++++
 4 files changed, 48 insertions(+), 1 deletion(-)
 create mode 100644 lib/i915/shaders/media/gen12_media_kernel.asm

diff --git a/lib/i915/shaders/media/gen12_media_kernel.asm b/lib/i915/shaders/media/gen12_media_kernel.asm
new file mode 100644
index 00000000..5be229b2
--- /dev/null
+++ b/lib/i915/shaders/media/gen12_media_kernel.asm
@@ -0,0 +1,13 @@
+L0:
+         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 (8|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                   {@4}
+         mov (16|M0)              r7.0<1>:ud    r1.0<0;1,0>:ud                   {@5}
+         mov (16|M0)              r9.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
+         mov (16|M0)              r11.0<1>:ud   r1.0<0;1,0>:ud                   {@7}
+         send.dc1 (16|M0)         null     r4      null    0x10000000  0x120A8000 {@1, $0} //    wr:9h+0, rd:0, Media Block Write msc:0, to #0
+         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
+         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
+L176:
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 269c8982..9292236b 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -861,7 +861,9 @@ igt_fillfunc_t igt_get_media_fillfunc(int devid)
 {
 	igt_fillfunc_t fill = NULL;
 
-	if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
+	if (IS_GEN12(devid))
+		fill = gen12_media_fillfunc;
+	else if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
 		fill = gen9_media_fillfunc;
 	else if (IS_GEN8(devid))
 		fill = gen8_media_fillfunc;
diff --git a/lib/media_fill.c b/lib/media_fill.c
index 03b5e71e..b7d7f68c 100644
--- a/lib/media_fill.c
+++ b/lib/media_fill.c
@@ -101,6 +101,20 @@ static const uint32_t gen11_media_vme_kernel[][4] = {
 	{ 0x00000000, 0x00000000,  0x00000000,  0x00000000 },
 };
 
+static const uint32_t gen12_media_kernel[][4] = {
+	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
+	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
+	{ 0x00030061, 0x04050220, 0x00220205, 0x00000000 },
+	{ 0x00000061, 0x04454220, 0x00000000, 0x000f000f },
+	{ 0x00040461, 0x05050220, 0x00000104, 0x00000000 },
+	{ 0x00040561, 0x07050220, 0x00000104, 0x00000000 },
+	{ 0x00040661, 0x09050220, 0x00000104, 0x00000000 },
+	{ 0x00040761, 0x0b050220, 0x00000104, 0x00000000 },
+	{ 0x00049031, 0x00000000, 0xc000044c, 0x12a00000 },
+	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
+	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
+};
+
 /*
  * This sets up the media pipeline,
  *
@@ -355,3 +369,14 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
 			       gen11_media_vme_kernel,
 			       sizeof(gen11_media_vme_kernel));
 }
+
+void
+gen12_media_fillfunc(struct intel_batchbuffer *batch,
+		     const struct igt_buf *dst,
+		     unsigned int x, unsigned int y,
+		     unsigned int width, unsigned int height,
+		     uint8_t color)
+{
+	__gen9_media_fillfunc(batch, dst, x, y, width, height, color,
+			      gen12_media_kernel, sizeof(gen12_media_kernel));
+}
diff --git a/lib/media_fill.h b/lib/media_fill.h
index 1d5c5fa8..a65ae9e8 100644
--- a/lib/media_fill.h
+++ b/lib/media_fill.h
@@ -55,4 +55,11 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
 		     unsigned int width, unsigned int height,
 		     const struct igt_buf *dst);
 
+void
+gen12_media_fillfunc(struct intel_batchbuffer *batch,
+		       const struct igt_buf *dst,
+		       unsigned int x, unsigned int y,
+		       unsigned int width, unsigned int height,
+		       uint8_t color);
+
 #endif /* RENDE_MEDIA_FILL_H */
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL Katarzyna Dec
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc " Katarzyna Dec
@ 2019-09-17  9:13 ` Katarzyna Dec
  2019-09-18  5:27   ` Ashutosh Dixit
  2019-09-17 10:01 ` [igt-dev] ✓ Fi.CI.BAT: success for Adding gpgpu_fill and media_fill on TGL Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-17  9:13 UTC (permalink / raw)
  To: igt-dev

---
 tests/intel-ci/fast-feedback.testlist | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index e78e7fd0..596ff042 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,5 +1,6 @@
 # Keep alphabetically sorted by default
-
+igt@gem_media_fill
+igt@gem_gpgpu_fill
 igt@core_auth@basic-auth
 igt@debugfs_test@read_all_entries
 igt@gem_basic@bad-close
-- 
2.20.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for Adding gpgpu_fill and media_fill on TGL
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
                   ` (2 preceding siblings ...)
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT Katarzyna Dec
@ 2019-09-17 10:01 ` Patchwork
  2019-09-17 15:42 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2019-09-18  5:05 ` [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
  5 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-17 10:01 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Adding gpgpu_fill and media_fill on TGL
URL   : https://patchwork.freedesktop.org/series/66804/
State : success

== Summary ==

CI Bug Log - changes from IGT_5187 -> IGTPW_3468
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Possible new issues
-------------------

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

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_tiled_fence_blits@basic:
    - {fi-tgl-u}:         NOTRUN -> [SKIP][1] +2 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-tgl-u/igt@gem_tiled_fence_blits@basic.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_basic@create-fd-close:
    - fi-icl-u3:          [PASS][2] -> [DMESG-WARN][3] ([fdo#107724])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/fi-icl-u3/igt@gem_basic@create-fd-close.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-icl-u3/igt@gem_basic@create-fd-close.html

  * igt@gem_ctx_create@basic-files:
    - fi-icl-u3:          [PASS][4] -> [INCOMPLETE][5] ([fdo#107713] / [fdo#109100])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/fi-icl-u3/igt@gem_ctx_create@basic-files.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-icl-u3/igt@gem_ctx_create@basic-files.html

  
#### Possible fixes ####

  * igt@debugfs_test@read_all_entries:
    - {fi-tgl-u2}:        [DMESG-WARN][6] ([fdo#111600]) -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/fi-tgl-u2/igt@debugfs_test@read_all_entries.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-tgl-u2/igt@debugfs_test@read_all_entries.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       [INCOMPLETE][8] ([fdo#107718]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html

  
#### Warnings ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][10] ([fdo#111407]) -> [FAIL][11] ([fdo#111096])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

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

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600


Participating hosts (55 -> 47)
------------------------------

  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-bsw-n3050 fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5187 -> IGTPW_3468

  CI-20190529: 20190529
  CI_DRM_6906: 72e400c2b824ab108907631fcf896d3d2020e7d5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3468: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/
  IGT_5187: 587f5a93cba14d7f76d0ba8e4a675b2c979584cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for Adding gpgpu_fill and media_fill on TGL
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
                   ` (3 preceding siblings ...)
  2019-09-17 10:01 ` [igt-dev] ✓ Fi.CI.BAT: success for Adding gpgpu_fill and media_fill on TGL Patchwork
@ 2019-09-17 15:42 ` Patchwork
  2019-09-18  5:05 ` [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit
  5 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2019-09-17 15:42 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

== Series Details ==

Series: Adding gpgpu_fill and media_fill on TGL
URL   : https://patchwork.freedesktop.org/series/66804/
State : success

== Summary ==

CI Bug Log - changes from IGT_5187_full -> IGTPW_3468_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Possible new issues
-------------------

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

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@kms_dp_tiled_display@basic-test-pattern}:
    - shard-iclb:         [SKIP][1] ([fdo#111716]) -> [SKIP][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb5/igt@kms_dp_tiled_display@basic-test-pattern.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb8/igt@kms_dp_tiled_display@basic-test-pattern.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#110841])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@preempt-other-bsd1:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([fdo#109276]) +14 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb1/igt@gem_exec_schedule@preempt-other-bsd1.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb5/igt@gem_exec_schedule@preempt-other-bsd1.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#111325]) +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb6/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [PASS][9] -> [FAIL][10] ([fdo#103167]) +6 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-apl:          [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +5 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-apl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-apl8/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@deep-bsd:
    - shard-iclb:         [SKIP][13] ([fdo#111325]) -> [PASS][14] +6 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb1/igt@gem_exec_schedule@deep-bsd.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb3/igt@gem_exec_schedule@deep-bsd.html

  * igt@gem_exec_schedule@reorder-wide-bsd1:
    - shard-iclb:         [SKIP][15] ([fdo#109276]) -> [PASS][16] +18 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb7/igt@gem_exec_schedule@reorder-wide-bsd1.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb2/igt@gem_exec_schedule@reorder-wide-bsd1.html

  * igt@i915_suspend@forcewake:
    - shard-apl:          [DMESG-WARN][17] ([fdo#108566]) -> [PASS][18] +4 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-apl3/igt@i915_suspend@forcewake.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-apl2/igt@i915_suspend@forcewake.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen:
    - shard-kbl:          [FAIL][19] ([fdo#103232]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-kbl1/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-kbl7/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html
    - shard-apl:          [FAIL][21] ([fdo#103232]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-apl1/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-apl3/igt@kms_cursor_crc@pipe-b-cursor-128x128-onscreen.html

  * igt@kms_cursor_edge_walk@pipe-b-64x64-left-edge:
    - shard-iclb:         [INCOMPLETE][23] ([fdo#107713]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb4/igt@kms_cursor_edge_walk@pipe-b-64x64-left-edge.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb8/igt@kms_cursor_edge_walk@pipe-b-64x64-left-edge.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-iclb:         [FAIL][25] ([fdo#103167]) -> [PASS][26] +4 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_psr@psr2_cursor_blt:
    - shard-iclb:         [SKIP][27] ([fdo#109441]) -> [PASS][28] +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb6/igt@kms_psr@psr2_cursor_blt.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [INCOMPLETE][29] ([fdo#103665]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-kbl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-kbl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
#### Warnings ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][31] ([fdo#109349]) -> [DMESG-WARN][32] ([fdo#107724])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5187/shard-iclb7/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111716]: https://bugs.freedesktop.org/show_bug.cgi?id=111716


Participating hosts (7 -> 6)
------------------------------

  Missing    (1): shard-skl 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5187 -> IGTPW_3468

  CI-20190529: 20190529
  CI_DRM_6906: 72e400c2b824ab108907631fcf896d3d2020e7d5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3468: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3468/
  IGT_5187: 587f5a93cba14d7f76d0ba8e4a675b2c979584cf @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL Katarzyna Dec
@ 2019-09-18  4:51   ` Ashutosh Dixit
  2019-09-18  4:56     ` Katarzyna Dec
  2019-09-18  8:35     ` Katarzyna Dec
  0 siblings, 2 replies; 16+ messages in thread
From: Ashutosh Dixit @ 2019-09-18  4:51 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev, Lucas De Marchi

I ran the kernel checkpatch on the patch and found a couple of minor
issues. Perhaps it is a good idea to run checkpatch even on non-kernel
patches in the future and fix up whatever can be fixed up.

On Tue, 17 Sep 2019 02:13:51 -0700, Katarzyna Dec wrote:
>
> Adding gen12_gpgpu_fillfunc to have gpgpu_fill running on TGL.
> Gpgpu shader was generated using IGA (Intel Graphics Assembler)
> based on Gen11 binary adding necessary SWSB dependencies and
> changes in SEND instruction.
>
> Shader source code and array containing its assembled version
> have same names now to avoid ambiguity.
>
> v2: Switched to using IS_GEN12
>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  lib/gpgpu_fill.c                              | 22 +++++++++++++++++++
>  lib/gpgpu_fill.h                              |  7 ++++++
>  lib/i915/shaders/README                       |  2 ++
>  lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm | 12 ++++++++++
>  lib/intel_batchbuffer.c                       |  2 ++
>  5 files changed, 45 insertions(+)
>  create mode 100644 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
>
> diff --git a/lib/gpgpu_fill.c b/lib/gpgpu_fill.c
> index 003f4616..9a48c645 100644
> --- a/lib/gpgpu_fill.c
> +++ b/lib/gpgpu_fill.c
> @@ -87,6 +87,19 @@ static const uint32_t gen11_gpgpu_kernel[][4] = {
>	{ 0x07800031, 0x20000a40, 0x06000e00, 0x82000010 },
>  };
>
> +static const uint32_t gen12_gpgpu_kernel[][4] = {
> +	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
> +	{ 0x00000069, 0x02058220, 0x02000024, 0x00000004 },
> +	{ 0x00000061, 0x02250220, 0x000000c4, 0x00000000 },
> +	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
> +	{ 0x00010261, 0x04050220, 0x00220205, 0x00000000 },
> +	{ 0x00000061, 0x04454220, 0x00000000, 0x0000000f },
> +	{ 0x00040661, 0x05050220, 0x00000104, 0x00000000 },
> +	{ 0x00049031, 0x00000000, 0xc0000414, 0x02a00000 },
> +	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
> +	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
> +};
> +
>  /*
>   * This sets up the gpgpu pipeline,
>   *
> @@ -282,3 +295,12 @@ void gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
>	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
>			      gen11_gpgpu_kernel, sizeof(gen11_gpgpu_kernel));
>  }

CHECK: Please use a blank line after function/struct/union/enum declarations

> +void gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> +			  const struct igt_buf *dst,
> +			  unsigned int x, unsigned int y,
> +			  unsigned int width, unsigned int height,
> +			  uint8_t color)

> +{
> +	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
> +			      gen12_gpgpu_kernel, sizeof(gen12_gpgpu_kernel));
> +}
> diff --git a/lib/gpgpu_fill.h b/lib/gpgpu_fill.h
> index e405df3e..acee5bdc 100644
> --- a/lib/gpgpu_fill.h
> +++ b/lib/gpgpu_fill.h
> @@ -57,4 +57,11 @@ gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
>		     unsigned int width, unsigned int height,
>		     uint8_t color);
>
> +void
> +gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> +		       const struct igt_buf *dst,
> +		       unsigned int x, unsigned int y,
> +		       unsigned int width, unsigned int height,
> +		       uint8_t color);

CHECK: Alignment should match open parenthesis

> +
>  #endif /* GPGPU_FILL_H */
> diff --git a/lib/i915/shaders/README b/lib/i915/shaders/README
> index 06b9883c..6f80111b 100644
> --- a/lib/i915/shaders/README
> +++ b/lib/i915/shaders/README
> @@ -23,3 +23,5 @@ Commands used to generate the shader on gen8
>  $> m4 media_fill.gxa > media_fill.gxm
>  $> intel-gen4asm -g 8 -o <output> media_fill.gxm
>
> +Gen11+ shader is generated using IGA (Intel Graphics Assembler).
> +Binary can no longer be generated using intel-gen4asm.
> diff --git a/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> new file mode 100644
> index 00000000..ede87a05
> --- /dev/null
> +++ b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> @@ -0,0 +1,12 @@
> +L0:
> +         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
> +         shl (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x4: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                   {@2}
> +         mov (1|M0)               r4.2<1>:ud    0xF:ud
> +         mov (16|M0)              r5.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
> +         send.dc1 (16|M0)         null     r4      null    0x0         0x40A8000  {@1, $0} //    wr:2h+0, rd:0, Media Block Write msc:0, to #0
> +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
> +L160:
> diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> index 07de5cbb..269c8982 100644
> --- a/lib/intel_batchbuffer.c
> +++ b/lib/intel_batchbuffer.c
> @@ -901,6 +901,8 @@ igt_fillfunc_t igt_get_gpgpu_fillfunc(int devid)
>		fill = gen9_gpgpu_fillfunc;
>	else if (IS_GEN11(devid))
>		fill = gen11_gpgpu_fillfunc;
> +	else if (IS_GEN12(devid))
> +		fill = gen12_gpgpu_fillfunc;
>
>	return fill;
>  }
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc for TGL
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc " Katarzyna Dec
@ 2019-09-18  4:55   ` Ashutosh Dixit
  2019-09-18  8:24     ` Katarzyna Dec
  0 siblings, 1 reply; 16+ messages in thread
From: Ashutosh Dixit @ 2019-09-18  4:55 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev, Lucas De Marchi

Once again, please fix up one checkpatch CHECK below.

On Tue, 17 Sep 2019 02:13:52 -0700, Katarzyna Dec wrote:
>
> Adding gen12_media_fillfunc to have media_fill running on TGL.
> Media shader was generated using IGA (Intel Graphics Assembler)
> based on binary found in lib/media_fill_gen9.c to match the
> changes in TGL HW. Main change was made in SEND instructions
> and adding SWSB dependencies.
>
> v2: Switched to GEN_12.
>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  lib/i915/shaders/media/gen12_media_kernel.asm | 13 ++++++++++
>  lib/intel_batchbuffer.c                       |  4 ++-
>  lib/media_fill.c                              | 25 +++++++++++++++++++
>  lib/media_fill.h                              |  7 ++++++
>  4 files changed, 48 insertions(+), 1 deletion(-)
>  create mode 100644 lib/i915/shaders/media/gen12_media_kernel.asm
>
> diff --git a/lib/i915/shaders/media/gen12_media_kernel.asm b/lib/i915/shaders/media/gen12_media_kernel.asm
> new file mode 100644
> index 00000000..5be229b2
> --- /dev/null
> +++ b/lib/i915/shaders/media/gen12_media_kernel.asm
> @@ -0,0 +1,13 @@
> +L0:
> +         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 (8|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                   {@4}
> +         mov (16|M0)              r7.0<1>:ud    r1.0<0;1,0>:ud                   {@5}
> +         mov (16|M0)              r9.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
> +         mov (16|M0)              r11.0<1>:ud   r1.0<0;1,0>:ud                   {@7}
> +         send.dc1 (16|M0)         null     r4      null    0x10000000  0x120A8000 {@1, $0} //    wr:9h+0, rd:0, Media Block Write msc:0, to #0
> +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> +         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
> +L176:
> diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> index 269c8982..9292236b 100644
> --- a/lib/intel_batchbuffer.c
> +++ b/lib/intel_batchbuffer.c
> @@ -861,7 +861,9 @@ igt_fillfunc_t igt_get_media_fillfunc(int devid)
>  {
>	igt_fillfunc_t fill = NULL;
>
> -	if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
> +	if (IS_GEN12(devid))
> +		fill = gen12_media_fillfunc;
> +	else if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
>		fill = gen9_media_fillfunc;
>	else if (IS_GEN8(devid))
>		fill = gen8_media_fillfunc;
> diff --git a/lib/media_fill.c b/lib/media_fill.c
> index 03b5e71e..b7d7f68c 100644
> --- a/lib/media_fill.c
> +++ b/lib/media_fill.c
> @@ -101,6 +101,20 @@ static const uint32_t gen11_media_vme_kernel[][4] = {
>	{ 0x00000000, 0x00000000,  0x00000000,  0x00000000 },
>  };
>
> +static const uint32_t gen12_media_kernel[][4] = {
> +	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
> +	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
> +	{ 0x00030061, 0x04050220, 0x00220205, 0x00000000 },
> +	{ 0x00000061, 0x04454220, 0x00000000, 0x000f000f },
> +	{ 0x00040461, 0x05050220, 0x00000104, 0x00000000 },
> +	{ 0x00040561, 0x07050220, 0x00000104, 0x00000000 },
> +	{ 0x00040661, 0x09050220, 0x00000104, 0x00000000 },
> +	{ 0x00040761, 0x0b050220, 0x00000104, 0x00000000 },
> +	{ 0x00049031, 0x00000000, 0xc000044c, 0x12a00000 },
> +	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
> +	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
> +};
> +
>  /*
>   * This sets up the media pipeline,
>   *
> @@ -355,3 +369,14 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
>			       gen11_media_vme_kernel,
>			       sizeof(gen11_media_vme_kernel));
>  }
> +
> +void
> +gen12_media_fillfunc(struct intel_batchbuffer *batch,
> +		     const struct igt_buf *dst,
> +		     unsigned int x, unsigned int y,
> +		     unsigned int width, unsigned int height,
> +		     uint8_t color)
> +{
> +	__gen9_media_fillfunc(batch, dst, x, y, width, height, color,
> +			      gen12_media_kernel, sizeof(gen12_media_kernel));
> +}
> diff --git a/lib/media_fill.h b/lib/media_fill.h
> index 1d5c5fa8..a65ae9e8 100644
> --- a/lib/media_fill.h
> +++ b/lib/media_fill.h
> @@ -55,4 +55,11 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
>		     unsigned int width, unsigned int height,
>		     const struct igt_buf *dst);
>
> +void
> +gen12_media_fillfunc(struct intel_batchbuffer *batch,
> +		       const struct igt_buf *dst,
> +		       unsigned int x, unsigned int y,
> +		       unsigned int width, unsigned int height,
> +		       uint8_t color);
> +

CHECK: Alignment should match open parenthesis

>  #endif /* RENDE_MEDIA_FILL_H */
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  2019-09-18  4:51   ` Ashutosh Dixit
@ 2019-09-18  4:56     ` Katarzyna Dec
  2019-09-18  5:06       ` Ashutosh Dixit
  2019-09-18  8:35     ` Katarzyna Dec
  1 sibling, 1 reply; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-18  4:56 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev, Lucas De Marchi

On Tue, Sep 17, 2019 at 09:51:50PM -0700, Ashutosh Dixit wrote:
> I ran the kernel checkpatch on the patch and found a couple of minor
> issues. Perhaps it is a good idea to run checkpatch even on non-kernel
> patches in the future and fix up whatever can be fixed up.

I am using checkpatch on daily basis and I didn't found any issues. I run it
again and only '--strct' option shows hints (not warnings). I can change that,
but in my opinion it is not needed.
Let me know what you think.
Kasia
> 
> On Tue, 17 Sep 2019 02:13:51 -0700, Katarzyna Dec wrote:
> >
> > Adding gen12_gpgpu_fillfunc to have gpgpu_fill running on TGL.
> > Gpgpu shader was generated using IGA (Intel Graphics Assembler)
> > based on Gen11 binary adding necessary SWSB dependencies and
> > changes in SEND instruction.
> >
> > Shader source code and array containing its assembled version
> > have same names now to avoid ambiguity.
> >
> > v2: Switched to using IS_GEN12
> >
> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> > Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> > Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> > Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> > ---
> >  lib/gpgpu_fill.c                              | 22 +++++++++++++++++++
> >  lib/gpgpu_fill.h                              |  7 ++++++
> >  lib/i915/shaders/README                       |  2 ++
> >  lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm | 12 ++++++++++
> >  lib/intel_batchbuffer.c                       |  2 ++
> >  5 files changed, 45 insertions(+)
> >  create mode 100644 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> >
> > diff --git a/lib/gpgpu_fill.c b/lib/gpgpu_fill.c
> > index 003f4616..9a48c645 100644
> > --- a/lib/gpgpu_fill.c
> > +++ b/lib/gpgpu_fill.c
> > @@ -87,6 +87,19 @@ static const uint32_t gen11_gpgpu_kernel[][4] = {
> >	{ 0x07800031, 0x20000a40, 0x06000e00, 0x82000010 },
> >  };
> >
> > +static const uint32_t gen12_gpgpu_kernel[][4] = {
> > +	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
> > +	{ 0x00000069, 0x02058220, 0x02000024, 0x00000004 },
> > +	{ 0x00000061, 0x02250220, 0x000000c4, 0x00000000 },
> > +	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
> > +	{ 0x00010261, 0x04050220, 0x00220205, 0x00000000 },
> > +	{ 0x00000061, 0x04454220, 0x00000000, 0x0000000f },
> > +	{ 0x00040661, 0x05050220, 0x00000104, 0x00000000 },
> > +	{ 0x00049031, 0x00000000, 0xc0000414, 0x02a00000 },
> > +	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
> > +	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
> > +};
> > +
> >  /*
> >   * This sets up the gpgpu pipeline,
> >   *
> > @@ -282,3 +295,12 @@ void gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> >	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
> >			      gen11_gpgpu_kernel, sizeof(gen11_gpgpu_kernel));
> >  }
> 
> CHECK: Please use a blank line after function/struct/union/enum declarations
> 
> > +void gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> > +			  const struct igt_buf *dst,
> > +			  unsigned int x, unsigned int y,
> > +			  unsigned int width, unsigned int height,
> > +			  uint8_t color)
> 
> > +{
> > +	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
> > +			      gen12_gpgpu_kernel, sizeof(gen12_gpgpu_kernel));
> > +}
> > diff --git a/lib/gpgpu_fill.h b/lib/gpgpu_fill.h
> > index e405df3e..acee5bdc 100644
> > --- a/lib/gpgpu_fill.h
> > +++ b/lib/gpgpu_fill.h
> > @@ -57,4 +57,11 @@ gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> >		     unsigned int width, unsigned int height,
> >		     uint8_t color);
> >
> > +void
> > +gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> > +		       const struct igt_buf *dst,
> > +		       unsigned int x, unsigned int y,
> > +		       unsigned int width, unsigned int height,
> > +		       uint8_t color);
> 
> CHECK: Alignment should match open parenthesis
> 
> > +
> >  #endif /* GPGPU_FILL_H */
> > diff --git a/lib/i915/shaders/README b/lib/i915/shaders/README
> > index 06b9883c..6f80111b 100644
> > --- a/lib/i915/shaders/README
> > +++ b/lib/i915/shaders/README
> > @@ -23,3 +23,5 @@ Commands used to generate the shader on gen8
> >  $> m4 media_fill.gxa > media_fill.gxm
> >  $> intel-gen4asm -g 8 -o <output> media_fill.gxm
> >
> > +Gen11+ shader is generated using IGA (Intel Graphics Assembler).
> > +Binary can no longer be generated using intel-gen4asm.
> > diff --git a/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> > new file mode 100644
> > index 00000000..ede87a05
> > --- /dev/null
> > +++ b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> > @@ -0,0 +1,12 @@
> > +L0:
> > +         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
> > +         shl (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x4: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                   {@2}
> > +         mov (1|M0)               r4.2<1>:ud    0xF:ud
> > +         mov (16|M0)              r5.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
> > +         send.dc1 (16|M0)         null     r4      null    0x0         0x40A8000  {@1, $0} //    wr:2h+0, rd:0, Media Block Write msc:0, to #0
> > +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> > +         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
> > +L160:
> > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> > index 07de5cbb..269c8982 100644
> > --- a/lib/intel_batchbuffer.c
> > +++ b/lib/intel_batchbuffer.c
> > @@ -901,6 +901,8 @@ igt_fillfunc_t igt_get_gpgpu_fillfunc(int devid)
> >		fill = gen9_gpgpu_fillfunc;
> >	else if (IS_GEN11(devid))
> >		fill = gen11_gpgpu_fillfunc;
> > +	else if (IS_GEN12(devid))
> > +		fill = gen12_gpgpu_fillfunc;
> >
> >	return fill;
> >  }
> > --
> > 2.20.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL
  2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
                   ` (4 preceding siblings ...)
  2019-09-17 15:42 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-09-18  5:05 ` Ashutosh Dixit
  5 siblings, 0 replies; 16+ messages in thread
From: Ashutosh Dixit @ 2019-09-18  5:05 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev, Lucas De Marchi

On Tue, 17 Sep 2019 02:13:50 -0700, Katarzyna Dec wrote:
>
> Patches add media_fill and gpgpu_fill functions on TGL.
>
> v2: Switched to IS_GEN12 macro.
>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> Cc: Katarzyna Dec <katarzyna.dec@intel.com>
> Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>
> Katarzyna Dec (3):
>   lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
>   lib/media_fill/tgl: Implement media_fillfunc for TGL
>   HAX: run gpgpu_fill and media_fill in BAT

I have recommended a couple of checkpatch fixes on the individual
patches. Please fix those up.

With that, for the series:

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  2019-09-18  4:56     ` Katarzyna Dec
@ 2019-09-18  5:06       ` Ashutosh Dixit
  0 siblings, 0 replies; 16+ messages in thread
From: Ashutosh Dixit @ 2019-09-18  5:06 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev, Lucas De Marchi

On Tue, 17 Sep 2019 21:56:49 -0700, Katarzyna Dec wrote:
>
> On Tue, Sep 17, 2019 at 09:51:50PM -0700, Ashutosh Dixit wrote:
> > I ran the kernel checkpatch on the patch and found a couple of minor
> > issues. Perhaps it is a good idea to run checkpatch even on non-kernel
> > patches in the future and fix up whatever can be fixed up.
>
> I am using checkpatch on daily basis and I didn't found any issues. I run it
> again and only '--strct' option shows hints (not warnings). I can change that,
> but in my opinion it is not needed.
> Let me know what you think.

Well checkpatch --strict has found small issues which I have mentioned in
the two patches under the affected lines. IMO they should be fixed
up. Thanks!
--
Ashutosh
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT
  2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT Katarzyna Dec
@ 2019-09-18  5:27   ` Ashutosh Dixit
  2019-09-18  7:31     ` Katarzyna Dec
  0 siblings, 1 reply; 16+ messages in thread
From: Ashutosh Dixit @ 2019-09-18  5:27 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

There are no other commits with HAX in the commit message. If this patch is
going to be pushed it will need a Signed-off-by.

On Tue, 17 Sep 2019 02:13:53 -0700, Katarzyna Dec wrote:
>
> ---
>  tests/intel-ci/fast-feedback.testlist | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
> index e78e7fd0..596ff042 100644
> --- a/tests/intel-ci/fast-feedback.testlist
> +++ b/tests/intel-ci/fast-feedback.testlist
> @@ -1,5 +1,6 @@
>  # Keep alphabetically sorted by default
> -
> +igt@gem_media_fill
> +igt@gem_gpgpu_fill
>  igt@core_auth@basic-auth
>  igt@debugfs_test@read_all_entries
>  igt@gem_basic@bad-close
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT
  2019-09-18  5:27   ` Ashutosh Dixit
@ 2019-09-18  7:31     ` Katarzyna Dec
  2019-09-18 14:12       ` Arkadiusz Hiler
  0 siblings, 1 reply; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-18  7:31 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev

On Tue, Sep 17, 2019 at 10:27:28PM -0700, Ashutosh Dixit wrote:
> There are no other commits with HAX in the commit message. If this patch is
> going to be pushed it will need a Signed-off-by.

This patch is only for adding tests that are not on fast feedback and are
changed by this series (media_fill and gpgpu_fill) to be run by patchwork.
This patch is not going to be merged.

You can try this too if you will send some series to igt-dev.

Kasia :)
> 
> On Tue, 17 Sep 2019 02:13:53 -0700, Katarzyna Dec wrote:
> >
> > ---
> >  tests/intel-ci/fast-feedback.testlist | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
> > index e78e7fd0..596ff042 100644
> > --- a/tests/intel-ci/fast-feedback.testlist
> > +++ b/tests/intel-ci/fast-feedback.testlist
> > @@ -1,5 +1,6 @@
> >  # Keep alphabetically sorted by default
> > -
> > +igt@gem_media_fill
> > +igt@gem_gpgpu_fill
> >  igt@core_auth@basic-auth
> >  igt@debugfs_test@read_all_entries
> >  igt@gem_basic@bad-close
> > --
> > 2.20.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc for TGL
  2019-09-18  4:55   ` Ashutosh Dixit
@ 2019-09-18  8:24     ` Katarzyna Dec
  0 siblings, 0 replies; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-18  8:24 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev, Lucas De Marchi

On Tue, Sep 17, 2019 at 09:55:06PM -0700, Ashutosh Dixit wrote:
> Once again, please fix up one checkpatch CHECK below.
> 
> On Tue, 17 Sep 2019 02:13:52 -0700, Katarzyna Dec wrote:
> >
> > Adding gen12_media_fillfunc to have media_fill running on TGL.
> > Media shader was generated using IGA (Intel Graphics Assembler)
> > based on binary found in lib/media_fill_gen9.c to match the
> > changes in TGL HW. Main change was made in SEND instructions
> > and adding SWSB dependencies.
> >
> > v2: Switched to GEN_12.
> >
> > Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> > Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> > Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> > ---
> >  lib/i915/shaders/media/gen12_media_kernel.asm | 13 ++++++++++
> >  lib/intel_batchbuffer.c                       |  4 ++-
> >  lib/media_fill.c                              | 25 +++++++++++++++++++
> >  lib/media_fill.h                              |  7 ++++++
> >  4 files changed, 48 insertions(+), 1 deletion(-)
> >  create mode 100644 lib/i915/shaders/media/gen12_media_kernel.asm
> >
> > diff --git a/lib/i915/shaders/media/gen12_media_kernel.asm b/lib/i915/shaders/media/gen12_media_kernel.asm
> > new file mode 100644
> > index 00000000..5be229b2
> > --- /dev/null
> > +++ b/lib/i915/shaders/media/gen12_media_kernel.asm
> > @@ -0,0 +1,13 @@
> > +L0:
> > +         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 (8|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                   {@4}
> > +         mov (16|M0)              r7.0<1>:ud    r1.0<0;1,0>:ud                   {@5}
> > +         mov (16|M0)              r9.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
> > +         mov (16|M0)              r11.0<1>:ud   r1.0<0;1,0>:ud                   {@7}
> > +         send.dc1 (16|M0)         null     r4      null    0x10000000  0x120A8000 {@1, $0} //    wr:9h+0, rd:0, Media Block Write msc:0, to #0
> > +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> > +         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
> > +L176:
> > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> > index 269c8982..9292236b 100644
> > --- a/lib/intel_batchbuffer.c
> > +++ b/lib/intel_batchbuffer.c
> > @@ -861,7 +861,9 @@ igt_fillfunc_t igt_get_media_fillfunc(int devid)
> >  {
> >	igt_fillfunc_t fill = NULL;
> >
> > -	if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
> > +	if (IS_GEN12(devid))
> > +		fill = gen12_media_fillfunc;
> > +	else if (IS_GEN9(devid) || IS_GEN10(devid) || IS_GEN11(devid))
> >		fill = gen9_media_fillfunc;
> >	else if (IS_GEN8(devid))
> >		fill = gen8_media_fillfunc;
> > diff --git a/lib/media_fill.c b/lib/media_fill.c
> > index 03b5e71e..b7d7f68c 100644
> > --- a/lib/media_fill.c
> > +++ b/lib/media_fill.c
> > @@ -101,6 +101,20 @@ static const uint32_t gen11_media_vme_kernel[][4] = {
> >	{ 0x00000000, 0x00000000,  0x00000000,  0x00000000 },
> >  };
> >
> > +static const uint32_t gen12_media_kernel[][4] = {
> > +	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
> > +	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
> > +	{ 0x00030061, 0x04050220, 0x00220205, 0x00000000 },
> > +	{ 0x00000061, 0x04454220, 0x00000000, 0x000f000f },
> > +	{ 0x00040461, 0x05050220, 0x00000104, 0x00000000 },
> > +	{ 0x00040561, 0x07050220, 0x00000104, 0x00000000 },
> > +	{ 0x00040661, 0x09050220, 0x00000104, 0x00000000 },
> > +	{ 0x00040761, 0x0b050220, 0x00000104, 0x00000000 },
> > +	{ 0x00049031, 0x00000000, 0xc000044c, 0x12a00000 },
> > +	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
> > +	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
> > +};
> > +
> >  /*
> >   * This sets up the media pipeline,
> >   *
> > @@ -355,3 +369,14 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
> >			       gen11_media_vme_kernel,
> >			       sizeof(gen11_media_vme_kernel));
> >  }
> > +
> > +void
> > +gen12_media_fillfunc(struct intel_batchbuffer *batch,
> > +		     const struct igt_buf *dst,
> > +		     unsigned int x, unsigned int y,
> > +		     unsigned int width, unsigned int height,
> > +		     uint8_t color)
> > +{
> > +	__gen9_media_fillfunc(batch, dst, x, y, width, height, color,
> > +			      gen12_media_kernel, sizeof(gen12_media_kernel));
> > +}
> > diff --git a/lib/media_fill.h b/lib/media_fill.h
> > index 1d5c5fa8..a65ae9e8 100644
> > --- a/lib/media_fill.h
> > +++ b/lib/media_fill.h
> > @@ -55,4 +55,11 @@ gen11_media_vme_func(struct intel_batchbuffer *batch,
> >		     unsigned int width, unsigned int height,
> >		     const struct igt_buf *dst);
> >
> > +void
> > +gen12_media_fillfunc(struct intel_batchbuffer *batch,
> > +		       const struct igt_buf *dst,
> > +		       unsigned int x, unsigned int y,
> > +		       unsigned int width, unsigned int height,
> > +		       uint8_t color);
> > +
> 
> CHECK: Alignment should match open parenthesis
Ok, I will fix that.
Kasia
> 
> >  #endif /* RENDE_MEDIA_FILL_H */
> > --
> > 2.20.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL
  2019-09-18  4:51   ` Ashutosh Dixit
  2019-09-18  4:56     ` Katarzyna Dec
@ 2019-09-18  8:35     ` Katarzyna Dec
  1 sibling, 0 replies; 16+ messages in thread
From: Katarzyna Dec @ 2019-09-18  8:35 UTC (permalink / raw)
  To: Ashutosh Dixit; +Cc: igt-dev, Lucas De Marchi

On Tue, Sep 17, 2019 at 09:51:50PM -0700, Ashutosh Dixit wrote:
> I ran the kernel checkpatch on the patch and found a couple of minor
> issues. Perhaps it is a good idea to run checkpatch even on non-kernel
> patches in the future and fix up whatever can be fixed up.

I always run checkpatch before sending series or during review, but - there are
constraints with its output. Please keep in mind that this is a script to check
kernel code standards, not userspace.

> 
> On Tue, 17 Sep 2019 02:13:51 -0700, Katarzyna Dec wrote:
> >
> > Adding gen12_gpgpu_fillfunc to have gpgpu_fill running on TGL.
> > Gpgpu shader was generated using IGA (Intel Graphics Assembler)
> > based on Gen11 binary adding necessary SWSB dependencies and
> > changes in SEND instruction.
> >
> > Shader source code and array containing its assembled version
> > have same names now to avoid ambiguity.
> >
> > v2: Switched to using IS_GEN12
> >
> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> > Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> > Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
> > Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> > ---
> >  lib/gpgpu_fill.c                              | 22 +++++++++++++++++++
> >  lib/gpgpu_fill.h                              |  7 ++++++
> >  lib/i915/shaders/README                       |  2 ++
> >  lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm | 12 ++++++++++
> >  lib/intel_batchbuffer.c                       |  2 ++
> >  5 files changed, 45 insertions(+)
> >  create mode 100644 lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> >
> > diff --git a/lib/gpgpu_fill.c b/lib/gpgpu_fill.c
> > index 003f4616..9a48c645 100644
> > --- a/lib/gpgpu_fill.c
> > +++ b/lib/gpgpu_fill.c
> > @@ -87,6 +87,19 @@ static const uint32_t gen11_gpgpu_kernel[][4] = {
> >	{ 0x07800031, 0x20000a40, 0x06000e00, 0x82000010 },
> >  };
> >
> > +static const uint32_t gen12_gpgpu_kernel[][4] = {
> > +	{ 0x00020061, 0x01050000, 0x00000104, 0x00000000 },
> > +	{ 0x00000069, 0x02058220, 0x02000024, 0x00000004 },
> > +	{ 0x00000061, 0x02250220, 0x000000c4, 0x00000000 },
> > +	{ 0x00030061, 0x04050220, 0x00460005, 0x00000000 },
> > +	{ 0x00010261, 0x04050220, 0x00220205, 0x00000000 },
> > +	{ 0x00000061, 0x04454220, 0x00000000, 0x0000000f },
> > +	{ 0x00040661, 0x05050220, 0x00000104, 0x00000000 },
> > +	{ 0x00049031, 0x00000000, 0xc0000414, 0x02a00000 },
> > +	{ 0x00030061, 0x70050220, 0x00460005, 0x00000000 },
> > +	{ 0x00040131, 0x00000004, 0x7020700c, 0x10000000 },
> > +};
> > +
> >  /*
> >   * This sets up the gpgpu pipeline,
> >   *
> > @@ -282,3 +295,12 @@ void gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> >	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
> >			      gen11_gpgpu_kernel, sizeof(gen11_gpgpu_kernel));
> >  }
> 
> CHECK: Please use a blank line after function/struct/union/enum declarations
>
I can change that.
> > +void gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> > +			  const struct igt_buf *dst,
> > +			  unsigned int x, unsigned int y,
> > +			  unsigned int width, unsigned int height,
> > +			  uint8_t color)
> 
> > +{
> > +	__gen9_gpgpu_fillfunc(batch, dst, x, y, width, height, color,
> > +			      gen12_gpgpu_kernel, sizeof(gen12_gpgpu_kernel));
> > +}
> > diff --git a/lib/gpgpu_fill.h b/lib/gpgpu_fill.h
> > index e405df3e..acee5bdc 100644
> > --- a/lib/gpgpu_fill.h
> > +++ b/lib/gpgpu_fill.h
> > @@ -57,4 +57,11 @@ gen11_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> >		     unsigned int width, unsigned int height,
> >		     uint8_t color);
> >
> > +void
> > +gen12_gpgpu_fillfunc(struct intel_batchbuffer *batch,
> > +		       const struct igt_buf *dst,
> > +		       unsigned int x, unsigned int y,
> > +		       unsigned int width, unsigned int height,
> > +		       uint8_t color);
> 
> CHECK: Alignment should match open parenthesis
>
I can change that.

Thanks,
Kasia
> > +
> >  #endif /* GPGPU_FILL_H */
> > diff --git a/lib/i915/shaders/README b/lib/i915/shaders/README
> > index 06b9883c..6f80111b 100644
> > --- a/lib/i915/shaders/README
> > +++ b/lib/i915/shaders/README
> > @@ -23,3 +23,5 @@ Commands used to generate the shader on gen8
> >  $> m4 media_fill.gxa > media_fill.gxm
> >  $> intel-gen4asm -g 8 -o <output> media_fill.gxm
> >
> > +Gen11+ shader is generated using IGA (Intel Graphics Assembler).
> > +Binary can no longer be generated using intel-gen4asm.
> > diff --git a/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> > new file mode 100644
> > index 00000000..ede87a05
> > --- /dev/null
> > +++ b/lib/i915/shaders/gpgpu/gen12_gpgpu_kernel.asm
> > @@ -0,0 +1,12 @@
> > +L0:
> > +         mov (4|M0)               r1.0<1>:ub    r1.0<0;1,0>:ub
> > +         shl (1|M0)               r2.0<1>:ud    r0.1<0;1,0>:ud    0x4: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                   {@2}
> > +         mov (1|M0)               r4.2<1>:ud    0xF:ud
> > +         mov (16|M0)              r5.0<1>:ud    r1.0<0;1,0>:ud                   {@6}
> > +         send.dc1 (16|M0)         null     r4      null    0x0         0x40A8000  {@1, $0} //    wr:2h+0, rd:0, Media Block Write msc:0, to #0
> > +         mov (8|M0)               r112.0<1>:ud  r0.0<8;8,1>:ud
> > +         send.ts (16|M0)          null     r112    null    0x10000000  0x2000010  {EOT, @1} //    wr:1+0, rd:0, fc: 0x10
> > +L160:
> > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> > index 07de5cbb..269c8982 100644
> > --- a/lib/intel_batchbuffer.c
> > +++ b/lib/intel_batchbuffer.c
> > @@ -901,6 +901,8 @@ igt_fillfunc_t igt_get_gpgpu_fillfunc(int devid)
> >		fill = gen9_gpgpu_fillfunc;
> >	else if (IS_GEN11(devid))
> >		fill = gen11_gpgpu_fillfunc;
> > +	else if (IS_GEN12(devid))
> > +		fill = gen12_gpgpu_fillfunc;
> >
> >	return fill;
> >  }
> > --
> > 2.20.1
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT
  2019-09-18  7:31     ` Katarzyna Dec
@ 2019-09-18 14:12       ` Arkadiusz Hiler
  0 siblings, 0 replies; 16+ messages in thread
From: Arkadiusz Hiler @ 2019-09-18 14:12 UTC (permalink / raw)
  To: Katarzyna Dec; +Cc: igt-dev

On Wed, Sep 18, 2019 at 09:31:56AM +0200, Katarzyna Dec wrote:
> On Tue, Sep 17, 2019 at 10:27:28PM -0700, Ashutosh Dixit wrote:
> > There are no other commits with HAX in the commit message. If this patch is
> > going to be pushed it will need a Signed-off-by.

https://intel-gfx-ci.01.org/#forcing-tests-in-bat-and-changing-configuration

this is now documented.

> This patch is only for adding tests that are not on fast feedback and are
> changed by this series (media_fill and gpgpu_fill) to be run by patchwork.
> This patch is not going to be merged.
> 
> You can try this too if you will send some series to igt-dev.
> 
> Kasia :)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-09-18 14:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-17  9:13 [igt-dev] [PATCH i-g-t 0/3] Adding gpgpu_fill and media_fill on TGL Katarzyna Dec
2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 1/3] lib/gpgpu_fill/tgl: Implement gpgpu_fillfunc for TGL Katarzyna Dec
2019-09-18  4:51   ` Ashutosh Dixit
2019-09-18  4:56     ` Katarzyna Dec
2019-09-18  5:06       ` Ashutosh Dixit
2019-09-18  8:35     ` Katarzyna Dec
2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 2/3] lib/media_fill/tgl: Implement media_fillfunc " Katarzyna Dec
2019-09-18  4:55   ` Ashutosh Dixit
2019-09-18  8:24     ` Katarzyna Dec
2019-09-17  9:13 ` [igt-dev] [PATCH i-g-t 3/3] HAX: run gpgpu_fill and media_fill in BAT Katarzyna Dec
2019-09-18  5:27   ` Ashutosh Dixit
2019-09-18  7:31     ` Katarzyna Dec
2019-09-18 14:12       ` Arkadiusz Hiler
2019-09-17 10:01 ` [igt-dev] ✓ Fi.CI.BAT: success for Adding gpgpu_fill and media_fill on TGL Patchwork
2019-09-17 15:42 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-09-18  5:05 ` [igt-dev] [PATCH i-g-t 0/3] " Ashutosh Dixit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox