Brian Paul wrote:
> Ian Romanick wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Roland Scheidegger wrote:
>>
>>> Roland Scheidegger wrote:
>>>
>>>>> I thought there was a mechanism that allowed the driver to be
>>>>> notified at glBegin (or similar) time.  It seems like you ought to be
>>>>> able to emit some extra state at that time to change to / from
>>>>> point-sprite mode.
>>>> Ah, sounds like a plan. I thought the NotifyBegin would only be useful
>>>> for vtxfmt-replace like things. I'll look into that.
>>> That was too fast. The NotifyBegin will only be called if there is 
>>> actually new state, otherwise the tnl module will simply keep adding new 
>>> primitives.
>>
>> I think the core should be modified to call NotifyBegin if there is new
>> state *or* the primitive type changes.  Perhaps there should be a flag
>> to request it being called in that case.
>>
>> Brian, do you have an opinion on this?
> 
> The tnl module is pretty much Keith's domain.
> 
> One thing to keep in mind is glPolygonMode.  Depending on whether a 
> triangle is front or back-facing, it may either be rendered as a 
> filled triangle, lines, or the vertices rendered as GL_POINTS (which 
> may be sprites!).  I think cases like that might be a fallback.
> 
> Anyway, even if glBegin(GL_TRIANGLES) is called, you may wind up 
> rendering lines, points or sprites instead of triangles.
> 
> Off-hand I don't know how this is currently handled in the DRI 
> drivers.  Keith would know.
> 

The i965 handles polygonmode in hardware by uploading programs that deal 
with all the possibilities.  It's tempting to say "it just works", but 
the reality is that it is pretty intricately coded.

The r200 falls back to software tnl for unfilled triangles, and uses the 
  same mechanisms as swtnl drivers for this.

Regular swtnl drivers handle unfilled polygons by using the templates in 
tnl_dd/ to generate triangle functions which provide all the necessary 
logic for selecting the right sort of primitive and notifying the driver 
of transitions between the different primitive types.  This is the 
RenderPrimitive/RasterPrimitive callbacks that exist in most of the 
swtnl drivers.

Keith

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to