[Mesa-dev] [PATCH 0/7] i965, anv: Use ISL for querying surface format capabilities
Ilia Mirkin
imirkin at alum.mit.edu
Tue May 24 17:51:06 UTC 2016
On Tue, May 24, 2016 at 1:47 PM, Nanley Chery <nanleychery at gmail.com> wrote:
> On Mon, May 23, 2016 at 02:07:41PM -0700, Jason Ekstrand wrote:
>> On Mon, May 23, 2016 at 10:41 AM, Nanley Chery <nanleychery at gmail.com>
>> wrote:
>>
>> > On Fri, May 20, 2016 at 06:12:34PM -0700, Jason Ekstrand wrote:
>> > > This little series effectively moves the surface format table from
>> > > brw_surface_formats.c into ISL. Previously, it got built into
>> > > libi965_compiler.la because we needed to share it between drivers and
>> > > didn't have a better place to put it. Now it can live in ISL where it
>> > > belongs.
>> > >
>> > > When we pull it into ISL, we also clean up the API for querying a bit.
>> > > Instead of simply having a table with gen numbers in it, everything uses
>> > > isl_format_supports_* queries. This allows us to special-case things in
>> > > cases where the table just doesn't quite work. For instance, there are a
>> > > number of formats that become avilable for vertex fetch on Haswell and
>> > Bay
>> > > Trail but don't exist on Ivy Bridge. This isn't something the current
>> > > table-based approach can handle properly.
>> > >
>> >
>> > Pulling the table into ISL seems like a great idea and helpers shouldn't
>> > hurt. It seems like the problem helpers would solve is the case when a
>> > format loses its support in a future generation - has this happened with a
>> > Gen introduction? For the example you stated, I think we could fix it by
>> > giving Baytrail a gen number between 70 and 75. This would require scaling
>> > up all brw_device_info::gen fields by 10 of course.
>> >
>>
>> Yes, we could call Bay Trail 7.1 or something like that but we can't really
>> guarantee that it will be monotonic.
>
> 7.1 sounds good. What can't we guarantee will be monotonic?
You might have a situation where a feature exists in 70 and 75 but not
71, and another feature which exists in 70 and 71 but not 75. So
there's no total order that will account for it. (No clue if such a
set of features exists.)
-ilia
More information about the mesa-dev
mailing list