summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotaz2012-09-18 01:07:39 +0300
committernotaz2012-09-18 01:07:39 +0300
commit5b5ebfc1db553eac883e3ed8d9936e2e5db201ee (patch)
tree35c328c42b2b5db781f382dbfb1347ea83324a28
parentffc30d25671ca6d4d775445735abd13221b877c9 (diff)
downloadpicogpsp-5b5ebfc1db553eac883e3ed8d9936e2e5db201ee.tar.gz
picogpsp-5b5ebfc1db553eac883e3ed8d9936e2e5db201ee.tar.bz2
picogpsp-5b5ebfc1db553eac883e3ed8d9936e2e5db201ee.zip
fix omap vram allocation (fixes tv-out)
-rw-r--r--pandora/pnd.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/pandora/pnd.c b/pandora/pnd.c
index 07c33a9..9819df8 100644
--- a/pandora/pnd.c
+++ b/pandora/pnd.c
@@ -104,7 +104,7 @@ static const u8 gkey_to_cursor[32] = {
struct vout_fbdev *fb;
-static int omap_setup_layer(int fd, int enabled, int x, int y, int w, int h, int first_call)
+static int omap_setup_layer(int fd, int enabled, int x, int y, int w, int h)
{
struct omapfb_plane_info pi = { 0, };
struct omapfb_mem_info mi = { 0, };
@@ -130,8 +130,8 @@ static int omap_setup_layer(int fd, int enabled, int x, int y, int w, int h, int
perror("SETUP_PLANE");
}
- if (first_call) {
- mi.size = 640*512*3*3;
+ if (mi.size < 240*160*2*4) {
+ mi.size = 240*160*2*4;
ret = ioctl(fd, OMAPFB_SETUP_MEM, &mi);
if (ret != 0) {
perror("SETUP_MEM");
@@ -183,7 +183,7 @@ void gpsp_plat_init(void)
exit(1);
}
- ret = omap_setup_layer(fd, 0, 0, 0, 400, 272, 1);
+ ret = omap_setup_layer(fd, 0, 0, 0, 400, 272);
close(fd);
if (ret != 0) {
fprintf(stderr, "failed to set up layer, exiting.\n");
@@ -205,7 +205,7 @@ void gpsp_plat_init(void)
void gpsp_plat_quit(void)
{
xenv_finish();
- omap_setup_layer(vout_fbdev_get_fd(fb), 0, 0, 0, 0, 0, 0);
+ omap_setup_layer(vout_fbdev_get_fd(fb), 0, 0, 0, 0, 0);
vout_fbdev_finish(fb);
SDL_Quit();
}
@@ -306,7 +306,7 @@ void fb_set_mode(int w, int h, int buffers, int scale, int filter)
lx = 800 / 2 - lw / 2;
ly = 480 / 2 - lh / 2;
- omap_setup_layer(vout_fbdev_get_fd(fb), 1, lx, ly, lw, lh, 0);
+ omap_setup_layer(vout_fbdev_get_fd(fb), 1, lx, ly, lw, lh);
set_filter(filter);
vout_fbdev_resize(fb, w, h, 16, 0, 0, 0, 0, buffers);