Jump to content

  • Log In with Google      Sign In   
  • Create Account


Setting up a GL capabilities database


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 Excors   Members   -  Reputation: 715

Like
4Likes
Like

Posted 19 February 2011 - 04:16 PM

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?

Sponsor:

#2 karwosts   Members   -  Reputation: 832

Like
0Likes
Like

Posted 19 February 2011 - 04:31 PM

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.
My Projects:
Portfolio Map for Android - Free Visual Portfolio Tracker
Electron Flux for Android - Free Puzzle/Logic Game

#3 Excors   Members   -  Reputation: 715

Like
0Likes
Like

Posted 19 February 2011 - 05:14 PM

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 :))

#4 karwosts   Members   -  Reputation: 832

Like
0Likes
Like

Posted 19 February 2011 - 05:19 PM

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.
My Projects:
Portfolio Map for Android - Free Visual Portfolio Tracker
Electron Flux for Android - Free Puzzle/Logic Game

#5 V-man   Members   -  Reputation: 805

Like
0Likes
Like

Posted 20 February 2011 - 06:59 AM

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.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

#6 Excors   Members   -  Reputation: 715

Like
1Likes
Like

Posted 22 February 2011 - 01:31 PM

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.

#7 V-man   Members   -  Reputation: 805

Like
0Likes
Like

Posted 24 February 2011 - 08:37 AM

That's a lot better.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

#8 Rene Z   Members   -  Reputation: 497

Like
0Likes
Like

Posted 25 February 2011 - 02:43 AM

Useful information, thanks for sharing!

#9 rick_appleton   Members   -  Reputation: 857

Like
0Likes
Like

Posted 25 February 2011 - 03:35 AM

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?

#10 samoth   Crossbones+   -  Reputation: 4642

Like
0Likes
Like

Posted 25 February 2011 - 08:03 AM

Man, I wish one could rate +10 ... awesome.

#11 Excors   Members   -  Reputation: 715

Like
0Likes
Like

Posted 15 March 2011 - 12:14 PM

The game's had a new alpha release so there's a lot more users reporting data now (something like 500 over the past few days) and the data ought to be more comprehensive and hopefully more useful now.

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?

The driver versions are still all reported, like on this page - they're just merged into a single column to save space when the other data is identical.

#12 AndyEsser   GDNet+   -  Reputation: 381

Like
0Likes
Like

Posted 15 March 2011 - 04:06 PM

Very nice mate. Thanks for putting this up - it's nice to be able to have a peek into what's around (I know the dataset's quite small, but it's useful nonetheless)




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS