Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
opencl_drivers_blacklist.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2016-2020 darktable developers.
4
5 darktable is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 darktable is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with darktable. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include <string.h>
22
23// FIXME: in the future, we may want to also take DRIVER_VERSION into account
24static const gchar *bad_opencl_drivers[] =
25{
26 // clang-format off
27
28 "beignet",
29 "pocl",
30 NULL
31
32 // clang-format on
33};
34
35// returns TRUE if blacklisted
36static gboolean dt_opencl_check_driver_blacklist(const char *device_version)
37{
38 gchar *device = g_ascii_strdown(device_version, -1);
39
40 for(int i = 0; bad_opencl_drivers[i]; i++)
41 {
42 if(!g_strrstr(device, bad_opencl_drivers[i])) continue;
43
44 // oops, found in black list
45 g_free(device);
46 return TRUE;
47 }
48
49 // did not find in the black list, guess it's ok.
50 g_free(device);
51 return FALSE;
52}
53
54// clang-format off
55// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
56// vim: shiftwidth=2 expandtab tabstop=2 cindent
57// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
58// clang-format on
#define TRUE
Definition ashift_lsd.c:151
#define FALSE
Definition ashift_lsd.c:147
static gboolean dt_opencl_check_driver_blacklist(const char *device_version)
Definition opencl_drivers_blacklist.h:36
static const gchar * bad_opencl_drivers[]
Definition opencl_drivers_blacklist.h:24