summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-04-06 13:59:31 +0000
committerJens Arnold <amiconn@rockbox.org>2008-04-06 13:59:31 +0000
commitdf8749d6d7a52034b7b1872ee421c4c6012f8c0a (patch)
treeed2ae2c520cc391dcd30d9f0a2372373a21449e6
parentcf6510567a5e5ebe2386b1348f72d387dee1f256 (diff)
downloadrockbox-df8749d6d7a52034b7b1872ee421c4c6012f8c0a.tar.gz
rockbox-df8749d6d7a52034b7b1872ee421c4c6012f8c0a.zip
Adapt the remaining plugins to put the greyscale isr on cop. Now they can be used while playing music without making the audio stutter. Needs the new SHAREDBSS_ATTR.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16987 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/fire.c3
-rw-r--r--apps/plugins/greyscale.c2
-rw-r--r--apps/plugins/jpeg.c3
-rw-r--r--apps/plugins/lib/grey.h2
-rw-r--r--apps/plugins/mandelbrot.c3
-rw-r--r--apps/plugins/plasma.c2
-rw-r--r--apps/plugins/test_fps.c3
7 files changed, 11 insertions, 7 deletions
diff --git a/apps/plugins/fire.c b/apps/plugins/fire.c
index 35432377f9..c26822c8dc 100644
--- a/apps/plugins/fire.c
+++ b/apps/plugins/fire.c
@@ -278,7 +278,8 @@ int init_grey(void)
278 /* get the remainder of the plugin buffer */ 278 /* get the remainder of the plugin buffer */
279 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); 279 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size);
280 280
281 if (!grey_init(rb, gbuf, gbuf_size, 0, FIRE_WIDTH, LCD_HEIGHT, NULL)){ 281 if (!grey_init(rb, gbuf, gbuf_size, GREY_ON_COP,
282 FIRE_WIDTH, LCD_HEIGHT, NULL)){
282 rb->splash(HZ, "not enough memory"); 283 rb->splash(HZ, "not enough memory");
283 return PLUGIN_ERROR; 284 return PLUGIN_ERROR;
284 } 285 }
diff --git a/apps/plugins/greyscale.c b/apps/plugins/greyscale.c
index 42ba08f22e..aba5dcc05b 100644
--- a/apps/plugins/greyscale.c
+++ b/apps/plugins/greyscale.c
@@ -210,7 +210,7 @@ int main(void)
210 /* initialize the greyscale buffer: 210 /* initialize the greyscale buffer:
211 Archos: 112 pixels wide, 7 rows (56 pixels) high. 211 Archos: 112 pixels wide, 7 rows (56 pixels) high.
212 H1x0: 160 pixels wide, 30 rows (120 pixels) high. */ 212 H1x0: 160 pixels wide, 30 rows (120 pixels) high. */
213 if (!grey_init(rb, gbuf, gbuf_size, GREY_BUFFERED, 213 if (!grey_init(rb, gbuf, gbuf_size, GREY_BUFFERED|GREY_ON_COP,
214 LCD_WIDTH, GFX_HEIGHT, NULL)) 214 LCD_WIDTH, GFX_HEIGHT, NULL))
215 { 215 {
216 rb->splash(HZ, "Not enough memory."); 216 rb->splash(HZ, "Not enough memory.");
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index f128558c5a..710772f270 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -3333,7 +3333,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
3333#endif 3333#endif
3334 3334
3335#ifdef USEGSLIB 3335#ifdef USEGSLIB
3336 if (!grey_init(rb, buf, buf_size, 0, LCD_WIDTH, LCD_HEIGHT, &greysize)) 3336 if (!grey_init(rb, buf, buf_size, GREY_ON_COP,
3337 LCD_WIDTH, LCD_HEIGHT, &greysize))
3337 { 3338 {
3338 rb->splash(HZ, "grey buf error"); 3339 rb->splash(HZ, "grey buf error");
3339 return PLUGIN_ERROR; 3340 return PLUGIN_ERROR;
diff --git a/apps/plugins/lib/grey.h b/apps/plugins/lib/grey.h
index 95dca6beb6..7bb8c5ff98 100644
--- a/apps/plugins/lib/grey.h
+++ b/apps/plugins/lib/grey.h
@@ -41,7 +41,7 @@
41/* Greyscale library management structure declaration. You need one of these 41/* Greyscale library management structure declaration. You need one of these
42 * in every plugin using the library, depending on whether the structure should 42 * in every plugin using the library, depending on whether the structure should
43 * use IRAM or not. */ 43 * use IRAM or not. */
44#define GREY_INFO_STRUCT struct _grey_info _grey_info; 44#define GREY_INFO_STRUCT struct _grey_info _grey_info SHAREDBSS_ATTR;
45#define GREY_INFO_STRUCT_IRAM struct _grey_info _grey_info IBSS_ATTR; 45#define GREY_INFO_STRUCT_IRAM struct _grey_info _grey_info IBSS_ATTR;
46 46
47/* Features you can request on library init (ORed together): */ 47/* Features you can request on library init (ORed together): */
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 4a4872b827..244d94b157 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -650,7 +650,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
650 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); 650 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size);
651 651
652 /* initialize the greyscale buffer.*/ 652 /* initialize the greyscale buffer.*/
653 if (!grey_init(rb, gbuf, gbuf_size, 0, LCD_WIDTH, LCD_HEIGHT, NULL)) 653 if (!grey_init(rb, gbuf, gbuf_size, GREY_ON_COP,
654 LCD_WIDTH, LCD_HEIGHT, NULL))
654 { 655 {
655 rb->splash(HZ, "Couldn't init greyscale display"); 656 rb->splash(HZ, "Couldn't init greyscale display");
656 return 0; 657 return 0;
diff --git a/apps/plugins/plasma.c b/apps/plugins/plasma.c
index 2e04bd59b5..f013cefb85 100644
--- a/apps/plugins/plasma.c
+++ b/apps/plugins/plasma.c
@@ -233,7 +233,7 @@ int main(void)
233 /* get the remainder of the plugin buffer */ 233 /* get the remainder of the plugin buffer */
234 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); 234 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size);
235 235
236 grey_init(rb, gbuf, gbuf_size, 0, LCD_WIDTH, LCD_HEIGHT, NULL); 236 grey_init(rb, gbuf, gbuf_size, GREY_ON_COP, LCD_WIDTH, LCD_HEIGHT, NULL);
237 /* switch on greyscale overlay */ 237 /* switch on greyscale overlay */
238 grey_show(true); 238 grey_show(true);
239#endif 239#endif
diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c
index da61a4f348..46a94a91ec 100644
--- a/apps/plugins/test_fps.c
+++ b/apps/plugins/test_fps.c
@@ -286,7 +286,8 @@ static void time_greyscale(void)
286 int fps, load; 286 int fps, load;
287 287
288 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size); 288 gbuf = (unsigned char *) rb->plugin_get_buffer(&gbuf_size);
289 if (!grey_init(rb, gbuf, gbuf_size, GREY_ON_COP, LCD_WIDTH, LCD_HEIGHT, NULL)) 289 if (!grey_init(rb, gbuf, gbuf_size, GREY_ON_COP,
290 LCD_WIDTH, LCD_HEIGHT, NULL))
290 { 291 {
291 log_text("greylib: out of memory."); 292 log_text("greylib: out of memory.");
292 return; 293 return;