goto out;
// no mipmaps
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ ret = *quirks & GL_QUIRK_SCALING_NEAREST ? GL_NEAREST : GL_LINEAR;
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, ret);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, ret);
//glViewport(0, 0, 512, 512);
glLoadIdentity();
#endif
#define GL_QUIRK_ACTIVATE_RECREATE 1
+#define GL_QUIRK_SCALING_NEAREST 2
#endif // LIBPICOFE_GL_H
// consider window title bar and screen menu here
return window_w >= fs_w && window_h >= fs_h - 2*window_b;
}
+
+void plat_sdl_gl_scaling(int type)
+{
+ gl_quirks &= ~GL_QUIRK_SCALING_NEAREST;
+ if (type == 0)
+ gl_quirks |= GL_QUIRK_SCALING_NEAREST;
+}
// vim:shiftwidth=2:expandtab
int plat_sdl_change_video_mode(int w, int h, int force);
void plat_sdl_overlay_clear(void);
void plat_sdl_event_handler(void *event_);
+void plat_sdl_gl_scaling(int type);
void plat_sdl_finish(void);