CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
GLSLExtensions.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
11
14
16
18
22
23// Declares an extension string as 'static const char* E_<NAME> = "<NAME>"' where <NAME> is the specified identifier
24#define DECLARATION_EXTENSION(NAME) static const char* const E_##NAME = #NAME
25
26 // 3DL
28
29 // AMD
35
36 // ANDROID
38
39 // ARB
74
75 // EXT
93
94 // GOOGLE
97
98 // KHR
100
101 // NV
106
107 // NVX
109
110 // OES
127
128#undef DECLARATION_EXTENSION
129
130 // Returns a map of GLSL extension strings with their minimum required version number (default is 110).
132
133 // Returns the version number of the specified output shader version, e.g. GLSL130 to 130, ESSL300 to 300.
135
136} // namespace CeresEngine::ShaderCompiler
#define GL_NV_viewport_array2
Definition GLLoader.hpp:18560
#define GL_ARB_arrays_of_arrays
Definition GLLoader.hpp:9048
#define GL_ARB_texture_cube_map_array
Definition GLLoader.hpp:11652
#define GL_ARB_fragment_coord_conventions
Definition GLLoader.hpp:9806
#define GL_ARB_uniform_buffer_object
Definition GLLoader.hpp:11860
#define GL_EXT_gpu_shader4
Definition GLLoader.hpp:14493
#define GL_ARB_shader_atomic_counters
Definition GLLoader.hpp:11188
#define GL_ARB_texture_multisample
Definition GLLoader.hpp:11696
#define GL_AMD_gpu_shader_half_float
Definition GLLoader.hpp:8449
#define GL_ARB_shader_texture_lod
Definition GLLoader.hpp:11453
#define GL_ARB_shading_language_420pack
Definition GLLoader.hpp:11465
#define GL_ARB_separate_shader_objects
Definition GLLoader.hpp:10922
#define GL_ARB_texture_gather
Definition GLLoader.hpp:11684
#define GL_AMD_shader_trinary_minmax
Definition GLLoader.hpp:8744
#define GL_ARB_shader_texture_image_samples
Definition GLLoader.hpp:11449
#define GL_ARB_shader_viewport_layer_array
Definition GLLoader.hpp:11457
#define GL_ARB_texture_query_lod
Definition GLLoader.hpp:11708
#define GL_ARB_compute_shader
Definition GLLoader.hpp:9216
#define GL_NV_geometry_shader_passthrough
Definition GLLoader.hpp:16740
#define GL_ARB_gpu_shader_fp64
Definition GLLoader.hpp:9999
#define GL_ARB_shader_storage_buffer_object
Definition GLLoader.hpp:11400
#define GL_ARB_viewport_array
Definition GLLoader.hpp:12227
#define GL_ARB_enhanced_layouts
Definition GLLoader.hpp:9794
#define GL_AMD_shader_ballot
Definition GLLoader.hpp:8724
#define GL_ARB_shader_ballot
Definition GLLoader.hpp:11198
#define GL_AMD_shader_explicit_vertex_parameter
Definition GLLoader.hpp:8728
#define GL_ARB_sparse_texture_clamp
Definition GLLoader.hpp:11541
#define GL_ARB_gpu_shader5
Definition GLLoader.hpp:9995
#define GL_NV_stereo_view_rendering
Definition GLLoader.hpp:17741
#define GL_AMD_gcn_shader
Definition GLLoader.hpp:8445
#define GL_ARB_explicit_uniform_location
Definition GLLoader.hpp:9802
#define GL_ARB_texture_rectangle
Definition GLLoader.hpp:11712
#define GL_ARB_shader_image_load_store
Definition GLLoader.hpp:11218
#define GL_ARB_shader_draw_parameters
Definition GLLoader.hpp:11210
#define GL_ARB_gpu_shader_int64
Definition GLLoader.hpp:10083
#define GL_ARB_shader_group_vote
Definition GLLoader.hpp:11214
#define GL_ARB_shading_language_packing
Definition GLLoader.hpp:11500
#define GL_ARB_shader_bit_encoding
Definition GLLoader.hpp:11202
#define GL_EXT_shader_image_load_formatted
Definition GLLoader.hpp:15079
#define GL_ARB_derivative_control
Definition GLLoader.hpp:9298
#define GL_ARB_tessellation_shader
Definition GLLoader.hpp:11557
#define GL_ARB_cull_distance
Definition GLLoader.hpp:9259
#define GL_KHR_blend_equation_advanced
Definition GLLoader.hpp:15894
#define GL_ARB_sparse_texture2
Definition GLLoader.hpp:11537
#define GL_NV_sample_mask_override_coverage
Definition GLLoader.hpp:17646
#define GL_ARB_explicit_attrib_location
Definition GLLoader.hpp:9798
#define DECLARATION_EXTENSION(NAME)
GLSL extensions (adopted from glslangValidator) see https://github.com/KhronosGroup/glslang see https...
Definition GLSLExtensions.hpp:24
Definition AST.hpp:33
const Map< String, int > & getGLSLExtensionVersionMap()
Int32 getGLSLVersionNumber(const OutputShaderVersion version)
OutputShaderVersion
Output shader version enumeration.
Definition Targets.hpp:67
std::int32_t Int32
Definition DataTypes.hpp:21
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
std::map< Key, T, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > Map
Map is a sorted associative container that contains key-value pairs with unique keys.
Definition Map.hpp:24