Package org.lwjgl.util.shaderc
@NullMarked
package org.lwjgl.util.shaderc
Contains bindings to Shaderc, a collection of libraries for shader compilation.
Shaderc wraps around core functionality in glslang and SPIRV-Tools. Shaderc aims to to provide:
- a command line compiler with GCC- and Clang-like usage, for better integration with build systems
- an API where functionality can be added without breaking existing clients
- an API supporting standard concurrency patterns across multiple operating systems
- increased functionality such as file #include support
-
ClassDescriptionContains the function pointers loaded from the shaderc
SharedLibrary.struct glslang_input_t { glslang_source_t language; glslang_stage_t stage; glslang_client_t client; glslang_target_client_version_t client_version; glslang_target_language_t target_language; glslang_target_language_version_t target_language_version; char const * code; int default_version; glslang_profile_t default_profile; int force_default_version_and_profile; int forward_compatible; glslang_messages_t messages;glslang_resource_tconst * resource;glsl_include_callbacks_tcallbacks; void * callbacks_ctx; }An array ofGLSLangInputstructs.struct glslang_limits_t { bool non_inductive_for_loops; bool while_loops; bool do_while_loops; bool general_uniform_indexing; bool general_attribute_matrix_vector_indexing; bool general_varying_indexing; bool general_sampler_indexing; bool general_variable_indexing; bool general_constant_matrix_vector_indexing; }An array ofGLSLangLimitsstructs.struct glslang_resource_t { int max_lights; int max_clip_planes; int max_texture_units; int max_texture_coords; int max_vertex_attribs; int max_vertex_uniform_components; int max_varying_floats; int max_vertex_texture_image_units; int max_combined_texture_image_units; int max_texture_image_units; int max_fragment_uniform_components; int max_draw_buffers; int max_vertex_uniform_vectors; int max_varying_vectors; int max_fragment_uniform_vectors; int max_vertex_output_vectors; int max_fragment_input_vectors; int min_program_texel_offset; int max_program_texel_offset; int max_clip_distances; int max_compute_work_group_count_x; int max_compute_work_group_count_y; int max_compute_work_group_count_z; int max_compute_work_group_size_x; int max_compute_work_group_size_y; int max_compute_work_group_size_z; int max_compute_uniform_components; int max_compute_texture_image_units; int max_compute_image_uniforms; int max_compute_atomic_counters; int max_compute_atomic_counter_buffers; int max_varying_components; int max_vertex_output_components; int max_geometry_input_components; int max_geometry_output_components; int max_fragment_input_components; int max_image_units; int max_combined_image_units_and_fragment_outputs; int max_combined_shader_output_resources; int max_image_samples; int max_vertex_image_uniforms; int max_tess_control_image_uniforms; int max_tess_evaluation_image_uniforms; int max_geometry_image_uniforms; int max_fragment_image_uniforms; int max_combined_image_uniforms; int max_geometry_texture_image_units; int max_geometry_output_vertices; int max_geometry_total_output_components; int max_geometry_uniform_components; int max_geometry_varying_components; int max_tess_control_input_components; int max_tess_control_output_components; int max_tess_control_texture_image_units; int max_tess_control_uniform_components; int max_tess_control_total_output_components; int max_tess_evaluation_input_components; int max_tess_evaluation_output_components; int max_tess_evaluation_texture_image_units; int max_tess_evaluation_uniform_components; int max_tess_patch_components; int max_patch_vertices; int max_tess_gen_level; int max_viewports; int max_vertex_atomic_counters; int max_tess_control_atomic_counters; int max_tess_evaluation_atomic_counters; int max_geometry_atomic_counters; int max_fragment_atomic_counters; int max_combined_atomic_counters; int max_atomic_counter_bindings; int max_vertex_atomic_counter_buffers; int max_tess_control_atomic_counter_buffers; int max_tess_evaluation_atomic_counter_buffers; int max_geometry_atomic_counter_buffers; int max_fragment_atomic_counter_buffers; int max_combined_atomic_counter_buffers; int max_atomic_counter_buffer_size; int max_transform_feedback_buffers; int max_transform_feedback_interleaved_components; int max_cull_distances; int max_combined_clip_and_cull_distances; int max_samples; int max_mesh_output_vertices_nv; int max_mesh_output_primitives_nv; int max_mesh_work_group_size_x_nv; int max_mesh_work_group_size_y_nv; int max_mesh_work_group_size_z_nv; int max_task_work_group_size_x_nv; int max_task_work_group_size_y_nv; int max_task_work_group_size_z_nv; int max_mesh_view_count_nv; int max_mesh_output_vertices_ext; int max_mesh_output_primitives_ext; int max_mesh_work_group_size_x_ext; int max_mesh_work_group_size_y_ext; int max_mesh_work_group_size_z_ext; int max_task_work_group_size_x_ext; int max_task_work_group_size_y_ext; int max_task_work_group_size_z_ext; int max_mesh_view_count_ext; int max_dual_source_draw_buffers_ext;glslang_limits_tlimits; }An array ofGLSLangResourcestructs.struct glslang_spv_options_t { bool generate_debug_info; bool strip_debug_info; bool disable_optimizer; bool optimize_size; bool disassemble; bool validate; bool emit_nonsemantic_shader_debug_info; bool emit_nonsemantic_shader_debug_source; bool compile_only; bool optimize_allow_expanded_id_bound; }An array ofGLSLangSPVOptionsstructs.struct glslang_version_t { int major; int minor; int patch; char const * flavor; }An array ofGLSLangVersionstructs.Callback function:glsl_free_include_result_funcCallback function:glsl_free_include_result_funcstruct glsl_include_callbacks_t {glsl_include_system_funcinclude_system;glsl_include_local_funcinclude_local;glsl_free_include_result_funcfree_include_result; }An array ofGLSLIncludeCallbacksstructs.Callback function:glsl_include_local_funcCallback function:glsl_include_local_funcstruct glsl_include_result_t { char const * header_name; char const * header_data; size_t header_length; }An array ofGLSLIncludeResultstructs.Callback function:glsl_include_system_funcCallback function:glsl_include_system_funcContains the function pointers loaded from the shadercSharedLibrary.Callback function:shaderc_include_resolve_fnCallback function:shaderc_include_resolve_fnstruct shaderc_include_result { char const * source_name; size_t source_name_length; char const * content; size_t content_length; void * user_data; }An array ofShadercIncludeResultstructs.Callback function:shaderc_include_result_release_fnCallback function:shaderc_include_result_release_fnContains the function pointers loaded from the shadercSharedLibrary.struct spv_binary_t { uint32_t * code; size_t wordCount; }An array ofSPVBinarystructs.struct spv_diagnostic_t {spv_position_tposition; char * error; bool isTextSource; }An array ofSPVDiagnosticstructs.Callback function:spv_message_consumerCallback function:spv_message_consumerstruct spv_parsed_header_t { uint32_t magic; uint32_t version; uint32_t generator; uint32_t bound; uint32_t reserved; }An array ofSPVParsedHeaderstructs.Callback function:spv_parsed_header_fn_tCallback function:spv_parsed_header_fn_tstruct spv_parsed_instruction_t { uint32_t const * words; uint16_t num_words; uint16_t opcode; spv_ext_inst_type_t ext_inst_type; uint32_t type_id; uint32_t result_id;spv_parsed_operand_tconst * operands; uint16_t num_operands; }An array ofSPVParsedInstructionstructs.Callback function:spv_parsed_instruction_fn_tCallback function:spv_parsed_instruction_fn_tstruct spv_parsed_operand_t { uint16_t offset; uint16_t num_words; spv_operand_type_t type; spv_number_kind_t number_kind; uint32_t number_bit_width; spv_fp_encoding_t fp_encoding; }An array ofSPVParsedOperandstructs.struct spv_position_t { size_t line; size_t column; size_t index; }An array ofSPVPositionstructs.struct spv_text_t { char const * str; size_t length; }An array ofSPVTextstructs.