summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2015-03-01 11:48:21 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2015-03-01 11:50:20 +0000
commitdb9144230426e9dfa0203ddd4f98568f48160fd6 (patch)
tree93bb6afa6892f02d1f5bb0144c69d98b1df55043
parentc0c9f54a9c9096eaf68de4f7b8d5d2d15282f4a5 (diff)
downloadnetsurf-db9144230426e9dfa0203ddd4f98568f48160fd6.tar.gz
netsurf-db9144230426e9dfa0203ddd4f98568f48160fd6.tar.bz2
Remove branches that can't be taken under OS3
Micro-optimise these for OS4.1 Remove dummy compositing defines from os3support.h
-rw-r--r--amiga/bitmap.c14
-rw-r--r--amiga/gui.c2
-rw-r--r--amiga/os3support.h19
-rw-r--r--amiga/plotters.c14
-rwxr-xr-xamiga/thumbnail.c9
5 files changed, 18 insertions, 40 deletions
diff --git a/amiga/bitmap.c b/amiga/bitmap.c
index 809bce8b2..633d8d0c1 100644
--- a/amiga/bitmap.c
+++ b/amiga/bitmap.c
@@ -367,7 +367,7 @@ struct bitmap *ami_bitmap_from_datatype(char *filename)
return bm;
}
-static struct BitMap *ami_bitmap_get_truecolour(struct bitmap *bitmap,int width,int height,struct BitMap *friendbm)
+static inline struct BitMap *ami_bitmap_get_truecolour(struct bitmap *bitmap,int width,int height,struct BitMap *friendbm)
{
struct BitMap *tbm = NULL;
@@ -414,10 +414,9 @@ static struct BitMap *ami_bitmap_get_truecolour(struct bitmap *bitmap,int width,
scaledbm = ami_rtg_allocbitmap(width, height, 32, 0,
friendbm, AMI_BITMAP_FORMAT);
-
- if(GfxBase->LibNode.lib_Version >= 53) // AutoDoc says v52, but this function isn't in OS4.0, so checking for v53 (OS4.1)
- {
#ifdef __amigaos4__
+ if(__builtin_expect(GfxBase->LibNode.lib_Version >= 53, 1)) {
+ /* AutoDoc says v52, but this function isn't in OS4.0, so checking for v53 (OS4.1) */
uint32 flags = 0;
if(nsoption_bool(scale_quality)) flags |= COMPFLAG_SrcFilter;
@@ -433,9 +432,8 @@ static struct BitMap *ami_bitmap_get_truecolour(struct bitmap *bitmap,int width,
COMPTAG_OffsetY,0,
COMPTAG_FriendBitMap, scrn->RastPort.BitMap,
TAG_DONE);
+ } else /* Do it the old-fashioned way. This is pretty slow, even on OS4.1 */
#endif
- }
- else /* Do it the old-fashioned way. This is pretty slow, even on OS4.1 */
{
bsa.bsa_SrcX = 0;
bsa.bsa_SrcY = 0;
@@ -500,7 +498,7 @@ PLANEPTR ami_bitmap_get_mask(struct bitmap *bitmap, int width,
return bitmap->native_mask;
}
-static struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
+static inline struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
int width, int height)
{
struct BitMap *dtbm;
@@ -547,7 +545,7 @@ static struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
struct BitMap *ami_bitmap_get_native(struct bitmap *bitmap,
int width, int height, struct BitMap *friendbm)
{
- if(ami_plot_screen_is_palettemapped() == true) {
+ if(__builtin_expect(ami_plot_screen_is_palettemapped() == true, 0)) {
return ami_bitmap_get_palettemapped(bitmap, width, height);
} else {
return ami_bitmap_get_truecolour(bitmap, width, height, friendbm);
diff --git a/amiga/gui.c b/amiga/gui.c
index 184c5b01a..238a4ad69 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -5034,7 +5034,7 @@ static nserror gui_search_web_provider_update(const char *provider_name,
ULONG bm_masking_tag = TAG_IGNORE;
if(GfxBase->LibNode.lib_Version >= 54) { /* chooser 53.21, but check gfx.lib
- * is FE as it's easier */
+ * is FE as it's easier */
bm_masking_tag = BITMAP_Masking;
}
diff --git a/amiga/os3support.h b/amiga/os3support.h
index d5b895fb5..128e6bfdf 100644
--- a/amiga/os3support.h
+++ b/amiga/os3support.h
@@ -189,25 +189,6 @@ struct OutlineFont {
struct TagItem *olf_OTagList;
};
-/* Compositing */
-#define COMPFLAG_IgnoreDestAlpha 0
-#define COMPFLAG_SrcAlphaOverride 0
-#define COMPFLAG_SrcFilter 0
-
-#define COMPOSITE_Src 0
-
-#define COMPTAG_ScaleX 0
-#define COMPTAG_ScaleY 0
-#define COMPTAG_DestX 0
-#define COMPTAG_DestY 0
-#define COMPTAG_DestWidth 0
-#define COMPTAG_DestHeight 0
-#define COMPTAG_OffsetX 0
-#define COMPTAG_OffsetY 0
-
-#define CompositeTags(a, ...) ((void) (a))
-#define COMP_FLOAT_TO_FIX(f) (f)
-
/* icon.library v51 (ie. AfA_OS version) */
#define ICONCTRLA_SetImageDataFormat (ICONA_Dummy + 0x67) /*103*/
#define ICONCTRLA_GetImageDataFormat (ICONA_Dummy + 0x68) /*104*/
diff --git a/amiga/plotters.c b/amiga/plotters.c
index 660dea74d..256f47747 100644
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -501,10 +501,9 @@ static bool ami_bitmap(int x, int y, int width, int height, struct bitmap *bitma
LOG(("[ami_plotter] ami_bitmap() got native bitmap"));
#endif
- if((GfxBase->LibNode.lib_Version >= 53) && (palette_mapped == false) &&
- (nsoption_bool(direct_render) == false))
- {
#ifdef __amigaos4__
+ if(__builtin_expect((GfxBase->LibNode.lib_Version >= 53) && (palette_mapped == false) &&
+ (nsoption_bool(direct_render) == false), 1)) {
uint32 comptype = COMPOSITE_Src_Over_Dest;
uint32 compflags = COMPFLAG_IgnoreDestAlpha;
if(bitmap_get_opaque(bitmap)) {
@@ -524,9 +523,9 @@ static bool ami_bitmap(int x, int y, int width, int height, struct bitmap *bitma
COMPTAG_OffsetY,y,
COMPTAG_FriendBitMap, scrn->RastPort.BitMap,
TAG_DONE);
-#endif
}
else
+#endif
{
ULONG tag, tag_data, minterm = 0xc0;
@@ -710,10 +709,9 @@ static void ami_bitmap_tile_hook(struct Hook *hook,struct RastPort *rp,struct Ba
/* tile down and across to extents (bfmsg->Bounds.MinX)*/
for (xf = -bfbm->offsetx; xf < bfmsg->Bounds.MaxX; xf += bfbm->width) {
for (yf = -bfbm->offsety; yf < bfmsg->Bounds.MaxY; yf += bfbm->height) {
-
- if((GfxBase->LibNode.lib_Version >= 53) && (palette_mapped == false))
- {
#ifdef __amigaos4__
+ if(__builtin_expect((GfxBase->LibNode.lib_Version >= 53) &&
+ (palette_mapped == false), 1)) {
CompositeTags(COMPOSITE_Src_Over_Dest, bfbm->bm, rp->BitMap,
COMPTAG_Flags, COMPFLAG_IgnoreDestAlpha,
COMPTAG_DestX,bfmsg->Bounds.MinX,
@@ -726,9 +724,9 @@ static void ami_bitmap_tile_hook(struct Hook *hook,struct RastPort *rp,struct Ba
COMPTAG_OffsetY,yf,
COMPTAG_FriendBitMap, scrn->RastPort.BitMap,
TAG_DONE);
-#endif
}
else
+#endif
{
ULONG tag, tag_data, minterm = 0xc0;
diff --git a/amiga/thumbnail.c b/amiga/thumbnail.c
index 538f22bad..cb4cf6143 100755
--- a/amiga/thumbnail.c
+++ b/amiga/thumbnail.c
@@ -70,8 +70,9 @@ bool thumbnail_create(hlcache_handle *content, struct bitmap *bitmap,
thumbnail_redraw(content, plot_width, plot_height, &ctx);
- if(GfxBase->LibNode.lib_Version >= 53) // AutoDoc says v52, but this function isn't in OS4.0, so checking for v53 (OS4.1)
- {
+#ifdef __amigaos4__
+ if(__builtin_expect(GfxBase->LibNode.lib_Version >= 53, 1)) {
+ /* AutoDoc says v52, but this function isn't in OS4.0, so checking for v53 (OS4.1) */
float resample_scale = bitmap->width / (float)plot_width;
uint32 flags = COMPFLAG_IgnoreDestAlpha;
if(nsoption_bool(scale_quality)) flags |= COMPFLAG_SrcFilter;
@@ -90,8 +91,8 @@ bool thumbnail_create(hlcache_handle *content, struct bitmap *bitmap,
COMPTAG_OffsetY,0,
COMPTAG_FriendBitMap, scrn->RastPort.BitMap,
TAG_DONE);
- }
- else
+ } else
+#endif
{
bsa.bsa_SrcX = 0;
bsa.bsa_SrcY = 0;