* [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