Bug 11082 - texture_from_pixmap xdemo program fails with Radeon 7000
Summary: texture_from_pixmap xdemo program fails with Radeon 7000
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/R100 (show other bugs)
Version: 6.5
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-29 08:52 UTC by Chris Rankin
Modified: 2008-11-13 04:04 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
fbconfig-fillinmodes.patch (1.75 KB, patch)
2008-05-06 12:14 UTC, Alan Swanson
Details | Splinter Review

Description Chris Rankin 2007-05-29 08:52:44 UTC
The Radeon 7000 clearly supports the GL_EXT_texture_from_pixmap extension with an indirect context:

$ LIBGL_ALWAYS_INDIRECT=1 glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: No
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe,
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    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_pixmap
GLX version: 1.2
GLX extensions:
    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_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample,
    GLX_SGIX_fbconfig, GLX_EXT_texture_from_pixmap
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI Radeon 20060327 AGP 2x x86/MMX NO-TCL
OpenGL version string: 1.2 (1.3 Mesa 6.5.1)
OpenGL extensions:
    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp,
    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_ARB_texture_mirrored_repeat,
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_window_pos,
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_logic_op,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
    GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord,
    GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_polygon_offset,
    GL_EXT_rescale_normal, GL_EXT_secondary_color,
    GL_EXT_separate_specular_color, 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_lod_bias, GL_EXT_texture_object,
    GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels,
    GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once,
    GL_ATIX_texture_env_combine3, GL_IBM_texture_mirrored_repeat,
    GL_MESA_ycbcr_texture, GL_NV_blend_square, GL_NV_texgen_reflection,
    GL_NV_texture_rectangle, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x26 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x27 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2e 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2f 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x31 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x4b 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon

However, the texture_from_pixmap demo program fails with this error:

$ LIBGL_ALWAYS_INDIRECT=1 ./texture_from_pixmap
Unable to find FBconfig for texturing
Comment 1 Chris Rankin 2007-05-29 08:56:36 UTC
Actually, I suppose the indirect context means we're using the FC6 Mesa instead of CVS.
Comment 2 Alan Swanson 2008-05-06 12:14:17 UTC
Created attachment 16392 [details] [review]
fbconfig-fillinmodes.patch

Just happened to be reviewing dri-devel emails and found this patch from Sean Estabrooks not yet applied to mesa HEAD or mesa_7_0_branch (though texture_from_pixmap xdemo not included in mesa_7_0 branch but patch still applicable there) as not added to bug so was lost.
http://thread.gmane.org/gmane.comp.freedesktop.xorg/27347

Corresponding GLX patch already applied to xserver HEAD and server-1.5-branch.
http://thread.gmane.org/gmane.comp.freedesktop.xorg/27347
Comment 3 Alan Swanson 2008-05-06 12:15:40 UTC
Copy and paste error. Original dri-devel email here.
http://thread.gmane.org/gmane.comp.video.dri.devel/29906
Comment 4 Alan Swanson 2008-07-08 14:59:33 UTC
Candidate for Mesa 7.1?

Patch is not related to specific driver as given in bug summary.
Comment 5 Alex Deucher 2008-07-08 16:27:21 UTC
The mesa radeon driver does not implement texture from pixmap, only the r200 and r300 mesa drivers support it.  It should be pretty easy to implement if you follow the r200 or r300 code:
http://cgit.freedesktop.org/mesa/mesa/log/?qt=grep&q=setTexOffset
Comment 6 Michel Dänzer 2008-07-08 23:28:47 UTC
(In reply to comment #5)
> The mesa radeon driver does not implement texture from pixmap, only the r200
> and r300 mesa drivers support it.

That should only affect performance though, not functionality.
Comment 7 Michel Dänzer 2008-11-13 04:04:17 UTC
Looks like something similar to this patch has been applied, and I can't reproduce the problem. Please reopen if you still can with at least Mesa 7.2 and xserver 1.5.


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.