Force Voodoo blit
Certain applications using the Voodoo adapter stop blitting when there's no activity (e.g mouse movement, animation). This results in a black screen when events like window/full screen transitions take place. Usually this can be fixed by moving the mouse or with keyboard inout. This change forces a blit to refresh the screen. In addition, added critical sections since they are lighter than mutexes.
This commit is contained in:
@@ -142,6 +142,7 @@ extern void ioctl_close(uint8_t id);
|
||||
typedef void thread_t;
|
||||
typedef void event_t;
|
||||
typedef void mutex_t;
|
||||
typedef void lightmutex_t;
|
||||
|
||||
extern thread_t *thread_create(void (*thread_func)(void *param), void *param);
|
||||
extern void thread_kill(thread_t *arg);
|
||||
@@ -157,6 +158,13 @@ extern void thread_close_mutex(mutex_t *arg);
|
||||
extern int thread_wait_mutex(mutex_t *arg);
|
||||
extern int thread_release_mutex(mutex_t *mutex);
|
||||
|
||||
#define LIGHT_MUTEX_DEFAULT_SPIN_COUNT 1024
|
||||
|
||||
lightmutex_t *thread_create_light_mutex();
|
||||
lightmutex_t *thread_create_light_mutex_and_spin_count(unsigned int spin_count);
|
||||
int thread_wait_light_mutex(lightmutex_t *lightmutex);
|
||||
int thread_release_light_mutex(lightmutex_t *lightmutex);
|
||||
void thread_close_light_mutex(lightmutex_t *lightmutex);
|
||||
|
||||
/* Other stuff. */
|
||||
extern void startblit(void);
|
||||
|
||||
Reference in New Issue
Block a user