Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Im working on a multiplatform (Pc,Mac,Linux) game that uses shaders quite extensively. Since we do not have any funding, it is pretty hard to test our game on all possible hardware configurations.

While our engine seems to run fine on different platforms, its usually the slight differences in GLSL compiling that gives us headaches. We have things set up such that we can test the shaders on Ati/Nvidia cards, but since the new Macbooks have Intel graphics, I'm really looking for a tool that can simply validate my GLSL shaders for different hardware without the need of yet another system.

Does anyone know such a tool?

share|improve this question
6  
In the past, I've done quick performance testing by going into an Apple store and just downloading my programs onto various computers which are out on display. Not as useful as having a proper tool, but at least it lets me avoid splashing out for a new laptop every time I want to check on some new platform. –  Trevor Powell Sep 5 '11 at 22:15
2  
@Trevor Powell I instantly got the image of the geek Indie game developper in the Apple Store secretly testing his games until someone threw him out lol. –  pwny Sep 6 '11 at 4:21
add comment

2 Answers

up vote 4 down vote accepted

The GLSL specification defines how the language works. If you write a shader that conforms to that specification, and it does not work on a particular OpenGL implementation, then that OpenGL implementation has a bug in it. Which means that you are effectively asking for a tool that can reproduce the bugs in Apple's Intel drivers.

That is pretty much impossible. To do that, someone would have to have a list of every bug for every driver revision in Apple's Intel graphics drivers. Even if someone tried to get a list of those bugs and wrote a parser that reproduced them, that wouldn't guarantee you anything, since there could always be new bugs introduced. Or the "validator" could have implemented those bugs incorrectly.

The best you can hope for would be a shader validator that could tell if your GLSL shader conformed to the specification. But that's about it.

share|improve this answer
2  
Or most likely, the validator itself would have slightly different bugs. –  user744 Sep 5 '11 at 23:51
    
Do you know of a validator that is very strict regarding the specifications? –  Pjotterke Sep 6 '11 at 7:26
    
@Pjotterke: 3D Labs used to have one, but they went under years ago. I'm not aware of any compiler that is particularly less error prone than any other. –  Nicol Bolas Sep 6 '11 at 7:28
    
Luckily, drawelements (drawelements.com) has a plan to force opengl es drivers towards compliance =) –  Jari Komppa Sep 7 '11 at 8:50
    
@Jari: That's great for OpenGL ES. But that does nothing for those on desktops. –  Nicol Bolas Sep 7 '11 at 9:16
add comment

This might be bit far fetched but how about adding a screenshot feature to your game. The game would run with a script controlling game play so it follows predefined path and takes screenshots at critical points. After script is completed it sends them to you with specs of the machine.

Then just crowdsource the whole exercise.

share|improve this answer
    
This is the kind of far fetched I like. –  Jonathan Connell Sep 6 '11 at 11:38
    
That is pretty cool but debugging from a screenshot really is a nightmare. Especially since the game probably wont run or the screen turns black, etc –  Pjotterke Sep 6 '11 at 13:50
    
I imagine it could be used to find out setups that are totally unplayable and those that are only slightly off. Then pick the ones worth of fixing - the 80-20 rule applies here as well I guess. –  Petteri Hietavirta Sep 6 '11 at 14:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.