summaryrefslogtreecommitdiff
path: root/amiga/rtg.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-09-01 19:31:58 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-09-01 19:31:58 +0100
commitfdb9a42eff665d848e443386740da8e5dcdf74b1 (patch)
tree1de7cbcced257d3490cb98b02b8fed323fe8a988 /amiga/rtg.c
parente0198789ae1dcadbb8423478d165de60077517dc (diff)
downloadnetsurf-fdb9a42eff665d848e443386740da8e5dcdf74b1.tar.gz
netsurf-fdb9a42eff665d848e443386740da8e5dcdf74b1.tar.bz2
Don't use P96 on gfx.lib v54+ systems
Diffstat (limited to 'amiga/rtg.c')
-rw-r--r--amiga/rtg.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/amiga/rtg.c b/amiga/rtg.c
index 2f4b9e1d1..3f457890e 100644
--- a/amiga/rtg.c
+++ b/amiga/rtg.c
@@ -47,19 +47,26 @@ void ami_rtg_freebitmap(struct BitMap *bm)
void ami_rtg_writepixelarray(UBYTE *pixdata, struct BitMap *bm,
ULONG width, ULONG height, ULONG bpr, ULONG format)
{
- struct RenderInfo ri;
struct RastPort trp;
- /* This requires P96 currently */
- if(P96Base == NULL) return;
-
- ri.Memory = pixdata;
- ri.BytesPerRow = bpr;
- ri.RGBFormat = format;
-
InitRastPort(&trp);
trp.BitMap = bm;
- p96WritePixelArray((struct RenderInfo *)&ri, 0, 0, &trp, 0, 0, width, height);
+ /* This requires P96 or gfx.lib v54 currently */
+ if(P96Base == NULL) {
+#ifdef __amigaos4__
+ if(GfxBase->LibNode.lib_Version >= 54) {
+ WritePixelArray(pixdata, 0, 0, bpr, format, &trp, 0, 0, width, height);
+ }
+#endif
+ } else {
+ struct RenderInfo ri;
+
+ ri.Memory = pixdata;
+ ri.BytesPerRow = bpr;
+ ri.RGBFormat = format;
+
+ p96WritePixelArray((struct RenderInfo *)&ri, 0, 0, &trp, 0, 0, width, height);
+ }
}