Zack,

to be honest, Direct3D 11 can report geometry shaders are not supported
through so-called feature levels. There are six levels to my knowledge (9_1,
9_2, 9_3, 10_0, 10_1, 11_0). i915 is 9_1, R300 is 9_2, R500 is 9_3, and so
on. Direct3D 11 is indeed accelerated on those pieces of hardware and,
though the feature set is a little limited, the hardware support is covered
well. Is Direct3D 11 generations past because of that? No, it isn't.

Let's say I have R500 and I want to use geometry shaders in Direct3D 11.
What are my options? I can't use my R500 and I must manually switch to the
device called WARP (Windows Advanced Rasterization Platform), which reports
the 10_1 feature level. This kind of device is very similar to llvmpipe in
Gallium.

In the past you said we should do it the same way as Direct3D, so why should
Gallium be different now? Moreover, if applications decide to use geometry
shaders to emulate point sprites or wide lines, we'll be screwed. If they
decide to do texture fetches in geometry shaders, we'll be screwed even more
because we'll have to move textures out of VRAM and that will be a total
performance killer. So I agree with Corbin that the CAP for geometry shaders
should be added and we should let drivers decide what's best for them.

Marek

On Fri, Dec 25, 2009 at 5:11 PM, Zack Rusin <za...@vmware.com> wrote:

> On Friday 25 December 2009 07:03:02 Corbin Simpson wrote:
> > Isn't this incredibly at odds with our previous discussion, in which
> > we generally agreed to not advertise support for unaccelerated things?
>
> No, it's really not. We don't have caps for core features, e.g we don't
> have
> caps for vertex shaders and this goes hand in hand with that. Geometry
> shaders
> are optional in the pipeline meaning that unlike fragment shaders they can
> be
> absent in which case the pipeline behaves just like it would if the api
> didn't
> have geometry shaders exposed at all i.e. vertex shader outputs go directly
> do
> the fragment shader. So for games/apps that don't use geometry shaders this
> won't matter at all. And games/app that are so new that they actually check
> for geometry shaders will already be slow on i915 and r300 not because of
> geometry shaders, but because they're running on it on i915 or r300 =)
>
> Not to mention that this is not a fringe feature that will be present only
> in
> super high-end and futuristic hardware.
>
> All in all it's a bit like fixed-point hardware - programmable hardware is
> not
> a cap because it's what Gallium models. We can't just keep the Gallium
> interface at i915 level and mark everything above that as a cap, it'd be
> silly
> given that we're generations past that now.
>
> z
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and
> easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to