From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 81E286E212 for ; Tue, 10 Dec 2019 00:16:57 +0000 (UTC) Date: Mon, 09 Dec 2019 16:07:37 -0800 Message-ID: <87muc1kppy.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" In-Reply-To: <20191201190942.6077-1-zbigniew.kempczynski@intel.com> References: <20191201190942.6077-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Subject: Re: [igt-dev] [PATCH i-g-t v2 1/2] lib/intel_bufops: Introduce buffer operations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Zbigniew =?ISO-8859-2?Q?Kempczy=F1ski?= Cc: igt-dev@lists.freedesktop.org List-ID: On Sun, 01 Dec 2019 11:09:41 -0800, Zbigniew Kempczy=F1ski wrote: > > Different GENs supports different tile surfaces. Older GENs > have HW fences to allow X / Y surface tiling / detiling. > Newer GENs have to tile / detile such surface in software. > > To make test developer life easier this code adds buffer > operations (short bufops) to use appropriate functions allowing > copying linear buffer to BO and from BO to linear buffer > regardless GPU generation and tiling within BO. For GENs having > fences support preference is to use them if they are available > (X / Y tiling is probed on bufops initalization). > > Signed-off-by: Zbigniew Kempczy=F1ski > Cc: Chris Wilson > Cc: Imre Deak > Cc: Katarzyna Dec [snip] > +/* Generations 9 - 11 */ > +{ > + .gen_start =3D 9, > + .gen_end =3D 11, > + .supported_tiles =3D TILE_NONE | TILE_X | TILE_Y | TILE_Yf, > + .hw_tiles =3D TILE_X | TILE_Y, > + .linear_to =3D copy_linear_to_cpu, > + .linear_to_x =3D copy_linear_to_gtt, > + .linear_to_y =3D copy_linear_to_gtt, > + .linear_to_yf =3D copy_linear_to_yf, > + .to_linear =3D copy_cpu_to_linear, > + .x_to_linear =3D copy_gtt_to_linear, > + .y_to_linear =3D copy_gtt_to_linear, > + .yf_to_linear =3D copy_yf_to_linear, > +}, > +/* Generation 12 */ > +{ > + .gen_start =3D 12, > + .gen_end =3D 12, > + .supported_tiles =3D TILE_NONE | TILE_X | TILE_Y | TILE_Yf | TILE_Ys, > + .linear_to =3D copy_linear_to_wc, > + .linear_to_x =3D copy_linear_to_x, > + .linear_to_y =3D copy_linear_to_y, > + .linear_to_yf =3D copy_linear_to_yf, > + .linear_to_ys =3D NULL, /* to be implemented */ > + .to_linear =3D copy_wc_to_linear, > + .x_to_linear =3D copy_x_to_linear, > + .y_to_linear =3D copy_y_to_linear, Isn't it true that TGL which is Gen12 does support HW fences in ggtt? Maybe it is ok to leave the default functions as these but perhaps we should set the ggtt versions of the functions (same ag Gen11 above) if HW tiling support is detected in buf_ops_get()? _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev