[braid] Missing required OpenGL extension
Ryan C. Gordon
icculus at icculus.org
Wed Dec 15 02:21:42 EST 2010
> someone else would do it anyway :p. Though, I suppose this isn't a bug
> as much as it is a request to know the dependencies. :p
The game will refuse to run if GL_VERSION is less than 1.2.
These are the GL extensions we need to have or we refuse to run:
GL_ARB_multitexture
GL_ARB_texture_compression
GL_ARB_vertex_program
GL_ARB_fragment_program
GL_EXT_bgra
GL_EXT_texture_compression_s3tc
GL_EXT_secondary_color
GL_EXT_texture_edge_clamp
These are the GL extensions we _want_ but can live without:
GL_ARB_draw_buffers
GL_ARB_texture_non_power_of_two
GL_EXT_framebuffer_object
GL_EXT_packed_depth_stencil
(we use those for render-to-texture, but the game has a fallback if any
of those aren't available...it's an optimization.)
It's worth noting that we look for GL_ARB_vertex_program and
GL_ARB_fragment_program as a baseline, but give libCg discretion to
choose the GL extension it wants to use for shaders (so it could use the
more-advanced Nvidia vertex/fragment program extensions, or GLSL or
whatever). Strictly speaking, you shouldn't need GL_ARB_*_program at
all. I'm not sure which makes more sense in current Linux drivers at the
moment between ARB programs and GLSL, though.
As someone figured out, there appear to be drivers shipping with
GL_EXT_texture_compression_s3tc disabled. This is basically
unacceptable, as pretty much every game that's shipped in the last 10
years needs it.
The bug report has several workarounds for this, depending on what the
root cause might be (if your drivers just have s3tc support disabled,
there's a package called "driconf" that can enable it, apparently).
http://bugzilla.icculus.org/show_bug.cgi?id=4825
...but it looks like, today at least, Intel GPUs are failing in the
shaders. I'm happy to talk to the driver developers and see if there's
some way to help, but possibly the Humble Bundle's existence will simply
result in easy driver fixes, now that they have Braid as a test case.
(Fwiw: Braid is a 2D platformer that needs Shader Model 3 hardware.
Don't be fooled by the sprite-looking graphics, there's a lot going on
there.)
--ryan.
More information about the braid
mailing list