diff options
author | Ian Romanick <[email protected]> | 2009-01-09 15:43:17 -0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2009-01-23 09:49:29 -0800 |
commit | dde7cb962860e72e1bf3175069767358cc5b3f3c (patch) | |
tree | 64ca81d4f544ae7f28618c919af58a844f246de9 /src/mesa/main/getstring.c | |
parent | af0e6336e9d7dc19d74950ce13b33e1fa1b2081d (diff) |
Track two sets of back-face stencil state
Track separate back-face stencil state for OpenGL 2.0 /
GL_ATI_separate_stencil and GL_EXT_stencil_two_side. This allows all
three to be enabled in a driver. One set of state is set via the 2.0
or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT is
disabled. The other is set by StencilFunc and StencilOp when the
active stencil face is set to BACK. The GL_EXT_stencil_two_side spec has
more details.
http://opengl.org/registry/specs/EXT/stencil_two_side.txt
Diffstat (limited to 'src/mesa/main/getstring.c')
-rw-r--r-- | src/mesa/main/getstring.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c index 94bf5de1e8b..a9e22d340a3 100644 --- a/src/mesa/main/getstring.c +++ b/src/mesa/main/getstring.c @@ -82,7 +82,16 @@ compute_version(const GLcontext *ctx) ctx->Extensions.ARB_vertex_shader && ctx->Extensions.ARB_fragment_shader && ctx->Extensions.ARB_texture_non_power_of_two && - ctx->Extensions.EXT_blend_equation_separate); + ctx->Extensions.EXT_blend_equation_separate && + + /* Technically, 2.0 requires the functionality + * of the EXT version. Enable 2.0 if either + * extension is available, and assume that a + * driver that only exposes the ATI extension + * will fallback to software when necessary. + */ + (ctx->Extensions.EXT_stencil_two_side + || ctx->Extensions.ATI_separate_stencil)); const GLboolean ver_2_1 = (ver_2_0 && /*ctx->Extensions.ARB_shading_language_120 &&*/ ctx->Extensions.EXT_pixel_buffer_object && |