delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/10/05/08:15:21

From: jdominy AT saturn DOT cs DOT unp DOT ac DOT za (James Dominy)
Newsgroups: comp.os.msdos.djgpp
Subject: Writing Drivers?
Date: 5 Oct 1998 12:07:50 GMT
Organization: CS and IS, Univ of Natal, PMB
Lines: 21
Message-ID: <907589267.988799@mars.cs.unp.ac.za>
NNTP-Posting-Host: raven.und.ac.za
X-Newsreader: TIN [version 1.2 PL2]
Cache-Post-Path: mars.cs.unp.ac.za!jdominy AT saturn DOT cs DOT unp DOT ac DOT za
X-Cache: nntpcache 2.3.2.1 (see http://www.nntpcache.org/)
Cache-Post-Path: Raven!news AT mars DOT cs DOT unp DOT ac DOT za
X-Cache: nntpcache 2.3.2.1 (see http://www.nntpcache.org/)
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Right I've got two putpixel routines, one for VESA 1.2 banked mode, the
other for VESA 2.0 Linear Frame Buffer Mode.

They are both implemented as macros now for speed purposes, although no
doubt inline would have much the same effect on performance.

However, I do not want to continuously have if statements all over my code
checking which routine should be used. So, I set up an array as such

void *putpixel[2](int x, int y, int c);

and call putpixel[0](0,0,15) for example or use 1 instead of 0 for the
second routine.

But can I inline them in any way? I realize that this would involve the
compiler knowing which routine would be used on each call, but I would know
that from after my mode setting routine!

Any help appreciated!

Thanx James.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019