Changeset 26464
- Timestamp:
- 02/25/14 11:25:09 (9 years ago)
- Location:
- titan/titan
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/fb.h
r26434 r26464 45 45 node = node->next; 46 46 } 47 47 48 48 return fix_screeninfo.smem_len - fbmemcount; 49 49 } … … 196 196 if(checkbox("ATEMIO5000") == 1) 197 197 { 198 g_fbFd = open(g_fbDevice, O_RDWR); 199 if (g_fbFd < 0) 198 if (fd < 0) 200 199 { 201 perror( g_fbDevice);200 perror(fbdev); 202 201 goto nolfb; 203 202 } … … 211 210 } 212 211 closeonexec(fd); 213 212 214 213 if(ioctl(fd, FBIOGET_VSCREENINFO, &var_screeninfo) == -1) 215 214 { … … 251 250 // blinking work start 252 251 nolfb: 253 if (g_fbFd >= 0) 254 { 255 close(g_fbFd); 256 g_fbFd = -1; 257 } 252 if (fd >= 0) 253 { 254 close(fd); 255 fd = -1; 256 } 257 258 258 printf("framebuffer not available.\n"); 259 259 return 0; … … 263 263 void closefb() 264 264 { 265 266 if(checkbox("ATEMIO5000") == 1) 267 { 268 if(lfb) 269 { 270 printf("33\n"); 271 msync(lfb, fix_screeninfo.smem_len, MS_SYNC); 272 munmap(lfb, fix_screeninfo.smem_len); 273 } 274 if(fb->fd >= 0) 275 { 276 printf("44\n"); 277 disablemanualblit(); 278 close(fb->fd); 279 fb->fd = -1; 280 } 281 } 282 265 283 if(fb != NULL) 266 284 { -
titan/titan/mipselport.h
r26442 r26464 8 8 #endif 9 9 10 int g_fbFd = -1; 11 unsigned char *g_lfb = NULL; 12 char g_fbDevice[] = "/dev/fb0"; 10 #ifndef FBIO_WAITFORVSYNC 11 #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) 12 #endif 13 14 unsigned char *lfb = NULL; 13 15 int g_manual_blit = 0; 14 struct fb_var_screeninfo g_screeninfo_var; 15 struct fb_fix_screeninfo g_screeninfo_fix; 16 struct fb_fix_screeninfo fix_screeninfo; 16 17 17 18 int setmixer(struct dvbdev* node, int left, int right) … … 67 68 { 68 69 unsigned char tmp = 1; 69 if (ioctl( g_fbFd, FBIO_SET_MANUAL_BLIT, &tmp)<0)70 if (ioctl(fb->fd, FBIO_SET_MANUAL_BLIT, &tmp)<0) 70 71 perror("FBIO_SET_MANUAL_BLIT"); 71 72 else … … 76 77 { 77 78 unsigned char tmp = 0; 78 if (ioctl( g_fbFd, FBIO_SET_MANUAL_BLIT, &tmp)<0)79 if (ioctl(fb->fd, FBIO_SET_MANUAL_BLIT, &tmp)<0) 79 80 perror("FBIO_SET_MANUAL_BLIT"); 80 81 else 81 82 g_manual_blit = 0; 83 } 84 85 int waitvsync() 86 { 87 int c = 0; 88 return ioctl(fb->fd, FBIO_WAITFORVSYNC, &c); 82 89 } 83 90 … … 99 106 void blitfb2(struct fb* fbnode, int flag) 100 107 { 101 /*102 108 struct fb_var_screeninfo var_screeninfo; 103 109 … … 145 151 } 146 152 } 147 */ 153 148 154 if (g_manual_blit == 1) { 149 if (ioctl( g_fbFd, FBIO_BLIT) < 0)155 if (ioctl(fb->fd, FBIO_BLIT) < 0) 150 156 perr("FBIO_BLIT"); 151 157 } -
titan/titan/titan.c
r26433 r26464 722 722 clearfball(); 723 723 enablemanualblit(); 724 if(checkbox("ATEMIO5000") == 1) 725 waitvsync(); 724 726 725 727 tmpstr = getconfig("fb1dev", NULL);
Note: See TracChangeset
for help on using the changeset viewer.