On 28/11/06, Ivan Gyurdiev <[EMAIL PROTECTED]> wrote:
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_shader.txt

Interactions with ARB_vertex_program and ARB_fragment_program

    Mixing a high level ARB_vertex_shader shader with a low level
    ARB_fragment_program shader is allowed. However, a high level
    ARB_vertex_shader shader and a low level ARB_vertex_program shader
    cannot be active at the same time.

http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_shader.txt:

Interactions with ARB_vertex_program and ARB_fragment_program

    Mixing a high level ARB_fragment_shader shader with a low level
    ARB_vertex_program shader is allowed. However, a high level
    ARB_fragment_shader shader and a low level ARB_fragment_program shader
    cannot be active at the same time.

"Allowed" is not quite the same as "useful" though.

Another issue that comes up when trying to mix eg a software vertex
shader with a hardware pixel shader is that you can't actually pass
varyings from the software vertex shader to the hardware pixel shader.

>> allowing the mixing of types probably leads to a more complete feature
>> set in the end.
> Except that there are no actual meaningful combinations to make.
Well, at least you can turn the pixel and vertex shaders off
individually, rather than turn off shaders completely (using the NONE
backend). I think up until a few releases ago pixel shaders were off by
default.
Note, when you read the patch, that the "none" backend is only used
when *both* vertex and pixel shaders are disabled. Turning of
individual shaders is completely separate from the backend being used.
Currently the ps_selected / vs_selected flags are used for that, but
the idea is to turn that into a flag specific for turning on/off the
respective shader type.


Reply via email to