Graphics

Everything about ToME 4.x.x. No spoilers, please

Moderator: Moderator

Message
Author
mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#16 Post by mikekchar »

I just realized that I was reading the output from glxinfo wrong. My card (Intel HD 5500 under Mesa 10.5.2) supports OpenGL 3.3. So it should also support this functionality. It is very mysterious... I'll see if I can find any other applications that use this extension to test whether or not it is a driver issue or something else.

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#17 Post by mikekchar »

Ah! Some success. I realized that I hadn't fully debugged what happened when I did not disable the shaders. The very first effect pauses my machine for about 5 seconds and so I thought it didn't work. But after that all of the effects work perfectly (as far as I can tell).

I *think* this is actually a bug. On line 664 in shaders.c, you can see that it explicitly checks for GLEW_EXT_gpu_shader4. I think what has happened is that some drivers no longer advertise that extension because it is in core functionality. So some boards/drivers that could otherwise render the effects are not able to because we shut off the shaders when that extension is not detected.

I'm going to play around some more to see if I run into any more problems, but will probably put in a bug report on the weekend. I do not know if this is really fixable generally speaking, but at least there is hope :-)

mikekchar
Halfling
Posts: 95
Joined: Fri Nov 21, 2014 3:55 am

Re: Graphics

#18 Post by mikekchar »

Apologies for those following my tortured monologue. I will post a last progress report before I head off to bed.

Basically most things work perfectly. The exception is fire. When one of the fire scripts is loaded into the shader, the screen freezes for about 5 seconds. The shader seems to work fine as far as I can tell, and it continues to work until it is unloaded and reloaded again. I also got a lua error, but it I couldn't find any connection between it and using the shaders and particles (it was for logging delayed damage).

Reading some more about OpenGL (which seems like the craziest API I have ever seen in my life, and I've been around the block once or twice), the GL_EXT_gpu_shader4 extension is not exactly the same as the core implementation. One of the messages in the Mesa mailing list seemed to indicate that Mesa has no intention of ever implementing GL_EXT_gpu_shader4 (and a few others that fall into the same category). So my interpretation of this is that Linux will never support the shaders in t-engine4 since I think everybody uses Mesa. Since almost everything seems to work with the core implementation, I wonder if Dark God could be persuaded to go in that direction.

Oh well, probably not the place for that conversation. I think this is not a bug after all and I will submit a feature request :-)

Post Reply