1 /* Copyright (C) 2010-2020 The RetroArch team 2 * 3 * --------------------------------------------------------------------------------------- 4 * The following license statement only applies to this file (gl_capabilities.h). 5 * --------------------------------------------------------------------------------------- 6 * 7 * Permission is hereby granted, free of charge, 8 * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 * to deal in the Software without restriction, including without limitation the rights to 10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 */ 22 23 #ifndef _GL_CAPABILITIES_H 24 #define _GL_CAPABILITIES_H 25 26 #include <boolean.h> 27 #include <retro_common_api.h> 28 29 RETRO_BEGIN_DECLS 30 31 enum gl_capability_enum 32 { 33 GL_CAPS_NONE = 0, 34 GL_CAPS_EGLIMAGE, 35 GL_CAPS_SYNC, 36 GL_CAPS_MIPMAP, 37 GL_CAPS_VAO, 38 GL_CAPS_FBO, 39 GL_CAPS_ARGB8, 40 GL_CAPS_DEBUG, 41 GL_CAPS_PACKED_DEPTH_STENCIL, 42 GL_CAPS_ES2_COMPAT, 43 GL_CAPS_UNPACK_ROW_LENGTH, 44 GL_CAPS_FULL_NPOT_SUPPORT, 45 GL_CAPS_SRGB_FBO, 46 GL_CAPS_SRGB_FBO_ES3, 47 GL_CAPS_FP_FBO, 48 GL_CAPS_BGRA8888, 49 GL_CAPS_GLES3_SUPPORTED, 50 GL_CAPS_TEX_STORAGE, 51 GL_CAPS_TEX_STORAGE_EXT 52 }; 53 54 bool gl_query_core_context_in_use(void); 55 56 void gl_query_core_context_set(bool set); 57 58 void gl_query_core_context_unset(void); 59 60 bool gl_query_extension(const char *ext); 61 62 bool gl_check_error(char **error_string); 63 64 bool gl_check_capability(enum gl_capability_enum enum_idx); 65 66 RETRO_END_DECLS 67 68 #endif 69