Announcement

Collapse
No announcement yet.

Questions about X1950XT (R580) opengl extensions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Questions about X1950XT (R580) opengl extensions

    Hi there! it's my first thread in this forum, so here it goes

    It is known that OSS radeon driver devs are working on GLSL and opengl 2.0 support for this hardware (R300-R500). Recently I found THIS page on the net, listing the opengl extensions available with the catalyst 8.6 drivers (windows) for R580. It is surprising to see that the hardware (X1950XTX in this case) supports many opengl 3.0 extensions too excluding the GL 2.1 extension GL_ARB_texture_non_power_of_two. But many important 3.0 extensions like: GL_EXT_framebuffer_object.

    The question is: Will those extensions be added when the opengl 2.0 support in mesa drivers be implemented? Also the hardware seems to be supporting GLSL rev. 1.20. Will it be implemented too? Thanks!

  • #2
    I got my own report from OpenGL Extensions Viewer in windows using the latest (9.3) catalyst drivers:

    Renderer: Radeon X1950 Series
    Vendor: ATI Technologies Inc.
    Memory: 256 MB
    Version: 2.1.8543 Release
    Shading language version: 1.20


    Max texture size: 4096 x 4096
    Max texture coordinates: 8
    Max vertex texture image units: 0
    Max texture image units: 16
    Max geometry texture units: 0
    Max anisotropic filtering value: 16
    Max number of light sources: 8
    Max viewport size: 4096 x 4096
    Max uniform vertex components: 512
    Max uniform fragment components: 512
    Max geometry uniform components: 0
    Max varying floats: 44
    Max samples: 6
    Max draw buffers: 4


    Extensions: 112

    GL_AMD_performance_monitor
    GL_ARB_depth_texture
    GL_ARB_draw_buffers
    GL_ARB_fragment_program
    GL_ARB_fragment_program_shadow
    GL_ARB_fragment_shader
    GL_ARB_framebuffer_object
    GL_ARB_half_float_pixel
    GL_ARB_half_float_vertex
    GL_ARB_map_buffer_range
    GL_ARB_multisample
    GL_ARB_multitexture
    GL_ARB_occlusion_query
    GL_ARB_pixel_buffer_object
    GL_ARB_point_parameters
    GL_ARB_point_sprite
    GL_ARB_shader_objects
    GL_ARB_shader_texture_lod
    GL_ARB_shading_language_100
    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_ARB_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_object
    GL_ARB_vertex_buffer_object
    GL_ARB_vertex_program
    GL_ARB_vertex_shader
    GL_ARB_window_pos
    GL_ATI_draw_buffers
    GL_ATI_envmap_bumpmap
    GL_ATI_fragment_shader
    GL_ATI_meminfo
    GL_ATI_separate_stencil
    GL_ATI_texture_compression_3dc
    GL_ATI_texture_env_combine3
    GL_ATI_texture_float
    GL_EXT_abgr
    GL_EXT_bgra
    GL_EXT_blend_color
    GL_EXT_blend_equation_separate
    GL_EXT_blend_func_separate
    GL_EXT_blend_minmax
    GL_EXT_blend_subtract
    GL_EXT_compiled_vertex_array
    GL_EXT_copy_texture
    GL_EXT_draw_range_elements
    GL_EXT_fog_coord
    GL_EXT_framebuffer_blit
    GL_EXT_framebuffer_multisample
    GL_EXT_framebuffer_object
    GL_EXT_gpu_program_parameters
    GL_EXT_multi_draw_arrays
    GL_EXT_packed_depth_stencil
    GL_EXT_packed_pixels
    GL_EXT_point_parameters
    GL_EXT_rescale_normal
    GL_EXT_secondary_color
    GL_EXT_separate_specular_color
    GL_EXT_shadow_funcs
    GL_EXT_stencil_wrap
    GL_EXT_subtexture
    GL_EXT_texgen_reflection
    GL_EXT_texture3D
    GL_EXT_texture_compression_s3tc
    GL_EXT_texture_cube_map
    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_texture_swizzle
    GL_EXT_vertex_array
    GL_KTX_buffer_region
    GL_NV_blend_square
    GL_NV_texgen_reflection
    GL_SGIS_generate_mipmap
    GL_SGIS_texture_edge_clamp
    GL_SGIS_texture_lod
    GL_WIN_swap_hint
    WGL_AMDX_gpu_association
    WGL_ARB_buffer_region
    WGL_ARB_create_context
    WGL_ARB_extensions_string
    WGL_ARB_make_current_read
    WGL_ARB_multisample
    WGL_ARB_pbuffer
    WGL_ARB_pixel_format
    WGL_ARB_pixel_format_float
    WGL_ARB_render_texture
    WGL_ATI_pixel_format_float
    WGL_ATI_render_texture_rectangle
    WGL_EXT_extensions_string
    WGL_EXT_framebuffer_sRGB
    WGL_EXT_pixel_format_packed_float
    WGL_EXT_swap_control
    WGL_I3D_genlock
    WGL_NV_swap_group

    Core features
    v1.1 (100 % - 7/7)
    v1.2 (100 % - 8/8)
    v1.3 (100 % - 9/9)
    v1.4 (100 % - 15/15)
    v1.5 (100 % - 3/3)
    v2.0 (100 % - 10/10)
    v2.1 (100 % - 3/3)
    v3.0 (39 % - 9/23)
    v3.1 (12 % - 1/8)
    v3.2 (0 % - 0/9)
    Here in the report I can see NPOT textures, I know that the hardware doesn't support them all but will it be implemented in the mesa stack too?
    Last edited by barbarbaron; 08 November 2009, 12:36 PM.

    Comment


    • #3
      Our current understanding is that the hardware doesn't support NPOT under certain conditions (mipmapping etc.) but does support NPOT for the more common use cases.

      Unfortunately OpenGL extensions tend to get defined *after* the corresponding hardware is developed so they don't always align with hardware capabilities. DX standards tend to get defined earlier so that hardware vendors can design new hardware to match the standards.
      Last edited by bridgman; 09 November 2009, 10:34 AM.
      Test signature

      Comment


      • #4
        Thanks bridgman. I have tested the framebuffer object with OpenGL Extensions Viewer and it seems not to fall to software renderer. Which makes me think it is indeed supported by hardware. Can you please answer the questions in the first post too?
        Last edited by barbarbaron; 09 November 2009, 10:55 AM.

        Comment


        • #5
          framebuffer objects do not require any special hardware, only a decent memory manager.

          Comment


          • #6
            The question in your first post is essentially "what is the community, which you don't manage, going to do in the future ?", so understand that this is more of a guess than a hard answer

            Some OpenGL features are tied directly to implementation details of the graphics hardware, and that's where you see a tight relationship between GPU vendor/model and the degree of support. Other features are more general, in the sense that they are capabilities of the driver framework more than the hardware itself. A lot of these features were optional in GL 2.0 and simply became core requirements in 3.x.

            I expect that most of the second class of features will get implemented in the open source drivers. Many of those features are/were blocked on the availability of a good common memory manager shared between X, kernel and 3D drivers, which was recently implemented and is in the process of becoming mainstream.
            Test signature

            Comment

            Working...
            X