Sign in to follow this  
RPTD

GLSL: What is better? const or inline?

Recommended Posts

I tend to write GLSL code like this:

>>>
const vec2 somethingConstant = vec2( 2.0 );
...
bla = blu * somethingConstant;
<<<

Hence I move constants out to a common place using the const keyword and using them even if they are used only one. Now with ATI and texelFetchOffset I ran into a crash when I used such a const constant as offset. Using it directly it worked without crashing (hence texelFetchOffset( sampler, tc, lod, ivec2(0,1) ) for example). There I had to turn the constant inline to prevent the crash. Hence the above example would look like this in the inline version:

>>>
bla = blu * vec2( 2.0 );
<<<

Which version is better? Is it better to do all "const" or all "inline"? Does one version require more ALU instructions or are they more or less equal? Is one more "resistent" towards broken compilers like in the above mentioned ATI case?

Share this post


Link to post
Share on other sites
That's not called an inline. It is called a immediate value. The compiler may or may not make it as part of the instruction. If it can't, then it would put the value in a register and reference it.

As for the crash, a driver should never crash.
You can post your problem at the OpenGL Driver forum
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=13&page=1

Share this post


Link to post
Share on other sites
[quote name='V-man' timestamp='1333243851' post='4927068']
That's not called an inline. It is called a immediate value. The compiler may or may not make it as part of the instruction. If it can't, then it would put the value in a register and reference it.[/quote]
So both versions should be the same or does one always use a register and the other not?

[quote]As for the crash, a driver should never crash.
You can post your problem at the OpenGL Driver forum
[url="http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=13&page=1"]http://www.opengl.or...Board=13&page=1[/url]
[/quote]
It's a known bug over there but ATI doesn't give a damn about it nor doesn't want to fix it so hack-time it is.

Share this post


Link to post
Share on other sites
[quote name='RPTD' timestamp='1333274942' post='4927140'](...) it nor doesn't want to fix it (...)[/quote]
nor does it want to fit it...

why the hell is there no edit button anymore? How I hate "verschlimmbesserungen" U_U

Share this post


Link to post
Share on other sites
[quote name='RPTD' timestamp='1333275017' post='4927141']
why the hell is there no edit button anymore?
[/quote]
Wut?

edit: i do see the edit button :/. Did i miss some funky forum functionality that disables it at some point? Edited by tanzanite7

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this