diff --git a/doc/glew.html b/doc/glew.html index b60b797..55f02cf 100644 --- a/doc/glew.html +++ b/doc/glew.html @@ -909,155 +909,156 @@ THE POSSIBILITY OF SUCH DAMAGE. 780 QCOM_driver_control 781 QCOM_extended_get 782 QCOM_extended_get2 -783 QCOM_framebuffer_foveated -784 QCOM_motion_estimation -785 QCOM_perfmon_global_mode -786 QCOM_shader_framebuffer_fetch_noncoherent -787 QCOM_shader_framebuffer_fetch_rate -788 QCOM_shading_rate -789 QCOM_texture_foveated -790 QCOM_texture_foveated2 -791 QCOM_texture_foveated_subsampled_layout -792 QCOM_tiled_rendering -793 QCOM_writeonly_rendering +783 QCOM_frame_extrapolation +784 QCOM_framebuffer_foveated +785 QCOM_motion_estimation +786 QCOM_perfmon_global_mode +787 QCOM_shader_framebuffer_fetch_noncoherent +788 QCOM_shader_framebuffer_fetch_rate +789 QCOM_shading_rate +790 QCOM_texture_foveated +791 QCOM_texture_foveated2 +792 QCOM_texture_foveated_subsampled_layout +793 QCOM_tiled_rendering +794 QCOM_writeonly_rendering
-794 REGAL_ES1_0_compatibility -795 REGAL_ES1_1_compatibility -796 REGAL_enable -797 REGAL_error_string -798 REGAL_extension_query -799 REGAL_log -800 REGAL_proc_address +795 REGAL_ES1_0_compatibility +796 REGAL_ES1_1_compatibility +797 REGAL_enable +798 REGAL_error_string +799 REGAL_extension_query +800 REGAL_log +801 REGAL_proc_address
-801 REND_screen_coordinates +802 REND_screen_coordinates
-802 S3_s3tc +803 S3_s3tc
-803 SGIS_clip_band_hint -804 SGIS_color_range -805 SGIS_detail_texture -806 SGIS_fog_function -807 SGIS_generate_mipmap -808 SGIS_line_texgen -809 SGIS_multisample -810 SGIS_multitexture -811 SGIS_pixel_texture -812 SGIS_point_line_texgen -813 SGIS_shared_multisample -814 SGIS_sharpen_texture -815 SGIS_texture4D -816 SGIS_texture_border_clamp -817 SGIS_texture_edge_clamp -818 SGIS_texture_filter4 -819 SGIS_texture_lod -820 SGIS_texture_select +804 SGIS_clip_band_hint +805 SGIS_color_range +806 SGIS_detail_texture +807 SGIS_fog_function +808 SGIS_generate_mipmap +809 SGIS_line_texgen +810 SGIS_multisample +811 SGIS_multitexture +812 SGIS_pixel_texture +813 SGIS_point_line_texgen +814 SGIS_shared_multisample +815 SGIS_sharpen_texture +816 SGIS_texture4D +817 SGIS_texture_border_clamp +818 SGIS_texture_edge_clamp +819 SGIS_texture_filter4 +820 SGIS_texture_lod +821 SGIS_texture_select
-821 SGIX_async -822 SGIX_async_histogram -823 SGIX_async_pixel -824 SGIX_bali_g_instruments -825 SGIX_bali_r_instruments -826 SGIX_bali_timer_instruments -827 SGIX_blend_alpha_minmax -828 SGIX_blend_cadd -829 SGIX_blend_cmultiply -830 SGIX_calligraphic_fragment -831 SGIX_clipmap -832 SGIX_color_matrix_accuracy -833 SGIX_color_table_index_mode -834 SGIX_complex_polar -835 SGIX_convolution_accuracy -836 SGIX_cube_map -837 SGIX_cylinder_texgen -838 SGIX_datapipe -839 SGIX_decimation -840 SGIX_depth_pass_instrument -841 SGIX_depth_texture -842 SGIX_dvc -843 SGIX_flush_raster -844 SGIX_fog_blend -845 SGIX_fog_factor_to_alpha -846 SGIX_fog_layers -847 SGIX_fog_offset -848 SGIX_fog_patchy -849 SGIX_fog_scale -850 SGIX_fog_texture -851 SGIX_fragment_lighting_space -852 SGIX_fragment_specular_lighting -853 SGIX_fragments_instrument -854 SGIX_framezoom -855 SGIX_icc_texture -856 SGIX_igloo_interface -857 SGIX_image_compression -858 SGIX_impact_pixel_texture -859 SGIX_instrument_error -860 SGIX_interlace -861 SGIX_ir_instrument1 -862 SGIX_line_quality_hint -863 SGIX_list_priority -864 SGIX_mpeg1 -865 SGIX_mpeg2 -866 SGIX_nonlinear_lighting_pervertex -867 SGIX_nurbs_eval -868 SGIX_occlusion_instrument -869 SGIX_packed_6bytes -870 SGIX_pixel_texture -871 SGIX_pixel_texture_bits -872 SGIX_pixel_texture_lod -873 SGIX_pixel_tiles -874 SGIX_polynomial_ffd -875 SGIX_quad_mesh -876 SGIX_reference_plane -877 SGIX_resample -878 SGIX_scalebias_hint -879 SGIX_shadow -880 SGIX_shadow_ambient -881 SGIX_slim -882 SGIX_spotlight_cutoff -883 SGIX_sprite -884 SGIX_subdiv_patch -885 SGIX_subsample -886 SGIX_tag_sample_buffer -887 SGIX_texture_add_env -888 SGIX_texture_coordinate_clamp -889 SGIX_texture_lod_bias -890 SGIX_texture_mipmap_anisotropic -891 SGIX_texture_multi_buffer -892 SGIX_texture_phase -893 SGIX_texture_range -894 SGIX_texture_scale_bias -895 SGIX_texture_supersample -896 SGIX_vector_ops -897 SGIX_vertex_array_object -898 SGIX_vertex_preclip -899 SGIX_vertex_preclip_hint -900 SGIX_ycrcb -901 SGIX_ycrcb_subsample -902 SGIX_ycrcba +822 SGIX_async +823 SGIX_async_histogram +824 SGIX_async_pixel +825 SGIX_bali_g_instruments +826 SGIX_bali_r_instruments +827 SGIX_bali_timer_instruments +828 SGIX_blend_alpha_minmax +829 SGIX_blend_cadd +830 SGIX_blend_cmultiply +831 SGIX_calligraphic_fragment +832 SGIX_clipmap +833 SGIX_color_matrix_accuracy +834 SGIX_color_table_index_mode +835 SGIX_complex_polar +836 SGIX_convolution_accuracy +837 SGIX_cube_map +838 SGIX_cylinder_texgen +839 SGIX_datapipe +840 SGIX_decimation +841 SGIX_depth_pass_instrument +842 SGIX_depth_texture +843 SGIX_dvc +844 SGIX_flush_raster +845 SGIX_fog_blend +846 SGIX_fog_factor_to_alpha +847 SGIX_fog_layers +848 SGIX_fog_offset +849 SGIX_fog_patchy +850 SGIX_fog_scale +851 SGIX_fog_texture +852 SGIX_fragment_lighting_space +853 SGIX_fragment_specular_lighting +854 SGIX_fragments_instrument +855 SGIX_framezoom +856 SGIX_icc_texture +857 SGIX_igloo_interface +858 SGIX_image_compression +859 SGIX_impact_pixel_texture +860 SGIX_instrument_error +861 SGIX_interlace +862 SGIX_ir_instrument1 +863 SGIX_line_quality_hint +864 SGIX_list_priority +865 SGIX_mpeg1 +866 SGIX_mpeg2 +867 SGIX_nonlinear_lighting_pervertex +868 SGIX_nurbs_eval +869 SGIX_occlusion_instrument +870 SGIX_packed_6bytes +871 SGIX_pixel_texture +872 SGIX_pixel_texture_bits +873 SGIX_pixel_texture_lod +874 SGIX_pixel_tiles +875 SGIX_polynomial_ffd +876 SGIX_quad_mesh +877 SGIX_reference_plane +878 SGIX_resample +879 SGIX_scalebias_hint +880 SGIX_shadow +881 SGIX_shadow_ambient +882 SGIX_slim +883 SGIX_spotlight_cutoff +884 SGIX_sprite +885 SGIX_subdiv_patch +886 SGIX_subsample +887 SGIX_tag_sample_buffer +888 SGIX_texture_add_env +889 SGIX_texture_coordinate_clamp +890 SGIX_texture_lod_bias +891 SGIX_texture_mipmap_anisotropic +892 SGIX_texture_multi_buffer +893 SGIX_texture_phase +894 SGIX_texture_range +895 SGIX_texture_scale_bias +896 SGIX_texture_supersample +897 SGIX_vector_ops +898 SGIX_vertex_array_object +899 SGIX_vertex_preclip +900 SGIX_vertex_preclip_hint +901 SGIX_ycrcb +902 SGIX_ycrcb_subsample +903 SGIX_ycrcba
-903 SGI_color_matrix -904 SGI_color_table -905 SGI_complex -906 SGI_complex_type -907 SGI_fft -908 SGI_texture_color_table +904 SGI_color_matrix +905 SGI_color_table +906 SGI_complex +907 SGI_complex_type +908 SGI_fft +909 SGI_texture_color_table
-909 SUNX_constant_data +910 SUNX_constant_data
-910 SUN_convolution_border_modes -911 SUN_global_alpha -912 SUN_mesh_array -913 SUN_read_video_pixels -914 SUN_slice_accum -915 SUN_triangle_list -916 SUN_vertex +911 SUN_convolution_border_modes +912 SUN_global_alpha +913 SUN_mesh_array +914 SUN_read_video_pixels +915 SUN_slice_accum +916 SUN_triangle_list +917 SUN_vertex
-917 VIV_shader_binary +918 VIV_shader_binary
-918 WIN_phong_shading -919 WIN_scene_markerXXX -920 WIN_specular_fog -921 WIN_swap_hint +919 WIN_phong_shading +920 WIN_scene_markerXXX +921 WIN_specular_fog +922 WIN_swap_hint diff --git a/include/GL/glew.h b/include/GL/glew.h index 6137b3e..15bc11d 100644 --- a/include/GL/glew.h +++ b/include/GL/glew.h @@ -20179,6 +20179,19 @@ typedef GLboolean (GLAPIENTRY * PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program #endif /* GL_QCOM_extended_get2 */ +/* ---------------------- GL_QCOM_frame_extrapolation ---------------------- */ + +#ifndef GL_QCOM_frame_extrapolation +#define GL_QCOM_frame_extrapolation 1 + +typedef void (GLAPIENTRY * PFNGLEXTRAPOLATETEX2DQCOMPROC) (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor); + +#define glExtrapolateTex2DQCOM GLEW_GET_FUN(__glewExtrapolateTex2DQCOM) + +#define GLEW_QCOM_frame_extrapolation GLEW_GET_VAR(__GLEW_QCOM_frame_extrapolation) + +#endif /* GL_QCOM_frame_extrapolation */ + /* ---------------------- GL_QCOM_framebuffer_foveated --------------------- */ #ifndef GL_QCOM_framebuffer_foveated @@ -25313,6 +25326,8 @@ GLEW_FUN_EXPORT PFNGLEXTGETPROGRAMSQCOMPROC __glewExtGetProgramsQCOM; GLEW_FUN_EXPORT PFNGLEXTGETSHADERSQCOMPROC __glewExtGetShadersQCOM; GLEW_FUN_EXPORT PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM; +GLEW_FUN_EXPORT PFNGLEXTRAPOLATETEX2DQCOMPROC __glewExtrapolateTex2DQCOM; + GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM; @@ -26371,6 +26386,7 @@ GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_binning_control; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_driver_control; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_extended_get; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_extended_get2; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_frame_extrapolation; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_framebuffer_foveated; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_motion_estimation; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_perfmon_global_mode; diff --git a/src/glew.c b/src/glew.c index ec8af5b..8df2928 100644 --- a/src/glew.c +++ b/src/glew.c @@ -3225,6 +3225,8 @@ PFNGLEXTGETPROGRAMSQCOMPROC __glewExtGetProgramsQCOM = NULL; PFNGLEXTGETSHADERSQCOMPROC __glewExtGetShadersQCOM = NULL; PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM = NULL; +PFNGLEXTRAPOLATETEX2DQCOMPROC __glewExtrapolateTex2DQCOM = NULL; + PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM = NULL; PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM = NULL; @@ -4284,6 +4286,7 @@ GLboolean __GLEW_QCOM_binning_control = GL_FALSE; GLboolean __GLEW_QCOM_driver_control = GL_FALSE; GLboolean __GLEW_QCOM_extended_get = GL_FALSE; GLboolean __GLEW_QCOM_extended_get2 = GL_FALSE; +GLboolean __GLEW_QCOM_frame_extrapolation = GL_FALSE; GLboolean __GLEW_QCOM_framebuffer_foveated = GL_FALSE; GLboolean __GLEW_QCOM_motion_estimation = GL_FALSE; GLboolean __GLEW_QCOM_perfmon_global_mode = GL_FALSE; @@ -6771,6 +6774,9 @@ static const char * _glewExtensionLookup[] = { #ifdef GL_QCOM_extended_get2 "GL_QCOM_extended_get2", #endif +#ifdef GL_QCOM_frame_extrapolation + "GL_QCOM_frame_extrapolation", +#endif #ifdef GL_QCOM_framebuffer_foveated "GL_QCOM_framebuffer_foveated", #endif @@ -7247,7 +7253,7 @@ static const char * _glewExtensionLookup[] = { /* Detected in the extension string or strings */ -static GLboolean _glewExtensionString[939]; +static GLboolean _glewExtensionString[940]; /* Detected via extension string or experimental mode */ static GLboolean* _glewExtensionEnabled[] = { #ifdef GL_3DFX_multisample @@ -9596,6 +9602,9 @@ static GLboolean* _glewExtensionEnabled[] = { #ifdef GL_QCOM_extended_get2 &__GLEW_QCOM_extended_get2, #endif +#ifdef GL_QCOM_frame_extrapolation + &__GLEW_QCOM_frame_extrapolation, +#endif #ifdef GL_QCOM_framebuffer_foveated &__GLEW_QCOM_framebuffer_foveated, #endif @@ -10422,6 +10431,7 @@ static GLboolean _glewInit_GL_QCOM_alpha_test (); static GLboolean _glewInit_GL_QCOM_driver_control (); static GLboolean _glewInit_GL_QCOM_extended_get (); static GLboolean _glewInit_GL_QCOM_extended_get2 (); +static GLboolean _glewInit_GL_QCOM_frame_extrapolation (); static GLboolean _glewInit_GL_QCOM_framebuffer_foveated (); static GLboolean _glewInit_GL_QCOM_motion_estimation (); static GLboolean _glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent (); @@ -17259,6 +17269,19 @@ static GLboolean _glewInit_GL_QCOM_extended_get2 () #endif /* GL_QCOM_extended_get2 */ +#ifdef GL_QCOM_frame_extrapolation + +static GLboolean _glewInit_GL_QCOM_frame_extrapolation () +{ + GLboolean r = GL_FALSE; + + r = ((glExtrapolateTex2DQCOM = (PFNGLEXTRAPOLATETEX2DQCOMPROC)glewGetProcAddress((const GLubyte*)"glExtrapolateTex2DQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_frame_extrapolation */ + #ifdef GL_QCOM_framebuffer_foveated static GLboolean _glewInit_GL_QCOM_framebuffer_foveated () @@ -19288,6 +19311,9 @@ static GLenum GLEWAPIENTRY glewContextInit () #ifdef GL_QCOM_extended_get2 if (glewExperimental || GLEW_QCOM_extended_get2) GLEW_QCOM_extended_get2 = !_glewInit_GL_QCOM_extended_get2(); #endif /* GL_QCOM_extended_get2 */ +#ifdef GL_QCOM_frame_extrapolation + if (glewExperimental || GLEW_QCOM_frame_extrapolation) GLEW_QCOM_frame_extrapolation = !_glewInit_GL_QCOM_frame_extrapolation(); +#endif /* GL_QCOM_frame_extrapolation */ #ifdef GL_QCOM_framebuffer_foveated if (glewExperimental || GLEW_QCOM_framebuffer_foveated) GLEW_QCOM_framebuffer_foveated = !_glewInit_GL_QCOM_framebuffer_foveated(); #endif /* GL_QCOM_framebuffer_foveated */ @@ -29015,6 +29041,13 @@ GLboolean GLEWAPIENTRY glewIsSupported (const char* name) continue; } #endif +#ifdef GL_QCOM_frame_extrapolation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"frame_extrapolation", 19)) + { + ret = GLEW_QCOM_frame_extrapolation; + continue; + } +#endif #ifdef GL_QCOM_framebuffer_foveated if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_foveated", 20)) { diff --git a/src/glewinfo.c b/src/glewinfo.c index 63bf52b..268f14c 100644 --- a/src/glewinfo.c +++ b/src/glewinfo.c @@ -10232,6 +10232,17 @@ static void _glewInfo_GL_QCOM_extended_get2 (void) #endif /* GL_QCOM_extended_get2 */ +#ifdef GL_QCOM_frame_extrapolation + +static void _glewInfo_GL_QCOM_frame_extrapolation (void) +{ + GLboolean fi = glewPrintExt("GL_QCOM_frame_extrapolation", GLEW_QCOM_frame_extrapolation, glewIsSupported("GL_QCOM_frame_extrapolation"), glewGetExtension("GL_QCOM_frame_extrapolation")); + + glewInfoFunc(fi, "glExtrapolateTex2DQCOM", glExtrapolateTex2DQCOM == NULL); +} + +#endif /* GL_QCOM_frame_extrapolation */ + #ifdef GL_QCOM_framebuffer_foveated static void _glewInfo_GL_QCOM_framebuffer_foveated (void) @@ -17277,6 +17288,9 @@ static void glewInfo (void) #ifdef GL_QCOM_extended_get2 _glewInfo_GL_QCOM_extended_get2(); #endif /* GL_QCOM_extended_get2 */ +#ifdef GL_QCOM_frame_extrapolation + _glewInfo_GL_QCOM_frame_extrapolation(); +#endif /* GL_QCOM_frame_extrapolation */ #ifdef GL_QCOM_framebuffer_foveated _glewInfo_GL_QCOM_framebuffer_foveated(); #endif /* GL_QCOM_framebuffer_foveated */