Mesa supports GLSL

I just noticed that GLSL was added

Yep, and it works quite well too. Although there’s not preprocessor yet.

im curious, define well?
how fast does it do a reasonable fragment shader at say 512x512 on what cpu

I’d guess “works quite well” means “functionally correct” rather than “fast”.

i’ld dont know, i believe the major slowdowns will occur with texture sampling. the rest of the shader stuff should run reasonably well, im thinking conditionals + math stuff. obviously its not gonna be fast as specialized hardware (graphicscards) but i wouldnt be surprised at ~10fps@512x512
yes i know the figures are quantitive or qualitive or some other ive-ism but from my testing normal gl at 512x512 with mesa (with textures) on a 2ghz u should see about 15-20fps drawing reasonable stuff.
i guess my question is does it run reasonably well ie by enabling glsl fps doesnt suddenly drop to like 0.01fps ie useless

Conditionals? Think P4 and it’s (too-many)-stage pipeline. Think stall.

Think dot3, something a GPU does in … 1/16th of a pixel, for 1600x1200x75Hz?

Depending on program and GPU compared to, it (the GLSL code) may very well run at even 1/10th of the speed of a dedicated GPU. It may also run at 1/500th of the speed, or worse.

Still, even if it turns out to run at 1/1000th of the speed of dedicated GPU, I welcome it, hoping it will become a reliable baseline for functionality and correctness.

You can beat a dead horse, but you can’t beat the power of a correct reference implementation. :slight_smile:

I take it you mean 1/16th of a clock and then for 16 parallel fragment pipeline implementations, and of course you have fewer clocks on a GPU.

This is a great achivement for Mesa and is extremely welcome. If it compiles to anything native (and/or vector) I’d be surprised and impressed. That it’s there at all is just awesome no matter how it’s done, it’s not about performance although the more the merrier. Congratulations!

This is awesome news. It makes me want to do another build using Mesa again. I did it a while ago when I was using assembly shaders, but haven’t since I’ve converted my engine over to use GLSL. However, I may just give this a try in the near future. Anyways, a reference implementation is always welcome, and it being an open source one really can give a lot of room for experimentation. This is great for OpenGL IMO.

Kevin B

warning the glsl supported is not the core opengl2.0 version, but instead the extension version (which underwent a bit of a rewrite when it was incorperated into gl core) i expect mesa2.6 will include that.
im not knocking it mind, i think its a wonderful achievement + i assume runs reasonably fast as well (though i cant verify this yet)

Conditionals? Think P4 and it’s (too-many)-stage pipeline. Think stall.

graphics coders dont have p4s though do they? gffx (which i have) no conditionals

Think dot3, something a GPU does in … 1/16th of a pixel, for 1600x1200x75Hz?

yes im aware on the cpu its gonna be at least a couple of orders of magnitude slower (thats why i mentioned a small window of 512x512, from my testing at such a res my athlon64 2.0ghz runs a mesa typical simplistic textured gl app at ~20fps, contrast this with the software gl implementation of ms windows which manages less than 1fps for the same app )

Sweet Jesus! Is there anything Brian Paul can’t do? I’m beginning to have my doubts.

Sometimes I miss my old (cheesy) software renderer, though more often than not I really don’t. But I remember dancing in the streets when I finally reached 10+ fps with perspective correct texture mapping (on an old 486DX2), and that was after finally having the good sense to borrow Chris Hecker’s code. Wow, those were the salad days…

Nice work!