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

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


I don't think I've ever expected those old cards to be used in programmable pipeline mode. Perhaps a hack here is to add an allegro.cfg entry to override the auto-detection of legacy cards, as it appears that they work ok in some cases.

The reason why the legacy doesn't work with the programmable pipeline is because the D3D shader gets the color information from one of the texture coordinate variables, while the legacy mode stuffs it into the 'proper' place, i.e. the diffuse color variable. This means that an alternate solution is to also introduce a legacy shader and/or branch in the existing shader to deal with this difference. This would require yet another allegro-set uniform to specify whether or not it is a legacy card.

-SL

On 07/27/2014 10:10 AM, Trent Gamblin wrote:
I checked again. The problem is actually when you're using
ALLEGRO_PROGRAMMABLE_PIPELINE. In fixed pipeline mode, as Allegro is now
everything works. In programmable mode, as it is now everything is drawn
white unless textured. When I return false from is_legacy_card, indexed
primitives don't draw correctly or at all in fixed or programmable.

Trent

----- Original Message -----
From: "SiegeLordEx" <slabode@xxxxxxxxxx>
To: <alleg-developers@xxxxxxxxxx>
Sent: Sunday, July 27, 2014 7:28 AM
Subject: Re: [AD] Primitives (DirectX) legacy check broken


Did you check ex_prim's indexed primitives?

-SL





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