Computer Graphics

Moderators: Sephiroth
Number of threads: 1263
Number of posts: 2665

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
A doubt about GPU hardware... Posted by Niksan on 4 Aug 2010 at 9:23 PM
Hi!

I am trying to write an hobby OS with hardware 2D/3D acceleration support.

I don't need code example, just a little bit of theory.

I need some clarification about how the GPU hardware works.
Let say that I send an command to the GPU, to draw a poly to screen. The question is: When the GPU hardware terminate fetching the instruction stream, terminate to read the data from the RAM, then terminate to calculate it all, then, where the stuff are written? Let be a projected shape, where this 2D shape is written - in the video RAM? It is directed to the monitor connector? The specs often talk to finally write to an frame buffer. So is this frame buffer the video ram? There where one write data to draw as in VESA mode? Do I need to enter an special video mode (VESA for example) in order to draw to screen the GPU output?

For example if I want to render through the GPU only one windows content, representing this way only a part of the screen, how achieve it?

Thanks!
Report
Re: A doubt about GPU hardware... Posted by PhilTaylor on 10 Feb 2011 at 10:51 AM
typically the driver buffers 2-3 frames worth of the command stream.

the command buffer is only accessible by the driver, in Ring0, you cant get at it in Ring3.

why is it not acceptible to issue standard API calls, just like the OS does?

for instance, Windows Desktop Window Manager uses D3D9Ex in Vista, and provides each window that is created with a rendertarget buffer to draw into.

unless your hobby OS is writing a driver layer, its pretty hard to get below the API.

and then, you'd need to write drivers for each piece of hw you want to support, using your new driver layer, eg device driver interface or DDI.

to understand the DDI between the driver and the hw, you'd have to not only have access to the Windows DDK and the driver source MS provides to have a working example, but also access to each IHVs hardware reference manual. unless you have relationships with all those companies, that is pretty hard to pull off.



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.