1 // Copyright 2008 David Hilvert <dhilvert@auricle.dyndns.org>,
2 // <dhilvert@gmail.com>
4 /* This file is part of the Anti-Lamenessing Engine.
6 The Anti-Lamenessing Engine is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 The Anti-Lamenessing Engine is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with the Anti-Lamenessing Engine; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * accel.h: acceleration
41 static void mask_gpu() {
45 static void unmask_gpu() {
49 static void set_gpu() {
53 static void set_none() {
57 static void set_auto() {
59 const char *accel_default
= getenv("ALE_GPU_ACCEL_DEFAULT");
60 if (accel_default
&& !strcmp(accel_default
, "1") && gpu::is_ok())
80 fprintf(stderr
, "GPU acceleration error.\n");
85 const char *extensions
[] = {
86 "GL_ARB_fragment_shader",
87 "GL_ARB_texture_float",
88 "GL_ARB_texture_rectangle",
89 "GL_EXT_framebuffer_object",
94 for (const char **c
= extensions
; *c
; c
++) {
95 if (!glewIsSupported(*c
)) {
96 fprintf(stderr
, "GL feature %s not supported.\n", *c
);
103 fprintf(stderr
, "GLEW linkage is required for acceleration.\n");