Commit Graph

116 Commits

Author SHA1 Message Date
Chris Young
180295936b 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.
2016-04-28 19:18:06 +01:00
Vincent Sanders
31de1c251b Cleanup amiga include issues introduced as part of core updates 2016-04-20 15:54:18 +01:00
Chris Young
0368935cd3 Avoid nsurl NULL access 2016-03-23 00:01:45 +00:00
Chris Young
7a7d99e004 Ensure we are only accessing pixel data using amiga_bitmap_get_buffer() 2016-03-22 22:55:31 +00:00
Chris Young
8a7d030af7 Ensure we don't access invalid pointers 2016-03-22 19:45:15 +00:00
Chris Young
215d1bec58 Document new bitmap functions 2016-03-22 19:39:33 +00:00
Chris Young
4b2ac84233 Make struct bitmap private to bitmap.c 2016-03-22 19:26:36 +00:00
Chris Young
829642e8f7 Comment all of bitmap_render out for OS3 to see if it resolves a crash
This function doesn't work on OS3 anyway!
2016-02-25 19:48:28 +00:00
Chris Young
e6b827979b Allocate bitmap structures using an itempool 2016-01-29 19:39:37 +00:00
Chris Young
b3c524cea1 Move some things around to try and prevent invalid pointer accesses on exit 2016-01-29 00:24:15 +00:00
Chris Young
6eb0bd4579 Remove unneeded pen list 2016-01-25 18:48:49 +00:00
Chris Young
beb6cebf1e conflict 2016-01-25 18:26:22 +00:00
Chris Young
09ac17955b Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/fix-palmap-crash
Conflicts:
	amiga/bitmap.c
2016-01-25 18:25:26 +00:00
Chris Young
8d71c0ae9e track type of native bitmap 2016-01-25 00:29:08 +00:00
Chris Young
c0d031bf73 Make the palette-mapped state relate to the rendering layer rather than globally.
This means we can still render in 32-bit mode internally when the destination isn't the screen.
NB: bitmap_render is currently freezing when the screen is in palette-mapped mode (old bug, pre-dates this change), so for now we skip this routine in that scenario.
2016-01-25 00:01:55 +00:00
Chris Young
97e9086c80 remove missing os3 include 2016-01-23 15:04:45 +00:00
Chris Young
dacdea768c fix argb_to_rgba definition weirdness 2016-01-23 14:58:47 +00:00
Chris Young
a68be9d11a Clear remaining bitmap fields 2016-01-23 14:49:29 +00:00
Chris Young
5a58e844e4 Don't clear bitmap structure on allocation 2016-01-21 22:02:39 +00:00
Chris Young
b41685208f Revert "alloc bitmap structures using itempools"
This reverts commit 0cc19b10fc.

This caused memory leakage, as the memory pool is removed before the core has destroyed all the bitmaps.
2016-01-21 20:42:49 +00:00
Chris Young
0cc19b10fc alloc bitmap structures using itempools 2016-01-21 20:30:02 +00:00
Chris Young
f4903743ba Abstract all instances of NewMinList as it causes alert 80000006 on OS3 2015-08-05 23:42:20 +01:00
Chris Young
354de433e9 Scale cached favicons before they are cached. This avoids the need to scale icons on menu creation. 2015-06-22 19:12:57 +01:00
Chris Young
73d6b47e6a Remove the overwrite check in bitmap_save as it causes duplicate overwrite requesters. 2015-06-22 18:26:18 +01:00
Chris Young
7bc29f7782 Attempt to fix spurious plotter crashes 2015-04-27 18:32:49 +01:00
Chris Young
b879bed114 Remove bogus comment 2015-04-25 13:20:59 +01:00
Chris Young
c8caf08ef1 As the content interface is now doing the scaling, we render to a native BitMap and then copy that to the RGBA32 bitmap buffer without re-scaling.
The native BitMap is currently discarded and will be re-created when it is displayed.
2015-04-25 13:13:30 +01:00
Vincent Sanders
124de5775a Update amiga to use bitmap render API 2015-04-24 11:56:19 +01:00
Vincent Sanders
fb0bd79944 update amiga frontend to use bitmap operation table 2015-04-16 22:36:29 +01:00
Chris Young
db91442304 Remove branches that can't be taken under OS3
Micro-optimise these for OS4.1
Remove dummy compositing defines from os3support.h
2015-03-01 11:50:20 +00:00
Chris Young
86757143df Remove some unneeded ARGB<=>RGBA conversion 2015-02-02 18:54:08 +00:00
Chris Young
25a4cce542 Experimentally enable P96 on the OS3 build 2015-02-02 18:53:16 +00:00
Chris Young
21f142a7fa Friend the screen bitmap for <= 8-bit modes, but only on OS3 as this causes OS4 to freeze 2015-02-02 00:32:34 +00:00
Chris Young
73b74988dc Remove BMF_DISPLAYABLE from other non-displayed BitMaps 2015-01-31 22:19:12 +00:00
Chris Young
7370e83d60 Squash a minor warning from GCC 2015-01-31 21:45:23 +00:00
Chris Young
e68171a17c picture.datatype v45 does apparently support RGBA, so avoid extra conversion 2015-01-31 21:17:14 +00:00
Chris Young
b3f49f9364 Abstract p96WPA, although it still needs P96 currently 2015-01-20 20:46:36 +00:00
Chris Young
e3af7f3343 Abstract P96 functions away so we can decide what to use at run-time.
This allows us to avoid opening P96 on OS4.1FE in future, and not require it to be installed on OS3.
2015-01-20 20:36:14 +00:00
Chris Young
2b9df1b2cd Remove some p96 usage 2015-01-20 00:39:32 +00:00
Chris Young
80558b3116 Use a function to create ready-cleared memory 2015-01-10 23:10:05 +00:00
Vincent Sanders
9fde3502b6 doxygen cleanups in utils 2014-11-12 23:27:13 +00:00
Chris Young
4541d15437 Fix warnings 2014-10-25 16:22:28 +01:00
Vincent Sanders
0b64df140c Update amiga frontend for split operation table header changes 2014-10-16 22:33:44 +01:00
Chris Young
0c5bb37bea Implement a very basic favicon cache for the hotlist menu to use 2014-06-29 22:35:52 +01:00
Chris Young
870c709684 Get Composite() to befriend the screen's BitMap to ensure they are on the same graphics board. This should fix the slowness when multiple graphics cards are installed. 2014-01-06 18:29:05 +00:00
Chris Young
8b9963e7ef Use picture.datatype's PromoteMask function so we get an alpha channel for non-alpha bitmaps loaded through datatypes.library 2013-10-12 15:43:52 +01:00
Chris Young
9786cc2417 Fix scaled bitmaps 2013-10-12 14:14:59 +01:00
Chris Young
ade86e496e Replace AllocVec with AllocVecTags. Remove some instances of MEMF_CLEAR where it is not necessary. 2013-10-12 13:11:13 +01:00
Chris Young
69e264e4ec more tidy-up 2013-10-05 11:28:33 +01:00
Chris Young
9ff65d7426 tidy up 2013-10-05 11:27:05 +01:00