[Intel-gfx] A simple driver question
Daniel Vetter
daniel at ffwll.ch
Tue Oct 2 10:15:29 CEST 2012
On Tue, Oct 02, 2012 at 06:01:03PM +1000, Dave Airlie wrote:
> On Mon, Oct 1, 2012 at 4:45 PM, Nikolskiy Alexey
> <alexey.nikolskiy at yandex.ru> wrote:
> > Good time of day!
> >
> > My name is Alexey Nikolskiy. I am a student in the St.Petersburg State Polytechnical University. Now I am doing my research arond operating system we are developing in our university. So I am looking for creating some graphics window system support for our operating system. All we need is basic 2D graphics support for this. Currently we are using VBE through real mode emulation in protected mode to make modeset functions enabled with LFB. After that we have several asm functions for double-buffered graphics engine. But enabling alpha blending makes performence issues so far. So now I am looking for the way I can get real GPU acceleration for this. I have some experience in driver writing (especially ethernet cards), so I can port some drivers from Linux to our OS. Out OS is not a Linux, so to port any driver I have to understand which functionsly I expect from the driver (like packet send/receive functionality from ethernet cards), then I serach in linux driver for setup an
> d
> > other functions and then I port them by creating own ethernet driver. But with graphics driver it is not that easy for me.
> > I really want to get intel HD graphis card support (basic 2D acceleration from intel GPU) so I have explored your documentation and driver sources and I have found a lot of useful information about all of this stuff. But the ammount of information is too big, so what I need is some guidence of basic actions to perform to make graphics mode setup (like 1024x768x24) and then use some functions that allows me to draw images on the screen with apha blending. I do not need 3D acceleration
> >
> > Please, if it is possible, provide me with some guide about basic intel HD graphics setup, by extending this one:
> > 1. Find PCI device (using class, device and vendor IDs) - it is ok I have done it.
> > 2. Map MMIO areas. - it is also I have done. I also have found MMIO register map in your manuals.
> > 3. Parse Video BIOS to understand modes supported... - or how I can get supported modes list?
> > 4. Get connector/monitor status - how I can do it?
> > 5. Setup graphics mode (1024x768x24) on some of enabled connectors - using VGA and VGA extended registers I guess. How I can do this? Hwere I can find some code examples?
> > 6. Setup overlay/screen/display...or some other objects on GPU? - what I need to setup and in what order?
> > 7. Setup some command stream and DMA areas...- for commands to be executed. - what I need to setup and in what order?
> > 8. What commands I have to send and in what order to make some image in memory to be drawn with alpha blending on the screen?
> >
> > Any information will be extreamly helpful.
>
> I'm not 100% the Intel 2D blit can do alpha blending, if it can't then
> you need to use the 3D engine,
Nope, can't do, so you need the 3d engine. For everything else: You're in
for an _aweful_ lot of work to get that going ...
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list