Re: [AD] Primitives (DirectX) legacy check broken

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On 07/26/2014 11:47 PM, Trent Gamblin wrote:
The first thing in prim_directx.c is a function, is_legacy_card. The
comment says that older Intel cards are broken and can't handle 3 things
so some vertex rearrangement is done. It says they don't support shaders.
Testing on Intel 945, the card does support shaders (Pixel Shader 2.0),
but is_legacy_card checks for PS3.0 (even though everywhere else we use
2.0) and if 3.0 isn't supported the card is deemed "legacy".
If I leave this as is, untextured primitives draw pure white, no matter
what color is used. Textured primitives/everything else draw correctly.
What's interesting is if I return "false" from is_legacy_card,
everything works perfectly fine. The comment mentions
DrawIndexedPrimitiveUP, which I didn't check that it was used but
textured primitives, untextured primitives both draw correctly
(al_draw_prim and high level primitives) if I return false.
Not sure, SiegeLord can you clarify which cards this is supposed to
detect? Intel 945 is a very old chip.
Thanks,
Trent

Did you check ex_prim's indexed primitives?

-SL




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/