[PATCH 1/2] drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO
M Henning
mhenning at darkrefraction.com
Thu Mar 27 18:03:21 UTC 2025
On Thu, Mar 27, 2025 at 9:51 AM Danilo Krummrich <dakr at kernel.org> wrote:
>
> On Fri, Mar 21, 2025 at 06:06:34PM -0400, M Henning wrote:
> > On Thu, Mar 20, 2025 at 2:18 PM Danilo Krummrich <dakr at kernel.org> wrote:
> > > On Wed, Mar 12, 2025 at 05:36:14PM -0400, Mel Henning wrote:
> > > > + __u32 width_align_pixels;
> > > > + __u32 height_align_pixels;
> > > > + __u32 pixel_squares_by_aliquots;
> > > > + __u32 aliquot_total;
> > > > + __u32 zcull_region_byte_multiplier;
> > > > + __u32 zcull_region_header_size;
> > > > + __u32 zcull_subregion_header_size;
> > > > + __u32 subregion_count;
> > > > + __u32 subregion_width_align_pixels;
> > > > + __u32 subregion_height_align_pixels;
> > > > +
> > > > + __u32 ctxsw_size;
> > > > + __u32 ctxsw_align;
> > > > +};
> > >
> > > What if this ever changes between hardware revisions or firmware versions?
> >
> > There was some previous discussion of that here:
> > https://gitlab.freedesktop.org/mesa/mesa/-/issues/12596#note_2796853
> >
> > From what I can tell, this structure hasn't really changed since
> > FERMI_C (circa 2011), so I'm not too worried about it changing on us
> > too quickly. When it does change, we have the option of appending more
> > members to this struct in the usual way, or if the change is more
> > fundamental we can return an error from this ioctl and add a new
> > interface. Userspace needs to handle an error from this ioctl
> > gracefully anyway since whether it works or not depends on the gpu
> > generation and what firmware is loaded right now.
>
> We could also define it as
>
> struct drm_nouveau_get_zcull_info {
> __u32 version;
> __u32 _pad;
>
> union {
> struct drm_nouveau_get_zcull_info_v1 info;
> }
> }
>
> just to be safe.
We can do that, although I don't see any other drm drivers using a
similar pattern anywhere.
More information about the Nouveau
mailing list