ATI Catalyst 9.1: 10 New OpenGL Extensions

ATI Catalyst Graphics Drivers

OpenGL 3.0



Here is, my friends, the list of OpenGL extensions exposed by the graphics driver Catalyst 9.1 for a Radeon HD 4850 under Windows XP SP2 32-bit.

Compared to Catalyst 8.12, Catalyst 9.1 introduces ten new OpenGL extensions (some of them are not really new since they are ARB version of GL_EXT…):

Let’s see what these new extensions bring.

GL_ARB_framebuffer_object is the ARB version of GL_EXT_framebuffer_object but actually is more than that. GL_ARB_framebuffer_object can be seen as the unification of GL_EXT framebuffers extensions: GL_EXT_framebuffer_object, GL_EXT_framebuffer_blit and GL_EXT_framebuffer_multisample.

GL_ARB_framebuffer_sRGB (ARB version of GL_EXT_framebuffer_sRGB) is an interesting extension and allows to use a non-linear color space to match monitor characteristics. No need to apply a gamma correction in shaders.

GL_ARB_map_buffer_range to allow greater performance when an application only needs to write to a sub-range of a buffer object.

GL_ARB_texture_compression_rgtc (ARB version of GL_EXT_texture_compression_rgtc) offers a compressed texture format adapted for storing compressed normal maps.

GL_ARB_texture_rg is a new one (red) and two (red-green) channels internal texture format that aims at replacing the old luminance-alpha format. This format can be used for texturing as well as for rendering into with FBO (framebuffer object).

GL_EXT_texture_array adds the functions to create one and two dimensional array of textures. So you can store several textures (same size) in a array they are seen as an unique texture sampler in the shader.

GL_EXT_texture_integer makes it possible to store true integers (non-noralized, signed and unsigned) in texture and retrieve these integer values in a shader.

GL_NV_conditional_render provides support for conditional rendering based on the results of an occlusion query.

WGL_ARB_create_context allows to create an OpenGL 3.0 rendering context (see HERE for an example).

Catalyst 9.1 + GPU Caps Viewer

Catalyst 9.1 + GPU Caps Viewer

Catalyst 9.1 + GPU Caps Viewer


All GPU Caps Viewer’s tech demos work well on a Radeon HD 4850 + Catalyst 9.1 (once workarounds have been done: see HERE).

Catalyst 9.1, like all Catalyst from 8.8 still slow down the GPU when FurMark is detected (see here and here for more detail).

Graphics driver information:
– Operating System: Windows XP 32-bit SP2
– Drivers Version: 8.573.0.0 – Catalyst 09.1 (1-13-2009)
– ATI Catalyst Version String: 09.1
– ATI Catalyst Release Version String: 8.573-090113a-074230C-ATI
– OpenGL Renderer: ATI Radeon HD 4800 Series
– OpenGL Version: 3.0
– GLSL (OpenGL Shading Language) Version: 1.20 (bug! should be fixed in a next version of Catalyst…)
– ARB Texture Units: 8
– Vertex Shader Texture Units: 16
– Pixel Shader Texture Units: 32
– Geometry Shader Texture Units: 0
– Max Texture Size: 8192×8192
– Max Anisotropic Filtering Value: X16.0
– Max Point Sprite Size: 8192.0
– Max Dynamic Lights: 8
– Max Viewport Size: 8192×8192
– Max Vertex Uniform Components: 512
– Max Fragment Uniform Components: 512
– Max Geometry Uniform Components: 0
– Max Varying Float: 68
– Max Vertex Bindable Uniforms: 0
– Max Fragment Bindable Uniforms: 0
– Max Geometry Bindable Uniforms: 0
– MSAA: 1X
– MSAA: 2X
– MSAA: 4X
– MSAA: 8X

OpenGL Extensions: 130 extensions

  • GL_AMDX_vertex_shader_tessellator
  • GL_AMD_performance_monitor
  • GL_AMD_texture_texture4
  • GL_ARB_color_buffer_float
  • GL_ARB_depth_buffer_float
  • GL_ARB_depth_texture
  • GL_ARB_draw_buffers
  • GL_ARB_draw_instanced
  • GL_ARB_fragment_program
  • GL_ARB_fragment_program_shadow
  • GL_ARB_fragment_shader
  • GL_ARB_framebuffer_object
  • GL_ARB_framebuffer_sRGB
  • GL_ARB_half_float_pixel
  • GL_ARB_half_float_vertex
  • GL_ARB_instanced_arrays
  • 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_compression_rgtc
  • 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_texture_rg
  • 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_buffers2
  • GL_EXT_draw_range_elements
  • GL_EXT_fog_coord
  • GL_EXT_framebuffer_blit
  • GL_EXT_framebuffer_multisample
  • GL_EXT_framebuffer_object
  • GL_EXT_framebuffer_sRGB
  • GL_EXT_gpu_program_parameters
  • GL_EXT_gpu_shader4
  • GL_EXT_multi_draw_arrays
  • GL_EXT_packed_depth_stencil
  • GL_EXT_packed_float
  • 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_array
  • GL_EXT_texture_compression_latc
  • GL_EXT_texture_compression_rgtc
  • 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_integer
  • 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_shared_exponent
  • GL_EXT_transform_feedback
  • GL_EXT_vertex_array
  • GL_KTX_buffer_region
  • GL_NV_blend_square
  • GL_NV_conditional_render
  • GL_NV_texgen_reflection
  • GL_SGIS_generate_mipmap
  • GL_SGIS_texture_edge_clamp
  • GL_SGIS_texture_lod
  • GL_WIN_swap_hint
  • WGL_ARB_extensions_string
  • WGL_ARB_pixel_format
  • WGL_ATI_pixel_format_float
  • WGL_ARB_pixel_format_float
  • WGL_ARB_multisample
  • WGL_EXT_swap_control
  • WGL_ARB_pbuffer
  • WGL_ARB_render_texture
  • WGL_ARB_make_current_read
  • WGL_EXT_extensions_string
  • WGL_ARB_buffer_region
  • WGL_EXT_framebuffer_sRGB
  • WGL_ATI_render_texture_rectangle
  • WGL_EXT_pixel_format_packed_float
  • WGL_I3D_genlock
  • WGL_NV_swap_group
  • WGL_ARB_create_context

A more detailed description of each extension can be found at the following addresses:

The extensions exposed by the old Catalyst drivers are HERE.
You can use GPU Caps Viewer to retrieve the list of extensions of your graphics card.

One thought on “ATI Catalyst 9.1: 10 New OpenGL Extensions”

Comments are closed.