Jump to content
  • Advertisement
Sign in to follow this  
RPTD

GLSL: What is better? const or inline?

This topic is 2298 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

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
Advertisement
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

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.

So both versions should be the same or does one always use a register and the other not?

As for the crash, a driver should never crash.
You can post your problem at the OpenGL Driver forum
http://www.opengl.or...Board=13&page=1
[/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
(...) it nor doesn't want to fix it (...)

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

why the hell is there no edit button anymore?

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
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!