[Openchrome-users] Re: 3D engine drawing.

Thomas Hellström unichrome
Fri Dec 9 10:23:32 PST 2005


Sergey wrote:

>Hello Thomas.
>I plan to write own driver with 3D functions for VIA Unichrome.
>I using SoftIce for view how work with accelerator Windows 98 driver.
>DirectX drawing  the triangle.
>And I can't understand what's there hapennig:
>1) In memory mapped register with offset (from memory base 1) 0x43C, writing
>0x00100000. From my unterstanding it begin command.
>2) In memory mapped register with offset (from memory base 1) 0x440, always
>writing 0x640000D0. What is it?
>3) In memory mapped register with offset (from memory base 1) 0x440, writing
>0x63005A38 form processor register EDI changing every time, but high byte
>stand 0x63 always.
>What is it? May be pointer on structure? Do you have description this
>structure?
>Best Regards Sergey.
>
>  
>
It's in the via docs. 0x43C is the transmission setting, which details 
what commands are to follow (texture0, texure1, non-texture etc.)  0x440 
is the transmission space which take the actual commands.

In the drm sources via_verifier.c there is a command stream parser that 
takes the actual command stream, checks that it is safe and writes it to 
the hardware using the registers you describe. Really, it is not trivial 
to do this so I'd say you would have to give the mesa and drm sources 
about a week of reading and understanding with the docs in your hand to 
get some feeling for it.

/Thomas

>----- Original Message -----
>From: Thomas Hellstr??m <unichrome at shipmail.org>
>To: Sergey <k9876543 at list.ru>; <openchrome-users at openchrome.org>
>Sent: Thursday, December 08, 2005 4:53 PM
>Subject: 3D engine drawing.
>
>
>  
>
>>Sergey wrote:
>>
>>    
>>
>>>Hello Thomas.
>>>Can you give me reference on implementation function drawing triangle
>>>directly VIA Unichrome videocard?
>>>Please.
>>>I can't find it.
>>>Best Regards Sergey.
>>>
>>>
>>>
>>>      
>>>
>>Unfortunately it's not that simple. You first have to upload a state to
>>the 3D engine setting a number of registers, then you send floating
>>point vertex coordiantes representing the triangle corners to the
>>hardware and finally you tell the hardware you're done, and ask it to
>>draw. This involves a bunch of operations, and the data given to the
>>card has to be given using a binary command stream that are either
>>submitted using AGP DMA or using the PCI memory mapped transmission space.
>>
>>A minimalist implementation that can draw a (optionally textured)
>>triangle / quadrilateral will be present in the openchrome driver in the
>>not too distant future, if I can find some time to do it.
>>
>>May I ask what type of application you plan to write?
>>
>>/Thomas
>>
>>
>>    
>>
>>>>----- Original Message -----
>>>>From: "Thomas Hellstr" <unichrome at shipmail.org>
>>>>To: "S!" <k9876543 at list.ru>
>>>>Cc: <openchrome-users at openchrome.org>
>>>>Sent: Wednesday, December 07, 2005 5:25 PM
>>>>Subject: Re: [Openchrome-users] VIA Unichrome graphics functions
>>>>
>>>>
>>>>        
>>>>
>>>programming
>>>
>>>
>>>      
>>>
>>>>        
>>>>
>>>>>Hi!
>>>>>
>>>>>S! wrote:
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>>Hello.
>>>>>>Can you help me?
>>>>>>I going to write own VIA Unichrome graphics functions for 3D
>>>>>>acceleration.
>>>>>>I need the function which discribes the bringing out-process of
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>triangle
>>>
>>>
>>>      
>>>
>>>>>>on the screen with given data
>>>>>>How do it?
>>>>>>Can you give me any documentations,  manuals or source code about it.
>>>>>>Best Regards Sergey.
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>>>1) Manuals, You need to request manuals under Non-Disclosure Agreement
>>>>>          
>>>>>
>>>>>from VIA.
>>>>        
>>>>
>>>>>2) Source code: Go to http://dri.sourcefourge.net, take a look at Mesa
>>>>>
>>>>>
>>>>>          
>>>>>
>>>and
>>>
>>>
>>>      
>>>
>>>>>its src/mesa/drivers/dri/unichrome subdirectory. Also some help may be
>>>>>find from the drm kernel sources linux-core/via_verifier.c. I'm
>>>>>          
>>>>>
>planning
>  
>
>>>>>to include a very limited 3D functionality in the OpenChrome driver to
>>>>>
>>>>>
>>>>>          
>>>>>
>>>be
>>>
>>>
>>>      
>>>
>>>>>able to use the two texture units for compositing acceleration, but I'm
>>>>>not sure when that is going to happen.
>>>>>3) If you want to build your own DRI client to write to the hardware
>>>>>directly, take a look in the openchrome libxvmc subdirectory. The XvMC
>>>>>clients do just that.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>------------------------------------------------------------------------
>>>>>          
>>>>>
>>>>>>_______________________________________________
>>>>>>openchrome-users mailing list
>>>>>>openchrome-users at openchrome.org
>>>>>>http://wiki.openchrome.org/mailman/listinfo/openchrome-users
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>>>          
>>>>>
>>>>        
>>>>
>>>
>>>      
>>>
>>    
>>
>
>  
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20051209/012efc27/attachment.html


More information about the Openchrome-users mailing list