diff --git a/doc/glew.html b/doc/glew.html index d9346e9..7b3016d 100644 --- a/doc/glew.html +++ b/doc/glew.html @@ -905,152 +905,153 @@ THE POSSIBILITY OF SUCH DAMAGE. 776 QCOM_extended_get 777 QCOM_extended_get2 778 QCOM_framebuffer_foveated -779 QCOM_perfmon_global_mode -780 QCOM_shader_framebuffer_fetch_noncoherent -781 QCOM_shader_framebuffer_fetch_rate -782 QCOM_shading_rate -783 QCOM_texture_foveated -784 QCOM_texture_foveated_subsampled_layout -785 QCOM_tiled_rendering -786 QCOM_writeonly_rendering +779 QCOM_motion_estimation +780 QCOM_perfmon_global_mode +781 QCOM_shader_framebuffer_fetch_noncoherent +782 QCOM_shader_framebuffer_fetch_rate +783 QCOM_shading_rate +784 QCOM_texture_foveated +785 QCOM_texture_foveated_subsampled_layout +786 QCOM_tiled_rendering +787 QCOM_writeonly_rendering
-787 REGAL_ES1_0_compatibility -788 REGAL_ES1_1_compatibility -789 REGAL_enable -790 REGAL_error_string -791 REGAL_extension_query -792 REGAL_log -793 REGAL_proc_address +788 REGAL_ES1_0_compatibility +789 REGAL_ES1_1_compatibility +790 REGAL_enable +791 REGAL_error_string +792 REGAL_extension_query +793 REGAL_log +794 REGAL_proc_address
-794 REND_screen_coordinates +795 REND_screen_coordinates
-795 S3_s3tc +796 S3_s3tc
-796 SGIS_clip_band_hint -797 SGIS_color_range -798 SGIS_detail_texture -799 SGIS_fog_function -800 SGIS_generate_mipmap -801 SGIS_line_texgen -802 SGIS_multisample -803 SGIS_multitexture -804 SGIS_pixel_texture -805 SGIS_point_line_texgen -806 SGIS_shared_multisample -807 SGIS_sharpen_texture -808 SGIS_texture4D -809 SGIS_texture_border_clamp -810 SGIS_texture_edge_clamp -811 SGIS_texture_filter4 -812 SGIS_texture_lod -813 SGIS_texture_select +797 SGIS_clip_band_hint +798 SGIS_color_range +799 SGIS_detail_texture +800 SGIS_fog_function +801 SGIS_generate_mipmap +802 SGIS_line_texgen +803 SGIS_multisample +804 SGIS_multitexture +805 SGIS_pixel_texture +806 SGIS_point_line_texgen +807 SGIS_shared_multisample +808 SGIS_sharpen_texture +809 SGIS_texture4D +810 SGIS_texture_border_clamp +811 SGIS_texture_edge_clamp +812 SGIS_texture_filter4 +813 SGIS_texture_lod +814 SGIS_texture_select
-814 SGIX_async -815 SGIX_async_histogram -816 SGIX_async_pixel -817 SGIX_bali_g_instruments -818 SGIX_bali_r_instruments -819 SGIX_bali_timer_instruments -820 SGIX_blend_alpha_minmax -821 SGIX_blend_cadd -822 SGIX_blend_cmultiply -823 SGIX_calligraphic_fragment -824 SGIX_clipmap -825 SGIX_color_matrix_accuracy -826 SGIX_color_table_index_mode -827 SGIX_complex_polar -828 SGIX_convolution_accuracy -829 SGIX_cube_map -830 SGIX_cylinder_texgen -831 SGIX_datapipe -832 SGIX_decimation -833 SGIX_depth_pass_instrument -834 SGIX_depth_texture -835 SGIX_dvc -836 SGIX_flush_raster -837 SGIX_fog_blend -838 SGIX_fog_factor_to_alpha -839 SGIX_fog_layers -840 SGIX_fog_offset -841 SGIX_fog_patchy -842 SGIX_fog_scale -843 SGIX_fog_texture -844 SGIX_fragment_lighting_space -845 SGIX_fragment_specular_lighting -846 SGIX_fragments_instrument -847 SGIX_framezoom -848 SGIX_icc_texture -849 SGIX_igloo_interface -850 SGIX_image_compression -851 SGIX_impact_pixel_texture -852 SGIX_instrument_error -853 SGIX_interlace -854 SGIX_ir_instrument1 -855 SGIX_line_quality_hint -856 SGIX_list_priority -857 SGIX_mpeg1 -858 SGIX_mpeg2 -859 SGIX_nonlinear_lighting_pervertex -860 SGIX_nurbs_eval -861 SGIX_occlusion_instrument -862 SGIX_packed_6bytes -863 SGIX_pixel_texture -864 SGIX_pixel_texture_bits -865 SGIX_pixel_texture_lod -866 SGIX_pixel_tiles -867 SGIX_polynomial_ffd -868 SGIX_quad_mesh -869 SGIX_reference_plane -870 SGIX_resample -871 SGIX_scalebias_hint -872 SGIX_shadow -873 SGIX_shadow_ambient -874 SGIX_slim -875 SGIX_spotlight_cutoff -876 SGIX_sprite -877 SGIX_subdiv_patch -878 SGIX_subsample -879 SGIX_tag_sample_buffer -880 SGIX_texture_add_env -881 SGIX_texture_coordinate_clamp -882 SGIX_texture_lod_bias -883 SGIX_texture_mipmap_anisotropic -884 SGIX_texture_multi_buffer -885 SGIX_texture_phase -886 SGIX_texture_range -887 SGIX_texture_scale_bias -888 SGIX_texture_supersample -889 SGIX_vector_ops -890 SGIX_vertex_array_object -891 SGIX_vertex_preclip -892 SGIX_vertex_preclip_hint -893 SGIX_ycrcb -894 SGIX_ycrcb_subsample -895 SGIX_ycrcba +815 SGIX_async +816 SGIX_async_histogram +817 SGIX_async_pixel +818 SGIX_bali_g_instruments +819 SGIX_bali_r_instruments +820 SGIX_bali_timer_instruments +821 SGIX_blend_alpha_minmax +822 SGIX_blend_cadd +823 SGIX_blend_cmultiply +824 SGIX_calligraphic_fragment +825 SGIX_clipmap +826 SGIX_color_matrix_accuracy +827 SGIX_color_table_index_mode +828 SGIX_complex_polar +829 SGIX_convolution_accuracy +830 SGIX_cube_map +831 SGIX_cylinder_texgen +832 SGIX_datapipe +833 SGIX_decimation +834 SGIX_depth_pass_instrument +835 SGIX_depth_texture +836 SGIX_dvc +837 SGIX_flush_raster +838 SGIX_fog_blend +839 SGIX_fog_factor_to_alpha +840 SGIX_fog_layers +841 SGIX_fog_offset +842 SGIX_fog_patchy +843 SGIX_fog_scale +844 SGIX_fog_texture +845 SGIX_fragment_lighting_space +846 SGIX_fragment_specular_lighting +847 SGIX_fragments_instrument +848 SGIX_framezoom +849 SGIX_icc_texture +850 SGIX_igloo_interface +851 SGIX_image_compression +852 SGIX_impact_pixel_texture +853 SGIX_instrument_error +854 SGIX_interlace +855 SGIX_ir_instrument1 +856 SGIX_line_quality_hint +857 SGIX_list_priority +858 SGIX_mpeg1 +859 SGIX_mpeg2 +860 SGIX_nonlinear_lighting_pervertex +861 SGIX_nurbs_eval +862 SGIX_occlusion_instrument +863 SGIX_packed_6bytes +864 SGIX_pixel_texture +865 SGIX_pixel_texture_bits +866 SGIX_pixel_texture_lod +867 SGIX_pixel_tiles +868 SGIX_polynomial_ffd +869 SGIX_quad_mesh +870 SGIX_reference_plane +871 SGIX_resample +872 SGIX_scalebias_hint +873 SGIX_shadow +874 SGIX_shadow_ambient +875 SGIX_slim +876 SGIX_spotlight_cutoff +877 SGIX_sprite +878 SGIX_subdiv_patch +879 SGIX_subsample +880 SGIX_tag_sample_buffer +881 SGIX_texture_add_env +882 SGIX_texture_coordinate_clamp +883 SGIX_texture_lod_bias +884 SGIX_texture_mipmap_anisotropic +885 SGIX_texture_multi_buffer +886 SGIX_texture_phase +887 SGIX_texture_range +888 SGIX_texture_scale_bias +889 SGIX_texture_supersample +890 SGIX_vector_ops +891 SGIX_vertex_array_object +892 SGIX_vertex_preclip +893 SGIX_vertex_preclip_hint +894 SGIX_ycrcb +895 SGIX_ycrcb_subsample +896 SGIX_ycrcba
-896 SGI_color_matrix -897 SGI_color_table -898 SGI_complex -899 SGI_complex_type -900 SGI_fft -901 SGI_texture_color_table +897 SGI_color_matrix +898 SGI_color_table +899 SGI_complex +900 SGI_complex_type +901 SGI_fft +902 SGI_texture_color_table
-902 SUNX_constant_data +903 SUNX_constant_data
-903 SUN_convolution_border_modes -904 SUN_global_alpha -905 SUN_mesh_array -906 SUN_read_video_pixels -907 SUN_slice_accum -908 SUN_triangle_list -909 SUN_vertex +904 SUN_convolution_border_modes +905 SUN_global_alpha +906 SUN_mesh_array +907 SUN_read_video_pixels +908 SUN_slice_accum +909 SUN_triangle_list +910 SUN_vertex
-910 VIV_shader_binary +911 VIV_shader_binary
-911 WIN_phong_shading -912 WIN_scene_markerXXX -913 WIN_specular_fog -914 WIN_swap_hint +912 WIN_phong_shading +913 WIN_scene_markerXXX +914 WIN_specular_fog +915 WIN_swap_hint diff --git a/include/GL/glew.h b/include/GL/glew.h index b4136f4..a4915e8 100644 --- a/include/GL/glew.h +++ b/include/GL/glew.h @@ -20120,6 +20120,24 @@ typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint #endif /* GL_QCOM_framebuffer_foveated */ +/* ----------------------- GL_QCOM_motion_estimation ----------------------- */ + +#ifndef GL_QCOM_motion_estimation +#define GL_QCOM_motion_estimation 1 + +#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM 0x8C90 +#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM 0x8C91 + +typedef void (GLAPIENTRY * PFNGLTEXESTIMATEMOTIONQCOMPROC) (GLuint ref, GLuint target, GLuint output); +typedef void (GLAPIENTRY * PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC) (GLuint ref, GLuint target, GLuint output, GLuint mask); + +#define glTexEstimateMotionQCOM GLEW_GET_FUN(__glewTexEstimateMotionQCOM) +#define glTexEstimateMotionRegionsQCOM GLEW_GET_FUN(__glewTexEstimateMotionRegionsQCOM) + +#define GLEW_QCOM_motion_estimation GLEW_GET_VAR(__GLEW_QCOM_motion_estimation) + +#endif /* GL_QCOM_motion_estimation */ + /* ---------------------- GL_QCOM_perfmon_global_mode ---------------------- */ #ifndef GL_QCOM_perfmon_global_mode @@ -25201,6 +25219,9 @@ GLEW_FUN_EXPORT PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM; GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM; +GLEW_FUN_EXPORT PFNGLTEXESTIMATEMOTIONQCOMPROC __glewTexEstimateMotionQCOM; +GLEW_FUN_EXPORT PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC __glewTexEstimateMotionRegionsQCOM; + GLEW_FUN_EXPORT PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC __glewFramebufferFetchBarrierQCOM; GLEW_FUN_EXPORT PFNGLSHADINGRATEQCOMPROC __glewShadingRateQCOM; @@ -26249,6 +26270,7 @@ 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_framebuffer_foveated; +GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_motion_estimation; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_perfmon_global_mode; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_shader_framebuffer_fetch_noncoherent; GLEW_VAR_EXPORT GLboolean __GLEW_QCOM_shader_framebuffer_fetch_rate; diff --git a/src/glew.c b/src/glew.c index 700f96b..41b0427 100644 --- a/src/glew.c +++ b/src/glew.c @@ -3219,6 +3219,9 @@ PFNGLEXTISPROGRAMBINARYQCOMPROC __glewExtIsProgramBinaryQCOM = NULL; PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC __glewFramebufferFoveationConfigQCOM = NULL; PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC __glewFramebufferFoveationParametersQCOM = NULL; +PFNGLTEXESTIMATEMOTIONQCOMPROC __glewTexEstimateMotionQCOM = NULL; +PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC __glewTexEstimateMotionRegionsQCOM = NULL; + PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC __glewFramebufferFetchBarrierQCOM = NULL; PFNGLSHADINGRATEQCOMPROC __glewShadingRateQCOM = NULL; @@ -4268,6 +4271,7 @@ GLboolean __GLEW_QCOM_driver_control = GL_FALSE; GLboolean __GLEW_QCOM_extended_get = GL_FALSE; GLboolean __GLEW_QCOM_extended_get2 = GL_FALSE; GLboolean __GLEW_QCOM_framebuffer_foveated = GL_FALSE; +GLboolean __GLEW_QCOM_motion_estimation = GL_FALSE; GLboolean __GLEW_QCOM_perfmon_global_mode = GL_FALSE; GLboolean __GLEW_QCOM_shader_framebuffer_fetch_noncoherent = GL_FALSE; GLboolean __GLEW_QCOM_shader_framebuffer_fetch_rate = GL_FALSE; @@ -6740,6 +6744,9 @@ static const char * _glewExtensionLookup[] = { #ifdef GL_QCOM_framebuffer_foveated "GL_QCOM_framebuffer_foveated", #endif +#ifdef GL_QCOM_motion_estimation + "GL_QCOM_motion_estimation", +#endif #ifdef GL_QCOM_perfmon_global_mode "GL_QCOM_perfmon_global_mode", #endif @@ -7207,7 +7214,7 @@ static const char * _glewExtensionLookup[] = { /* Detected in the extension string or strings */ -static GLboolean _glewExtensionString[932]; +static GLboolean _glewExtensionString[933]; /* Detected via extension string or experimental mode */ static GLboolean* _glewExtensionEnabled[] = { #ifdef GL_3DFX_multisample @@ -9544,6 +9551,9 @@ static GLboolean* _glewExtensionEnabled[] = { #ifdef GL_QCOM_framebuffer_foveated &__GLEW_QCOM_framebuffer_foveated, #endif +#ifdef GL_QCOM_motion_estimation + &__GLEW_QCOM_motion_estimation, +#endif #ifdef GL_QCOM_perfmon_global_mode &__GLEW_QCOM_perfmon_global_mode, #endif @@ -10360,6 +10370,7 @@ 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_framebuffer_foveated (); +static GLboolean _glewInit_GL_QCOM_motion_estimation (); static GLboolean _glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent (); static GLboolean _glewInit_GL_QCOM_shading_rate (); static GLboolean _glewInit_GL_QCOM_texture_foveated (); @@ -17178,6 +17189,20 @@ static GLboolean _glewInit_GL_QCOM_framebuffer_foveated () #endif /* GL_QCOM_framebuffer_foveated */ +#ifdef GL_QCOM_motion_estimation + +static GLboolean _glewInit_GL_QCOM_motion_estimation () +{ + GLboolean r = GL_FALSE; + + r = ((glTexEstimateMotionQCOM = (PFNGLTEXESTIMATEMOTIONQCOMPROC)glewGetProcAddress((const GLubyte*)"glTexEstimateMotionQCOM")) == NULL) || r; + r = ((glTexEstimateMotionRegionsQCOM = (PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC)glewGetProcAddress((const GLubyte*)"glTexEstimateMotionRegionsQCOM")) == NULL) || r; + + return r; +} + +#endif /* GL_QCOM_motion_estimation */ + #ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent static GLboolean _glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent () @@ -19176,6 +19201,9 @@ static GLenum GLEWAPIENTRY glewContextInit () #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 */ +#ifdef GL_QCOM_motion_estimation + if (glewExperimental || GLEW_QCOM_motion_estimation) GLEW_QCOM_motion_estimation = !_glewInit_GL_QCOM_motion_estimation(); +#endif /* GL_QCOM_motion_estimation */ #ifdef GL_QCOM_shader_framebuffer_fetch_noncoherent if (glewExperimental || GLEW_QCOM_shader_framebuffer_fetch_noncoherent) GLEW_QCOM_shader_framebuffer_fetch_noncoherent = !_glewInit_GL_QCOM_shader_framebuffer_fetch_noncoherent(); #endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */ @@ -28831,6 +28859,13 @@ GLboolean GLEWAPIENTRY glewIsSupported (const char* name) continue; } #endif +#ifdef GL_QCOM_motion_estimation + if (_glewStrSame3(&pos, &len, (const GLubyte*)"motion_estimation", 17)) + { + ret = GLEW_QCOM_motion_estimation; + continue; + } +#endif #ifdef GL_QCOM_perfmon_global_mode if (_glewStrSame3(&pos, &len, (const GLubyte*)"perfmon_global_mode", 19)) { diff --git a/src/glewinfo.c b/src/glewinfo.c index 8e083c4..62fc958 100644 --- a/src/glewinfo.c +++ b/src/glewinfo.c @@ -10190,6 +10190,18 @@ static void _glewInfo_GL_QCOM_framebuffer_foveated (void) #endif /* GL_QCOM_framebuffer_foveated */ +#ifdef GL_QCOM_motion_estimation + +static void _glewInfo_GL_QCOM_motion_estimation (void) +{ + GLboolean fi = glewPrintExt("GL_QCOM_motion_estimation", GLEW_QCOM_motion_estimation, glewIsSupported("GL_QCOM_motion_estimation"), glewGetExtension("GL_QCOM_motion_estimation")); + + glewInfoFunc(fi, "glTexEstimateMotionQCOM", glTexEstimateMotionQCOM == NULL); + glewInfoFunc(fi, "glTexEstimateMotionRegionsQCOM", glTexEstimateMotionRegionsQCOM == NULL); +} + +#endif /* GL_QCOM_motion_estimation */ + #ifdef GL_QCOM_perfmon_global_mode static void _glewInfo_GL_QCOM_perfmon_global_mode (void) @@ -17149,6 +17161,9 @@ static void glewInfo (void) #ifdef GL_QCOM_framebuffer_foveated _glewInfo_GL_QCOM_framebuffer_foveated(); #endif /* GL_QCOM_framebuffer_foveated */ +#ifdef GL_QCOM_motion_estimation + _glewInfo_GL_QCOM_motion_estimation(); +#endif /* GL_QCOM_motion_estimation */ #ifdef GL_QCOM_perfmon_global_mode _glewInfo_GL_QCOM_perfmon_global_mode(); #endif /* GL_QCOM_perfmon_global_mode */