2008/7/16 Ian Romanick <[EMAIL PROTECTED]>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Maciej Cencora wrote:
>
> | I tried implementing GL_ATI_separate_stencil in r300 driver, but I
> | faced a problem. With my simple patch http://pastebin.com/m524d1ae7
> | r300 driver supports 2 stencil extensions (GL_ATI_separate_stencil and
> | GL_EXT_stencil_two_side). Supporting both extensions causes problem in
>
> Are you sure r300 can do the full set of functionality of the EXT
> version?  I thought r300 couldn't handle having a different front and
> back "ref" value.  This is allowed by the EXT extension and OpenGL 2.0,
> but it is not allowed by the ATI extension.
Yes, r300 can't handle different front and back ref value. Currently
r300 advertises EXT version but falls back to software rendering if
front ref or mask != back ref or mask.
>
> Also, if you intend to support the EXT version, you also need to define
> need_GL_EXT_stencil_two_side.
>
> | _mesa_update_stencil function (main/stencil.c). First condition in
> | that function checks if EXT extension is supported, if so sets up
> | ctx->Stencil._TestTwoSide properly. If both extensions are available
> | and ATI extension is used then ctx->Stencil._TestTwoSide will always
> | be false, and that's not what we want. Possibly other functions are
> | also affected. Any suggestions how to properly fix this?
>
> Both extensions (and the OpenGL 2.0 functionality) can be supported
> together, but I don't think Mesa implements it correctly.  Basically, we
> have to maintain two different sets of "back" stencil state.  One is set
> via the 2.0 or ATI functions and is used when STENCIL_TEST_TWO_SIDE_EXT
> is disabled and is disabled.  The other is set by StencilFunc and
> StencilOp when the active stencil face is set to BACK.  The
> EXT_stencil_two_side spec has more details.
>
> http://opengl.org/registry/specs/EXT/stencil_two_side.txt
>
> I believe the Mesa currently only tracks one set of back stencil state.
>
> I think that it is worth supporting the EXT version, when possible,
> because there is GLX protocol for it.  There is currently no GLX
> protocol for the OpenGL 2.0 version or the ATI version.  This means that
> the EXT version is the only way to get two-sided stencil with indirect
> rendering contexts.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAkh+F2sACgkQX1gOwKyEAw83SACeNLFYJ03YjdE+1VuLfE+lxQ+I
> j+4An1RX1f9U7/YaFX15DYfdcAfgZeWR
> =6M+K
> -----END PGP SIGNATURE-----
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Mesa3d-dev mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

Maciej Cencora

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to