On 7/28/06, Patrick McNamara <[EMAIL PROTECTED]> wrote:

 int progressive(unsigned int *buffer, unsigned int fb_width, unsigned int 
fb_height, unsigned int vp_widt
 h, unsigned int vp_height, unsigned int hfp, unsigned int hsync, unsigned int 
hbp, unsigned int vfp, unsi
 gned int vsync, unsigned int vbp, unsigned int viewport);

I just realized that vp_ means viewport.  Excellent.  What does the
viewport parameter do?

A few comments:

I'm not sure that we really need a vp_height.  Although we want to
have a vp_width that is different from the fb_width, the height is
simpler to deal with.  Only as a matter of saving the user from having
to compute the graphics memory address of the first scanline, we can
provide a fb_address.  Then we need offsets, vp_h_offset and
vp_v_offset, which are how far to the right and down the vp is within
the fb.  You need both the vp_width and the fb_width because the
memory could be wider than the screen, but the height is the height
and it ends where it ends.

I'm not sure if I'm communicating that all that well.  Try this:  The
drawing engine needs to know drawable width (so it can compute address
from x+y*w), but it doesn't need to know the height, because it can
trust that we don't generate coordinates out of bounds.  The only
thing that needs height info there is the scissor (clipping) logic.


 Calling that with the appropriate timing parameters will generate a video 
controller program to implement that video mode.  As a note, I need to add an 
argument for sync polarity since this needs to be confurable on the fly.

What's the return value?  The number of dwords in the program?

 I'm not worried about getting the video controller to run at a given mode at boot 
time.  My concern is how to figure out what that mode should be.  How do I figure out 
what mode my old 20" Sun fixed frequency, sync on green, montor connected via a 
hd15->13W3 converter should run at boot time.  Monitors that support DDC aren't a 
big problem, but ones that don't are very hard.  Perhaps in the end, a user 
configurable default video mode should be available in situations where the card simply 
cannot tell what to do.

This is always going to be a problem.  Early Tech Source GXTRA cards
actually had a rotary switch that let the user manually select video
modes for various fixed-frequency Sun monitors.  But that was a known,
limited set.  For us, to deal with a special monitor requires a BIOS
code change, done by someone who understands those things.
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to