it helps to attach the file :)

On Mon, Apr 7, 2008 at 4:18 PM, Erik Boettcher <[EMAIL PROTECTED]> wrote:
> Here's my final proposal.  I have until 00:00 UTC tomorrow / 20:00 EST
>  today (3.75 hours) to make any amendments or corrections.
>
>  Alex, sorry about the duplicate -- ill-behaved mail client :)
>
Erik Boettcher
[EMAIL PROTECTED]

DRI/Mesa r300 Cleanups, Optimizations, and Features

Synopsis:
        The r300 DRI driver is in dire need of a cleanup.  There are chunks of 
duplicated, unused, and undocumented code that need to be 
taken care of.  In addition there are several unimplemented hardware features 
that simply need a person willing to code support for them, 
such as smooth lines and full screen anti-aliasing.

Benefits:
        This project will benefit the community by providing more documentation 
and cleaner on a popular graphics chipset.  The features to 
be implemented will improve the visual quality and performance of applications 
ranging from games that use FSAA and texture filtering to 
applications that use smooth lines like Google Maps.

Deliverables:
        Now through May 26: Community bonding period.  I will be talking to 
developers, reading code and documentation, and setting up my 
coding environment.
        June-Early July: Organizing r300 code, documenting hardware registers, 
separating common code.
        July 7: All but the most obscure hardware registers should be 
documented and common code should be moved to ../radeon by now.  The 
code should be greatly improved by now.
        Early July-August 11: Continue to organize and clean up existing r300 
code while implementing the following features:
                Color logic operation support: Required.
                Smooth lines: Required.
                GL_ATI_separate_stencil: Required.
                Anisotropic filtering: Required.
                FSAA: Required.
                HYPER-Z: Optional depending on what documentation I can find.
        August 11-18: Fix bugs, format documentation.

Description:
        The primary task of this project is to clean up and document the r300 
code.  Secondary tasks include implementing color logic ops, 
smooth lines, double sided stencil, anisotropic texture filtering, full screen 
anti-aliasing, and hyper-z support.
        The r300 code was made by copying the r200 code and modifying it into 
oblivion.  This code inherits the register documentation that 
r200 had (namely none), and large chunks of replicated code.  Some of the code, 
such as in src/mesa/drivers/r300/dri/radeon_span.c is 
identical to copies in the radeon driver.  The header files that contain the 
register names starts off with a warning that they come from the 
ATI Rage series, and are completely wrong and undocumented!  This code needs to 
be organized, duplicated code needs to be removed, and the 
hardware registers must be documented in detail.
        The secondary tasks that I have laid out will help me improve my 
knowledge of specific hardware features.  I will need to re-write 
fragment shaders to implement features to the GL specification.  I will need to 
fix previous code to get the double sided stencil to work, 
and I may have to carefully observe the proprietary drivers in action to enable 
features like hyper-z.

Related Work:
        The Intel 965 and 915 drivers are very organized, clean, and well 
documented, and serve as a good reference for DRI drivers.

Biographical Info:
        I am a current community college student preparing to transfer as an 
electrical engineering major to either Western Michigan 
University or the University of Michigan.  Right now I am attending Lake 
Michigan College and I will graduate with honors in August with an 
Associates of Science in Pre-Engineering.  I'll be taking my last few gen-ed 
requirements during the spring and summer.  I have four 
classes to take, and only two at any one time.  These are microeconomics, music 
appreciation, intro to public speaking, and pre-civil war US 
history.  These classes are not difficult and I do not expect to spend much 
more than a couple of hours per week on them in addition to class 
time.
        I have studied computers since age 9 when my parents purchased a 
Cyrix-based machine for my sister's school work.  My twin brother 
and I quickly discovered how to get around on the OS installed on it, and found 
a basic interpreter.  We started making simple programs using 
the information contained in the help index.  Over the next few years we 
discovered that the library had books on the subject, and we began 
to expand to 16-bit real mode assembly.  When I was 12 or so a friend of mine 
dropped a Red Hat 2.0 distribution in my lap which was my 
introduction to free software.  This also gave me access to the GNU Compiler 
Collection, which I used to start playing with C code.
        In the past few years I've mostly been focusing on school and personal 
relationships, coding only simple scripts needed to accelerate 
my day to day tasks.  I have messed with a few things like ioquake3, but I have 
not worked on any major projects recently.  I've tutored a 
couple of students in their C++ language courses and spent time proof reading 
my brother's code for his compression algorithm.
        I have no formal training in the C programming language or computer 
science in general, but I am confident that I know the C 
programming language well enough to contribute to this project.  I am very 
familiar with data structures such stacks, trees, and linked 
lists.  Where I fall short I have plenty of references and help available, 
ranging from Knuth's work to the specifications I'm working with 
such as the GL spec itself.
        I wish to contribute to this project because graphics chipsets have 
been an interest of mine for a long time.  I've considered 
staying in school until I can do graduate research surrounding them.  I want to 
contribute to r300 to gain a working knowledge of the 
graphics hardware so that I may contribute more in the future.  As gallium 
matures I may start contributing to it and radeonhd after gsoc is 
over, especially if I am waiting until the winter semester to take classes.  My 
work with the fragment shaders will help prepare me for 
useful work on gallium.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to