how to do hardware acceleration (low level)

Started by
7 comments, last by python_regious 17 years, 10 months ago
The company (no names!) I work for are trying to implement the opengl hardware acceleration eg they're not trying to write opengl apps but trying to actually do the hardware acceleration itself. It's mostly going ok but it's far from perfect. So how the other graphics cards/chips companies do their acceleration? cheers
Advertisement
They write the driver for the graphics card.
Quote:
they're not trying to write opengl apps

then you are asking in the wrong forum
err, they're trying to write hardware acceleration so that opengl can be implemented on their platform. Lots to do with this opengl forum and this thread fits in nowhere else.
You don't "write" hardware acceleration, you build it. If you're interested in that sort of field you will be writing specifications for the chip layouts in something like verilog and passing that to a chip foundry. You will want to be hiring companies or people who specialise in doing this sort of thing. {I recently interviewed with a company based in Warwickshire who specialise in optimising the geometry processing pipelines of 3D cards, for example, and are hired by the people who make the chipsets}


If what you're after is writing your own OpenGL accelerated driver for an existing chipset, the answer is "go talk to the chipset manufacturer". They supply things like reference boards and driver implementations as part of their licencing deal.


If what you're after is writing your own OpenGL accelerated driver for an existing card, the answers are threefold. One -- forget it. You don't know how to talk to the card and the manufacturers won't tell you. The linux world has been trying to do this for ages, and they just won't hand out that kind of information even to sell some extra boards. Secondly -- look at the linux drivers. You get source and they accelerate some stuff but they are not by any means complete.

Thirdly -- why? Chances that you can do a better job than the card manufacturers is small; they already have a pretty high motivation to do the best job possible.


If you mean you have some sort of other platform (say a phone) which has some graphics capability but no OpenGL yet, and you want to implement an OpenGL for it, I might be able to put you in touch with a contractor who does that sort of work. But be aware it's not a small job.

~Katie
Quote:Original post by ade-the-heat
err, they're trying to write hardware acceleration so that opengl can be implemented on their platform. Lots to do with this opengl forum and this thread fits in nowhere else.


Then they write a driver for each graphics card (well drivers might be able to work on more than a single card) and make OpenGL choose the appropiate driver.
thanks Katie, yes you got it right - it's for a phone manufacturer

regards
The most sensible thing to do in this kind of situation is usually to license an existing hardware accelerator chip for use with your product. It takes tens to hundreds of work years to create a graphics accelerator from scratch that's actually in par to the current graphics performance standards. Ati and NVidia, for example, have already spent tens of billions of dollars for research and development to get where they are - do you have that kind of budget?

The companies mentioned above will sell accelerator chips to other hardware manufacturers, and they're relatively cheap if you buy in bulks.

Niko Suni

Also, if you're not careful, the market can dry up in the time it takes to actually develop the chip. I did a case study during my degree in my advanced IC design course about a company who developed a pretty damn good GPU (it had something like 8000 parallel micro-ALU's - pretty neat design actually), but went bust because the market didn't exist once they had a viable design (high end chips, very expensive - nVidia and ATI had all ready cheap alternatives).

However, if you must do it inhouse, buy lots and lots of Soft IP, it'll cut your development time significantly. Hard IP can also be used, but it'll of course confine you to a particular fab process.
If at first you don't succeed, redefine success.

This topic is closed to new replies.

Advertisement