Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/5a6bb392184decd72779ea93c4e0ecc492b3d77f
...commit
http://git.netsurf-browser.org/netsurf.git/commit/5a6bb392184decd72779ea93c4e0ecc492b3d77f
...tree
http://git.netsurf-browser.org/netsurf.git/tree/5a6bb392184decd72779ea93c4e0ecc492b3d77f
The branch, master has been updated
via 5a6bb392184decd72779ea93c4e0ecc492b3d77f (commit)
from 793f514220c15c6bb1b0db31bf0b6d0cfea0fc7b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=5a6bb392184decd72779ea93c4e0ecc492b3d77f
commit 5a6bb392184decd72779ea93c4e0ecc492b3d77f
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Revert "Amiga: do not force 32-bit bitmaps"
This reverts commit 793f514220c15c6bb1b0db31bf0b6d0cfea0fc7b.
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 97e537c..e160f93 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -750,7 +750,7 @@ static nserror bitmap_render(struct bitmap *bitmap, struct
hlcache_handle *conte
plot_height = ((plot_width * bitmap->height) + (bitmap->width / 2)) /
bitmap->width;
- bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, false);
+ bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, true,
false);
ami_clearclipreg(bm_globals);
struct redraw_context ctx = {
diff --git a/frontends/amiga/corewindow.c b/frontends/amiga/corewindow.c
index 8898829..bfb0eb2 100644
--- a/frontends/amiga/corewindow.c
+++ b/frontends/amiga/corewindow.c
@@ -939,7 +939,7 @@ nserror ami_corewindow_init(struct ami_corewindow *ami_cw)
ami_cw->dragging = false;
/* allocate drawing area etc */
- ami_cw->gg = ami_plot_ra_alloc(100, 100, true); // force tiles to save
memory
+ ami_cw->gg = ami_plot_ra_alloc(100, 100, false, true); // force tiles
to save memory
ami_cw->deferred_rects = NewObjList();
ami_cw->deferred_rects_pool = ami_memory_itempool_create(sizeof(struct
rect));
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index be5bca4..8eb34fb 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -1321,7 +1321,7 @@ static void ami_openscreen(void)
static void ami_openscreenfirst(void)
{
ami_openscreen();
- if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false);
+ if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false,
false);
ami_theme_throbber_setup();
}
diff --git a/frontends/amiga/plotters.c b/frontends/amiga/plotters.c
index 68e682b..fe1e58f 100644
--- a/frontends/amiga/plotters.c
+++ b/frontends/amiga/plotters.c
@@ -110,7 +110,7 @@ static bool palette_mapped = true; /* palette-mapped state
for the screen */
*/
#define AREA_SIZE 25000
-struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
alloc_pen_list)
+struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
force32bit, bool alloc_pen_list)
{
/* init shared bitmaps */
int depth = 32;
@@ -119,16 +119,16 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
struct gui_globals *gg = malloc(sizeof(struct gui_globals));
- depth = GetBitMapAttr(scrn->RastPort.BitMap, BMA_DEPTH);
+ if(force32bit == false) depth = GetBitMapAttr(scrn->RastPort.BitMap,
BMA_DEPTH);
NSLOG(netsurf, INFO, "Screen depth = %d", depth);
#ifdef __amigaos4__
if(depth < 16) {
gg->palette_mapped = true;
- palette_mapped = true;
+ if(force32bit == false) palette_mapped = true;
} else {
gg->palette_mapped = false;
- palette_mapped = false;
+ if(force32bit == false) palette_mapped = false;
}
#else
/* Friend BitMaps are weird.
@@ -141,15 +141,15 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
} else {
/* Force friend BitMaps on for obvious RTG screens under OS3.
* If we get a bit smarter about this we can lose the user
option. */
- if(depth > 8) friend = scrn->RastPort.BitMap;
+ if((depth > 8) && (force32bit == false)) friend =
scrn->RastPort.BitMap;
}
if(depth < 16) {
gg->palette_mapped = true;
- palette_mapped = true;
+ if(force32bit == false) palette_mapped = true;
} else {
gg->palette_mapped = false;
- palette_mapped = false;
+ if(force32bit == false) palette_mapped = false;
}
#endif
@@ -177,7 +177,7 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
* \todo use friend BitMaps but avoid CompositeTags() at
non-32-bit
* as that seems to be the cause of the problems.
*/
- if(depth >= 24) friend = scrn->RastPort.BitMap;
+ if((depth >= 24) && (force32bit == false)) friend =
scrn->RastPort.BitMap;
#endif
gg->bm = ami_rtg_allocbitmap(width, height, 32, 0, friend,
RGBFB_A8R8G8B8);
}
diff --git a/frontends/amiga/plotters.h b/frontends/amiga/plotters.h
index 8fadbe2..9425923 100644
--- a/frontends/amiga/plotters.h
+++ b/frontends/amiga/plotters.h
@@ -37,10 +37,11 @@ bool ami_plot_screen_is_palettemapped(void);
* Alloc a plotter render area
* \param width of render bitmap
* \param height of render bitmap
+ * \param force32bit allocate a 32-bit bitmap even if this does not match the
screen
* \param alloc_pen_list set to false to use own pen list (eg. if multiple pen
lists will be required)
* \returns pointer to render area
*/
-struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
alloc_pen_list);
+struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
force32bit, bool alloc_pen_list);
/**
* Free a plotter render area
diff --git a/frontends/amiga/print.c b/frontends/amiga/print.c
index 4624bd6..97c70b9 100644
--- a/frontends/amiga/print.c
+++ b/frontends/amiga/print.c
@@ -500,7 +500,7 @@ bool ami_print_begin(struct print_settings *ps)
{
ami_print_info.gg = ami_plot_ra_alloc(ami_print_info.PED->ped_MaxXDots,
ami_print_info.PED->ped_MaxYDots,
- false);
+ true, false);
if(!ami_print_info.gg) return false;
ami_print_info.page = 0;
-----------------------------------------------------------------------
Summary of changes:
frontends/amiga/bitmap.c | 2 +-
frontends/amiga/corewindow.c | 2 +-
frontends/amiga/gui.c | 2 +-
frontends/amiga/plotters.c | 16 ++++++++--------
frontends/amiga/plotters.h | 3 ++-
frontends/amiga/print.c | 2 +-
6 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 97e537c..e160f93 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -750,7 +750,7 @@ static nserror bitmap_render(struct bitmap *bitmap, struct
hlcache_handle *conte
plot_height = ((plot_width * bitmap->height) + (bitmap->width / 2)) /
bitmap->width;
- bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, false);
+ bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, true,
false);
ami_clearclipreg(bm_globals);
struct redraw_context ctx = {
diff --git a/frontends/amiga/corewindow.c b/frontends/amiga/corewindow.c
index 8898829..bfb0eb2 100644
--- a/frontends/amiga/corewindow.c
+++ b/frontends/amiga/corewindow.c
@@ -939,7 +939,7 @@ nserror ami_corewindow_init(struct ami_corewindow *ami_cw)
ami_cw->dragging = false;
/* allocate drawing area etc */
- ami_cw->gg = ami_plot_ra_alloc(100, 100, true); // force tiles to save
memory
+ ami_cw->gg = ami_plot_ra_alloc(100, 100, false, true); // force tiles
to save memory
ami_cw->deferred_rects = NewObjList();
ami_cw->deferred_rects_pool = ami_memory_itempool_create(sizeof(struct
rect));
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index be5bca4..8eb34fb 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -1321,7 +1321,7 @@ static void ami_openscreen(void)
static void ami_openscreenfirst(void)
{
ami_openscreen();
- if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false);
+ if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false,
false);
ami_theme_throbber_setup();
}
diff --git a/frontends/amiga/plotters.c b/frontends/amiga/plotters.c
index 68e682b..fe1e58f 100644
--- a/frontends/amiga/plotters.c
+++ b/frontends/amiga/plotters.c
@@ -110,7 +110,7 @@ static bool palette_mapped = true; /* palette-mapped state
for the screen */
*/
#define AREA_SIZE 25000
-struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
alloc_pen_list)
+struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
force32bit, bool alloc_pen_list)
{
/* init shared bitmaps */
int depth = 32;
@@ -119,16 +119,16 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
struct gui_globals *gg = malloc(sizeof(struct gui_globals));
- depth = GetBitMapAttr(scrn->RastPort.BitMap, BMA_DEPTH);
+ if(force32bit == false) depth = GetBitMapAttr(scrn->RastPort.BitMap,
BMA_DEPTH);
NSLOG(netsurf, INFO, "Screen depth = %d", depth);
#ifdef __amigaos4__
if(depth < 16) {
gg->palette_mapped = true;
- palette_mapped = true;
+ if(force32bit == false) palette_mapped = true;
} else {
gg->palette_mapped = false;
- palette_mapped = false;
+ if(force32bit == false) palette_mapped = false;
}
#else
/* Friend BitMaps are weird.
@@ -141,15 +141,15 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
} else {
/* Force friend BitMaps on for obvious RTG screens under OS3.
* If we get a bit smarter about this we can lose the user
option. */
- if(depth > 8) friend = scrn->RastPort.BitMap;
+ if((depth > 8) && (force32bit == false)) friend =
scrn->RastPort.BitMap;
}
if(depth < 16) {
gg->palette_mapped = true;
- palette_mapped = true;
+ if(force32bit == false) palette_mapped = true;
} else {
gg->palette_mapped = false;
- palette_mapped = false;
+ if(force32bit == false) palette_mapped = false;
}
#endif
@@ -177,7 +177,7 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG
height, bool alloc_pen_
* \todo use friend BitMaps but avoid CompositeTags() at
non-32-bit
* as that seems to be the cause of the problems.
*/
- if(depth >= 24) friend = scrn->RastPort.BitMap;
+ if((depth >= 24) && (force32bit == false)) friend =
scrn->RastPort.BitMap;
#endif
gg->bm = ami_rtg_allocbitmap(width, height, 32, 0, friend,
RGBFB_A8R8G8B8);
}
diff --git a/frontends/amiga/plotters.h b/frontends/amiga/plotters.h
index 8fadbe2..9425923 100644
--- a/frontends/amiga/plotters.h
+++ b/frontends/amiga/plotters.h
@@ -37,10 +37,11 @@ bool ami_plot_screen_is_palettemapped(void);
* Alloc a plotter render area
* \param width of render bitmap
* \param height of render bitmap
+ * \param force32bit allocate a 32-bit bitmap even if this does not match the
screen
* \param alloc_pen_list set to false to use own pen list (eg. if multiple pen
lists will be required)
* \returns pointer to render area
*/
-struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
alloc_pen_list);
+struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool
force32bit, bool alloc_pen_list);
/**
* Free a plotter render area
diff --git a/frontends/amiga/print.c b/frontends/amiga/print.c
index 4624bd6..97c70b9 100644
--- a/frontends/amiga/print.c
+++ b/frontends/amiga/print.c
@@ -500,7 +500,7 @@ bool ami_print_begin(struct print_settings *ps)
{
ami_print_info.gg = ami_plot_ra_alloc(ami_print_info.PED->ped_MaxXDots,
ami_print_info.PED->ped_MaxYDots,
- false);
+ true, false);
if(!ami_print_info.gg) return false;
ami_print_info.page = 0;
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]