From: Jeff Garzik <jgarzik@pobox.com>
To: Timothy Miller <miller@techsource.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Some discussion points open source friendly graphics [was: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?]
Date: Mon, 25 Oct 2004 16:34:45 -0400 [thread overview]
Message-ID: <417D6365.3020609@pobox.com> (raw)
In-Reply-To: <417D21C8.30709@techsource.com>
Timothy Miller wrote:
> Also, I'm thinking of starting my own yahoo groups list specifically for
> this chip. Is that a good idea?
In theory it's useful; in reality at you'll have to balance what's
public and what's not, and it's easy to allow yourself to get bogged
down into "digesting", so much so that the "doing" is put off.
My only request is that you (a) make the graphics interface as simple
and high level as feasible and (b) you publish the hardware interface
specification as soon as possible, so that driver work can occur in
parallel.
> Next, I'm getting lots of ideas from people. Some of them are core to
> the product, and some of them would be nice for follow-on products. For
> instance, dual-video would not be on the first model released. However,
> it is important that analog output always have crisp rise and fall times
> and be free of noise in order to maximize display quality.
Once you have a core design, it's easier to dicker about specific
features. I would put this stuff on the "worry about it later" list.
> The reprogramability of the FPGA has many advantages, but
> reprogramability is not its primary purpose. The primary reason to use
> an FPGA is to minimize NRE for manufacturing. However, as a result,
> users will be able to download updates. Additionally, those who are
Will the capability to apply these updates be included with the base card?
Will users need to purchase additional "update FPGA" hardware to do the
reprogramming?
> Ok, now on to some design stuff:
>
> The picture I have in my head at this time expands on the idea of the
> setup engine seen in most GPU's. What I'm thinking is that the setup
> engine will be general-purpose-ish CPU with special vector and matrix
> instructions. This way, the transformation stage will occur in
> "software" executed by a specialized processor. Additionally, the
> lighting phase might be done here as well.
>
> The setup engine would produce triangle parameters which are fed to a
> rasterizer which does Gouraud shading and texture-mapping. That feeds
> pixels into something that handles antialiasing and alpha blending, etc.
>
> The advantages are:
>
> - The community can customize the setup engine as they please, just by
> writing code.
> - This also includes the 2D emulation
> - Anything "missing" can be emulated.
>
> The disadvantages are:
>
> - Triangle rate limited by speed of processor
> - T&L is serialized, rather than being parallelized in dedicated hardware
> - Phong shading and bump mapping may be impossible or too slow
Well, I certainly like it :)
I think that a more generic approach allows you to recognize performance
bottlenecks, and update the IP core to support instructions specific to
(say) triangles.
Random closing notes:
* data movement will be an everpresent issue
* in graphics you really have a number of data types (16-bit float,
etc.) that are specific to graphics. Supporting these natively should
be quite helpful, if not an already-obvious prerequisite
Jeff
next prev parent reply other threads:[~2004-10-25 20:43 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-25 15:54 Some discussion points open source friendly graphics [was: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?] Timothy Miller
2004-10-25 20:31 ` Some discussion points open source friendly graphics karl.vogel
2004-10-25 20:34 ` Jeff Garzik [this message]
2004-10-25 22:45 ` Some discussion points open source friendly graphics [was: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?] Timothy Miller
2004-10-27 18:23 ` Daniel Phillips
2004-10-27 19:04 ` linux-os
2004-10-29 15:48 ` Timothy Miller
2004-10-29 15:46 ` Timothy Miller
2004-10-26 13:09 ` Giuseppe Bilotta
2004-10-26 15:27 ` Timothy Miller
2004-10-26 15:26 ` linux-os
2004-10-26 16:04 ` Timothy Miller
[not found] ` <6.1.2.0.1.20041026110017.021ece28@mail.javagear.com>
2004-10-26 19:21 ` Timothy Miller
[not found] ` <200410251535.27852.rmiller@duskglow.com>
[not found] ` <417D80B0.6080007@techsource.com>
[not found] ` <200410251734.39703.rmiller@duskglow.com>
2004-10-25 23:06 ` Need help and advice... " Timothy Miller
2004-10-27 18:38 ` Some discussion points open source friendly graphics " Daniel Phillips
2004-10-29 15:47 ` Timothy Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=417D6365.3020609@pobox.com \
--to=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miller@techsource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox