Jump to content
  • Advertisement
Sign in to follow this  
Excors

OpenGL Setting up a GL capabilities database

This topic is 2712 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For 0 A.D. I was interested in what kind of hardware is common among players, and what gives acceptable performance in the game, so I've set up a system where the game can report various details back to a server. (It's disabled by default and opt-in - there's a button on the main menu screen which enables the automatic sending of anonymous feedback while the game is running). A large part of that information is OpenGL extensions and implementation limits, and I'm thinking it would be useful for others if we published that information, so I wanted to check for input before finishing the work on this.

The game currently seems to have something like 10K downloads per month of the alpha releases, so I expect this could collect a lot of data. A fairly large proportion of users are on Linux so we can get data for those drivers too. (Some are on OS X, but not many, since we're lacking good packaging support there). The game runs on fairly low-end hardware (GeForce 4 should be okay, Intel 965 might be bearable, etc) so hopefully it'll get relatively broad data.

The current data is like this. (This comes from users of the SVN version, and there's some gaps and bugs since the code's still being worked on, and the report UI isn't great). In particular it's got the basic device-identifier strings, driver version numbers (only on Windows), list of GL extensions, and the values from various glGet* calls. It should include all the implementation-dependent state from GL 1.3 (unless I missed any), plus all the ARB extensions included up to GL 2.0, plus a few other extensions. (The exact details are here). Rows that are identical except for driver version are merged together, but otherwise nothing is discarded, since it seems useful to know the limits of not-the-most-recent drivers. The full data is downloadable as JSON from that page.

The other GL databases I've seen so far are typically limited in size, or scope (not many data fields, no Linux, etc), or are no longer online, and they rarely make the data downloadable, so I'm hoping this can provide something new and useful. Would people really be interested in it? If so, is there more data you'd find useful (e.g. implementation limits for other extensions), or any particular dangers to watch out for when doing this?

Share this post


Link to post
Share on other sites
Advertisement
Your table looks messed up for me in Firefox, it doesn't R90 the title text for each of the columns, so it just puts all the text horizontal and you can't read anything.

Share this post


Link to post
Share on other sites
What version of Firefox? It works for me in 3.6, and apparently it should work in 3.5 too. (I'm not good at designing an interface that looks okay in modern browsers, so I don't really want to make it harder for myself by supporting much older ones too :))

Share this post


Link to post
Share on other sites
Oh ok, I guess I have 3.0.11, didn't realize there were so many new versions. It's certainly up to you if you want to fix it, but just thought I'd let you know.

Just checked and it doesn't work either in IE8, but I guess you already knew that.

Share this post


Link to post
Share on other sites
It's better to have it in different pages rather than every graphics card on the same page. I didn't understand what the red and green blocks are for.
Anyway, the important is I suppose the GL version.

Share this post


Link to post
Share on other sites
Yeah, the giant table was getting a bit unmanageable :). I've redesigned the interface now so you can view the devices supporting a given extension, or the range of implementation-dependent values for a given feature, or the features supported by a given device, which is hopefully a more helpful presentation.

Share this post


Link to post
Share on other sites

Rows that are identical except for driver version are merged together, but otherwise nothing is discarded, since it seems useful to know the limits of not-the-most-recent drivers. The full data is downloadable as JSON from that page.


Thanks for the info. I could have used this just a week ago :D I'd also see the value in what driver versions support what extensions, so I'm wondering if you've got a specific reason for merging driver version together?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!