[PATCH] drm/radeon/kms: fix nsample tracking in r6xx/r7xx CS tracker

Dave Airlie airlied at redhat.com
Mon Aug 16 13:39:55 PDT 2010


On Mon, 2010-08-16 at 09:54 -0400, Jerome Glisse wrote:
> On 08/16/2010 09:22 AM, Alex Deucher wrote:
> > On Mon, Aug 16, 2010 at 9:19 AM, Jerome Glisse <glisse at freedesktop.org> wrote:
> >> On 08/13/2010 12:48 AM, Alex Deucher wrote:
> >>> Initialize nsamples to 1 in case userspace does not emit
> >>> PA_SC_AA_CONFIG.
> >>>
> >>> Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
> >>> Cc: Andre Maasikas <amaasikas at gmail.com>
> >>> ---
> >>>  drivers/gpu/drm/radeon/r600_cs.c |    1 +
> >>>  1 files changed, 1 insertions(+), 0 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
> >>> index 8e165b2..b03f93b 100644
> >>> --- a/drivers/gpu/drm/radeon/r600_cs.c
> >>> +++ b/drivers/gpu/drm/radeon/r600_cs.c
> >>> @@ -163,6 +163,7 @@ static void r600_cs_track_init(struct r600_cs_track *track)
> >>>       track->db_depth_size = 0xFFFFFFFF;
> >>>       track->db_depth_size_idx = 0;
> >>>       track->db_depth_control = 0xFFFFFFFF;
> >>> +     track->nsamples = 1;
> >>>  }
> >>>
> >>>  static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
> >>
> >> I would NAK this one, accepting such things pretty much defeat the idea
> >> of checker, i think userspace should always set nsamples as otherwise it
> >> might trick kernel and overwritte others memory. ie:
> >> cs1 set nsample 8 & all others properly so cs1 is accepted
> >> cs2 don't set nsample but bind a smaller bo and so can overwritte others
> >> buffer
> > 
> > Unfortunately, existing userspace already sends buffers without this
> > reg set. It's just that prior to tiling we didn't care what it was set
> > to.
> > 
> > Alex
> 
> I guess once again we hit by our own fault of prematurely going out of
> staging.

Jerome, staying in staging forever until every feature of the hw is
implemented isn't possible, at some point you have to do real engineer
work and this sounds like its workaroundable

How about if we get a tiling CB in the checker, we make sure nsamples is
set? will that work?

Dave.




More information about the dri-devel mailing list