* [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11
@ 2018-10-09 14:45 Lukasz Kalamarz
2018-10-09 15:16 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Lukasz Kalamarz @ 2018-10-09 14:45 UTC (permalink / raw)
To: igt-dev; +Cc: Lucas De Marchi, Rodrigo Vivi
From: "Kalamarz, Lukasz" <lukasz.kalamarz@intel.com>
In Gen11 there were EU changes which was causing gem_render_copy test
failing. Shader used in gen9 is no longer applicable for those change
and it had to be aligned to gen11 changes. Since only difference is
shader, created a wrapper for gen9 function.
Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Katarzyna Dec <katarzyna.dec@intel.com>
---
lib/i915/shaders/ps/blit.g11a | 22 ++++++++++
lib/intel_batchbuffer.c | 2 +
lib/rendercopy.h | 5 +++
lib/rendercopy_gen9.c | 97 ++++++++++++++++++++++++++++++++++---------
4 files changed, 106 insertions(+), 20 deletions(-)
create mode 100644 lib/i915/shaders/ps/blit.g11a
diff --git a/lib/i915/shaders/ps/blit.g11a b/lib/i915/shaders/ps/blit.g11a
new file mode 100644
index 00000000..15fe78af
--- /dev/null
+++ b/lib/i915/shaders/ps/blit.g11a
@@ -0,0 +1,22 @@
+/* This is the same shader as for previous gens. On Gen 11 instruction pln was deleted and needs to be replaced by mad.
+This shader was generated using IGA tool (not assembler integrated into IGT)
+*/
+
+(W) mad(8|M0) acc0.0<1>:nf r6.7<0;0>:f r2.0<8;1>:f r6.0<0>:f
+(W) mad(8|M0) r10.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.1<0>:f
+
+(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.0<0>:f
+(W) mad(8|M0) r11.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.1<0>:f
+
+(W) mad(8|M0) acc0.0<1>:nf r6.4<0;0>:f r2.0<8;1>:f r6.4<0>:f
+(W) mad(8|M0) r12.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.5<0>:f
+
+(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.4<0>:f
+(W) mad(8|M0) r13.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.5<0>:f
+
+(W) send(16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001
+ mov (16|M0) r113.0<1>:f r12.0<8;8,1>:f
+ mov (16|M0) r115.0<1>:f r14.0<8;8,1>:f
+ mov (16|M0) r117.0<1>:f r16.0<8;8,1>:f
+ mov (16|M0) r119.0<1>:f r18.0<8;8,1>:f
+(W) send(16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 387404ff..c13b1dc4 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -843,6 +843,8 @@ igt_render_copyfunc_t igt_get_render_copyfunc(int devid)
copy = gen8_render_copyfunc;
else if (IS_GEN9(devid) || IS_GEN10(devid))
copy = gen9_render_copyfunc;
+ else if (IS_GEN11(devid))
+ copy = gen11_render_copyfunc;
return copy;
}
diff --git a/lib/rendercopy.h b/lib/rendercopy.h
index d1bb6284..35c28dd9 100644
--- a/lib/rendercopy.h
+++ b/lib/rendercopy.h
@@ -23,6 +23,11 @@ static inline void emit_vertex_normalized(struct intel_batchbuffer *batch,
OUT_BATCH(u.ui);
}
+void gen11_render_copyfunc(struct intel_batchbuffer *batch,
+ drm_intel_context *context,
+ const struct igt_buf *src, unsigned src_x, unsigned src_y,
+ unsigned width, unsigned height,
+ const struct igt_buf *dst, unsigned dst_x, unsigned dst_y);
void gen9_render_copyfunc(struct intel_batchbuffer *batch,
drm_intel_context *context,
const struct igt_buf *src, unsigned src_x, unsigned src_y,
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index f324fbd7..3bf18ae5 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -50,23 +50,53 @@ struct {
} viewport;
/* see lib/i915/shaders/ps/blit.g7a */
-static const uint32_t ps_kernel[][4] = {
+static const uint32_t ps_kernel_gen9[][4] = {
#if 1
- { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 },
- { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 },
- { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 },
- { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 },
+ { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 },
+ { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 },
+ { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 },
+ { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 },
#else
- /* Write all -1 */
- { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 },
- { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 },
- { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 },
+ /* Write all -1 */
+ { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 },
+ { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 },
+#endif
+};
+
+static const uint32_t ps_kernel_gen11[][4] = {
+#if 1
+ { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800404 },
+ { 0x0060005b, 0x7100480c, 0x0722003b, 0x01880406 },
+ { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800408 },
+ { 0x0060005b, 0x7200480c, 0x0722003b, 0x0188040a },
+ { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00404 },
+ { 0x0060005b, 0x7300480c, 0x0722003b, 0x01a80406 },
+ { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00408 },
+ { 0x0060005b, 0x7400480c, 0x0722003b, 0x01a8040a },
+ { 0x02800031, 0x21804a4c, 0x06000e20, 0x08840001 },
+ { 0x00800001, 0x2e204b28, 0x008d0180, 0x00000000 },
+ { 0x00800001, 0x2e604b28, 0x008d01c0, 0x00000000 },
+ { 0x00800001, 0x2ea04b28, 0x008d0200, 0x00000000 },
+ { 0x00800001, 0x2ee04b28, 0x008d0240, 0x00000000 },
+ { 0x05800031, 0x20004a44, 0x06000e20, 0x90031000 },
+#else
+ /* Write all -1 */
+ { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 },
+ { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 },
+ { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 },
#endif
};
@@ -907,11 +937,14 @@ static void gen8_emit_primitive(struct intel_batchbuffer *batch, uint32_t offset
#define BATCH_STATE_SPLIT 2048
-void gen9_render_copyfunc(struct intel_batchbuffer *batch,
+static
+void _gen9_render_copyfunc(struct intel_batchbuffer *batch,
drm_intel_context *context,
- const struct igt_buf *src, unsigned src_x, unsigned src_y,
- unsigned width, unsigned height,
- const struct igt_buf *dst, unsigned dst_x, unsigned dst_y)
+ const struct igt_buf *src, unsigned src_x,
+ unsigned src_y, unsigned width, unsigned height,
+ const struct igt_buf *dst, unsigned dst_x,
+ unsigned dst_y, const uint32_t ps_kernel[][4],
+ uint32_t ps_kernel_size)
{
uint32_t ps_sampler_state, ps_kernel_off, ps_binding_table;
uint32_t scissor_state;
@@ -928,7 +961,7 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch,
ps_binding_table = gen8_bind_surfaces(batch, src, dst);
ps_sampler_state = gen8_create_sampler(batch);
- ps_kernel_off = gen8_fill_ps(batch, ps_kernel, sizeof(ps_kernel));
+ ps_kernel_off = gen8_fill_ps(batch, ps_kernel, ps_kernel_size);
vertex_buffer = gen7_fill_vertex_buffer_data(batch, src,
src_x, src_y,
dst_x, dst_y,
@@ -1014,3 +1047,27 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch,
gen6_render_flush(batch, context, batch_end);
intel_batchbuffer_reset(batch);
}
+
+void gen9_render_copyfunc(struct intel_batchbuffer *batch,
+ drm_intel_context *context,
+ const struct igt_buf *src, unsigned src_x, unsigned src_y,
+ unsigned width, unsigned height,
+ const struct igt_buf *dst, unsigned dst_x, unsigned dst_y)
+
+{
+ _gen9_render_copyfunc(batch, context, src, src_x, src_y,
+ width, height, dst, dst_x, dst_y, ps_kernel_gen9,
+ sizeof(ps_kernel_gen9));
+}
+
+void gen11_render_copyfunc(struct intel_batchbuffer *batch,
+ drm_intel_context *context,
+ const struct igt_buf *src, unsigned src_x, unsigned src_y,
+ unsigned width, unsigned height,
+ const struct igt_buf *dst, unsigned dst_x, unsigned dst_y)
+
+{
+ _gen9_render_copyfunc(batch, context, src, src_x, src_y,
+ width, height, dst, dst_x, dst_y, ps_kernel_gen11,
+ sizeof(ps_kernel_gen11));
+}
--
2.14.4
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 8+ messages in thread* [igt-dev] ✓ Fi.CI.BAT: success for libs: Adding rendercopy support for gen11 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz @ 2018-10-09 15:16 ` Patchwork 2018-10-09 17:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork ` (4 subsequent siblings) 5 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-10-09 15:16 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev == Series Details == Series: libs: Adding rendercopy support for gen11 URL : https://patchwork.freedesktop.org/series/50753/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4952 -> IGTPW_1928 = == Summary - SUCCESS == No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/50753/revisions/1/mbox/ == Known issues == Here are the changes found in IGTPW_1928 that come from known issues: === IGT changes === ==== Issues hit ==== igt@gem_exec_suspend@basic-s3: fi-cfl-8109u: PASS -> INCOMPLETE (fdo#108126, fdo#107187) ==== Possible fixes ==== igt@gem_exec_suspend@basic-s3: fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS igt@kms_frontbuffer_tracking@basic: fi-byt-clapper: FAIL (fdo#103167) -> PASS fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187 fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718 fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126 == Participating hosts (47 -> 42) == Additional (1): fi-skl-6700hq Missing (6): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-icl-u2 fi-ctg-p8600 == Build changes == * IGT: IGT_4671 -> IGTPW_1928 CI_DRM_4952: a62e43ba13605a478b22307ea1790d48aea029a6 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1928: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1928/ IGT_4671: b121f7d42c260ae3a050c3f440d1c11f7cff7d1a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1928/issues.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for libs: Adding rendercopy support for gen11 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz 2018-10-09 15:16 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork @ 2018-10-09 17:32 ` Patchwork 2018-10-10 9:23 ` [igt-dev] [PATCH i-g-t] " Petri Latvala ` (3 subsequent siblings) 5 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-10-09 17:32 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev == Series Details == Series: libs: Adding rendercopy support for gen11 URL : https://patchwork.freedesktop.org/series/50753/ State : success == Summary == = CI Bug Log - changes from IGT_4671_full -> IGTPW_1928_full = == Summary - WARNING == Minor unknown changes coming with IGTPW_1928_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_1928_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/50753/revisions/1/mbox/ == Possible new issues == Here are the unknown changes that may have been introduced in IGTPW_1928_full: === IGT changes === ==== Warnings ==== igt@pm_rc6_residency@rc6-accuracy: shard-snb: PASS -> SKIP == Known issues == Here are the changes found in IGTPW_1928_full that come from known issues: === IGT changes === ==== Issues hit ==== igt@drv_suspend@shrink: shard-kbl: PASS -> INCOMPLETE (fdo#106886, fdo#103665) igt@kms_available_modes_crc@available_mode_test_crc: shard-apl: PASS -> FAIL (fdo#106641) shard-snb: PASS -> FAIL (fdo#106641) igt@kms_color@pipe-b-degamma: shard-apl: PASS -> FAIL (fdo#104782) igt@kms_cursor_crc@cursor-256x256-onscreen: shard-kbl: PASS -> FAIL (fdo#103232) igt@kms_cursor_crc@cursor-256x256-suspend: shard-glk: PASS -> FAIL (fdo#103232) +2 shard-apl: PASS -> FAIL (fdo#103232, fdo#103191) igt@kms_cursor_crc@cursor-64x21-sliding: shard-apl: PASS -> FAIL (fdo#103232) +4 igt@kms_cursor_legacy@cursorb-vs-flipb-toggle: shard-glk: PASS -> DMESG-WARN (fdo#106538, fdo#105763) igt@kms_flip@2x-flip-vs-dpms: shard-glk: PASS -> INCOMPLETE (k.org#198133, fdo#103359) +1 igt@kms_flip@flip-vs-expired-vblank-interruptible: shard-apl: PASS -> FAIL (fdo#102887, fdo#105363) igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite: shard-apl: PASS -> FAIL (fdo#103167) +1 igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite: shard-glk: PASS -> FAIL (fdo#103167) +1 igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render: shard-kbl: PASS -> FAIL (fdo#103167) +1 igt@kms_plane@pixel-format-pipe-c-planes: shard-apl: PASS -> FAIL (fdo#103166) +5 shard-glk: PASS -> FAIL (fdo#103166) +2 igt@kms_plane_multiple@atomic-pipe-a-tiling-yf: shard-kbl: PASS -> FAIL (fdo#103166) +4 igt@kms_setmode@basic: shard-kbl: PASS -> FAIL (fdo#99912) ==== Possible fixes ==== igt@gem_tiled_blits@interruptible: shard-apl: INCOMPLETE (fdo#103927) -> PASS igt@kms_ccs@pipe-a-crc-sprite-planes-basic: shard-glk: FAIL (fdo#108145) -> PASS +1 igt@kms_color@pipe-c-legacy-gamma: shard-kbl: FAIL (fdo#104782) -> PASS shard-apl: FAIL (fdo#104782) -> PASS igt@kms_cursor_crc@cursor-128x128-random: shard-kbl: FAIL (fdo#103232) -> PASS igt@kms_cursor_crc@cursor-256x256-random: shard-glk: FAIL (fdo#103232) -> PASS +4 igt@kms_cursor_crc@cursor-256x256-suspend: shard-kbl: INCOMPLETE (fdo#103665) -> PASS igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy: shard-glk: INCOMPLETE (k.org#198133, fdo#103359) -> PASS igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: shard-hsw: FAIL (fdo#105767) -> PASS igt@kms_flip@flip-vs-fences-interruptible: shard-snb: INCOMPLETE (fdo#105411) -> PASS igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-gtt: shard-glk: DMESG-FAIL (fdo#106538, fdo#103167) -> PASS igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt: shard-apl: FAIL (fdo#103167) -> PASS +3 igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: shard-kbl: FAIL (fdo#103167) -> PASS igt@kms_frontbuffer_tracking@fbc-1p-rte: shard-glk: FAIL (fdo#105682, fdo#103167) -> PASS igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move: shard-glk: FAIL (fdo#103167) -> PASS +11 {igt@kms_plane_alpha_blend@pipe-a-coverage-7efc}: shard-glk: DMESG-FAIL (fdo#106538) -> PASS igt@kms_plane_multiple@atomic-pipe-b-tiling-y: shard-glk: FAIL (fdo#103166) -> PASS +3 igt@kms_plane_multiple@atomic-pipe-c-tiling-y: shard-apl: FAIL (fdo#103166) -> PASS igt@kms_setmode@basic: shard-apl: FAIL (fdo#99912) -> PASS {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887 fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166 fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232 fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665 fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927 fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782 fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363 fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411 fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682 fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763 fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767 fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538 fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641 fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886 fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133 == Participating hosts (6 -> 5) == Missing (1): shard-skl == Build changes == * IGT: IGT_4671 -> IGTPW_1928 * Linux: CI_DRM_4944 -> CI_DRM_4952 CI_DRM_4944: 66bd263b99fd264b57432c232756baf95b0a6255 @ git://anongit.freedesktop.org/gfx-ci/linux CI_DRM_4952: a62e43ba13605a478b22307ea1790d48aea029a6 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1928: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1928/ IGT_4671: b121f7d42c260ae3a050c3f440d1c11f7cff7d1a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1928/shards.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz 2018-10-09 15:16 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2018-10-09 17:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork @ 2018-10-10 9:23 ` Petri Latvala 2018-10-10 10:48 ` [igt-dev] [PATCH i-g-t v2] " Lukasz Kalamarz ` (2 subsequent siblings) 5 siblings, 0 replies; 8+ messages in thread From: Petri Latvala @ 2018-10-10 9:23 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev, Lucas De Marchi, Rodrigo Vivi On Tue, Oct 09, 2018 at 04:45:25PM +0200, Lukasz Kalamarz wrote: > From: "Kalamarz, Lukasz" <lukasz.kalamarz@intel.com> > > In Gen11 there were EU changes which was causing gem_render_copy test > failing. Shader used in gen9 is no longer applicable for those change > and it had to be aligned to gen11 changes. Since only difference is > shader, created a wrapper for gen9 function. > > Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> > > Cc: Michał Winiarski <michal.winiarski@intel.com> > Cc: Antonio Argenziano <antonio.argenziano@intel.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Katarzyna Dec <katarzyna.dec@intel.com> > --- > lib/i915/shaders/ps/blit.g11a | 22 ++++++++++ > lib/intel_batchbuffer.c | 2 + > lib/rendercopy.h | 5 +++ > lib/rendercopy_gen9.c | 97 ++++++++++++++++++++++++++++++++++--------- > 4 files changed, 106 insertions(+), 20 deletions(-) > create mode 100644 lib/i915/shaders/ps/blit.g11a > > diff --git a/lib/i915/shaders/ps/blit.g11a b/lib/i915/shaders/ps/blit.g11a > new file mode 100644 > index 00000000..15fe78af > --- /dev/null > +++ b/lib/i915/shaders/ps/blit.g11a > @@ -0,0 +1,22 @@ > +/* This is the same shader as for previous gens. On Gen 11 instruction pln was deleted and needs to be replaced by mad. > +This shader was generated using IGA tool (not assembler integrated into IGT) > +*/ > + > +(W) mad(8|M0) acc0.0<1>:nf r6.7<0;0>:f r2.0<8;1>:f r6.0<0>:f > +(W) mad(8|M0) r10.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.1<0>:f > + > +(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.0<0>:f > +(W) mad(8|M0) r11.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.1<0>:f > + > +(W) mad(8|M0) acc0.0<1>:nf r6.4<0;0>:f r2.0<8;1>:f r6.4<0>:f > +(W) mad(8|M0) r12.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.5<0>:f > + > +(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.4<0>:f > +(W) mad(8|M0) r13.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.5<0>:f > + > +(W) send(16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001 > + mov (16|M0) r113.0<1>:f r12.0<8;8,1>:f > + mov (16|M0) r115.0<1>:f r14.0<8;8,1>:f > + mov (16|M0) r117.0<1>:f r16.0<8;8,1>:f > + mov (16|M0) r119.0<1>:f r18.0<8;8,1>:f > +(W) send(16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0 > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c > index 387404ff..c13b1dc4 100644 > --- a/lib/intel_batchbuffer.c > +++ b/lib/intel_batchbuffer.c > @@ -843,6 +843,8 @@ igt_render_copyfunc_t igt_get_render_copyfunc(int devid) > copy = gen8_render_copyfunc; > else if (IS_GEN9(devid) || IS_GEN10(devid)) > copy = gen9_render_copyfunc; > + else if (IS_GEN11(devid)) > + copy = gen11_render_copyfunc; > > return copy; > } > diff --git a/lib/rendercopy.h b/lib/rendercopy.h > index d1bb6284..35c28dd9 100644 > --- a/lib/rendercopy.h > +++ b/lib/rendercopy.h > @@ -23,6 +23,11 @@ static inline void emit_vertex_normalized(struct intel_batchbuffer *batch, > OUT_BATCH(u.ui); > } > > +void gen11_render_copyfunc(struct intel_batchbuffer *batch, > + drm_intel_context *context, > + const struct igt_buf *src, unsigned src_x, unsigned src_y, > + unsigned width, unsigned height, > + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y); > void gen9_render_copyfunc(struct intel_batchbuffer *batch, > drm_intel_context *context, > const struct igt_buf *src, unsigned src_x, unsigned src_y, > diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c > index f324fbd7..3bf18ae5 100644 > --- a/lib/rendercopy_gen9.c > +++ b/lib/rendercopy_gen9.c > @@ -50,23 +50,53 @@ struct { > } viewport; > > /* see lib/i915/shaders/ps/blit.g7a */ > -static const uint32_t ps_kernel[][4] = { > +static const uint32_t ps_kernel_gen9[][4] = { > #if 1 > - { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 }, > - { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 }, > - { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 }, > - { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 }, > + { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 }, > + { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 }, > + { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 }, > + { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 }, > #else > - /* Write all -1 */ > - { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, > - { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, > - { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, > + /* Write all -1 */ > + { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, > + { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, > +#endif > +}; > + Add comment with the path to the shader source here. -- Petri Latvala > +static const uint32_t ps_kernel_gen11[][4] = { > +#if 1 > + { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800404 }, > + { 0x0060005b, 0x7100480c, 0x0722003b, 0x01880406 }, > + { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800408 }, > + { 0x0060005b, 0x7200480c, 0x0722003b, 0x0188040a }, > + { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00404 }, > + { 0x0060005b, 0x7300480c, 0x0722003b, 0x01a80406 }, > + { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00408 }, > + { 0x0060005b, 0x7400480c, 0x0722003b, 0x01a8040a }, > + { 0x02800031, 0x21804a4c, 0x06000e20, 0x08840001 }, > + { 0x00800001, 0x2e204b28, 0x008d0180, 0x00000000 }, > + { 0x00800001, 0x2e604b28, 0x008d01c0, 0x00000000 }, > + { 0x00800001, 0x2ea04b28, 0x008d0200, 0x00000000 }, > + { 0x00800001, 0x2ee04b28, 0x008d0240, 0x00000000 }, > + { 0x05800031, 0x20004a44, 0x06000e20, 0x90031000 }, > +#else > + /* Write all -1 */ > + { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, > + { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, > + { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, > #endif > }; > > @@ -907,11 +937,14 @@ static void gen8_emit_primitive(struct intel_batchbuffer *batch, uint32_t offset > > #define BATCH_STATE_SPLIT 2048 > > -void gen9_render_copyfunc(struct intel_batchbuffer *batch, > +static > +void _gen9_render_copyfunc(struct intel_batchbuffer *batch, > drm_intel_context *context, > - const struct igt_buf *src, unsigned src_x, unsigned src_y, > - unsigned width, unsigned height, > - const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) > + const struct igt_buf *src, unsigned src_x, > + unsigned src_y, unsigned width, unsigned height, > + const struct igt_buf *dst, unsigned dst_x, > + unsigned dst_y, const uint32_t ps_kernel[][4], > + uint32_t ps_kernel_size) > { > uint32_t ps_sampler_state, ps_kernel_off, ps_binding_table; > uint32_t scissor_state; > @@ -928,7 +961,7 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch, > > ps_binding_table = gen8_bind_surfaces(batch, src, dst); > ps_sampler_state = gen8_create_sampler(batch); > - ps_kernel_off = gen8_fill_ps(batch, ps_kernel, sizeof(ps_kernel)); > + ps_kernel_off = gen8_fill_ps(batch, ps_kernel, ps_kernel_size); > vertex_buffer = gen7_fill_vertex_buffer_data(batch, src, > src_x, src_y, > dst_x, dst_y, > @@ -1014,3 +1047,27 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch, > gen6_render_flush(batch, context, batch_end); > intel_batchbuffer_reset(batch); > } > + > +void gen9_render_copyfunc(struct intel_batchbuffer *batch, > + drm_intel_context *context, > + const struct igt_buf *src, unsigned src_x, unsigned src_y, > + unsigned width, unsigned height, > + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) > + > +{ > + _gen9_render_copyfunc(batch, context, src, src_x, src_y, > + width, height, dst, dst_x, dst_y, ps_kernel_gen9, > + sizeof(ps_kernel_gen9)); > +} > + > +void gen11_render_copyfunc(struct intel_batchbuffer *batch, > + drm_intel_context *context, > + const struct igt_buf *src, unsigned src_x, unsigned src_y, > + unsigned width, unsigned height, > + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) > + > +{ > + _gen9_render_copyfunc(batch, context, src, src_x, src_y, > + width, height, dst, dst_x, dst_y, ps_kernel_gen11, > + sizeof(ps_kernel_gen11)); > +} > -- > 2.14.4 > > _______________________________________________ > 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] 8+ messages in thread
* [igt-dev] [PATCH i-g-t v2] libs: Adding rendercopy support for gen11 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz ` (2 preceding siblings ...) 2018-10-10 9:23 ` [igt-dev] [PATCH i-g-t] " Petri Latvala @ 2018-10-10 10:48 ` Lukasz Kalamarz 2018-10-11 8:33 ` Katarzyna Dec 2018-10-10 11:45 ` [igt-dev] ✓ Fi.CI.BAT: success for libs: Adding rendercopy support for gen11 (rev2) Patchwork 2018-10-10 15:11 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 5 siblings, 1 reply; 8+ messages in thread From: Lukasz Kalamarz @ 2018-10-10 10:48 UTC (permalink / raw) To: igt-dev; +Cc: Lucas De Marchi, Rodrigo Vivi From: "Kalamarz, Lukasz" <lukasz.kalamarz@intel.com> In Gen11 there were EU changes which was causing gem_render_copy test failing. Shader used in gen9 is no longer applicable for those change and it had to be aligned to gen11 changes. Since only difference is shader, created a wrapper for gen9 function. v2: Added gen11 shader source path next to it binary form Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> --- lib/i915/shaders/ps/blit.g11a | 22 ++++++++++ lib/intel_batchbuffer.c | 2 + lib/rendercopy.h | 5 +++ lib/rendercopy_gen9.c | 98 ++++++++++++++++++++++++++++++++++--------- 4 files changed, 107 insertions(+), 20 deletions(-) create mode 100644 lib/i915/shaders/ps/blit.g11a diff --git a/lib/i915/shaders/ps/blit.g11a b/lib/i915/shaders/ps/blit.g11a new file mode 100644 index 00000000..15fe78af --- /dev/null +++ b/lib/i915/shaders/ps/blit.g11a @@ -0,0 +1,22 @@ +/* This is the same shader as for previous gens. On Gen 11 instruction pln was deleted and needs to be replaced by mad. +This shader was generated using IGA tool (not assembler integrated into IGT) +*/ + +(W) mad(8|M0) acc0.0<1>:nf r6.7<0;0>:f r2.0<8;1>:f r6.0<0>:f +(W) mad(8|M0) r10.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.1<0>:f + +(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.0<0>:f +(W) mad(8|M0) r11.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.1<0>:f + +(W) mad(8|M0) acc0.0<1>:nf r6.4<0;0>:f r2.0<8;1>:f r6.4<0>:f +(W) mad(8|M0) r12.0<1>:f acc0.0<8;1>:nf r3.0<8;1>:f r6.5<0>:f + +(W) mad(8|M0) acc0.0<1>:nf r6.0<0;0>:f r4.0<8;1>:f r6.4<0>:f +(W) mad(8|M0) r13.0<1>:f acc0.0<8;1>:nf r5.0<8;1>:f r6.5<0>:f + +(W) send(16|M0) r112:f r10:ub 0x10000002 0x08840001 // SAMPLER wr:4, rd:8, fc: 0x40001 + mov (16|M0) r113.0<1>:f r12.0<8;8,1>:f + mov (16|M0) r115.0<1>:f r14.0<8;8,1>:f + mov (16|M0) r117.0<1>:f r16.0<8;8,1>:f + mov (16|M0) r119.0<1>:f r18.0<8;8,1>:f +(W) send(16|M0) null:f r112:ub 0x10000025 0x10031000 {EOT} // DP_RC wr:8, rd:0, Render Target Write msc:16, to #0 diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index 387404ff..c13b1dc4 100644 --- a/lib/intel_batchbuffer.c +++ b/lib/intel_batchbuffer.c @@ -843,6 +843,8 @@ igt_render_copyfunc_t igt_get_render_copyfunc(int devid) copy = gen8_render_copyfunc; else if (IS_GEN9(devid) || IS_GEN10(devid)) copy = gen9_render_copyfunc; + else if (IS_GEN11(devid)) + copy = gen11_render_copyfunc; return copy; } diff --git a/lib/rendercopy.h b/lib/rendercopy.h index d1bb6284..35c28dd9 100644 --- a/lib/rendercopy.h +++ b/lib/rendercopy.h @@ -23,6 +23,11 @@ static inline void emit_vertex_normalized(struct intel_batchbuffer *batch, OUT_BATCH(u.ui); } +void gen11_render_copyfunc(struct intel_batchbuffer *batch, + drm_intel_context *context, + const struct igt_buf *src, unsigned src_x, unsigned src_y, + unsigned width, unsigned height, + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y); void gen9_render_copyfunc(struct intel_batchbuffer *batch, drm_intel_context *context, const struct igt_buf *src, unsigned src_x, unsigned src_y, diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c index f324fbd7..adbd8124 100644 --- a/lib/rendercopy_gen9.c +++ b/lib/rendercopy_gen9.c @@ -50,23 +50,54 @@ struct { } viewport; /* see lib/i915/shaders/ps/blit.g7a */ -static const uint32_t ps_kernel[][4] = { +static const uint32_t ps_kernel_gen9[][4] = { #if 1 - { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 }, - { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 }, - { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 }, - { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 }, + { 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 }, + { 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 }, + { 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 }, + { 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 }, #else - /* Write all -1 */ - { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, - { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, - { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, + /* Write all -1 */ + { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, + { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, +#endif +}; + +/* see lib/i915/shaders/ps/blit.g11a */ +static const uint32_t ps_kernel_gen11[][4] = { +#if 1 + { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800404 }, + { 0x0060005b, 0x7100480c, 0x0722003b, 0x01880406 }, + { 0x0060005b, 0x2000c01c, 0x07206601, 0x01800408 }, + { 0x0060005b, 0x7200480c, 0x0722003b, 0x0188040a }, + { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00404 }, + { 0x0060005b, 0x7300480c, 0x0722003b, 0x01a80406 }, + { 0x0060005b, 0x2000c01c, 0x07206e01, 0x01a00408 }, + { 0x0060005b, 0x7400480c, 0x0722003b, 0x01a8040a }, + { 0x02800031, 0x21804a4c, 0x06000e20, 0x08840001 }, + { 0x00800001, 0x2e204b28, 0x008d0180, 0x00000000 }, + { 0x00800001, 0x2e604b28, 0x008d01c0, 0x00000000 }, + { 0x00800001, 0x2ea04b28, 0x008d0200, 0x00000000 }, + { 0x00800001, 0x2ee04b28, 0x008d0240, 0x00000000 }, + { 0x05800031, 0x20004a44, 0x06000e20, 0x90031000 }, +#else + /* Write all -1 */ + { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e200608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e400608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e600608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2e800608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ea00608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ec00608, 0x00000000, 0x3f800000 }, + { 0x00600001, 0x2ee00608, 0x00000000, 0x3f800000 }, + { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 }, #endif }; @@ -907,11 +938,14 @@ static void gen8_emit_primitive(struct intel_batchbuffer *batch, uint32_t offset #define BATCH_STATE_SPLIT 2048 -void gen9_render_copyfunc(struct intel_batchbuffer *batch, +static +void _gen9_render_copyfunc(struct intel_batchbuffer *batch, drm_intel_context *context, - const struct igt_buf *src, unsigned src_x, unsigned src_y, - unsigned width, unsigned height, - const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) + const struct igt_buf *src, unsigned src_x, + unsigned src_y, unsigned width, unsigned height, + const struct igt_buf *dst, unsigned dst_x, + unsigned dst_y, const uint32_t ps_kernel[][4], + uint32_t ps_kernel_size) { uint32_t ps_sampler_state, ps_kernel_off, ps_binding_table; uint32_t scissor_state; @@ -928,7 +962,7 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch, ps_binding_table = gen8_bind_surfaces(batch, src, dst); ps_sampler_state = gen8_create_sampler(batch); - ps_kernel_off = gen8_fill_ps(batch, ps_kernel, sizeof(ps_kernel)); + ps_kernel_off = gen8_fill_ps(batch, ps_kernel, ps_kernel_size); vertex_buffer = gen7_fill_vertex_buffer_data(batch, src, src_x, src_y, dst_x, dst_y, @@ -1014,3 +1048,27 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch, gen6_render_flush(batch, context, batch_end); intel_batchbuffer_reset(batch); } + +void gen9_render_copyfunc(struct intel_batchbuffer *batch, + drm_intel_context *context, + const struct igt_buf *src, unsigned src_x, unsigned src_y, + unsigned width, unsigned height, + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) + +{ + _gen9_render_copyfunc(batch, context, src, src_x, src_y, + width, height, dst, dst_x, dst_y, ps_kernel_gen9, + sizeof(ps_kernel_gen9)); +} + +void gen11_render_copyfunc(struct intel_batchbuffer *batch, + drm_intel_context *context, + const struct igt_buf *src, unsigned src_x, unsigned src_y, + unsigned width, unsigned height, + const struct igt_buf *dst, unsigned dst_x, unsigned dst_y) + +{ + _gen9_render_copyfunc(batch, context, src, src_x, src_y, + width, height, dst, dst_x, dst_y, ps_kernel_gen11, + sizeof(ps_kernel_gen11)); +} -- 2.14.4 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] libs: Adding rendercopy support for gen11 2018-10-10 10:48 ` [igt-dev] [PATCH i-g-t v2] " Lukasz Kalamarz @ 2018-10-11 8:33 ` Katarzyna Dec 0 siblings, 0 replies; 8+ messages in thread From: Katarzyna Dec @ 2018-10-11 8:33 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev On Wed, Oct 10, 2018 at 12:48:37PM +0200, Lukasz Kalamarz wrote: > From: "Kalamarz, Lukasz" <lukasz.kalamarz@intel.com> > > In Gen11 there were EU changes which was causing gem_render_copy test > failing. Shader used in gen9 is no longer applicable for those change and it had to be aligned to gen11 changes. Only/s/main/?? difference is shader, /* I have */ created a wrapper for gen9 function. > > v2: Added gen11 shader source path next to it binary form > > Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> > > Cc: Michał Winiarski <michal.winiarski@intel.com> > Cc: Antonio Argenziano <antonio.argenziano@intel.com> > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> I would have change commit msg a little bit (see above), but it is not blocking patch from merging. LGTM :) Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com> Kasia :) _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for libs: Adding rendercopy support for gen11 (rev2) 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz ` (3 preceding siblings ...) 2018-10-10 10:48 ` [igt-dev] [PATCH i-g-t v2] " Lukasz Kalamarz @ 2018-10-10 11:45 ` Patchwork 2018-10-10 15:11 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 5 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-10-10 11:45 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev == Series Details == Series: libs: Adding rendercopy support for gen11 (rev2) URL : https://patchwork.freedesktop.org/series/50753/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4958 -> IGTPW_1931 = == Summary - SUCCESS == No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/50753/revisions/2/mbox/ == Known issues == Here are the changes found in IGTPW_1931 that come from known issues: === IGT changes === ==== Issues hit ==== igt@drv_selftest@live_hangcheck: fi-skl-guc: PASS -> DMESG-FAIL (fdo#106685) igt@kms_chamelium@dp-crc-fast: fi-kbl-7500u: PASS -> FAIL (fdo#103841) +2 igt@kms_chamelium@dp-hpd-fast: fi-skl-6700k2: SKIP -> FAIL (fdo#103841) +4 igt@kms_chamelium@hdmi-crc-fast: fi-skl-6700k2: PASS -> FAIL (fdo#103841) +3 igt@kms_chamelium@vga-hpd-fast: fi-kbl-7500u: SKIP -> FAIL (fdo#103841) +4 ==== Possible fixes ==== igt@kms_frontbuffer_tracking@basic: fi-byt-clapper: FAIL (fdo#103167) -> PASS igt@pm_rpm@basic-pci-d3-state: fi-skl-6600u: FAIL (fdo#107707) -> PASS igt@prime_vgem@basic-fence-flip: fi-ilk-650: FAIL (fdo#104008) -> PASS ==== Warnings ==== igt@kms_chamelium@common-hpd-after-suspend: fi-kbl-7500u: DMESG-WARN (fdo#102505, fdo#105602, fdo#105079) -> FAIL (fdo#103841) fdo#102505 https://bugs.freedesktop.org/show_bug.cgi?id=102505 fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841 fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008 fdo#105079 https://bugs.freedesktop.org/show_bug.cgi?id=105079 fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602 fdo#106685 https://bugs.freedesktop.org/show_bug.cgi?id=106685 fdo#107707 https://bugs.freedesktop.org/show_bug.cgi?id=107707 == Participating hosts (48 -> 42) == Missing (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-u2 fi-ctg-p8600 == Build changes == * IGT: IGT_4672 -> IGTPW_1931 CI_DRM_4958: 9990e1665029dc2ef4a9c0632b8a2f516263e595 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1931: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1931/ IGT_4672: 4497591d2572831a9f07fd9e48a2571bfcffe354 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1931/issues.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for libs: Adding rendercopy support for gen11 (rev2) 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz ` (4 preceding siblings ...) 2018-10-10 11:45 ` [igt-dev] ✓ Fi.CI.BAT: success for libs: Adding rendercopy support for gen11 (rev2) Patchwork @ 2018-10-10 15:11 ` Patchwork 5 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-10-10 15:11 UTC (permalink / raw) To: Lukasz Kalamarz; +Cc: igt-dev == Series Details == Series: libs: Adding rendercopy support for gen11 (rev2) URL : https://patchwork.freedesktop.org/series/50753/ State : success == Summary == = CI Bug Log - changes from IGT_4672_full -> IGTPW_1931_full = == Summary - SUCCESS == No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/50753/revisions/2/mbox/ == Known issues == Here are the changes found in IGTPW_1931_full that come from known issues: === IGT changes === ==== Issues hit ==== igt@gem_eio@reset-stress: shard-glk: PASS -> INCOMPLETE (k.org#198133, fdo#103359) +1 igt@gem_ppgtt@blt-vs-render-ctx0: shard-kbl: PASS -> INCOMPLETE (fdo#106023, fdo#103665) igt@kms_cursor_crc@cursor-128x128-onscreen: shard-kbl: PASS -> FAIL (fdo#103232) shard-glk: PASS -> FAIL (fdo#103232) igt@kms_cursor_crc@cursor-256x85-onscreen: shard-apl: PASS -> FAIL (fdo#103232) +1 igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff: shard-kbl: PASS -> FAIL (fdo#103167) igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu: shard-apl: PASS -> FAIL (fdo#103167) +3 igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu: shard-glk: PASS -> FAIL (fdo#103167) +11 igt@kms_plane@plane-position-covered-pipe-c-planes: shard-apl: PASS -> FAIL (fdo#103166) +3 {igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max}: shard-glk: PASS -> FAIL (fdo#108145) +1 shard-kbl: PASS -> FAIL (fdo#108145) shard-apl: PASS -> FAIL (fdo#108145) igt@kms_plane_multiple@atomic-pipe-a-tiling-y: shard-glk: PASS -> FAIL (fdo#103166) +3 shard-kbl: PASS -> FAIL (fdo#103166) ==== Possible fixes ==== igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b: shard-hsw: DMESG-WARN (fdo#107956) -> PASS igt@kms_cursor_crc@cursor-128x42-onscreen: shard-glk: FAIL (fdo#103232) -> PASS +2 shard-apl: FAIL (fdo#103232) -> PASS +2 igt@kms_cursor_crc@cursor-64x64-sliding: shard-kbl: FAIL (fdo#103232) -> PASS igt@kms_cursor_crc@cursor-64x64-suspend: shard-apl: FAIL (fdo#103191, fdo#103232) -> PASS igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic: shard-hsw: FAIL (fdo#105767) -> PASS igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt: shard-snb: INCOMPLETE (fdo#105411) -> PASS igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc: shard-apl: FAIL (fdo#103167) -> PASS igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc: shard-glk: FAIL (fdo#103167) -> PASS +1 {igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb}: shard-glk: FAIL (fdo#108145) -> PASS igt@kms_plane_multiple@atomic-pipe-b-tiling-x: shard-apl: FAIL (fdo#103166) -> PASS +2 igt@kms_plane_multiple@atomic-pipe-c-tiling-y: shard-glk: FAIL (fdo#103166) -> PASS +1 igt@kms_setmode@basic: shard-apl: FAIL (fdo#99912) -> PASS shard-hsw: FAIL (fdo#99912) -> PASS ==== Warnings ==== igt@kms_cursor_crc@cursor-64x64-suspend: shard-glk: INCOMPLETE (k.org#198133, fdo#103359) -> FAIL (fdo#103232) {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166 fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232 fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665 fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411 fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767 fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023 fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956 fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133 == Participating hosts (6 -> 5) == Missing (1): shard-skl == Build changes == * IGT: IGT_4672 -> IGTPW_1931 * Linux: CI_DRM_4952 -> CI_DRM_4958 CI_DRM_4952: a62e43ba13605a478b22307ea1790d48aea029a6 @ git://anongit.freedesktop.org/gfx-ci/linux CI_DRM_4958: 9990e1665029dc2ef4a9c0632b8a2f516263e595 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_1931: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1931/ IGT_4672: 4497591d2572831a9f07fd9e48a2571bfcffe354 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1931/shards.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-10-11 8:34 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-10-09 14:45 [igt-dev] [PATCH i-g-t] libs: Adding rendercopy support for gen11 Lukasz Kalamarz 2018-10-09 15:16 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2018-10-09 17:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 2018-10-10 9:23 ` [igt-dev] [PATCH i-g-t] " Petri Latvala 2018-10-10 10:48 ` [igt-dev] [PATCH i-g-t v2] " Lukasz Kalamarz 2018-10-11 8:33 ` Katarzyna Dec 2018-10-10 11:45 ` [igt-dev] ✓ Fi.CI.BAT: success for libs: Adding rendercopy support for gen11 (rev2) Patchwork 2018-10-10 15:11 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox