glslang_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3#[repr(i32)]
4#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5pub enum glslang_stage_t {
6    Vertex = 0,
7    TesselationControl = 1,
8    TesselationEvaluation = 2,
9    Geometry = 3,
10    Fragment = 4,
11    Compute = 5,
12    RayGeneration = 6,
13    Intersect = 7,
14    AnyHit = 8,
15    ClosestHit = 9,
16    Miss = 10,
17    Callable = 11,
18    Task = 12,
19    Mesh = 13,
20}
21impl glslang_stage_mask_t {
22    pub const VERTEX: glslang_stage_mask_t = glslang_stage_mask_t(1);
23}
24impl glslang_stage_mask_t {
25    pub const TESSCONTROL: glslang_stage_mask_t = glslang_stage_mask_t(2);
26}
27impl glslang_stage_mask_t {
28    pub const TESSEVALUATION: glslang_stage_mask_t = glslang_stage_mask_t(4);
29}
30impl glslang_stage_mask_t {
31    pub const GEOMETRY: glslang_stage_mask_t = glslang_stage_mask_t(8);
32}
33impl glslang_stage_mask_t {
34    pub const FRAGMENT: glslang_stage_mask_t = glslang_stage_mask_t(16);
35}
36impl glslang_stage_mask_t {
37    pub const COMPUTE: glslang_stage_mask_t = glslang_stage_mask_t(32);
38}
39impl glslang_stage_mask_t {
40    pub const RAYGEN: glslang_stage_mask_t = glslang_stage_mask_t(64);
41}
42impl glslang_stage_mask_t {
43    pub const INTERSECT: glslang_stage_mask_t = glslang_stage_mask_t(128);
44}
45impl glslang_stage_mask_t {
46    pub const ANYHIT: glslang_stage_mask_t = glslang_stage_mask_t(256);
47}
48impl glslang_stage_mask_t {
49    pub const CLOSESTHIT: glslang_stage_mask_t = glslang_stage_mask_t(512);
50}
51impl glslang_stage_mask_t {
52    pub const MISS: glslang_stage_mask_t = glslang_stage_mask_t(1024);
53}
54impl glslang_stage_mask_t {
55    pub const CALLABLE: glslang_stage_mask_t = glslang_stage_mask_t(2048);
56}
57impl glslang_stage_mask_t {
58    pub const TASK: glslang_stage_mask_t = glslang_stage_mask_t(4096);
59}
60impl glslang_stage_mask_t {
61    pub const MESH: glslang_stage_mask_t = glslang_stage_mask_t(8192);
62}
63impl ::std::ops::BitOr<glslang_stage_mask_t> for glslang_stage_mask_t {
64    type Output = Self;
65    #[inline]
66    fn bitor(self, other: Self) -> Self {
67        glslang_stage_mask_t(self.0 | other.0)
68    }
69}
70impl ::std::ops::BitOrAssign for glslang_stage_mask_t {
71    #[inline]
72    fn bitor_assign(&mut self, rhs: glslang_stage_mask_t) {
73        self.0 |= rhs.0;
74    }
75}
76impl ::std::ops::BitAnd<glslang_stage_mask_t> for glslang_stage_mask_t {
77    type Output = Self;
78    #[inline]
79    fn bitand(self, other: Self) -> Self {
80        glslang_stage_mask_t(self.0 & other.0)
81    }
82}
83impl ::std::ops::BitAndAssign for glslang_stage_mask_t {
84    #[inline]
85    fn bitand_assign(&mut self, rhs: glslang_stage_mask_t) {
86        self.0 &= rhs.0;
87    }
88}
89#[repr(transparent)]
90#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
91pub struct glslang_stage_mask_t(pub ::std::os::raw::c_int);
92#[repr(i32)]
93#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
94pub enum glslang_source_t {
95    None = 0,
96    GLSL = 1,
97    HLSL = 2,
98}
99#[repr(i32)]
100#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
101pub enum glslang_client_t {
102    None = 0,
103    Vulkan = 1,
104    OpenGL = 2,
105}
106#[repr(i32)]
107#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
108pub enum glslang_target_language_t {
109    None = 0,
110    SPIRV = 1,
111}
112#[repr(i32)]
113#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
114pub enum glslang_target_client_version_t {
115    Vulkan1_0 = 4194304,
116    Vulkan1_1 = 4198400,
117    Vulkan1_2 = 4202496,
118    Vulkan1_3 = 4206592,
119    Vulkan1_4 = 4210688,
120    OpenGL450 = 450,
121}
122#[repr(i32)]
123#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
124pub enum glslang_target_language_version_t {
125    SPIRV1_0 = 65536,
126    SPIRV1_1 = 65792,
127    SPIRV1_2 = 66048,
128    SPIRV1_3 = 66304,
129    SPIRV1_4 = 66560,
130    SPIRV1_5 = 66816,
131    SPIRV1_6 = 67072,
132}
133#[repr(i32)]
134#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
135pub enum glslang_texture_sampler_transform_mode_t {
136    Keep = 0,
137    UpgradeTextureRemoveSampler = 1,
138}
139impl glslang_messages_t {
140    pub const DEFAULT: glslang_messages_t = glslang_messages_t(0);
141}
142impl glslang_messages_t {
143    pub const RELAXED_ERRORS: glslang_messages_t = glslang_messages_t(1);
144}
145impl glslang_messages_t {
146    pub const SUPPRESS_WARNINGS: glslang_messages_t = glslang_messages_t(2);
147}
148impl glslang_messages_t {
149    pub const AST: glslang_messages_t = glslang_messages_t(4);
150}
151impl glslang_messages_t {
152    pub const SPV_RULES: glslang_messages_t = glslang_messages_t(8);
153}
154impl glslang_messages_t {
155    pub const VULKAN_RULES: glslang_messages_t = glslang_messages_t(16);
156}
157impl glslang_messages_t {
158    pub const ONLY_PREPROCESSOR: glslang_messages_t = glslang_messages_t(32);
159}
160impl glslang_messages_t {
161    pub const READ_HLSL: glslang_messages_t = glslang_messages_t(64);
162}
163impl glslang_messages_t {
164    pub const CASCADING_ERRORS: glslang_messages_t = glslang_messages_t(128);
165}
166impl glslang_messages_t {
167    pub const KEEP_UNCALLED: glslang_messages_t = glslang_messages_t(256);
168}
169impl glslang_messages_t {
170    pub const HLSL_OFFSETS: glslang_messages_t = glslang_messages_t(512);
171}
172impl glslang_messages_t {
173    pub const DEBUG_INFO: glslang_messages_t = glslang_messages_t(1024);
174}
175impl glslang_messages_t {
176    pub const HLSL_ENABLE_16BIT_TYPES: glslang_messages_t = glslang_messages_t(2048);
177}
178impl glslang_messages_t {
179    pub const HLSL_LEGALIZATION: glslang_messages_t = glslang_messages_t(4096);
180}
181impl glslang_messages_t {
182    pub const HLSL_DX9_COMPATIBLE: glslang_messages_t = glslang_messages_t(8192);
183}
184impl glslang_messages_t {
185    pub const BUILTIN_SYMBOL_TABLE: glslang_messages_t = glslang_messages_t(16384);
186}
187impl glslang_messages_t {
188    pub const ENHANCED: glslang_messages_t = glslang_messages_t(32768);
189}
190impl glslang_messages_t {
191    pub const ABSOLUTE_PATH: glslang_messages_t = glslang_messages_t(65536);
192}
193impl glslang_messages_t {
194    pub const DISPLAY_ERROR_COLUMN: glslang_messages_t = glslang_messages_t(131072);
195}
196impl glslang_messages_t {
197    pub const LINK_TIME_OPTIMIZATION: glslang_messages_t = glslang_messages_t(262144);
198}
199impl ::std::ops::BitOr<glslang_messages_t> for glslang_messages_t {
200    type Output = Self;
201    #[inline]
202    fn bitor(self, other: Self) -> Self {
203        glslang_messages_t(self.0 | other.0)
204    }
205}
206impl ::std::ops::BitOrAssign for glslang_messages_t {
207    #[inline]
208    fn bitor_assign(&mut self, rhs: glslang_messages_t) {
209        self.0 |= rhs.0;
210    }
211}
212impl ::std::ops::BitAnd<glslang_messages_t> for glslang_messages_t {
213    type Output = Self;
214    #[inline]
215    fn bitand(self, other: Self) -> Self {
216        glslang_messages_t(self.0 & other.0)
217    }
218}
219impl ::std::ops::BitAndAssign for glslang_messages_t {
220    #[inline]
221    fn bitand_assign(&mut self, rhs: glslang_messages_t) {
222        self.0 &= rhs.0;
223    }
224}
225#[repr(transparent)]
226#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
227pub struct glslang_messages_t(pub ::std::os::raw::c_int);
228#[repr(i32)]
229#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
230pub enum glslang_profile_t {
231    None = 1,
232    Core = 2,
233    Compatibility = 4,
234    ES = 8,
235}
236impl glslang_shader_options_t {
237    pub const DEFAULT: glslang_shader_options_t = glslang_shader_options_t(0);
238}
239impl glslang_shader_options_t {
240    pub const AUTO_MAP_BINDINGS: glslang_shader_options_t = glslang_shader_options_t(1);
241}
242impl glslang_shader_options_t {
243    pub const AUTO_MAP_LOCATIONS: glslang_shader_options_t = glslang_shader_options_t(2);
244}
245impl glslang_shader_options_t {
246    pub const VULKAN_RULES_RELAXED: glslang_shader_options_t = glslang_shader_options_t(4);
247}
248impl ::std::ops::BitOr<glslang_shader_options_t> for glslang_shader_options_t {
249    type Output = Self;
250    #[inline]
251    fn bitor(self, other: Self) -> Self {
252        glslang_shader_options_t(self.0 | other.0)
253    }
254}
255impl ::std::ops::BitOrAssign for glslang_shader_options_t {
256    #[inline]
257    fn bitor_assign(&mut self, rhs: glslang_shader_options_t) {
258        self.0 |= rhs.0;
259    }
260}
261impl ::std::ops::BitAnd<glslang_shader_options_t> for glslang_shader_options_t {
262    type Output = Self;
263    #[inline]
264    fn bitand(self, other: Self) -> Self {
265        glslang_shader_options_t(self.0 & other.0)
266    }
267}
268impl ::std::ops::BitAndAssign for glslang_shader_options_t {
269    #[inline]
270    fn bitand_assign(&mut self, rhs: glslang_shader_options_t) {
271        self.0 &= rhs.0;
272    }
273}
274#[repr(transparent)]
275#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
276pub struct glslang_shader_options_t(pub ::std::os::raw::c_int);
277#[repr(i32)]
278#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
279pub enum glslang_resource_type_t {
280    Sampler = 0,
281    Texture = 1,
282    Image = 2,
283    UBO = 3,
284    SSBO = 4,
285    UAV = 5,
286}
287#[repr(C)]
288#[derive(Debug, Copy, Clone)]
289pub struct glslang_shader_s {
290    _unused: [u8; 0],
291}
292pub type glslang_shader_t = glslang_shader_s;
293#[repr(C)]
294#[derive(Debug, Copy, Clone)]
295pub struct glslang_program_s {
296    _unused: [u8; 0],
297}
298pub type glslang_program_t = glslang_program_s;
299#[repr(C)]
300#[derive(Debug, Copy, Clone)]
301pub struct glslang_mapper_s {
302    _unused: [u8; 0],
303}
304pub type glslang_mapper_t = glslang_mapper_s;
305#[repr(C)]
306#[derive(Debug, Copy, Clone)]
307pub struct glslang_resolver_s {
308    _unused: [u8; 0],
309}
310pub type glslang_resolver_t = glslang_resolver_s;
311#[repr(C)]
312#[derive(Debug, Copy, Clone)]
313pub struct glslang_version_s {
314    pub major: ::std::os::raw::c_int,
315    pub minor: ::std::os::raw::c_int,
316    pub patch: ::std::os::raw::c_int,
317    pub flavor: *const ::std::os::raw::c_char,
318}
319pub type glslang_version_t = glslang_version_s;
320#[repr(C)]
321#[derive(Debug, Copy, Clone)]
322pub struct glslang_limits_s {
323    pub non_inductive_for_loops: bool,
324    pub while_loops: bool,
325    pub do_while_loops: bool,
326    pub general_uniform_indexing: bool,
327    pub general_attribute_matrix_vector_indexing: bool,
328    pub general_varying_indexing: bool,
329    pub general_sampler_indexing: bool,
330    pub general_variable_indexing: bool,
331    pub general_constant_matrix_vector_indexing: bool,
332}
333pub type glslang_limits_t = glslang_limits_s;
334#[repr(C)]
335#[derive(Copy, Clone)]
336pub struct glslang_resource_s {
337    pub max_lights: ::std::os::raw::c_int,
338    pub max_clip_planes: ::std::os::raw::c_int,
339    pub max_texture_units: ::std::os::raw::c_int,
340    pub max_texture_coords: ::std::os::raw::c_int,
341    pub max_vertex_attribs: ::std::os::raw::c_int,
342    pub max_vertex_uniform_components: ::std::os::raw::c_int,
343    pub max_varying_floats: ::std::os::raw::c_int,
344    pub max_vertex_texture_image_units: ::std::os::raw::c_int,
345    pub max_combined_texture_image_units: ::std::os::raw::c_int,
346    pub max_texture_image_units: ::std::os::raw::c_int,
347    pub max_fragment_uniform_components: ::std::os::raw::c_int,
348    pub max_draw_buffers: ::std::os::raw::c_int,
349    pub max_vertex_uniform_vectors: ::std::os::raw::c_int,
350    pub max_varying_vectors: ::std::os::raw::c_int,
351    pub max_fragment_uniform_vectors: ::std::os::raw::c_int,
352    pub max_vertex_output_vectors: ::std::os::raw::c_int,
353    pub max_fragment_input_vectors: ::std::os::raw::c_int,
354    pub min_program_texel_offset: ::std::os::raw::c_int,
355    pub max_program_texel_offset: ::std::os::raw::c_int,
356    pub max_clip_distances: ::std::os::raw::c_int,
357    pub max_compute_work_group_count_x: ::std::os::raw::c_int,
358    pub max_compute_work_group_count_y: ::std::os::raw::c_int,
359    pub max_compute_work_group_count_z: ::std::os::raw::c_int,
360    pub max_compute_work_group_size_x: ::std::os::raw::c_int,
361    pub max_compute_work_group_size_y: ::std::os::raw::c_int,
362    pub max_compute_work_group_size_z: ::std::os::raw::c_int,
363    pub max_compute_uniform_components: ::std::os::raw::c_int,
364    pub max_compute_texture_image_units: ::std::os::raw::c_int,
365    pub max_compute_image_uniforms: ::std::os::raw::c_int,
366    pub max_compute_atomic_counters: ::std::os::raw::c_int,
367    pub max_compute_atomic_counter_buffers: ::std::os::raw::c_int,
368    pub max_varying_components: ::std::os::raw::c_int,
369    pub max_vertex_output_components: ::std::os::raw::c_int,
370    pub max_geometry_input_components: ::std::os::raw::c_int,
371    pub max_geometry_output_components: ::std::os::raw::c_int,
372    pub max_fragment_input_components: ::std::os::raw::c_int,
373    pub max_image_units: ::std::os::raw::c_int,
374    pub max_combined_image_units_and_fragment_outputs: ::std::os::raw::c_int,
375    pub max_combined_shader_output_resources: ::std::os::raw::c_int,
376    pub max_image_samples: ::std::os::raw::c_int,
377    pub max_vertex_image_uniforms: ::std::os::raw::c_int,
378    pub max_tess_control_image_uniforms: ::std::os::raw::c_int,
379    pub max_tess_evaluation_image_uniforms: ::std::os::raw::c_int,
380    pub max_geometry_image_uniforms: ::std::os::raw::c_int,
381    pub max_fragment_image_uniforms: ::std::os::raw::c_int,
382    pub max_combined_image_uniforms: ::std::os::raw::c_int,
383    pub max_geometry_texture_image_units: ::std::os::raw::c_int,
384    pub max_geometry_output_vertices: ::std::os::raw::c_int,
385    pub max_geometry_total_output_components: ::std::os::raw::c_int,
386    pub max_geometry_uniform_components: ::std::os::raw::c_int,
387    pub max_geometry_varying_components: ::std::os::raw::c_int,
388    pub max_tess_control_input_components: ::std::os::raw::c_int,
389    pub max_tess_control_output_components: ::std::os::raw::c_int,
390    pub max_tess_control_texture_image_units: ::std::os::raw::c_int,
391    pub max_tess_control_uniform_components: ::std::os::raw::c_int,
392    pub max_tess_control_total_output_components: ::std::os::raw::c_int,
393    pub max_tess_evaluation_input_components: ::std::os::raw::c_int,
394    pub max_tess_evaluation_output_components: ::std::os::raw::c_int,
395    pub max_tess_evaluation_texture_image_units: ::std::os::raw::c_int,
396    pub max_tess_evaluation_uniform_components: ::std::os::raw::c_int,
397    pub max_tess_patch_components: ::std::os::raw::c_int,
398    pub max_patch_vertices: ::std::os::raw::c_int,
399    pub max_tess_gen_level: ::std::os::raw::c_int,
400    pub max_viewports: ::std::os::raw::c_int,
401    pub max_vertex_atomic_counters: ::std::os::raw::c_int,
402    pub max_tess_control_atomic_counters: ::std::os::raw::c_int,
403    pub max_tess_evaluation_atomic_counters: ::std::os::raw::c_int,
404    pub max_geometry_atomic_counters: ::std::os::raw::c_int,
405    pub max_fragment_atomic_counters: ::std::os::raw::c_int,
406    pub max_combined_atomic_counters: ::std::os::raw::c_int,
407    pub max_atomic_counter_bindings: ::std::os::raw::c_int,
408    pub max_vertex_atomic_counter_buffers: ::std::os::raw::c_int,
409    pub max_tess_control_atomic_counter_buffers: ::std::os::raw::c_int,
410    pub max_tess_evaluation_atomic_counter_buffers: ::std::os::raw::c_int,
411    pub max_geometry_atomic_counter_buffers: ::std::os::raw::c_int,
412    pub max_fragment_atomic_counter_buffers: ::std::os::raw::c_int,
413    pub max_combined_atomic_counter_buffers: ::std::os::raw::c_int,
414    pub max_atomic_counter_buffer_size: ::std::os::raw::c_int,
415    pub max_transform_feedback_buffers: ::std::os::raw::c_int,
416    pub max_transform_feedback_interleaved_components: ::std::os::raw::c_int,
417    pub max_cull_distances: ::std::os::raw::c_int,
418    pub max_combined_clip_and_cull_distances: ::std::os::raw::c_int,
419    pub max_samples: ::std::os::raw::c_int,
420    pub max_mesh_output_vertices_nv: ::std::os::raw::c_int,
421    pub max_mesh_output_primitives_nv: ::std::os::raw::c_int,
422    pub max_mesh_work_group_size_x_nv: ::std::os::raw::c_int,
423    pub max_mesh_work_group_size_y_nv: ::std::os::raw::c_int,
424    pub max_mesh_work_group_size_z_nv: ::std::os::raw::c_int,
425    pub max_task_work_group_size_x_nv: ::std::os::raw::c_int,
426    pub max_task_work_group_size_y_nv: ::std::os::raw::c_int,
427    pub max_task_work_group_size_z_nv: ::std::os::raw::c_int,
428    pub max_mesh_view_count_nv: ::std::os::raw::c_int,
429    pub max_mesh_output_vertices_ext: ::std::os::raw::c_int,
430    pub max_mesh_output_primitives_ext: ::std::os::raw::c_int,
431    pub max_mesh_work_group_size_x_ext: ::std::os::raw::c_int,
432    pub max_mesh_work_group_size_y_ext: ::std::os::raw::c_int,
433    pub max_mesh_work_group_size_z_ext: ::std::os::raw::c_int,
434    pub max_task_work_group_size_x_ext: ::std::os::raw::c_int,
435    pub max_task_work_group_size_y_ext: ::std::os::raw::c_int,
436    pub max_task_work_group_size_z_ext: ::std::os::raw::c_int,
437    pub max_mesh_view_count_ext: ::std::os::raw::c_int,
438    pub __bindgen_anon_1: glslang_resource_s__bindgen_ty_1,
439    pub limits: glslang_limits_t,
440}
441#[repr(C)]
442#[derive(Copy, Clone)]
443pub union glslang_resource_s__bindgen_ty_1 {
444    pub max_dual_source_draw_buffers_ext: ::std::os::raw::c_int,
445    pub maxDualSourceDrawBuffersEXT: ::std::os::raw::c_int,
446}
447pub type glslang_resource_t = glslang_resource_s;
448#[repr(C)]
449#[derive(Debug, Copy, Clone)]
450pub struct glsl_include_result_s {
451    pub header_name: *const ::std::os::raw::c_char,
452    pub header_data: *const ::std::os::raw::c_char,
453    pub header_length: usize,
454}
455pub type glsl_include_result_t = glsl_include_result_s;
456pub type glsl_include_local_func = ::std::option::Option<
457    unsafe extern "C" fn(
458        ctx: *mut ::std::os::raw::c_void,
459        header_name: *const ::std::os::raw::c_char,
460        includer_name: *const ::std::os::raw::c_char,
461        include_depth: usize,
462    ) -> *mut glsl_include_result_t,
463>;
464pub type glsl_include_system_func = ::std::option::Option<
465    unsafe extern "C" fn(
466        ctx: *mut ::std::os::raw::c_void,
467        header_name: *const ::std::os::raw::c_char,
468        includer_name: *const ::std::os::raw::c_char,
469        include_depth: usize,
470    ) -> *mut glsl_include_result_t,
471>;
472pub type glsl_free_include_result_func = ::std::option::Option<
473    unsafe extern "C" fn(
474        ctx: *mut ::std::os::raw::c_void,
475        result: *mut glsl_include_result_t,
476    ) -> ::std::os::raw::c_int,
477>;
478#[repr(C)]
479#[derive(Debug, Copy, Clone)]
480pub struct glsl_include_callbacks_s {
481    pub include_system: glsl_include_system_func,
482    pub include_local: glsl_include_local_func,
483    pub free_include_result: glsl_free_include_result_func,
484}
485pub type glsl_include_callbacks_t = glsl_include_callbacks_s;
486#[repr(C)]
487#[derive(Debug, Copy, Clone)]
488pub struct glslang_input_s {
489    pub language: glslang_source_t,
490    pub stage: glslang_stage_t,
491    pub client: glslang_client_t,
492    pub client_version: glslang_target_client_version_t,
493    pub target_language: glslang_target_language_t,
494    pub target_language_version: glslang_target_language_version_t,
495    #[doc = " Shader source code"]
496    pub code: *const ::std::os::raw::c_char,
497    pub default_version: ::std::os::raw::c_int,
498    pub default_profile: glslang_profile_t,
499    pub force_default_version_and_profile: ::std::os::raw::c_int,
500    pub forward_compatible: ::std::os::raw::c_int,
501    pub messages: glslang_messages_t,
502    pub resource: *const glslang_resource_t,
503    pub callbacks: glsl_include_callbacks_t,
504    pub callbacks_ctx: *mut ::std::os::raw::c_void,
505}
506pub type glslang_input_t = glslang_input_s;
507#[repr(C)]
508#[derive(Debug, Copy, Clone)]
509pub struct glslang_spv_options_s {
510    pub generate_debug_info: bool,
511    pub strip_debug_info: bool,
512    pub disable_optimizer: bool,
513    pub optimize_size: bool,
514    pub disassemble: bool,
515    pub validate: bool,
516    pub emit_nonsemantic_shader_debug_info: bool,
517    pub emit_nonsemantic_shader_debug_source: bool,
518    pub compile_only: bool,
519    pub optimize_allow_expanded_id_bound: bool,
520}
521pub type glslang_spv_options_t = glslang_spv_options_s;
522extern "C" {
523    pub fn glslang_get_version(version: *mut glslang_version_t);
524}
525extern "C" {
526    pub fn glslang_initialize_process() -> ::std::os::raw::c_int;
527}
528extern "C" {
529    pub fn glslang_finalize_process();
530}
531extern "C" {
532    pub fn glslang_shader_create(input: *const glslang_input_t) -> *mut glslang_shader_t;
533}
534extern "C" {
535    pub fn glslang_shader_delete(shader: *mut glslang_shader_t);
536}
537extern "C" {
538    pub fn glslang_shader_set_preamble(
539        shader: *mut glslang_shader_t,
540        s: *const ::std::os::raw::c_char,
541    );
542}
543extern "C" {
544    pub fn glslang_shader_shift_binding(
545        shader: *mut glslang_shader_t,
546        res: glslang_resource_type_t,
547        base: ::std::os::raw::c_uint,
548    );
549}
550extern "C" {
551    pub fn glslang_shader_shift_binding_for_set(
552        shader: *mut glslang_shader_t,
553        res: glslang_resource_type_t,
554        base: ::std::os::raw::c_uint,
555        set: ::std::os::raw::c_uint,
556    );
557}
558extern "C" {
559    pub fn glslang_shader_set_options(
560        shader: *mut glslang_shader_t,
561        options: ::std::os::raw::c_int,
562    );
563}
564extern "C" {
565    pub fn glslang_shader_set_glsl_version(
566        shader: *mut glslang_shader_t,
567        version: ::std::os::raw::c_int,
568    );
569}
570extern "C" {
571    pub fn glslang_shader_set_default_uniform_block_set_and_binding(
572        shader: *mut glslang_shader_t,
573        set: ::std::os::raw::c_uint,
574        binding: ::std::os::raw::c_uint,
575    );
576}
577extern "C" {
578    pub fn glslang_shader_set_default_uniform_block_name(
579        shader: *mut glslang_shader_t,
580        name: *const ::std::os::raw::c_char,
581    );
582}
583extern "C" {
584    pub fn glslang_shader_set_resource_set_binding(
585        shader: *mut glslang_shader_t,
586        bindings: *const *const ::std::os::raw::c_char,
587        num_bindings: ::std::os::raw::c_uint,
588    );
589}
590extern "C" {
591    pub fn glslang_shader_preprocess(
592        shader: *mut glslang_shader_t,
593        input: *const glslang_input_t,
594    ) -> ::std::os::raw::c_int;
595}
596extern "C" {
597    pub fn glslang_shader_parse(
598        shader: *mut glslang_shader_t,
599        input: *const glslang_input_t,
600    ) -> ::std::os::raw::c_int;
601}
602extern "C" {
603    pub fn glslang_shader_get_preprocessed_code(
604        shader: *mut glslang_shader_t,
605    ) -> *const ::std::os::raw::c_char;
606}
607extern "C" {
608    pub fn glslang_shader_set_preprocessed_code(
609        shader: *mut glslang_shader_t,
610        code: *const ::std::os::raw::c_char,
611    );
612}
613extern "C" {
614    pub fn glslang_shader_get_info_log(
615        shader: *mut glslang_shader_t,
616    ) -> *const ::std::os::raw::c_char;
617}
618extern "C" {
619    pub fn glslang_shader_get_info_debug_log(
620        shader: *mut glslang_shader_t,
621    ) -> *const ::std::os::raw::c_char;
622}
623extern "C" {
624    pub fn glslang_program_create() -> *mut glslang_program_t;
625}
626extern "C" {
627    pub fn glslang_program_delete(program: *mut glslang_program_t);
628}
629extern "C" {
630    pub fn glslang_program_add_shader(
631        program: *mut glslang_program_t,
632        shader: *mut glslang_shader_t,
633    );
634}
635extern "C" {
636    pub fn glslang_program_link(
637        program: *mut glslang_program_t,
638        messages: ::std::os::raw::c_int,
639    ) -> ::std::os::raw::c_int;
640}
641extern "C" {
642    pub fn glslang_program_add_source_text(
643        program: *mut glslang_program_t,
644        stage: glslang_stage_t,
645        text: *const ::std::os::raw::c_char,
646        len: usize,
647    );
648}
649extern "C" {
650    pub fn glslang_program_set_source_file(
651        program: *mut glslang_program_t,
652        stage: glslang_stage_t,
653        file: *const ::std::os::raw::c_char,
654    );
655}
656extern "C" {
657    pub fn glslang_program_map_io(program: *mut glslang_program_t) -> ::std::os::raw::c_int;
658}
659extern "C" {
660    pub fn glslang_program_map_io_with_resolver_and_mapper(
661        program: *mut glslang_program_t,
662        resolver: *mut glslang_resolver_t,
663        mapper: *mut glslang_mapper_t,
664    ) -> ::std::os::raw::c_int;
665}
666extern "C" {
667    pub fn glslang_program_SPIRV_generate(program: *mut glslang_program_t, stage: glslang_stage_t);
668}
669extern "C" {
670    pub fn glslang_program_SPIRV_generate_with_options(
671        program: *mut glslang_program_t,
672        stage: glslang_stage_t,
673        spv_options: *mut glslang_spv_options_t,
674    );
675}
676extern "C" {
677    pub fn glslang_program_SPIRV_get_size(program: *mut glslang_program_t) -> usize;
678}
679extern "C" {
680    pub fn glslang_program_SPIRV_get(
681        program: *mut glslang_program_t,
682        arg1: *mut ::std::os::raw::c_uint,
683    );
684}
685extern "C" {
686    pub fn glslang_program_SPIRV_get_ptr(
687        program: *mut glslang_program_t,
688    ) -> *mut ::std::os::raw::c_uint;
689}
690extern "C" {
691    pub fn glslang_program_SPIRV_get_messages(
692        program: *mut glslang_program_t,
693    ) -> *const ::std::os::raw::c_char;
694}
695extern "C" {
696    pub fn glslang_program_get_info_log(
697        program: *mut glslang_program_t,
698    ) -> *const ::std::os::raw::c_char;
699}
700extern "C" {
701    pub fn glslang_program_get_info_debug_log(
702        program: *mut glslang_program_t,
703    ) -> *const ::std::os::raw::c_char;
704}
705extern "C" {
706    pub fn glslang_glsl_mapper_create() -> *mut glslang_mapper_t;
707}
708extern "C" {
709    pub fn glslang_glsl_mapper_delete(mapper: *mut glslang_mapper_t);
710}
711extern "C" {
712    pub fn glslang_glsl_resolver_create(
713        program: *mut glslang_program_t,
714        stage: glslang_stage_t,
715    ) -> *mut glslang_resolver_t;
716}
717extern "C" {
718    pub fn glslang_glsl_resolver_delete(resolver: *mut glslang_resolver_t);
719}