Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [i-g-t V3 14/45] lib/igt_draw: Pass region while building intel_buf from flink
Date: Wed, 26 Apr 2023 17:16:54 +0530	[thread overview]
Message-ID: <20230426114725.2244653-15-bhanuprakash.modem@intel.com> (raw)
In-Reply-To: <20230426114725.2244653-1-bhanuprakash.modem@intel.com>

From: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>

For i915 region doesn't matter but for xe we need to be more strict and
region aware. This is related to size and alignment constraints. As we
don't have information about flink buffer origin let's assume region
is vram if possible, otherwise choose system region.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
 lib/igt_draw.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lib/igt_draw.c b/lib/igt_draw.c
index ac512fac5..c5f2fdfe2 100644
--- a/lib/igt_draw.c
+++ b/lib/igt_draw.c
@@ -37,6 +37,7 @@
 #include "i915/gem_create.h"
 #include "i915/gem_mman.h"
 #include "i915/intel_mocs.h"
+#include "xe/xe_query.h"
 
 #ifndef PAGE_ALIGN
 #ifndef PAGE_SIZE
@@ -634,17 +635,24 @@ static struct intel_buf *create_buf(int fd, struct buf_ops *bops,
 				    struct buf_data *from, uint32_t tiling)
 {
 	struct intel_buf *buf;
+	enum intel_driver driver = buf_ops_get_driver(bops);
 	uint32_t handle, name, width, height;
+	uint64_t region = driver == INTEL_DRIVER_XE ? vram_if_possible(fd, 0) : -1;
+	uint64_t size = from->size;
 
 	width = from->stride / (from->bpp / 8);
 	height = from->size / from->stride;
+	if (driver == INTEL_DRIVER_XE)
+		size = ALIGN(size, xe_get_default_alignment(fd));
 
 	name = gem_flink(fd, from->handle);
 	handle = gem_open(fd, name);
 
-	buf = intel_buf_create_using_handle(bops, handle,
-					    width, height, from->bpp, 0,
-					    tiling, 0);
+	buf = intel_buf_create_full(bops, handle,
+				    width, height, from->bpp, 0,
+				    tiling, 0,
+				    size, 0,
+				    region);
 
 	/* Make sure we close handle on destroy path */
 	intel_buf_set_ownership(buf, true);
-- 
2.40.0

  parent reply	other threads:[~2023-04-26 11:52 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-26 11:46 [igt-dev] [i-g-t V3 00/45] Add IGT display support for XE Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 01/45] lib/xe_ioctl: Add missing header for direct resolving Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 02/45] lib/xe_query: Add region helpers and missing doc Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 03/45] lib/xe_query: Remove commented out function prototype Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 04/45] lib/intel_allocator: Add allocator support for Xe Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 05/45] lib/drmtest: Add driver enum for i915/xe Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 06/45] lib/intel_bufops: Add Xe support in bufops Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 07/45] lib/intel_batchbuffer: Rename i915 -> fd as preparation step for xe Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 08/45] lib/intel_batchbuffer: Add Xe support in intel-bb Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 09/45] tests/xe_intel_bb: Check if intel-bb Xe support correctness Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 10/45] tests/xe-fast-feedback: Add xe_intel_bb test to BAT Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 11/45] lib/gpgpu_fill: Use RENDER engine flag to work on Xe Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 12/45] tests/xe_gpgpu_fill: Exercise gpgpu fill " Bhanuprakash Modem
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 13/45] lib/igt_fb: For xe assume vram is used on discrete Bhanuprakash Modem
2023-04-26 11:46 ` Bhanuprakash Modem [this message]
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 15/45] tests/kms_big_fb: Deduce region for xe framebuffer Bhanuprakash Modem
2023-04-27  6:13   ` B, Jeevan
2023-04-27  6:14     ` B, Jeevan
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 16/45] lib/igt_fb: Add copy engine support for XE Bhanuprakash Modem
2023-04-27 11:29   ` [igt-dev] [i-g-t V4 " Bhanuprakash Modem
2023-04-27 11:49     ` Zbigniew Kempczyński
2023-04-27 12:20   ` [igt-dev] [i-g-t V3 " B, Jeevan
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 17/45] lib/igt_draw: Add gpu draw routine " Bhanuprakash Modem
2023-04-27  2:21   ` [igt-dev] [i-g-t, V3, " Gupta, Nidhi1
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 18/45] tests/i915/kms_big_fb: Add XE support Bhanuprakash Modem
2023-04-27  5:46   ` B, Jeevan
2023-04-26 11:46 ` [igt-dev] [i-g-t V3 19/45] tests/i915/kms_big_joiner: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 20/45] tests/i915/kms_cdclk: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 21/45] tests/i915/kms_draw_crc: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 22/45] tests/i915/kms_dsc: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 23/45] tests/i915/kms_flip_scaled_crc: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 24/45] tests/i915/kms_flip_tiling: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 25/45] tests/i915/kms_mmap_write_crc: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 26/45] tests/kms_3d: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 27/45] tests/kms_async_flips: No " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 28/45] tests/kms_atomic_transition: Add " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 29/45] tests/color: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 30/45] tests/kms_concurrent: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 31/45] tests/kms_content_protection: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 32/45] tests/kms_cursor_crc: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 33/45] tests/kms_flip_event_leak: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 34/45] tests/kms_getfb: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 35/45] tests/kms_hdmi_inject: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 36/45] tests/kms_hdr: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 37/45] tests/kms_panel_fitting: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 38/45] tests/kms_plane: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 39/45] tests/kms_plane_lowers: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 40/45] tests/kms_plane_scaling: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 41/45] tests/kms_prime: Use Rendercopy instead of Blit Bhanuprakash Modem
2023-04-27 11:06   ` B, Jeevan
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 42/45] tests/kms_prime: Add XE support Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 43/45] tests/kms_rotation_crc: " Bhanuprakash Modem
2023-04-27  5:43   ` Sharma, Swati2
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 44/45] tests/kms_setmode: " Bhanuprakash Modem
2023-04-26 11:47 ` [igt-dev] [i-g-t V3 45/45] tests/kms_universal_plane: " Bhanuprakash Modem
2023-04-26 12:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT display support for XE (rev5) Patchwork
2023-04-26 13:51 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-04-27 14:05 ` [igt-dev] ✓ Fi.CI.BAT: success for Add IGT display support for XE (rev6) Patchwork
2023-04-27 18:48 ` [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=20230426114725.2244653-15-bhanuprakash.modem@intel.com \
    --to=bhanuprakash.modem@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