public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Mika Kahola <mika.kahola@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t] lib/rendercopy_gen9: Set rw domains to zero for GEN12
Date: Thu, 28 Nov 2019 11:12:28 +0200	[thread overview]
Message-ID: <20191128091228.7064-1-mika.kahola@intel.com> (raw)

GEN12 doesn't need read and write domains to be set. Let's set
these to zero in case of GEN12.

Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 lib/rendercopy_gen9.c | 36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index 3189594f..891b7ff1 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -194,7 +194,7 @@ gen6_render_flush(struct intel_batchbuffer *batch,
 /* Mostly copy+paste from gen6, except height, width, pitch moved */
 static uint32_t
 gen8_bind_buf(struct intel_batchbuffer *batch, const struct igt_buf *buf,
-	      int is_dst) {
+	      int is_dst, unsigned gen) {
 	struct gen9_surface_state *ss;
 	uint32_t write_domain, read_domain, offset;
 	int ret;
@@ -210,6 +210,12 @@ gen8_bind_buf(struct intel_batchbuffer *batch, const struct igt_buf *buf,
 		read_domain = I915_GEM_DOMAIN_SAMPLER;
 	}
 
+	/* domains not needed for GEN12 */
+	if (gen == 12) {
+		write_domain = 0;
+		read_domain = 0;
+	}
+
 	ss = intel_batchbuffer_subdata_alloc(batch, sizeof(*ss), 64);
 	offset = intel_batchbuffer_subdata_offset(batch, ss);
 	annotation_add_state(&aub_annotations, AUB_TRACE_SURFACE_STATE,
@@ -277,7 +283,8 @@ gen8_bind_buf(struct intel_batchbuffer *batch, const struct igt_buf *buf,
 static uint32_t
 gen8_bind_surfaces(struct intel_batchbuffer *batch,
 		   const struct igt_buf *src,
-		   const struct igt_buf *dst)
+		   const struct igt_buf *dst,
+		   unsigned gen)
 {
 	uint32_t *binding_table, offset;
 
@@ -286,8 +293,8 @@ gen8_bind_surfaces(struct intel_batchbuffer *batch,
 	annotation_add_state(&aub_annotations, AUB_TRACE_BINDING_TABLE,
 			     offset, 8);
 
-	binding_table[0] = gen8_bind_buf(batch, dst, 1);
-	binding_table[1] = gen8_bind_buf(batch, src, 0);
+	binding_table[0] = gen8_bind_buf(batch, dst, 1, gen);
+	binding_table[1] = gen8_bind_buf(batch, src, 0, gen);
 
 	return offset;
 }
@@ -1187,7 +1194,8 @@ void _gen9_render_copyfunc(struct intel_batchbuffer *batch,
 			  unsigned dst_y,
 			  drm_intel_bo *aux_pgtable_bo,
 			  const uint32_t ps_kernel[][4],
-			  uint32_t ps_kernel_size)
+			  uint32_t ps_kernel_size,
+			  unsigned gen)
 {
 	uint32_t ps_sampler_state, ps_kernel_off, ps_binding_table;
 	uint32_t scissor_state;
@@ -1204,7 +1212,7 @@ void _gen9_render_copyfunc(struct intel_batchbuffer *batch,
 
 	annotation_init(&aub_annotations);
 
-	ps_binding_table  = gen8_bind_surfaces(batch, src, dst);
+	ps_binding_table  = gen8_bind_surfaces(batch, src, dst, gen);
 	ps_sampler_state  = gen8_create_sampler(batch);
 	ps_kernel_off = gen8_fill_ps(batch, ps_kernel, ps_kernel_size);
 	vertex_buffer = gen7_fill_vertex_buffer_data(batch, src,
@@ -1307,8 +1315,8 @@ void gen9_render_copyfunc(struct intel_batchbuffer *batch,
 
 {
 	_gen9_render_copyfunc(batch, context, src, src_x, src_y,
-			  width, height, dst, dst_x, dst_y, NULL,
-			  ps_kernel_gen9, sizeof(ps_kernel_gen9));
+			      width, height, dst, dst_x, dst_y, NULL,
+			      ps_kernel_gen9, sizeof(ps_kernel_gen9), 9);
 }
 
 void gen11_render_copyfunc(struct intel_batchbuffer *batch,
@@ -1319,8 +1327,8 @@ void gen11_render_copyfunc(struct intel_batchbuffer *batch,
 
 {
 	_gen9_render_copyfunc(batch, context, src, src_x, src_y,
-			  width, height, dst, dst_x, dst_y, NULL,
-			  ps_kernel_gen11, sizeof(ps_kernel_gen11));
+			      width, height, dst, dst_x, dst_y, NULL,
+			      ps_kernel_gen11, sizeof(ps_kernel_gen11), 11);
 }
 
 void gen12_render_copyfunc(struct intel_batchbuffer *batch,
@@ -1335,10 +1343,10 @@ void gen12_render_copyfunc(struct intel_batchbuffer *batch,
 	gen12_aux_pgtable_init(&pgtable_info, batch->bufmgr, src, dst);
 
 	_gen9_render_copyfunc(batch, context, src, src_x, src_y,
-			  width, height, dst, dst_x, dst_y,
-			  pgtable_info.pgtable_bo,
-			  gen12_render_copy,
-			  sizeof(gen12_render_copy));
+			      width, height, dst, dst_x, dst_y,
+			      pgtable_info.pgtable_bo,
+			      gen12_render_copy,
+			      sizeof(gen12_render_copy), 12);
 
 	gen12_aux_pgtable_cleanup(&pgtable_info);
 }
-- 
2.17.1

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

             reply	other threads:[~2019-11-28  9:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-28  9:12 Mika Kahola [this message]
2019-11-28  9:16 ` [igt-dev] [PATCH i-g-t] lib/rendercopy_gen9: Set rw domains to zero for GEN12 Chris Wilson
2019-11-28 10:32   ` Imre Deak
2019-11-28 10:39     ` Chris Wilson
2019-11-28 10:45       ` Kahola, Mika
2019-11-28 10:58       ` Imre Deak
2019-11-28 10:24 ` [igt-dev] ✗ GitLab.Pipeline: warning for " Patchwork
2019-11-28 11:08   ` Petri Latvala
2019-11-28 12:50     ` Arkadiusz Hiler
2019-11-28 10:39 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2019-11-29 15:14 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191128091228.7064-1-mika.kahola@intel.com \
    --to=mika.kahola@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox