summaryrefslogtreecommitdiff
path: root/amiga/plotters.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-04-28 19:18:06 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2016-04-28 19:18:06 +0100
commit180295936b686d194b7b4c25b9a0dc2038ffc4cb (patch)
tree79457e49889bc8d56fa504ab6964596c2d350b34 /amiga/plotters.c
parente5a05f1c0e1bb7e7388d4fedb584d8ec71be6628 (diff)
downloadnetsurf-180295936b686d194b7b4c25b9a0dc2038ffc4cb.tar.gz
netsurf-180295936b686d194b7b4c25b9a0dc2038ffc4cb.tar.bz2
Use guigfx.library for 8-bit image quantization
This achieves speed-up on OS3/68k platforms where 8-bit modes are more likely to be used, at the expense of lower quality quantization than the former picture.datatype abuse provided. Additionally, caching of BitMaps in palette-mapped modes is now possible. NetSurf now requires guigfx.library (and render.library) in order to start, even on OS4.
Diffstat (limited to 'amiga/plotters.c')
-rw-r--r--amiga/plotters.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/amiga/plotters.c b/amiga/plotters.c
index 9c4f8b068..9c3c3c7f1 100644
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -49,6 +49,8 @@
#include "amiga/rtg.h"
#include "amiga/utf8.h"
+//#define AMI_PLOTTER_DEBUG 1
+
HOOKF(void, ami_bitmap_tile_hook, struct RastPort *, rp, struct BackFillMessage *);
struct bfbitmap {
@@ -153,6 +155,8 @@ void ami_init_layers(struct gui_globals *gg, ULONG width, ULONG height, bool for
/* Screen depth is reported as 24 even when it's actually 32-bit.
* We get freezes and other problems on OS4 if we befriend at any
* other depths, hence this check.
+ * \todo use friend BitMaps but avoid CompositeTags() at non-32-bit
+ * as that seems to be the cause of the problems.
*/
if((depth >= 24) && (force32bit == false)) friend = scrn->RastPort.BitMap;
#endif
@@ -613,8 +617,7 @@ static bool ami_bitmap(int x, int y, int width, int height, struct bitmap *bitma
#endif
}
- if((ami_bitmap_has_dto(bitmap) == false) && (ami_bitmap_is_nativebm(bitmap, tbm) == false)) {
- /**\todo is this logic logical? */
+ if((ami_bitmap_is_nativebm(bitmap, tbm) == false)) {
ami_rtg_freebitmap(tbm);
}
@@ -719,7 +722,7 @@ static bool ami_bitmap_tile(int x, int y, int width, int height,
#endif
FreeVec(bfh);
- if((ami_bitmap_has_dto(bitmap) == false) && (ami_bitmap_is_nativebm(bitmap, tbm) == false)) {
+ if((ami_bitmap_is_nativebm(bitmap, tbm) == false)) {
/**\todo is this logic logical? */
ami_rtg_freebitmap(tbm);
}