roglew 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -0
- data/lib/roglew/contexts/base.rb +58 -0
- data/lib/roglew/contexts/deferred.rb +27 -0
- data/lib/roglew/contexts/immediate.rb +19 -0
- data/lib/roglew/contextual.rb +53 -0
- data/lib/roglew/errors.rb +5 -0
- data/lib/roglew/ext/ffi_struct_ext.rb +20 -0
- data/lib/roglew/extensions/GL_3DFX_multisample.rb +8 -0
- data/lib/roglew/extensions/GL_3DFX_tbuffer.rb +8 -0
- data/lib/roglew/extensions/GL_3DFX_texture_compression_FXT1.rb +6 -0
- data/lib/roglew/extensions/GL_AMD_blend_minmax_factor.rb +6 -0
- data/lib/roglew/extensions/GL_AMD_debug_output.rb +37 -0
- data/lib/roglew/extensions/GL_AMD_depth_clamp_separate.rb +6 -0
- data/lib/roglew/extensions/GL_AMD_draw_buffers_blend.rb +10 -0
- data/lib/roglew/extensions/GL_AMD_multi_draw_indirect.rb +8 -0
- data/lib/roglew/extensions/GL_AMD_name_gen_delete.rb +19 -0
- data/lib/roglew/extensions/GL_AMD_performance_monitor.rb +29 -0
- data/lib/roglew/extensions/GL_AMD_pinned_memory.rb +5 -0
- data/lib/roglew/extensions/GL_AMD_query_buffer_object.rb +7 -0
- data/lib/roglew/extensions/GL_AMD_sample_positions.rb +13 -0
- data/lib/roglew/extensions/GL_AMD_seamless_cubemap_per_texture.rb +5 -0
- data/lib/roglew/extensions/GL_AMD_stencil_operation_extended.rb +16 -0
- data/lib/roglew/extensions/GL_AMD_vertex_shader_tessellator.rb +20 -0
- data/lib/roglew/extensions/GL_APPLE_aux_depth_stencil.rb +5 -0
- data/lib/roglew/extensions/GL_APPLE_client_storage.rb +5 -0
- data/lib/roglew/extensions/GL_APPLE_element_array.rb +19 -0
- data/lib/roglew/extensions/GL_APPLE_fence.rb +21 -0
- data/lib/roglew/extensions/GL_APPLE_float_pixels.rb +18 -0
- data/lib/roglew/extensions/GL_APPLE_flush_buffer_range.rb +15 -0
- data/lib/roglew/extensions/GL_APPLE_object_purgeable.rb +20 -0
- data/lib/roglew/extensions/GL_APPLE_pixel_buffer.rb +5 -0
- data/lib/roglew/extensions/GL_APPLE_rgb_422.rb +7 -0
- data/lib/roglew/extensions/GL_APPLE_row_bytes.rb +6 -0
- data/lib/roglew/extensions/GL_APPLE_specular_vector.rb +5 -0
- data/lib/roglew/extensions/GL_APPLE_texture_range.rb +19 -0
- data/lib/roglew/extensions/GL_APPLE_transform_hint.rb +5 -0
- data/lib/roglew/extensions/GL_APPLE_vertex_array_object.rb +16 -0
- data/lib/roglew/extensions/GL_APPLE_vertex_array_range.rb +22 -0
- data/lib/roglew/extensions/GL_APPLE_vertex_program_evaluators.rb +28 -0
- data/lib/roglew/extensions/GL_APPLE_ycbcr_422.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_ES2_compatibility.rb +32 -0
- data/lib/roglew/extensions/GL_ARB_ES3_compatibility.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_base_instance.rb +9 -0
- data/lib/roglew/extensions/GL_ARB_blend_func_extended.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_cl_event.rb +14 -0
- data/lib/roglew/extensions/GL_ARB_clear_buffer_object.rb +10 -0
- data/lib/roglew/extensions/GL_ARB_color_buffer_float.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_compressed_texture_pixel_storage.rb +12 -0
- data/lib/roglew/extensions/GL_ARB_compute_shader.rb +31 -0
- data/lib/roglew/extensions/GL_ARB_copy_buffer.rb +14 -0
- data/lib/roglew/extensions/GL_ARB_copy_image.rb +7 -0
- data/lib/roglew/extensions/GL_ARB_debug_output.rb +39 -0
- data/lib/roglew/extensions/GL_ARB_depth_buffer_float.rb +7 -0
- data/lib/roglew/extensions/GL_ARB_depth_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_depth_texture.rb +9 -0
- data/lib/roglew/extensions/GL_ARB_draw_buffers.rb +29 -0
- data/lib/roglew/extensions/GL_ARB_draw_buffers_blend.rb +10 -0
- data/lib/roglew/extensions/GL_ARB_draw_elements_base_vertex.rb +10 -0
- data/lib/roglew/extensions/GL_ARB_draw_indirect.rb +15 -0
- data/lib/roglew/extensions/GL_ARB_explicit_uniform_location.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_fragment_program.rb +19 -0
- data/lib/roglew/extensions/GL_ARB_fragment_shader.rb +7 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_no_attachments.rb +24 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer.rb +24 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/framebuffer_context.rb +51 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer.rb +23 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_object/renderbuffer_context.rb +48 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_object.rb +152 -0
- data/lib/roglew/extensions/GL_ARB_framebuffer_sRGB.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_geometry_shader4.rb +34 -0
- data/lib/roglew/extensions/GL_ARB_get_program_binary.rb +18 -0
- data/lib/roglew/extensions/GL_ARB_gpu_shader5.rb +10 -0
- data/lib/roglew/extensions/GL_ARB_gpu_shader_fp64.rb +41 -0
- data/lib/roglew/extensions/GL_ARB_half_float_pixel.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_half_float_vertex.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_imaging.rb +120 -0
- data/lib/roglew/extensions/GL_ARB_instanced_arrays.rb +15 -0
- data/lib/roglew/extensions/GL_ARB_internalformat_query.rb +13 -0
- data/lib/roglew/extensions/GL_ARB_internalformat_query2.rb +124 -0
- data/lib/roglew/extensions/GL_ARB_invalidate_subdata.rb +12 -0
- data/lib/roglew/extensions/GL_ARB_map_buffer_alignment.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_map_buffer_range.rb +19 -0
- data/lib/roglew/extensions/GL_ARB_matrix_palette.rb +26 -0
- data/lib/roglew/extensions/GL_ARB_multi_draw_indirect.rb +8 -0
- data/lib/roglew/extensions/GL_ARB_multisample.rb +21 -0
- data/lib/roglew/extensions/GL_ARB_multitexture.rb +80 -0
- data/lib/roglew/extensions/GL_ARB_occlusion_query.rb +24 -0
- data/lib/roglew/extensions/GL_ARB_occlusion_query2.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_pixel_buffer_object.rb +9 -0
- data/lib/roglew/extensions/GL_ARB_point_parameters.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_point_sprite.rb +6 -0
- data/lib/roglew/extensions/GL_ARB_program_interface_query.rb +64 -0
- data/lib/roglew/extensions/GL_ARB_provoking_vertex.rb +16 -0
- data/lib/roglew/extensions/GL_ARB_robustness.rb +38 -0
- data/lib/roglew/extensions/GL_ARB_sample_shading.rb +15 -0
- data/lib/roglew/extensions/GL_ARB_sampler_objects.rb +27 -0
- data/lib/roglew/extensions/GL_ARB_seamless_cube_map.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_separate_shader_objects.rb +81 -0
- data/lib/roglew/extensions/GL_ARB_shader_atomic_counters.rb +42 -0
- data/lib/roglew/extensions/GL_ARB_shader_image_load_store.rb +78 -0
- data/lib/roglew/extensions/GL_ARB_shader_objects.rb +85 -0
- data/lib/roglew/extensions/GL_ARB_shader_storage_buffer_object.rb +29 -0
- data/lib/roglew/extensions/GL_ARB_shader_subroutine.rb +29 -0
- data/lib/roglew/extensions/GL_ARB_shading_language_100.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_shading_language_include.rb +20 -0
- data/lib/roglew/extensions/GL_ARB_shadow.rb +7 -0
- data/lib/roglew/extensions/GL_ARB_shadow_ambient.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_stencil_texturing.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_sync.rb +34 -0
- data/lib/roglew/extensions/GL_ARB_tessellation_shader.rb +46 -0
- data/lib/roglew/extensions/GL_ARB_texture_border_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_texture_buffer_object.rb +18 -0
- data/lib/roglew/extensions/GL_ARB_texture_buffer_range.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_texture_compression.rb +30 -0
- data/lib/roglew/extensions/GL_ARB_texture_compression_bptc.rb +8 -0
- data/lib/roglew/extensions/GL_ARB_texture_compression_rgtc.rb +8 -0
- data/lib/roglew/extensions/GL_ARB_texture_cube_map.rb +16 -0
- data/lib/roglew/extensions/GL_ARB_texture_cube_map_array.rb +11 -0
- data/lib/roglew/extensions/GL_ARB_texture_env_combine.rb +26 -0
- data/lib/roglew/extensions/GL_ARB_texture_env_dot3.rb +6 -0
- data/lib/roglew/extensions/GL_ARB_texture_float.rb +24 -0
- data/lib/roglew/extensions/GL_ARB_texture_gather.rb +7 -0
- data/lib/roglew/extensions/GL_ARB_texture_mirrored_repeat.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_texture_multisample.rb +37 -0
- data/lib/roglew/extensions/GL_ARB_texture_rectangle.rb +10 -0
- data/lib/roglew/extensions/GL_ARB_texture_rg.rb +28 -0
- data/lib/roglew/extensions/GL_ARB_texture_rgb10_a2ui.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_texture_storage.rb +19 -0
- data/lib/roglew/extensions/GL_ARB_texture_storage_multisample.rb +11 -0
- data/lib/roglew/extensions/GL_ARB_texture_swizzle.rb +9 -0
- data/lib/roglew/extensions/GL_ARB_texture_view.rb +18 -0
- data/lib/roglew/extensions/GL_ARB_timer_query.rb +17 -0
- data/lib/roglew/extensions/GL_ARB_transform_feedback2.rb +23 -0
- data/lib/roglew/extensions/GL_ARB_transform_feedback3pt.rb +18 -0
- data/lib/roglew/extensions/GL_ARB_transform_feedback_instanced.rb +9 -0
- data/lib/roglew/extensions/GL_ARB_transpose_matrix.rb +20 -0
- data/lib/roglew/extensions/GL_ARB_uniform_buffer_object.rb +55 -0
- data/lib/roglew/extensions/GL_ARB_vertex_array_bgra.rb +5 -0
- data/lib/roglew/extensions/GL_ARB_vertex_array_object.rb +21 -0
- data/lib/roglew/extensions/GL_ARB_vertex_attrib_64bit.rb +28 -0
- data/lib/roglew/extensions/GL_ARB_vertex_attrib_binding.rb +25 -0
- data/lib/roglew/extensions/GL_ARB_vertex_blend.rb +64 -0
- data/lib/roglew/extensions/GL_ARB_vertex_buffer_object.rb +51 -0
- data/lib/roglew/extensions/GL_ARB_vertex_program.rb +153 -0
- data/lib/roglew/extensions/GL_ARB_vertex_shader.rb +22 -0
- data/lib/roglew/extensions/GL_ARB_vertex_type_2_10_10_10_rev.rb +52 -0
- data/lib/roglew/extensions/GL_ARB_viewport_array.rb +35 -0
- data/lib/roglew/extensions/GL_ARB_window_pos.rb +22 -0
- data/lib/roglew/extensions/GL_ATIX_point_sprites.rb +10 -0
- data/lib/roglew/extensions/GL_ATIX_texture_env_combine3.rb +7 -0
- data/lib/roglew/extensions/GL_ATIX_texture_env_route.rb +7 -0
- data/lib/roglew/extensions/GL_ATIX_vertex_shader_output_point_size.rb +5 -0
- data/lib/roglew/extensions/GL_ATI_draw_buffers.rb +30 -0
- data/lib/roglew/extensions/GL_ATI_element_array.rb +18 -0
- data/lib/roglew/extensions/GL_ATI_envmap_bumpmap.rb +24 -0
- data/lib/roglew/extensions/GL_ATI_fragment_shader.rb +80 -0
- data/lib/roglew/extensions/GL_ATI_map_object_buffer.rb +9 -0
- data/lib/roglew/extensions/GL_ATI_meminfo.rb +7 -0
- data/lib/roglew/extensions/GL_ATI_pn_triangles.rb +23 -0
- data/lib/roglew/extensions/GL_ATI_separate_stencil.rb +18 -0
- data/lib/roglew/extensions/GL_ATI_text_fragment_shader.rb +5 -0
- data/lib/roglew/extensions/GL_ATI_texture_compression_3dc.rb +5 -0
- data/lib/roglew/extensions/GL_ATI_texture_env_combine3.rb +7 -0
- data/lib/roglew/extensions/GL_ATI_texture_float.rb +16 -0
- data/lib/roglew/extensions/GL_ATI_texture_mirror_once.rb +6 -0
- data/lib/roglew/extensions/GL_ATI_vertex_array_object.rb +32 -0
- data/lib/roglew/extensions/GL_ATI_vertex_attrib_array_object.rb +9 -0
- data/lib/roglew/extensions/GL_ATI_vertex_streams.rb +67 -0
- data/lib/roglew/extensions/GL_EXT_422_pixels.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_Cg_shader.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_abgr.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_bgra.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_bindable_uniform.rb +21 -0
- data/lib/roglew/extensions/GL_EXT_blend_color.rb +18 -0
- data/lib/roglew/extensions/GL_EXT_blend_equation_separate.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_blend_func_separate.rb +17 -0
- data/lib/roglew/extensions/GL_EXT_blend_minmax.rb +17 -0
- data/lib/roglew/extensions/GL_EXT_blend_subtract.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_clip_volume_hint.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_cmyka.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_color_subtable.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_compiled_vertex_array.rb +16 -0
- data/lib/roglew/extensions/GL_EXT_convolution.rb +45 -0
- data/lib/roglew/extensions/GL_EXT_coordinate_frame.rb +28 -0
- data/lib/roglew/extensions/GL_EXT_copy_texture.rb +11 -0
- data/lib/roglew/extensions/GL_EXT_cull_vertex.rb +17 -0
- data/lib/roglew/extensions/GL_EXT_debug_marker.rb +9 -0
- data/lib/roglew/extensions/GL_EXT_depth_bounds_test.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_direct_state_access.rb +245 -0
- data/lib/roglew/extensions/GL_EXT_draw_buffers2.rb +12 -0
- data/lib/roglew/extensions/GL_EXT_draw_instanced.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_draw_range_elements.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_fog_coord.rb +24 -0
- data/lib/roglew/extensions/GL_EXT_fragment_lighting.rb +44 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_blit.rb +17 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_multisample.rb +16 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_multisample_blit_scaled.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer.rb +24 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/framebuffer_context.rb +42 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer.rb +23 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_object/renderbuffer_context.rb +43 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_object.rb +127 -0
- data/lib/roglew/extensions/GL_EXT_framebuffer_sRGB.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_geometry_shader4.rb +35 -0
- data/lib/roglew/extensions/GL_EXT_gpu_program_parameters.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_gpu_shader4.rb +72 -0
- data/lib/roglew/extensions/GL_EXT_histogram.rb +35 -0
- data/lib/roglew/extensions/GL_EXT_index_func.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_index_material.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_light_texture.rb +24 -0
- data/lib/roglew/extensions/GL_EXT_multi_draw_arrays.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_multisample.rb +31 -0
- data/lib/roglew/extensions/GL_EXT_packed_depth_stencil.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_packed_float.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_packed_pixels.rb +9 -0
- data/lib/roglew/extensions/GL_EXT_paletted_texture.rb +37 -0
- data/lib/roglew/extensions/GL_EXT_pixel_buffer_object.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_pixel_transform.rb +27 -0
- data/lib/roglew/extensions/GL_EXT_point_parameters.rb +18 -0
- data/lib/roglew/extensions/GL_EXT_polygon_offset.rb +16 -0
- data/lib/roglew/extensions/GL_EXT_provoking_vertex.rb +17 -0
- data/lib/roglew/extensions/GL_EXT_rescale_normal.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_scene_marker.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_secondary_color.rb +36 -0
- data/lib/roglew/extensions/GL_EXT_separate_shader_objects.rb +16 -0
- data/lib/roglew/extensions/GL_EXT_separate_specular_color.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_shader_image_load_store.rb +69 -0
- data/lib/roglew/extensions/GL_EXT_shared_texture_palette.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_stencil_clear_tag.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_stencil_two_side.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_stencil_wrap.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_subtexture.rb +9 -0
- data/lib/roglew/extensions/GL_EXT_texture.rb +46 -0
- data/lib/roglew/extensions/GL_EXT_texture3D.rb +22 -0
- data/lib/roglew/extensions/GL_EXT_texture_array.rb +21 -0
- data/lib/roglew/extensions/GL_EXT_texture_buffer_object.rb +18 -0
- data/lib/roglew/extensions/GL_EXT_texture_compression_latc.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_texture_compression_rgtc.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_texture_compression_s3tc.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_texture_cube_map.rb +16 -0
- data/lib/roglew/extensions/GL_EXT_texture_edge_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_texture_env.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_texture_env_combine.rb +25 -0
- data/lib/roglew/extensions/GL_EXT_texture_env_dot3.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_texture_filter_anisotropic.rb +6 -0
- data/lib/roglew/extensions/GL_EXT_texture_integer.rb +65 -0
- data/lib/roglew/extensions/GL_EXT_texture_lod_bias.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_texture_mirror_clamp.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_texture_object.rb +23 -0
- data/lib/roglew/extensions/GL_EXT_texture_perturb_normal.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_texture_rectangle.rb +8 -0
- data/lib/roglew/extensions/GL_EXT_texture_sRGB.rb +20 -0
- data/lib/roglew/extensions/GL_EXT_texture_sRGB_decode.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_texture_shared_exponent.rb +7 -0
- data/lib/roglew/extensions/GL_EXT_texture_snorm.rb +29 -0
- data/lib/roglew/extensions/GL_EXT_texture_swizzle.rb +9 -0
- data/lib/roglew/extensions/GL_EXT_timer_query.rb +15 -0
- data/lib/roglew/extensions/GL_EXT_transform_feedback.rb +34 -0
- data/lib/roglew/extensions/GL_EXT_vertex_array.rb +53 -0
- data/lib/roglew/extensions/GL_EXT_vertex_array_bgra.rb +5 -0
- data/lib/roglew/extensions/GL_EXT_vertex_attrib_64bit.rb +35 -0
- data/lib/roglew/extensions/GL_EXT_vertex_shader.rb +164 -0
- data/lib/roglew/extensions/GL_EXT_vertex_weighting.rb +28 -0
- data/lib/roglew/extensions/GL_EXT_x11_sync_object.rb +14 -0
- data/lib/roglew/extensions/GL_GREMEDY_frame_terminator.rb +7 -0
- data/lib/roglew/extensions/GL_GREMEDY_string_marker.rb +7 -0
- data/lib/roglew/extensions/GL_HP_image_transform.rb +12 -0
- data/lib/roglew/extensions/GL_HP_occlusion_test.rb +6 -0
- data/lib/roglew/extensions/GL_IBM_cull_vertex.rb +5 -0
- data/lib/roglew/extensions/GL_IBM_multimode_draw_arrays.rb +8 -0
- data/lib/roglew/extensions/GL_IBM_rasterpos_clip.rb +5 -0
- data/lib/roglew/extensions/GL_IBM_static_data.rb +6 -0
- data/lib/roglew/extensions/GL_IBM_texture_mirrored_repeat.rb +5 -0
- data/lib/roglew/extensions/GL_IBM_vertex_array_lists.rb +36 -0
- data/lib/roglew/extensions/GL_INGR_color_clamp.rb +12 -0
- data/lib/roglew/extensions/GL_INGR_interlace_read.rb +5 -0
- data/lib/roglew/extensions/GL_INTEL_parallel_arrays.rb +21 -0
- data/lib/roglew/extensions/GL_INTEL_texture_scissor.rb +8 -0
- data/lib/roglew/extensions/GL_KHR_debug.rb +64 -0
- data/lib/roglew/extensions/GL_KHR_texture_compression_astc_ldr.rb +32 -0
- data/lib/roglew/extensions/GL_KTX_buffer_region.rb +21 -0
- data/lib/roglew/extensions/GL_MESAX_texture_stack.rb +10 -0
- data/lib/roglew/extensions/GL_MESA_pack_invert.rb +5 -0
- data/lib/roglew/extensions/GL_MESA_resize_buffers.rb +7 -0
- data/lib/roglew/extensions/GL_MESA_window_pos.rb +30 -0
- data/lib/roglew/extensions/GL_MESA_ycbcr_texture.rb +7 -0
- data/lib/roglew/extensions/GL_NVX_gpu_memory_info.rb +9 -0
- data/lib/roglew/extensions/GL_NV_bindless_texture.rb +19 -0
- data/lib/roglew/extensions/GL_NV_conditional_render.rb +18 -0
- data/lib/roglew/extensions/GL_NV_copy_depth_to_color.rb +6 -0
- data/lib/roglew/extensions/GL_NV_copy_image.rb +7 -0
- data/lib/roglew/extensions/GL_NV_depth_buffer_float.rb +19 -0
- data/lib/roglew/extensions/GL_NV_depth_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_NV_depth_range_unclamped.rb +9 -0
- data/lib/roglew/extensions/GL_NV_evaluators.rb +45 -0
- data/lib/roglew/extensions/GL_NV_explicit_multisample.rb +25 -0
- data/lib/roglew/extensions/GL_NV_fence.rb +22 -0
- data/lib/roglew/extensions/GL_NV_float_buffer.rb +19 -0
- data/lib/roglew/extensions/GL_NV_fog_distance.rb +7 -0
- data/lib/roglew/extensions/GL_NV_fragment_program.rb +24 -0
- data/lib/roglew/extensions/GL_NV_fragment_program2.rb +9 -0
- data/lib/roglew/extensions/GL_NV_framebuffer_multisample_coverage.rb +17 -0
- data/lib/roglew/extensions/GL_NV_geometry_program4.rb +16 -0
- data/lib/roglew/extensions/GL_NV_gpu_program4.rb +32 -0
- data/lib/roglew/extensions/GL_NV_gpu_program5.rb +10 -0
- data/lib/roglew/extensions/GL_NV_gpu_shader5.rb +74 -0
- data/lib/roglew/extensions/GL_NV_half_float.rb +59 -0
- data/lib/roglew/extensions/GL_NV_light_max_exponent.rb +6 -0
- data/lib/roglew/extensions/GL_NV_multisample_coverage.rb +6 -0
- data/lib/roglew/extensions/GL_NV_multisample_filter_hint.rb +5 -0
- data/lib/roglew/extensions/GL_NV_occlusion_query.rb +23 -0
- data/lib/roglew/extensions/GL_NV_packed_depth_stencil.rb +6 -0
- data/lib/roglew/extensions/GL_NV_parameter_buffer_object.rb +20 -0
- data/lib/roglew/extensions/GL_NV_path_rendering.rb +191 -0
- data/lib/roglew/extensions/GL_NV_pixel_data_range.rb +20 -0
- data/lib/roglew/extensions/GL_NV_point_sprite.rb +17 -0
- data/lib/roglew/extensions/GL_NV_present_video.rb +24 -0
- data/lib/roglew/extensions/GL_NV_primitive_restart.rb +16 -0
- data/lib/roglew/extensions/GL_NV_register_combiners.rb +76 -0
- data/lib/roglew/extensions/GL_NV_register_combiners2.rb +15 -0
- data/lib/roglew/extensions/GL_NV_shader_buffer_load.rb +28 -0
- data/lib/roglew/extensions/GL_NV_tessellation_program5.rb +9 -0
- data/lib/roglew/extensions/GL_NV_texgen_emboss.rb +7 -0
- data/lib/roglew/extensions/GL_NV_texgen_reflection.rb +7 -0
- data/lib/roglew/extensions/GL_NV_texture_barrier.rb +7 -0
- data/lib/roglew/extensions/GL_NV_texture_env_combine4.rb +9 -0
- data/lib/roglew/extensions/GL_NV_texture_expand_normal.rb +5 -0
- data/lib/roglew/extensions/GL_NV_texture_multisample.rb +20 -0
- data/lib/roglew/extensions/GL_NV_texture_rectangle.rb +8 -0
- data/lib/roglew/extensions/GL_NV_texture_shader.rb +77 -0
- data/lib/roglew/extensions/GL_NV_texture_shader2.rb +32 -0
- data/lib/roglew/extensions/GL_NV_texture_shader3.rb +21 -0
- data/lib/roglew/extensions/GL_NV_transform_feedback.rb +48 -0
- data/lib/roglew/extensions/GL_NV_transform_feedback2.rb +23 -0
- data/lib/roglew/extensions/GL_NV_vdpau_interop.rb +26 -0
- data/lib/roglew/extensions/GL_NV_vertex_array_range.rb +19 -0
- data/lib/roglew/extensions/GL_NV_vertex_array_range2.rb +5 -0
- data/lib/roglew/extensions/GL_NV_vertex_attrib_integer_64bit.rb +33 -0
- data/lib/roglew/extensions/GL_NV_vertex_buffer_unified_memory.rb +49 -0
- data/lib/roglew/extensions/GL_NV_vertex_program.rb +159 -0
- data/lib/roglew/extensions/GL_NV_vertex_program2_option.rb +6 -0
- data/lib/roglew/extensions/GL_NV_vertex_program3.rb +5 -0
- data/lib/roglew/extensions/GL_NV_vertex_program4.rb +5 -0
- data/lib/roglew/extensions/GL_NV_video_capture.rb +53 -0
- data/lib/roglew/extensions/GL_OES_byte_coordinates.rb +5 -0
- data/lib/roglew/extensions/GL_OES_compressed_paletted_texture.rb +14 -0
- data/lib/roglew/extensions/GL_OES_read_format.rb +6 -0
- data/lib/roglew/extensions/GL_OES_single_precision.rb +12 -0
- data/lib/roglew/extensions/GL_OML_interlace.rb +6 -0
- data/lib/roglew/extensions/GL_OML_resample.rb +10 -0
- data/lib/roglew/extensions/GL_OML_subsample.rb +6 -0
- data/lib/roglew/extensions/GL_PGI_misc_hints.rb +24 -0
- data/lib/roglew/extensions/GL_PGI_vertex_hints.rb +26 -0
- data/lib/roglew/extensions/GL_REGAL_error_string.rb +7 -0
- data/lib/roglew/extensions/GL_REGAL_extension_query.rb +8 -0
- data/lib/roglew/extensions/GL_REGAL_log.rb +13 -0
- data/lib/roglew/extensions/GL_REND_screen_coordinates.rb +6 -0
- data/lib/roglew/extensions/GL_S3_s3tc.rb +10 -0
- data/lib/roglew/extensions/GL_SGIS_color_range.rb +13 -0
- data/lib/roglew/extensions/GL_SGIS_detail_texture.rb +8 -0
- data/lib/roglew/extensions/GL_SGIS_fog_function.rb +8 -0
- data/lib/roglew/extensions/GL_SGIS_generate_mipmap.rb +6 -0
- data/lib/roglew/extensions/GL_SGIS_multisample.rb +30 -0
- data/lib/roglew/extensions/GL_SGIS_point_line_texgen.rb +12 -0
- data/lib/roglew/extensions/GL_SGIS_sharpen_texture.rb +8 -0
- data/lib/roglew/extensions/GL_SGIS_texture4D.rb +8 -0
- data/lib/roglew/extensions/GL_SGIS_texture_border_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_SGIS_texture_edge_clamp.rb +5 -0
- data/lib/roglew/extensions/GL_SGIS_texture_filter4.rb +8 -0
- data/lib/roglew/extensions/GL_SGIS_texture_lod.rb +8 -0
- data/lib/roglew/extensions/GL_SGIX_async.rb +19 -0
- data/lib/roglew/extensions/GL_SGIX_async_histogram.rb +6 -0
- data/lib/roglew/extensions/GL_SGIX_async_pixel.rb +10 -0
- data/lib/roglew/extensions/GL_SGIX_blend_alpha_minmax.rb +6 -0
- data/lib/roglew/extensions/GL_SGIX_convolution_accuracy.rb +5 -0
- data/lib/roglew/extensions/GL_SGIX_depth_texture.rb +7 -0
- data/lib/roglew/extensions/GL_SGIX_flush_raster.rb +7 -0
- data/lib/roglew/extensions/GL_SGIX_fog_offset.rb +6 -0
- data/lib/roglew/extensions/GL_SGIX_fog_texture.rb +16 -0
- data/lib/roglew/extensions/GL_SGIX_fragment_specular_lighting.rb +23 -0
- data/lib/roglew/extensions/GL_SGIX_framezoom.rb +8 -0
- data/lib/roglew/extensions/GL_SGIX_interlace.rb +5 -0
- data/lib/roglew/extensions/GL_SGIX_pixel_texture.rb +8 -0
- data/lib/roglew/extensions/GL_SGIX_reference_plane.rb +7 -0
- data/lib/roglew/extensions/GL_SGIX_resample.rb +8 -0
- data/lib/roglew/extensions/GL_SGIX_shadow_ambient.rb +5 -0
- data/lib/roglew/extensions/GL_SGIX_sprite.rb +10 -0
- data/lib/roglew/extensions/GL_SGIX_tag_sample_buffer.rb +7 -0
- data/lib/roglew/extensions/GL_SGIX_texture_coordinate_clamp.rb +7 -0
- data/lib/roglew/extensions/GL_SGIX_texture_multi_buffer.rb +5 -0
- data/lib/roglew/extensions/GL_SGIX_texture_range.rb +32 -0
- data/lib/roglew/extensions/GL_SGIX_texture_scale_bias.rb +8 -0
- data/lib/roglew/extensions/GL_SGIX_vertex_preclip.rb +6 -0
- data/lib/roglew/extensions/GL_SGIX_vertex_preclip_hint.rb +6 -0
- data/lib/roglew/extensions/GL_SGI_color_matrix.rb +15 -0
- data/lib/roglew/extensions/GL_SGI_color_table.rb +35 -0
- data/lib/roglew/extensions/GL_SGI_texture_color_table.rb +6 -0
- data/lib/roglew/extensions/GL_SUNX_constant_data.rb +15 -0
- data/lib/roglew/extensions/GL_SUN_convolution_border_modes.rb +5 -0
- data/lib/roglew/extensions/GL_SUN_global_alpha.rb +22 -0
- data/lib/roglew/extensions/GL_SUN_mesh_array.rb +6 -0
- data/lib/roglew/extensions/GL_SUN_read_video_pixels.rb +7 -0
- data/lib/roglew/extensions/GL_SUN_slice_accum.rb +5 -0
- data/lib/roglew/extensions/GL_SUN_triangle_list.rb +36 -0
- data/lib/roglew/extensions/GL_SUN_vertex.rb +46 -0
- data/lib/roglew/extensions/GL_VERSION_1_2.rb +62 -0
- data/lib/roglew/extensions/GL_VERSION_1_3.rb +154 -0
- data/lib/roglew/extensions/GL_VERSION_1_4.rb +99 -0
- data/lib/roglew/extensions/GL_VERSION_1_5.rb +79 -0
- data/lib/roglew/extensions/GL_VERSION_2_0/shader.rb +52 -0
- data/lib/roglew/extensions/GL_VERSION_2_0/shader_program.rb +33 -0
- data/lib/roglew/extensions/GL_VERSION_2_0.rb +251 -0
- data/lib/roglew/extensions/GL_VERSION_2_1.rb +40 -0
- data/lib/roglew/extensions/GL_VERSION_3_0.rb +178 -0
- data/lib/roglew/extensions/GL_VERSION_3_1.rb +53 -0
- data/lib/roglew/extensions/GL_VERSION_3_2.rb +43 -0
- data/lib/roglew/extensions/GL_VERSION_3_3.rb +19 -0
- data/lib/roglew/extensions/GL_VERSION_4_0.rb +46 -0
- data/lib/roglew/extensions/GL_VERSION_4_2.rb +21 -0
- data/lib/roglew/extensions/GL_VERSION_4_3.rb +30 -0
- data/lib/roglew/extensions/GL_WIN_specular_fog.rb +5 -0
- data/lib/roglew/extensions/GL_WIN_swap_hint.rb +7 -0
- data/lib/roglew/extensions/WGL_3DFX_multisample.rb +6 -0
- data/lib/roglew/extensions/WGL_3DL_stereo_control.rb +16 -0
- data/lib/roglew/extensions/WGL_AMD_gpu_association.rb +30 -0
- data/lib/roglew/extensions/WGL_ARB_buffer_region.rb +19 -0
- data/lib/roglew/extensions/WGL_ARB_create_context.rb +20 -0
- data/lib/roglew/extensions/WGL_ARB_create_context_profile.rb +8 -0
- data/lib/roglew/extensions/WGL_ARB_extensions_string.rb +7 -0
- data/lib/roglew/extensions/WGL_ARB_framebuffer_sRGB.rb +5 -0
- data/lib/roglew/extensions/WGL_ARB_make_current_read.rb +15 -0
- data/lib/roglew/extensions/WGL_ARB_multisample.rb +6 -0
- data/lib/roglew/extensions/WGL_ARB_pbuffer.rb +24 -0
- data/lib/roglew/extensions/WGL_ARB_pixel_format.rb +63 -0
- data/lib/roglew/extensions/WGL_ARB_pixel_format_float.rb +5 -0
- data/lib/roglew/extensions/WGL_ARB_render_texture.rb +47 -0
- data/lib/roglew/extensions/WGL_ATI_pixel_format_float.rb +10 -0
- data/lib/roglew/extensions/WGL_ATI_render_texture_rectangle.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_create_context_es2_profile.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_create_context_es_profile.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_depth_float.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_display_color_table.rb +10 -0
- data/lib/roglew/extensions/WGL_EXT_extensions_string.rb +7 -0
- data/lib/roglew/extensions/WGL_EXT_framebuffer_sRGB.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_make_current_read.rb +14 -0
- data/lib/roglew/extensions/WGL_EXT_multisample.rb +6 -0
- data/lib/roglew/extensions/WGL_EXT_pbuffer.rb +25 -0
- data/lib/roglew/extensions/WGL_EXT_pixel_format.rb +59 -0
- data/lib/roglew/extensions/WGL_EXT_pixel_format_packed_float.rb +5 -0
- data/lib/roglew/extensions/WGL_EXT_swap_control.rb +8 -0
- data/lib/roglew/extensions/WGL_I3D_digital_video_control.rb +17 -0
- data/lib/roglew/extensions/WGL_I3D_gamma.rb +17 -0
- data/lib/roglew/extensions/WGL_I3D_genlock.rb +32 -0
- data/lib/roglew/extensions/WGL_I3D_image_buffer.rb +18 -0
- data/lib/roglew/extensions/WGL_I3D_swap_frame_lock.rb +10 -0
- data/lib/roglew/extensions/WGL_I3D_swap_frame_usage.rb +10 -0
- data/lib/roglew/extensions/WGL_NV_DX_interop.rb +22 -0
- data/lib/roglew/extensions/WGL_NV_copy_image.rb +7 -0
- data/lib/roglew/extensions/WGL_NV_float_buffer.rb +13 -0
- data/lib/roglew/extensions/WGL_NV_gpu_affinity.rb +26 -0
- data/lib/roglew/extensions/WGL_NV_multisample_coverage.rb +6 -0
- data/lib/roglew/extensions/WGL_NV_present_video.rb +15 -0
- data/lib/roglew/extensions/WGL_NV_render_depth_texture.rb +10 -0
- data/lib/roglew/extensions/WGL_NV_render_texture_rectangle.rb +7 -0
- data/lib/roglew/extensions/WGL_NV_swap_group.rb +12 -0
- data/lib/roglew/extensions/WGL_NV_vertex_array_range.rb +8 -0
- data/lib/roglew/extensions/WGL_NV_video_capture.rb +18 -0
- data/lib/roglew/extensions/WGL_NV_video_output.rb +30 -0
- data/lib/roglew/extensions/WGL_OML_sync_control.rb +12 -0
- data/lib/roglew/gl_extension.rb +21 -0
- data/lib/roglew/gl_object.rb +32 -0
- data/lib/roglew/native/gdi32.rb +242 -0
- data/lib/roglew/native/gl.rb +906 -0
- data/lib/roglew/native/glx.rb +8 -0
- data/lib/roglew/native/kernel32.rb +9 -0
- data/lib/roglew/native/native_object.rb +11 -0
- data/lib/roglew/native/wgl.rb +138 -0
- data/lib/roglew/native/win32ffi.rb +27 -0
- data/lib/roglew/render_context.rb +229 -0
- data/lib/roglew/render_handle.rb +64 -0
- data/lib/roglew/texture2d.rb +23 -0
- data/lib/roglew/texture_context.rb +46 -0
- data/lib/roglew.rb +32 -0
- metadata +531 -0
data/README.md
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
module Roglew
|
2
|
+
#classes/modules that include BaseContextModule must implement methods :bind and :unbind
|
3
|
+
module BaseContextModule
|
4
|
+
module ClassMethods
|
5
|
+
def immediate_module(mod)
|
6
|
+
raise ArgumentError, 'not a module' unless mod.is_a?(Module)
|
7
|
+
@immediate_mod = mod
|
8
|
+
end
|
9
|
+
|
10
|
+
def deferred_module(mod)
|
11
|
+
raise ArgumentError, 'not a module' unless mod.is_a?(Module)
|
12
|
+
@deferred_mod = mod
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
attr_reader :obj
|
17
|
+
|
18
|
+
def initialize(obj, deferred, &block)
|
19
|
+
@obj, @deferred = obj, @obj.is_deferred?(deferred)
|
20
|
+
singleton_class.send(:include, @deferred ? DeferredContext : ImmediateContext)
|
21
|
+
mod = self.class.instance_variable_get(@deferred ? :@deferred_mod : @immediate_mod)
|
22
|
+
singleton_class.send(:include, mod) if mod
|
23
|
+
run(&block) if block_given? && respond_to?(:run)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.included(c)
|
27
|
+
c.extend ClassMethods
|
28
|
+
end
|
29
|
+
|
30
|
+
def deferred?
|
31
|
+
@deferred
|
32
|
+
end
|
33
|
+
|
34
|
+
def immediate?
|
35
|
+
!@deferred
|
36
|
+
end
|
37
|
+
|
38
|
+
def context
|
39
|
+
@obj.context
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class BaseContext < Module
|
44
|
+
def initialize(obj_type)
|
45
|
+
@obj_type = obj_type
|
46
|
+
end
|
47
|
+
|
48
|
+
def included(c)
|
49
|
+
super
|
50
|
+
c.send(:include, BaseContextModule)
|
51
|
+
c.send(:alias_method, @obj_type, :obj)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.BaseContext(obj_type)
|
56
|
+
BaseContext.new(obj_type)
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Roglew
|
2
|
+
module DeferredContext
|
3
|
+
def finished
|
4
|
+
return unless self.calls.empty?
|
5
|
+
bind
|
6
|
+
self.calls.each { |method, args| method.(*args) }.clear
|
7
|
+
unbind
|
8
|
+
nil
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
def calls
|
13
|
+
@calls ||= []
|
14
|
+
end
|
15
|
+
|
16
|
+
def make_call(method, *args)
|
17
|
+
self.calls << [context.public_method(method), args]
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def run(&block)
|
22
|
+
return unless block_given?
|
23
|
+
ergo &block
|
24
|
+
finished
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Roglew
|
2
|
+
module ImmediateContext
|
3
|
+
def finished
|
4
|
+
unbind
|
5
|
+
end
|
6
|
+
|
7
|
+
private
|
8
|
+
def make_call(method, *args)
|
9
|
+
context.send(method, *args)
|
10
|
+
end
|
11
|
+
|
12
|
+
def run(&block)
|
13
|
+
bind
|
14
|
+
return unless block_given?
|
15
|
+
ergo &block
|
16
|
+
finished
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Roglew
|
2
|
+
module ContextualModule
|
3
|
+
module ClassMethods
|
4
|
+
def deferred?
|
5
|
+
!!@deferred
|
6
|
+
end
|
7
|
+
|
8
|
+
def deferred=(v)
|
9
|
+
@deferred = v
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
include ClassMethods
|
14
|
+
|
15
|
+
def self.included(c)
|
16
|
+
c.extend ClassMethods
|
17
|
+
end
|
18
|
+
|
19
|
+
def is_deferred?(deferred)
|
20
|
+
class_deferred = self.class.respond_to?(:deferred?) && self.class.deferred?
|
21
|
+
context_deferred = @context.respond_to?(:deferred?) && @context.deferred?
|
22
|
+
context_class_deferred = @context.class.respond_to?(:deferred?) && @context.class.deferred?
|
23
|
+
[deferred, self.deferred?, class_deferred, context_deferred, context_class_deferred].compact.first
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def create_binding(deferred, *args, &block)
|
28
|
+
ctx_class = self.class.ancestors.find { |c| c.is_a?(Contextual) }.context_class
|
29
|
+
ctx = ctx_class.new(self, deferred, *args, &block)
|
30
|
+
block_given? ? self : ctx
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Contextual < Module
|
35
|
+
attr_reader :context_class
|
36
|
+
|
37
|
+
def initialize(context_class)
|
38
|
+
@context_class = context_class
|
39
|
+
end
|
40
|
+
|
41
|
+
def included(c)
|
42
|
+
super
|
43
|
+
c.instance_eval do
|
44
|
+
include ContextualModule
|
45
|
+
extend ContextualModule::ClassMethods
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.Contextual(context_class)
|
51
|
+
Contextual.new(context_class)
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'ffi'
|
2
|
+
|
3
|
+
module FFI
|
4
|
+
class Struct
|
5
|
+
class << self
|
6
|
+
alias :layout_base :layout
|
7
|
+
private :layout_base
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.layout(*args)
|
11
|
+
layout_base(*args)
|
12
|
+
members.each do |name|
|
13
|
+
unless instance_methods.member?(name)
|
14
|
+
define_method name, ->{self[name]}
|
15
|
+
define_method "#{name}=", ->(v){self[name] = v}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
DEBUG_CATEGORY_API_ERROR_AMD ||= 0x9149
|
4
|
+
DEBUG_CATEGORY_APPLICATION_AMD ||= 0x914F
|
5
|
+
DEBUG_CATEGORY_DEPRECATION_AMD ||= 0x914B
|
6
|
+
DEBUG_CATEGORY_OTHER_AMD ||= 0x9150
|
7
|
+
DEBUG_CATEGORY_PERFORMANCE_AMD ||= 0x914D
|
8
|
+
DEBUG_CATEGORY_SHADER_COMPILER_AMD ||= 0x914E
|
9
|
+
DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD ||= 0x914C
|
10
|
+
DEBUG_CATEGORY_WINDOW_SYSTEM_AMD ||= 0x914A
|
11
|
+
DEBUG_LOGGED_MESSAGES_AMD ||= 0x9145
|
12
|
+
DEBUG_SEVERITY_HIGH_AMD ||= 0x9146
|
13
|
+
DEBUG_SEVERITY_LOW_AMD ||= 0x9148
|
14
|
+
DEBUG_SEVERITY_MEDIUM_AMD ||= 0x9147
|
15
|
+
MAX_DEBUG_LOGGED_MESSAGES_AMD ||= 0x9144
|
16
|
+
MAX_DEBUG_MESSAGE_LENGTH_AMD ||= 0x9143
|
17
|
+
|
18
|
+
GLDEBUGPROCAMD = callback :GLDEBUGPROCAMD, [ :uint, :uint, :uint, :int, :string, :pointer ], :void
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
module GL_AMD_debug_output
|
23
|
+
module RenderContext
|
24
|
+
include Roglew::GLExtension
|
25
|
+
|
26
|
+
functions [:glDebugMessageCallbackAMD, [ Roglew::GL::GLDEBUGPROCAMD, :pointer ], :void],
|
27
|
+
[:glDebugMessageEnableAMD, [ :uint, :uint, :int, :pointer, :bool ], :void],
|
28
|
+
[:glDebugMessageInsertAMD, [ :uint, :uint, :uint, :int, :string ], :void],
|
29
|
+
[:glGetDebugMessageLogAMD, [ :uint, :int, :pointer, :pointer, :pointer, :pointer, :string ], :uint]
|
30
|
+
|
31
|
+
def debug_message_enableAMD(category, severity, ids, enabled)
|
32
|
+
pids = FFI::MemoryPointer.new(:uint, ids.count)
|
33
|
+
pids.write_array_of_uint(ids)
|
34
|
+
glDebugMessageEnableAMD(category, severity, ids.count, pids, enabled)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module GL_AMD_draw_buffers_blend
|
2
|
+
module RenderContext
|
3
|
+
include Roglew::GLExtension
|
4
|
+
|
5
|
+
functions [:glBlendEquationIndexedAMD, [ :uint, :uint ], :void],
|
6
|
+
[:glBlendEquationSeparateIndexedAMD, [ :uint, :uint, :uint ], :void],
|
7
|
+
[:glBlendFuncIndexedAMD, [ :uint, :uint, :uint ], :void],
|
8
|
+
[:glBlendFuncSeparateIndexedAMD, [ :uint, :uint, :uint, :uint, :uint ], :void]
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module GL_AMD_multi_draw_indirect
|
2
|
+
module RenderContext
|
3
|
+
include Roglew::GLExtension
|
4
|
+
|
5
|
+
functions [:glMultiDrawArraysIndirectAMD, [ :uint, :pointer, :int, :int ], :void],
|
6
|
+
[:glMultiDrawElementsIndirectAMD, [ :uint, :uint, :pointer, :int, :int ], :void]
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
DATA_BUFFER_AMD ||= 0x9151
|
4
|
+
PERFORMANCE_MONITOR_AMD ||= 0x9152
|
5
|
+
QUERY_OBJECT_AMD ||= 0x9153
|
6
|
+
SAMPLER_OBJECT_AMD ||= 0x9155
|
7
|
+
VERTEX_ARRAY_OBJECT_AMD ||= 0x9154
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module GL_AMD_name_gen_delete
|
12
|
+
module RenderContext
|
13
|
+
include Roglew::GLExtension
|
14
|
+
|
15
|
+
functions [:glDeleteNamesAMD, [ :uint, :uint, :pointer ], :void],
|
16
|
+
[:glGenNamesAMD, [ :uint, :uint, :pointer ], :void],
|
17
|
+
[:glIsNameAMD, [ :uint, :uint ], :uchar]
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
COUNTER_RANGE_AMD ||= 0x8BC1
|
4
|
+
COUNTER_TYPE_AMD ||= 0x8BC0
|
5
|
+
PERCENTAGE_AMD ||= 0x8BC3
|
6
|
+
PERFMON_RESULT_AMD ||= 0x8BC6
|
7
|
+
PERFMON_RESULT_AVAILABLE_AMD ||= 0x8BC4
|
8
|
+
PERFMON_RESULT_SIZE_AMD ||= 0x8BC5
|
9
|
+
UNSIGNED_INT64_AMD ||= 0x8BC2
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module GL_AMD_performance_monitor
|
14
|
+
module RenderContext
|
15
|
+
include Roglew::GLExtension
|
16
|
+
|
17
|
+
functions [:glBeginPerfMonitorAMD, [ :uint ], :void],
|
18
|
+
[:glDeletePerfMonitorsAMD, [ :int, :pointer ], :void],
|
19
|
+
[:glEndPerfMonitorAMD, [ :uint ], :void],
|
20
|
+
[:glGenPerfMonitorsAMD, [ :int, :pointer ], :void],
|
21
|
+
[:glGetPerfMonitorCounterDataAMD, [ :uint, :uint, :int, :pointer, :pointer ], :void],
|
22
|
+
[:glGetPerfMonitorCounterInfoAMD, [ :uint, :uint, :uint, :pointer ], :void],
|
23
|
+
[:glGetPerfMonitorCountersAMD, [ :uint, :pointer, :pointer, :int, :pointer ], :void],
|
24
|
+
[:glGetPerfMonitorCounterStringAMD, [ :uint, :uint, :int, :pointer, :string ], :void],
|
25
|
+
[:glGetPerfMonitorGroupsAMD, [ :pointer, :int, :pointer ], :void],
|
26
|
+
[:glGetPerfMonitorGroupStringAMD, [ :uint, :int, :pointer, :string ], :void],
|
27
|
+
[:glSelectPerfMonitorCountersAMD, [ :uint, :uchar, :uint, :int, :pointer ], :void]
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
REPLACE_VALUE_AMD ||= 0x874B
|
4
|
+
SET_AMD ||= 0x874A
|
5
|
+
STENCIL_BACK_OP_VALUE_AMD ||= 0x874D
|
6
|
+
STENCIL_OP_VALUE_AMD ||= 0x874C
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
module GL_AMD_stencil_operation_extended
|
11
|
+
module RenderContext
|
12
|
+
include Roglew::GLExtension
|
13
|
+
|
14
|
+
functions [:glStencilOpValueAMD, [ :uint, :uint ], :void]
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
CONTINUOUS_AMD ||= 0x9007
|
4
|
+
DISCRETE_AMD ||= 0x9006
|
5
|
+
INT_SAMPLER_BUFFER_AMD ||= 0x9002
|
6
|
+
SAMPLER_BUFFER_AMD ||= 0x9001
|
7
|
+
TESSELLATION_FACTOR_AMD ||= 0x9005
|
8
|
+
TESSELLATION_MODE_AMD ||= 0x9004
|
9
|
+
UNSIGNED_INT_SAMPLER_BUFFER_AMD ||= 0x9003
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module GL_AMD_vertex_shader_tessellator
|
14
|
+
module RenderContext
|
15
|
+
include Roglew::GLExtension
|
16
|
+
|
17
|
+
functions [:glTessellationFactorAMD, [ :float ], :void],
|
18
|
+
[:glTessellationModeAMD, [ :uint ], :void]
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
ELEMENT_ARRAY_APPLE ||= 0x8A0C
|
4
|
+
ELEMENT_ARRAY_POINTER_APPLE ||= 0x8A0E
|
5
|
+
ELEMENT_ARRAY_TYPE_APPLE ||= 0x8A0D
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
module GL_APPLE_element_array
|
10
|
+
module RenderContext
|
11
|
+
include Roglew::GLExtension
|
12
|
+
|
13
|
+
functions [:glDrawElementArrayAPPLE, [ :uint, :int, :int ], :void],
|
14
|
+
[:glDrawRangeElementArrayAPPLE, [ :uint, :uint, :uint, :int, :int ], :void],
|
15
|
+
[:glElementPointerAPPLE, [ :uint, :pointer ], :void],
|
16
|
+
[:glMultiDrawElementArrayAPPLE, [ :uint, :pointer, :pointer, :int ], :void],
|
17
|
+
[:glMultiDrawRangeElementArrayAPPLE, [ :uint, :uint, :uint, :pointer, :pointer, :int ], :void]
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
DRAW_PIXELS_APPLE ||= 0x8A0A
|
4
|
+
FENCE_APPLE ||= 0x8A0B
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
module GL_APPLE_fence
|
9
|
+
module RenderContext
|
10
|
+
include Roglew::GLExtension
|
11
|
+
|
12
|
+
functions [:glDeleteFencesAPPLE, [ :int, :pointer ], :void],
|
13
|
+
[:glFinishFenceAPPLE, [ :uint ], :void],
|
14
|
+
[:glFinishObjectAPPLE, [ :uint, :int ], :void],
|
15
|
+
[:glGenFencesAPPLE, [ :int, :pointer ], :void],
|
16
|
+
[:glIsFenceAPPLE, [ :uint ], :uchar],
|
17
|
+
[:glSetFenceAPPLE, [ :uint ], :void],
|
18
|
+
[:glTestFenceAPPLE, [ :uint ], :uchar],
|
19
|
+
[:glTestObjectAPPLE, [ :uint, :uint ], :uchar]
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
ALPHA_FLOAT16_APPLE ||= 0x881C
|
4
|
+
ALPHA_FLOAT32_APPLE ||= 0x8816
|
5
|
+
COLOR_FLOAT_APPLE ||= 0x8A0F
|
6
|
+
HALF_APPLE ||= 0x140B
|
7
|
+
INTENSITY_FLOAT16_APPLE ||= 0x881D
|
8
|
+
INTENSITY_FLOAT32_APPLE ||= 0x8817
|
9
|
+
LUMINANCE_ALPHA_FLOAT16_APPLE ||= 0x881F
|
10
|
+
LUMINANCE_ALPHA_FLOAT32_APPLE ||= 0x8819
|
11
|
+
LUMINANCE_FLOAT16_APPLE ||= 0x881E
|
12
|
+
LUMINANCE_FLOAT32_APPLE ||= 0x8818
|
13
|
+
RGB_FLOAT16_APPLE ||= 0x881B
|
14
|
+
RGB_FLOAT32_APPLE ||= 0x8815
|
15
|
+
RGBA_FLOAT16_APPLE ||= 0x881A
|
16
|
+
RGBA_FLOAT32_APPLE ||= 0x8814
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
BUFFER_FLUSHING_UNMAP_APPLE ||= 0x8A13
|
4
|
+
BUFFER_SERIALIZED_MODIFY_APPLE ||= 0x8A12
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
module GL_APPLE_flush_buffer_range
|
9
|
+
module RenderContext
|
10
|
+
include Roglew::GLExtension
|
11
|
+
|
12
|
+
functions [:glBufferParameteriAPPLE, [ :uint, :uint, :int ], :void],
|
13
|
+
[:glFlushMappedBufferRangeAPPLE, [ :uint, :int64, :int64 ], :void]
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
BUFFER_OBJECT_APPLE ||= 0x85B3
|
4
|
+
PURGEABLE_APPLE ||= 0x8A1D
|
5
|
+
RELEASED_APPLE ||= 0x8A19
|
6
|
+
RETAINED_APPLE ||= 0x8A1B
|
7
|
+
UNDEFINED_APPLE ||= 0x8A1C
|
8
|
+
VOLATILE_APPLE ||= 0x8A1A
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module GL_APPLE_object_purgeable
|
13
|
+
module RenderContext
|
14
|
+
include Roglew::GLExtension
|
15
|
+
|
16
|
+
functions [:glGetObjectParameterivAPPLE, [ :uint, :uint, :uint, :pointer ], :void],
|
17
|
+
[:glObjectPurgeableAPPLE, [ :uint, :uint, :uint ], :uint],
|
18
|
+
[:glObjectUnpurgeableAPPLE, [ :uint, :uint, :uint ], :uint]
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
TEXTURE_RANGE_LENGTH_APPLE ||= 0x85B7
|
4
|
+
TEXTURE_RANGE_POINTER_APPLE ||= 0x85B8
|
5
|
+
TEXTURE_STORAGE_HINT_APPLE ||= 0x85BC
|
6
|
+
STORAGE_PRIVATE_APPLE ||= 0x85BD
|
7
|
+
STORAGE_CACHED_APPLE ||= 0x85BE
|
8
|
+
STORAGE_SHARED_APPLE ||= 0x85BF
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module GL_APPLE_texture_range
|
13
|
+
module RenderContext
|
14
|
+
include Roglew::GLExtension
|
15
|
+
|
16
|
+
functions [:glGetTexParameterPointervAPPLE, [ :uint, :uint, :pointer ], :void],
|
17
|
+
[:glTextureRangeAPPLE, [ :uint, :int, :pointer ], :void]
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
VERTEX_ARRAY_BINDING_APPLE ||= 0x85B5
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
module GL_APPLE_vertex_array_object
|
8
|
+
module RenderContext
|
9
|
+
include Roglew::GLExtension
|
10
|
+
|
11
|
+
functions [:glBindVertexArrayAPPLE, [ :uint ], :void],
|
12
|
+
[:glDeleteVertexArraysAPPLE, [ :int, :pointer ], :void],
|
13
|
+
[:glGenVertexArraysAPPLE, [ :int, :pointer ], :void],
|
14
|
+
[:glIsVertexArrayAPPLE, [ :uint ], :uchar]
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE ||= 0x8520
|
4
|
+
STORAGE_CACHED_APPLE ||= 0x85BE
|
5
|
+
STORAGE_CLIENT_APPLE ||= 0x85B4
|
6
|
+
STORAGE_SHARED_APPLE ||= 0x85BF
|
7
|
+
VERTEX_ARRAY_RANGE_APPLE ||= 0x851D
|
8
|
+
VERTEX_ARRAY_RANGE_LENGTH_APPLE ||= 0x851E
|
9
|
+
VERTEX_ARRAY_RANGE_POINTER_APPLE ||= 0x8521
|
10
|
+
VERTEX_ARRAY_STORAGE_HINT_APPLE ||= 0x851F
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module GL_APPLE_vertex_array_range
|
15
|
+
module RenderContext
|
16
|
+
include Roglew::GLExtension
|
17
|
+
|
18
|
+
functions [:glFlushVertexArrayRangeAPPLE, [ :int, :pointer ], :void],
|
19
|
+
[:glVertexArrayParameteriAPPLE, [ :uint, :int ], :void],
|
20
|
+
[:glVertexArrayRangeAPPLE, [ :int, :pointer ], :void]
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Roglew
|
2
|
+
module GL
|
3
|
+
VERTEX_ATTRIB_MAP1_APPLE ||= 0x8A00
|
4
|
+
VERTEX_ATTRIB_MAP1_COEFF_APPLE ||= 0x8A03
|
5
|
+
VERTEX_ATTRIB_MAP1_DOMAIN_APPLE ||= 0x8A05
|
6
|
+
VERTEX_ATTRIB_MAP1_ORDER_APPLE ||= 0x8A04
|
7
|
+
VERTEX_ATTRIB_MAP1_SIZE_APPLE ||= 0x8A02
|
8
|
+
VERTEX_ATTRIB_MAP2_APPLE ||= 0x8A01
|
9
|
+
VERTEX_ATTRIB_MAP2_COEFF_APPLE ||= 0x8A07
|
10
|
+
VERTEX_ATTRIB_MAP2_DOMAIN_APPLE ||= 0x8A09
|
11
|
+
VERTEX_ATTRIB_MAP2_ORDER_APPLE ||= 0x8A08
|
12
|
+
VERTEX_ATTRIB_MAP2_SIZE_APPLE ||= 0x8A06
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module GL_APPLE_vertex_program_evaluators
|
17
|
+
module RenderContext
|
18
|
+
include Roglew::GLExtension
|
19
|
+
|
20
|
+
functions [:glDisableVertexAttribAPPLE, [ :uint, :uint ], :void],
|
21
|
+
[:glEnableVertexAttribAPPLE, [ :uint, :uint ], :void],
|
22
|
+
[:glIsVertexAttribEnabledAPPLE, [ :uint, :uint ], :uchar],
|
23
|
+
[:glMapVertexAttrib1dAPPLE, [ :uint, :uint, :double, :double, :int, :int, :pointer ], :void],
|
24
|
+
[:glMapVertexAttrib1fAPPLE, [ :uint, :uint, :float, :float, :int, :int, :pointer ], :void],
|
25
|
+
[:glMapVertexAttrib2dAPPLE, [ :uint, :uint, :double, :double, :int, :int, :double, :double, :int, :int, :pointer ], :void],
|
26
|
+
[:glMapVertexAttrib2fAPPLE, [ :uint, :uint, :float, :float, :int, :int, :float, :float, :int, :int, :pointer ], :void]
|
27
|
+
end
|
28
|
+
end
|