Message ID | 1348258993-15154-1-git-send-email-tom@stellard.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
I think it would be cleaner to add a new SURF_TYPE for buffers and only allow large npix_x for that (and adding all the necessary sanity checks to disallow invalid values). Also, if you want to use it in Mesa, you or somebody else should: 1) make a libdrm release 2) bump libdrm_radeon version requirement in Mesa's configure.ac Marek On Fri, Sep 21, 2012 at 10:23 PM, Tom Stellard <tom@stellard.net> wrote: > From: Tom Stellard <thomas.stellard@amd.com> > > This makes it possible to create a surface for a buffer. > --- > radeon/radeon_surface.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c > index 80b1505..235f4ae 100644 > --- a/radeon/radeon_surface.c > +++ b/radeon/radeon_surface.c > @@ -686,7 +686,8 @@ static int eg_surface_sanity(struct radeon_surface_manager *surf_man, > unsigned tileb; > > /* check surface dimension */ > - if (surf->npix_x > 16384 || surf->npix_y > 16384 || surf->npix_z > 16384) { > + if ((surf->npix_x > 16384 && (surf->npix_y != 1 || surf->npix_z != 1)) || > + surf->npix_y > 16384 || surf->npix_z > 16384) { > return -EINVAL; > } > > -- > 1.7.11.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c index 80b1505..235f4ae 100644 --- a/radeon/radeon_surface.c +++ b/radeon/radeon_surface.c @@ -686,7 +686,8 @@ static int eg_surface_sanity(struct radeon_surface_manager *surf_man, unsigned tileb; /* check surface dimension */ - if (surf->npix_x > 16384 || surf->npix_y > 16384 || surf->npix_z > 16384) { + if ((surf->npix_x > 16384 && (surf->npix_y != 1 || surf->npix_z != 1)) || + surf->npix_y > 16384 || surf->npix_z > 16384) { return -EINVAL; }
From: Tom Stellard <thomas.stellard@amd.com> This makes it possible to create a surface for a buffer. --- radeon/radeon_surface.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)