[Mesa-dev] Gallium3D and Glide

Blaž Tomažič blaz.tomazic at gmail.com
Tue Mar 1 10:54:56 PST 2011


On Tue, 2011-03-01 at 09:55 -0800, Brian Paul wrote:
> On 03/01/2011 09:51 AM, Roland Scheidegger wrote:
> > Am 01.03.2011 16:23, schrieb Brian Paul:
> >> On 03/01/2011 04:18 AM, Blaž Tomažič wrote:
> >>> On Mon, 2011-02-28 at 16:39 -0800, Brian Paul wrote:
> >>>> On Mon, Feb 28, 2011 at 4:13 PM, Blaž Tomažič<blaz.tomazic at gmail.com>   wrote:
> >>>>> Hi Mesa developers,
> >>>>>
> >>>>> I am really interested in Gallium3D and I'm thinking about a project for
> >>>>> my diploma (I think this is the same as bachelor's degree) on a computer
> >>>>> university. I'm thinking about writing a Glide state tracker for
> >>>>> Gallium3D. I know that Glide hasn't been used for a decade, but I think
> >>>>> it would be relatively "easy" to implement an old 3D API and a great way
> >>>>> to learn a part of Gallium3D on the way.
> >>>>>
> >>>>> Some old games (only Glide: Need for Speed 2; Glide and OpenGL: Unreal,
> >>>>> Quake 2) used Glide API for rendering and Gallium3D could therefore
> >>>>> accelerate them on newer hardware and more importantly, render them with
> >>>>> nicer graphics instead of software rendering as is with some glide only
> >>>>> games. I don't know if there were any Linux games, but Gallium3D works
> >>>>> on Windows too if I'm not mistaken.
> >>>>>
> >>>>> So I have a few question for you:
> >>>>>    - How hard and how much work would be involved in implementing such an
> >>>>> API? (Any help on implementing it would be welcomed and appreciated of
> >>>>> course)
> >>>>>    - Are Glide to OpenGL wrappers a better solution because of changing
> >>>>> nature of Gallium3D interface? (Personally I think they are, but I would
> >>>>> like to work directly on Gallium)
> >>>>>    - Do you think this project would fit well in Gallium3D or do you have
> >>>>> any other/better proposals for a project including Gallium3D?
> >>>>
> >>>> I don't mean to discourage you, but I this probably wouldn't be a very
> >>>> good project.
> >>>>
> >>>> The Glide API and 3dfx hardware is lacking in a number of areas,
> >>>> particularly shaders.  Gallium was intended for newer hardware so it
> >>>> wouldn't be a good fit for this older technology.
> >>>>
> >>>> I'm sure there are other projects you could do related to
> >>>> OpenGL/gallium if that's where your interest lies.  Other people on
> >>>> this list might have some ideas.  I could probably come up with a few
> >>>> otherwise.  What do you think?
> >>>>
> >>>> -Brian
> >>>
> >>> I know that Glide is an old technology and probably I should test this
> >>> games if they even run on newer OSs. But still, Gallium supports OpenGL
> >>> 1.x functionality and Glide is a subset of it. Fixed-pipe  functionality
> >>> is easily implemented with shaders so I think that it could be
> >>> implemented.
> >>
> >> The issue isn't converting fixed-function GL rendering (e.g. 1.x
> >> functionality) into shaders, it's converting Gallium shaders into
> >> Glide/3dfx fixed-function.
> >
> > But he was only talking about implementing a glide state tracker hence I
> > can't see why he'd need to do that.
> 
> Oops, I misread the email.  I thought Blaz was proposing a glide 
> driver, not a state tracker.
> 
Yes I was proposing a state tracker only. It seemed to that me we
weren't thinking about the same thing.
> 
> > So I think conceptually this would work just fine.
> > Still, it might not be something terribly useful. For one, if you'd want
> > to run this with windows, while gallium is OS-independent, the hw
> > drivers surely are not. Hence you'd also need to write a d3d or ogl
> > backend driver for gallium if you'd want it to run hw-accelerated with
> > windows. Also, for this really old glide api, opengl wrappers are
> > probably just fine - noone is going to write new glide apps anyway.
> 
> Agreed.
> 
Ok, I see now that writing a Glide state tracker would mostly be a waste
of time. 
I like Keith's idea about automated bug-finder driver, maybe I'll take a
crack at it. First I'll take a look at some Gallium code and see how
drivers are implemented to see how this would work.

On a side note, is there any progress on implementing OpenCL on Gallium?
I'm asking just out of curiosity, I think that implementing OpenCL would
be an overkill for me.

Blaž




More information about the mesa-dev mailing list