Bug 25505 - mplayer -vo gl:yuv=2 fails to compile its fragment program
Summary: mplayer -vo gl:yuv=2 fails to compile its fragment program
Status: VERIFIED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/R100 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-07 16:39 UTC by Radosław Szkodziński
Modified: 2009-12-09 14:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg log with card info (22.90 KB, text/plain)
2009-12-07 16:41 UTC, Radosław Szkodziński
Details

Description Radosław Szkodziński 2009-12-07 16:39:44 UTC
Mplayer fails to initialize its fragment program, thus one can't use the new excellent shader scalers.

Consequently yuv=3 and yuv=4 also fail.

Mesa is git master, Installed time Tue Dec 08 01:26:46 CET 2009

Mplayer log follows.
Mplayer was modified in the process with: 
 -extra debug patch to print the error code
- patch that disables OPTION ARB_precision_hint_fastest - with it it also fails

$ mplayer -vo gl:yuv=2 -msglevel vo=8 *.avi
MPlayer SVN-r29963-4.4.1 (C) 2000-2009 MPlayer Team

Playing 1.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [XVID]  640x360  24bpp  25.000 fps  1195.5 kbps (145.9 kbyte/s)
[gl] using extended formats. Use -vo gl:nomanyfmts if playback fails.
[gl] Using 0 as slice height (0 means image height).
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1920x1200 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 160.0 kbit/11.34% (ratio: 20000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 44100Hz 2ch s32le (4 bytes per sample)
Starting playback...
Movie-Aspect is 1,78:1 - prescaling to correct movie aspect.
VO: [gl] 640x360 => 640x360 Planar YV12 
[gl] GLX chose visual with ID 0xcb
OpenGL extensions string:
GL_ARB_depth_texture GL_ARB_depth_clamp GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_provoking_vertex GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_MESAX_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_convolution GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_framebuffer_object GL_EXT_fog_coord GL_EXT_gpu_program_parameters GL_EXT_histogram GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_texture_env_combine3 GL_ATI_texture_mirror_once GL_ATI_separate_stencil GL_IBM_multimode_draw_arrays GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_MESA_window_pos GL_NV_blend_square GL_NV_depth_clamp GL_NV_light_max_exponent GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_NV_texgen_reflection GL_NV_vertex_program GL_OES_read_format GL_SGI_color_matrix GL_SGI_color_table GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays  GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_MESA_swap_frame_usage GLX_OML_swap_method GLX_SGI_make_current_read GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_EXT_texture_from_pixmap  GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_allocate_memory GLX_MESA_copy_sub_buffer GLX_MESA_swap_control GLX_MESA_swap_frame_usage GLX_OML_swap_method GLX_OML_sync_control GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_EXT_texture_from_p
[gl] Settings after autodetection: ati-hack = 0, force-pbo = 0, rectangle = 0
[gl] Creating 1024x512 texture...
[gl] generated fragment program:
!!ARBfp1.0
TEMP coord, coord2, cdelta, parmx, parmy, a, b, yuv;TEX yuv.r, fragment.texcoord[0], texture[0], 2D;TEX yuv.g, fragment.texcoord[1], texture[1], 2D;TEX yuv.b, fragment.texcoord[2], texture[2], 2D;PARAM ycoef = {1,1640, 1,1640, 1,1640};PARAM ucoef = {0,0000, -0,3910, 2,0180};PARAM vcoef = {1,5960, -0,8130, 0,0000};PARAM offsets = {-0,8742, 0,5313, -1,0860};TEMP res;MAD res.rgb, yuv.rrrr, ycoef, offsets;MAD res.rgb, yuv.gggg, ucoef, res;MAD result.color.rgb, yuv.bbbb, vcoef, res;END
[gl] Error compiling fragment program, make sure your card supports
[gl]   GL_ARB_fragment_program (use glxinfo to check).
[gl]   Error number: 9892936
[gl] Program statistics:
[gl]   instructions: 0/16384
[gl]   native instructions: 0/8192
[gl]   temporaries: 0/256
[gl]   native temporaries: 0/128
[gl]   parameters: 0/64
[gl]   native parameters: 0/256
[gl]   attribs: 0/12
[gl]   native attribs: 0/32
[gl]   ALU instructions: 0/16384
[gl]   TEX instructions: 0/16384
[gl]   TEX indirections: 0/16384
[gl]   native ALU instructions: 0/8192
[gl]   native TEX instructions: 0/16
[gl]   native TEX indirections: 0/8
[gl] Resize: 640x360
vo: uninit ...2,0 A-V:  0,000 ct:  0,001  52/ 52  8%  4%  2,2% 1 0 

Exiting... (Quit)
Comment 1 Radosław Szkodziński 2009-12-07 16:41:51 UTC
Created attachment 31830 [details]
Xorg log with card info

Short story - card is RV670 - Mobility Radeon HD 3850
Comment 2 Ian Romanick 2009-12-07 18:01:13 UTC
(In reply to comment #0)
> !!ARBfp1.0
> TEMP coord, coord2, cdelta, parmx, parmy, a, b, yuv;TEX yuv.r,
> fragment.texcoord[0], texture[0], 2D;TEX yuv.g, fragment.texcoord[1],
> texture[1], 2D;TEX yuv.b, fragment.texcoord[2], texture[2], 2D;PARAM ycoef =
> {1,1640, 1,1640, 1,1640};PARAM ucoef = {0,0000, -0,3910, 2,0180};PARAM vcoef =
> {1,5960, -0,8130, 0,0000};PARAM offsets = {-0,8742, 0,5313, -1,0860};TEMP
> res;MAD res.rgb, yuv.rrrr, ycoef, offsets;MAD res.rgb, yuv.gggg, ucoef, res;MAD
> result.color.rgb, yuv.bbbb, vcoef, res;END

The commas in the floating point constants (i.e., "1,1640") are invalid.  This program should not compile on any driver.
Comment 3 Radosław Szkodziński 2009-12-09 14:40:35 UTC
Confirme4d by running mplayer with LC_ALL=C. Reported to mplayer upstream.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.