Chris Young
5c8dccd5f6
When forcing 32-bit render mode, don't create the BitMaps as friends of the screen BitMap.
...
This fixes a system freeze on OS4
2016-01-25 18:41:50 +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
452d8ce512
Use itempools for storing our pen locks
2016-01-24 00:00:27 +00:00
Chris Young
b3aa313e84
misc amiga fixes re font plotting
2016-01-17 23:40:50 +00:00
Chris Young
46f181b348
More font-related tidy-up
2016-01-16 00:00:57 +00:00
Chris Young
6ad939b5a6
Make font engine selection bit more logical
2016-01-15 19:37:21 +00:00
Chris Young
f5dc180105
Use layers.library for bitmap tiling on OS3
...
This solves the worst of the rendering problems on that platform.
2016-01-14 00:11:48 +00:00
Chris Young
a73d53845c
Fix MinTerm defines for SDK 53.29
2015-09-01 18:02:32 +01:00
Chris Young
a2edd98c19
Force usage of friend BitMaps on OS3 when on high/truecolour screens.
...
AreaInfo buffer doesn't need to be in chip mem.
2015-08-16 23:03:54 +01:00
Chris Young
9c2fbde917
Put the memory areas, rather than the structures, into chip RAM as required.
2015-08-16 12:48:06 +01:00
Chris Young
7c14bff469
TmpRas should be in chip mem for OS3/AGA
2015-08-16 12:41:21 +01:00
Chris Young
45171214ed
Add an option to toggle usage of a friend BitMap for our off-screen rendering buffer (OS3 only).
...
Defaults to OFF, which works everywhere, but can be switched on for performance benefits when using RTG.
2015-08-15 16:42:52 +01:00
Vincent Sanders
c105738fa3
Change LOG() macro to be varadic
...
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.
The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.
A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Chris Young
ad779dc38a
Revert "Attempt to avoid a crash in ami_plot()"
...
This reverts commit e64d48980e
.
2015-04-27 18:26:58 +01:00
Chris Young
e64d48980e
Attempt to avoid a crash in ami_plot()
2015-04-25 23:04:56 +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
fb0bd79944
update amiga frontend to use bitmap operation table
2015-04-16 22:36:29 +01:00
Chris Young
81f6cd2074
Correct the screen depth check for setting friend bitmaps.
...
Add some comments because using friend bitmaps in NetSurf causes problems under OS4.
2015-03-29 23:37:23 +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
947c466c4b
Split plotting and widthing functions up
2015-02-28 13:01:16 +00:00
Chris Young
6c7a3c3a73
Clear the window using the BackFill hook
2015-02-13 18:34:08 +00:00
Chris Young
3dc8de9be2
Check for NULL
2015-02-12 23:18:41 +00:00
Chris Young
26a9c4fa07
Avoid RectFilling a 0 size area
2015-02-11 18:24:51 +00:00
Chris Young
36bc32b87b
Re-disable P96 on OS3 pending a fix
2015-02-03 23:58:35 +00:00
Chris Young
32cd4abfd5
Reinstate the old (non-backfill) bitmap tiler for OS3
2015-02-03 00:24:03 +00:00
Chris Young
a7b866e824
Always use a friend bitmap on OS3
2015-02-02 23:45:49 +00:00
Chris Young
25a4cce542
Experimentally enable P96 on the OS3 build
2015-02-02 18:53:16 +00:00
Chris Young
852527a12f
Ensure we are setting colours in the correct RastPort
2015-02-02 18:48:45 +00:00
Chris Young
2d157857e1
Revert shared pens support to previously-working state
2015-02-02 18:28:21 +00:00
Chris Young
7d41e04b61
We don't need to use P96 for RectFill
2015-02-02 18:10:43 +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
a4dbb87a76
Fix another instance of BltMaskBitMapRastPort potentially being called with a NULL bltmask
2015-02-01 11:08:05 +00:00
Chris Young
f514595ccf
Don't allocate our off-screen render area as BMF_DISPLAYABLE, as it is never displayed.
...
Befriend the screen BitMap but only if we're 32-bit on both.
2015-01-31 22:14:03 +00:00
Chris Young
2544f60ae0
Set the obtained pen in our node so we can release it later.
2015-01-31 21:27:04 +00:00
Chris Young
6389b0f7d6
Ensure on OS3 we don't try to create a BitMap with a depth of more than 8
2015-01-31 20:14:09 +00:00
Chris Young
9ac9866521
Correct calling usage of BltMaskBitMapRastPort
...
Thanks to Matthey for the debugging
2015-01-31 20:01:35 +00:00
Chris Young
4f98fd5925
Add missing headers
2015-01-20 20:51:52 +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
0c526662b3
Minor OS3 fixes
2015-01-19 20:50:06 +00:00
Chris Young
2eb41ed77b
More OS3 fixes
2015-01-18 21:11:00 +00:00
Chris Young
24bf863522
Fix warnings
2014-11-10 23:38:59 +00:00
Vincent Sanders
0b64df140c
Update amiga frontend for split operation table header changes
2014-10-16 22:33:44 +01:00
Chris Young
b1f67dab31
Remove Cairo from AmigaOS frontend.
2014-05-03 16:38:58 +01:00
Chris Young
5bb5e2667d
Change the scope of some variables picked up by cppcheck, minor reformatting
2014-04-05 23:34:51 +01:00
Chris Young
ba5bae389b
Fix some cppcheck variableHidingTypedef warnings
2014-04-05 20:26:40 +01:00
Chris Young
65adc17121
Fix a bunch of cppcheck unused/unreadVariable warnings
2014-04-05 20:26:40 +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
ef24e5ce9e
Fix bitmap offsets in direct render mode by forcing use of BltBitMap
2013-10-26 19:44:21 +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