[2/8] wined3d: Select the right shader backend when creating the device

H. Verbeet hverbeet at gmail.com
Mon Nov 27 17:34:37 CST 2006


On 28/11/06, Ivan Gyurdiev <ivg231 at gmail.com> wrote:
> > - Software shaders currently simply don't work. If we do get software
> > shaders it'll likely be vertex only.
> So, we should allow hardware pixel shaders, and software vertex shaders.
> >  I could see
> > someone using software vertex shaders if he's got no hardware support
> > for shaders, although it's questionable if such a card would be able
> > to effectively run an application that requires them anyway.
> Software shaders are chosen if (1) there's no support for hardware, (2)
> the user elected software, or (3) the application elected software, and
> (3) is required as part of the DirectX spec.
Software shaders, sure. That doesn't mean you have to be able to mix
them with hardware shaders. 1 doesn't apply if there's support for
hardware pixel shaders, 2 is silly if there's support for hardware
pixel shaders, and 3 selects software shaders for *both* vertex and
pixel shaders.

> > Mesa is
> > possibly a better option there. Either way, you're not going to be
> > using software vertex shaders together with HW pixel shaders, that's
> > just silly
> Well, I was able to identify at least one bug that way [ improper
> initialization of vertex shader output register ].
Well, that's nice. However, I don't think that's enough of a reason to
be able to mix backends for vs & ps.

> > So imo it just adds complexity to the code without giving much of a
> > benefit.
> You're taking two logically separate concepts, and merging them together
> for no good reason at all. I'm just not sure what the purpose is - at
> the very least you'd be able to turn off pixel and vertex separately as
> a user override. Once geometry shaders come into play, I think they
> should get their own flag too.
Vertex shaders and pixel shaders are not separate concepts at all. Not
in GLSL, not in D3D, and even less so in D3D10. Either way, I still
don't see the benefit of mixing different backends.



More information about the wine-devel mailing list