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

Alex Deucher alexdeucher at gmail.com
Mon Aug 16 13:53:45 PDT 2010


On Mon, Aug 16, 2010 at 4:39 PM, Dave Airlie <airlied at redhat.com> wrote:
> 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?
>

I've fixed the issue in mesa.  The problematic mesa code has not been
officially part of a release yet.  That said, I think 1 is a
reasonable default for nsamples regardless as unless MSAA is enabled,
you can pretty safely assume 1.

Alex

> Dave.
>
>
>


More information about the dri-devel mailing list