[Mesa-dev] Seeking advice on implementing KHR_no_error

Dave Airlie airlied at gmail.com
Fri Dec 30 00:02:33 UTC 2016


On 30 December 2016 at 09:48, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Thu, Dec 29, 2016 at 5:54 PM, Thomas Helland
> <thomashelland90 at gmail.com> wrote:
>> Apart from that it's basically a case of looking at a patch series implementing
>> some other fairly trivial extension to get an idea of what needs changing apart
>> from the functionality of the extension itself.
>
> There are a few ways to implement the ext. You could have the trivial
> implementation which just makes it not report errors. However there's
> a bunch of validation that gets done in various cases, which can be
> costly. I believe the point of the extension is to get rid of that
> extra costly validation.
>
> You're going to have to track down the specifics, but one thing that
> comes off the top of my head is the validation that's done for ES
> interface matching. There's probably 30 other things too though, that
> one is just one that I happen to remember at this moment. I think
> sampler/texture validation is another, probably stuff with uniforms,
> etc.
>
> So the idea would be for those validation functions to just do if
> (ctxflags & NO_ERROR) { return; } somewhere near the top. (For
> example.)

In theory for a lot of the API you could split the API into

_mesa_API_nocheck
and
_mesa_API {
    do error checks
    call _mesa_API_nocheck
}
variants, then have a separate dispatch table that goes straight to
nocheck for a bunch of the API.

Then you'd fixed up the other callsites on a case by case basis.

Dave.


More information about the mesa-dev mailing list