ATI Catalyst 9.7 (BETA): Three New OpenGL Extensions!


AMD/ATI graphics drivers

OpenGL 3



Catalyst 9.7 (beta version at the time of writing) adds three new OpenGL extensions and continues to improve advanced features such as Geometry Shader (now a geometry shader can access to 16 textures samplers and 4096 uniforms!). Let’s see the new extensions:

  • GL_EXT_pixel_buffer_object: This extension brings the support of PBO (Pixel Buffer Object) to Radeon video cards. This extension is useful because it allows asynchronous texture loading and thus improves texture loading… But Catalyst graphics drivers already support PBOs via the GL_ARB_pixel_buffer_object. So, actually, GL_EXT_pixel_buffer_object does not bring new feature.
  • GL_EXT_provoking_vertex: This extension is used when flat shading is enabled (GL_FLAT). The provoking vertex of a primitive is the vertex that determines the constant primary and secondary colors when flat shading is enabled. This extension is supported in ForceWare since version 185.66.
  • GL_EXT_vertex_array_bgra: allows to fetch a vertex component (mainly color componant) from a Direct3D color array where color is stored as BGRA. This extension avoids to perform the swizzling in the vertex shader. This extension is supported in ForceWare since version 181.00

All GPU Caps Viewer’s tech demos work perfectly on a Radeon HD 4850 + Catalyst 9.7 beta.

GPU Caps Viewer - Catalyst 9.7

GPU Caps Viewer - Catalyst 9.7
OpenGL 2 context

GPU Caps Viewer - Catalyst 9.7
OpenGL 3 context – command line param: /gl30

Graphics driver information:
– Operating System: Windows XP 32-bit SP2
– Drivers Version: 8.630.0.0 – Catalyst 09.7 (6-10-2009)
– ATI Catalyst Version String: 09.7
– ATI Catalyst Release Version String: 8.63-090610a-082777E-ATI
– OpenGL Renderer: ATI Radeon HD 4800 Series
– OpenGL Version: 2.1.8781 (GL2 context) or 3.0.8781 (GL3 context)
– GLSL (OpenGL Shading Language) Version: 1.30
– ARB Texture Units: 8
– Vertex Shader Texture Units: 16
– Pixel Shader Texture Units: 16
Geometry Shader Texture Units: 16
– 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: 1024
– Max Fragment Uniform Components: 1024
Max Geometry Uniform Components: 4096
– Max Varying Float: 64
– Max Vertex Bindable Uniforms: 15
– Max Fragment Bindable Uniforms: 15
– Max Geometry Bindable Uniforms: 0
– MSAA: 1X
– MSAA: 2X
– MSAA: 4X
– MSAA: 8X

OpenGL Extensions: 151 extensions

  • GL_AMDX_vertex_shader_tessellator
  • GL_AMD_draw_buffers_blend
  • GL_AMD_performance_monitor
  • GL_AMD_texture_texture4
  • GL_ARB_color_buffer_float
  • GL_ARB_copy_buffer
  • 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_buffer_object
  • 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_texture_snorm
  • 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_ATI_texture_mirror_once
  • GL_EXT_abgr
  • GL_EXT_bgra
  • GL_EXT_bindable_uniform
  • 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_buffer
  • GL_EXT_copy_texture
  • GL_EXT_draw_buffers2
  • GL_EXT_draw_instanced
  • 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_pixel_buffer_object
  • GL_EXT_point_parameters
  • GL_EXT_provoking_vertex
  • 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_buffer_object
  • 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
  • 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_texture_snorm
  • GL_EXT_texture_swizzle
  • GL_EXT_transform_feedback
  • GL_EXT_vertex_array
  • GL_EXT_vertex_array_bgra
  • GL_IBM_texture_mirrored_repeat
  • GL_KTX_buffer_region
  • GL_NV_blend_square
  • GL_NV_conditional_render
  • GL_NV_copy_depth_to_color
  • GL_NV_primitive_restart
  • GL_NV_texgen_reflection
  • GL_SGIS_generate_mipmap
  • GL_SGIS_texture_edge_clamp
  • GL_SGIS_texture_lod
  • GL_SUN_multi_draw_arrays
  • 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
  • WGL_AMD_gpu_association
  • WGL_AMDX_gpu_association

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.


5 thoughts on “ATI Catalyst 9.7 (BETA): Three New OpenGL Extensions!”

  1. Leith Bade

    If the ATi drivers report geometry shaders, why is the geometry program extension not present?

  2. JeGX Post Author

    I think ATI is still working on OpenGL geometry shaders and the driver team don’t want to officially expose geometry shader extension as lon as it’s not ok…

  3. Matumbo

    Hang on, we’ve never been so close to having those damned geometry shaders !! We know the hardware’s present, they have just not finished copy-pasting the d3d driver code :)

  4. Governator

    As far as Furmark 1.7 is concerned I believe CF may be broke with the WHQL 9.7s (Unofficial), anyone else confirm? I get over 13K with Cat 9.6 with my CF 4890 setup on a 3.4GHz PII 720 BE and with the 9.7 WHQL set I only achieve 6900 and change, something isn’t right here, thanks everyone.

  5. Pingback: Equalizer 0.9 Available for Parallel and Scalable OpenGL Applications | The Geeks Of 3D - 3D Tech News

Comments are closed.