ATI Catalyst 9.12: OpenGL and OpenCL Details


Catalyst logo

OpenGL 3 logo

OpenCL logo



With the release of GPU Caps 1.8.0 and the new Catalyst 9.12, it’s time to publish a detailed OpenGL and OpenCL API support.

Catalyst 9.12 is the first display driver to bring OpenGL 3.2 support on Radeon boards. From Cat 9.12 release notes, 11 new OpenGL extensions have been added. Actually some of them are not (still?) exposed.

New exposed extensions (Radeon HD 5870 + Vista SP2 32-bit):

Non exposed extensions:

There are also some new GL_AMD_xxx extensions but no documentation is currently available.



1 – Catalyst 9.12 Driver details

Here is the data for a Radeon HD 5870 under Windows Vista SP2 32-bit.

– OpenGL Renderer: ATI Radeon HD 5800 Series
– Vendor: ATI Technologies Inc.
– Vendor ID: 0x1002
– Device ID: 0x6898
– Perf Level 0 – GPU: 157 MHz
– Perf Level 0 – Memory: 300 MHz
– Perf Level 1 – GPU: 600 MHz
– Perf Level 1 – Memory: 900 MHz
– Perf Level 2 – GPU: 850 MHz
– Perf Level 2 – Memory: 1200 MHz
– Drivers Version: 8.681.0.0 – Catalyst 09.12 (11-24-2009) – atioglxx.dll
– ATI Catalyst Version String: 09.12
– ATI Catalyst Release Version String: 8.681-091124a-092498C-ATI
– GPU Codename: Cypress
– GPU Unified Shader Processors: 1600
– Video Memory Size: 1024 MB
– BIOS String: 113-C00101-101

Radeon HD 5870 + Catalyst 9.12 + GPU Caps 1.8.0



2 – Catalyst 9.12 OpenGL details

– OpenGL Version: 3.2.9232 Compatibility Profile Context
– GLSL (OpenGL Shading Language) Version: 1.50
– ARB Texture Units: 8
– Vertex Shader Texture Units: 16
– Pixel Shader Texture Units: 16
– Geometry Shader Texture Units: 32
– Max Texture Size: 16384×16384
– Max Anisotropic Filtering Value: X16.0
– Max Point Sprite Size: 8192.0
– Max Dynamic Lights: 8
– Max Viewport Size: 16384×16384
– 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: 15
– MSAA: 1X
– MSAA: 2X
– MSAA: 4X
– MSAA: 8X

OpenGL Extensions: 176

  • GL_AMDX_name_gen_delete
  • GL_AMDX_random_access_target
  • GL_AMDX_vertex_shader_tessellator
  • GL_AMD_draw_buffers_blend
  • GL_AMD_performance_monitor
  • GL_AMD_seamless_cubemap_per_texture
  • GL_AMD_texture_compression_dxt6
  • GL_AMD_texture_compression_dxt7
  • GL_AMD_texture_cube_map_array
  • GL_AMD_texture_texture4
  • GL_AMD_vertex_shader_tessellator
  • GL_ARB_color_buffer_float
  • GL_ARB_copy_buffer
  • GL_ARB_depth_buffer_float
  • GL_ARB_depth_clamp
  • GL_ARB_depth_texture
  • GL_ARB_draw_buffers
  • GL_ARB_draw_buffers_blend
  • GL_ARB_draw_elements_base_vertex
  • 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_geometry_shader4
  • 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_provoking_vertex
  • GL_ARB_sample_shading
  • GL_ARB_seamless_cube_map
  • GL_ARB_shader_objects
  • GL_ARB_shader_texture_lod
  • GL_ARB_shading_language_100
  • GL_ARB_shadow
  • GL_ARB_shadow_ambient
  • GL_ARB_sync
  • 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_cube_map_array
  • 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_gather
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_texture_multisample
  • GL_ARB_texture_non_power_of_two
  • GL_ARB_texture_query_lod
  • GL_ARB_texture_rectangle
  • GL_ARB_texture_rg
  • GL_ARB_texture_snorm
  • GL_ARB_transpose_matrix
  • GL_ARB_uniform_buffer_object
  • GL_ARB_vertex_array_bgra
  • 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_geometry_shader4
  • 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_timer_query
  • 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_explicit_multisample
  • 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
  • WGL_ARB_create_context_profile



3 – Catalyst 9.12 OpenCL details

– Num OpenCL platforms: 1
– Name: ATI Stream
– Version: OpenCL 1.0 ATI-Stream-v2.0-beta4
– Profile: FULL_PROFILE
– Vendor: Advanced Micro Devices, Inc.
– Num devices: 2

CL_DEVICE_NAME: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
– CL_DEVICE_VENDOR: GenuineIntel
– CL_DRIVER_VERSION: 1.0
– CL_DEVICE_PROFILE: FULL_PROFILE
– CL_DEVICE_VERSION: OpenCL 1.0 ATI-Stream-v2.0-beta4
– CL_DEVICE_TYPE: CPU
– CL_DEVICE_VENDOR_ID: 0x1002
– CL_DEVICE_MAX_COMPUTE_UNITS: 2
– CL_DEVICE_MAX_CLOCK_FREQUENCY: 3000MHz
– CL_DEVICE_ADDRESS_BITS: 32
– CL_DEVICE_MAX_MEM_ALLOC_SIZE: 524288KB
– CL_DEVICE_GLOBAL_MEM_SIZE: 1024MB
– CL_DEVICE_MAX_PARAMETER_SIZE: 4096
– CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64 Bytes
– CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 64KB
– CL_DEVICE_ERROR_CORRECTION_SUPPORT: NO
– CL_DEVICE_LOCAL_MEM_TYPE: Global
– CL_DEVICE_LOCAL_MEM_SIZE: 32KB
– CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64KB
– CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
– CL_DEVICE_MAX_WORK_ITEM_SIZES: [1024 ; 1024 ; 1024]
– CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024
– CL_DEVICE_IMAGE_SUPPORT: NO
– CL_DEVICE_MAX_READ_IMAGE_ARGS: 0
– CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 0
– CL_DEVICE_IMAGE2D_MAX_WIDTH: 0
– CL_DEVICE_IMAGE2D_MAX_HEIGHT: 0
– CL_DEVICE_IMAGE3D_MAX_WIDTH: 0
– CL_DEVICE_IMAGE3D_MAX_HEIGHT: 0
– CL_DEVICE_IMAGE3D_MAX_DEPTH: 0
– CL_DEVICE_MAX_SAMPLERS: 0
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: 16
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: 8
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 4
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 2
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 4
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 0
– CL_DEVICE_EXTENSIONS: 4
– Extensions:
– cl_khr_global_int32_base_atomics
– cl_khr_global_int32_extended_atomics
– cl_khr_local_int32_base_atomics
– cl_khr_local_int32_extended_atomics

CL_DEVICE_NAME: Cypress
– CL_DEVICE_VENDOR: Advanced Micro Devices, Inc.
– CL_DRIVER_VERSION: CAL 1.4.515
– CL_DEVICE_PROFILE: FULL_PROFILE
– CL_DEVICE_VERSION: OpenCL 1.0 ATI-Stream-v2.0-beta4
– CL_DEVICE_TYPE: GPU
– CL_DEVICE_VENDOR_ID: 0x1002
– CL_DEVICE_MAX_COMPUTE_UNITS: 20
– CL_DEVICE_MAX_CLOCK_FREQUENCY: 850MHz
– CL_DEVICE_ADDRESS_BITS: 32
– CL_DEVICE_MAX_MEM_ALLOC_SIZE: 262144KB
– CL_DEVICE_GLOBAL_MEM_SIZE: 256MB
– CL_DEVICE_MAX_PARAMETER_SIZE: 1024
– CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 0 Bytes
– CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 0KB
– CL_DEVICE_ERROR_CORRECTION_SUPPORT: NO
– CL_DEVICE_LOCAL_MEM_TYPE: Local
– CL_DEVICE_LOCAL_MEM_SIZE: 16KB
– CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64KB
– CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3
– CL_DEVICE_MAX_WORK_ITEM_SIZES: [256 ; 256 ; 256]
– CL_DEVICE_MAX_WORK_GROUP_SIZE: 256
– CL_DEVICE_IMAGE_SUPPORT: NO
– CL_DEVICE_MAX_READ_IMAGE_ARGS: 0
– CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 0
– CL_DEVICE_IMAGE2D_MAX_WIDTH: 0
– CL_DEVICE_IMAGE2D_MAX_HEIGHT: 0
– CL_DEVICE_IMAGE3D_MAX_WIDTH: 0
– CL_DEVICE_IMAGE3D_MAX_HEIGHT: 0
– CL_DEVICE_IMAGE3D_MAX_DEPTH: 0
– CL_DEVICE_MAX_SAMPLERS: 0
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: 16
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: 8
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 4
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 2
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 4
– CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 0
– CL_DEVICE_EXTENSIONS: 0

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

The extensions exposed by the old Catalyst drivers are HERE.


12 thoughts on “ATI Catalyst 9.12: OpenGL and OpenCL Details”

  1. Yoonjae

    Finally! Thanks for updating. And GL_ARB_seamless_cube_map is already exposed among your 176 extension list.

  2. Korvin77

    yes I saw it yesterday in GPU Caps Viewer and OpenGl Ext Viewer 3.0

  3. Athlonite

    hi JeGX just thought i’d pop back in after being away for a bit i now have a HIS HD5770 and win7x64 but acording to GPU caps viewer neither my CPU (AMD Athlon x2 7750BE) or my video card have OpenCL support hrmmm don’t know why i got ATI’s cat 9.12 installed so it should have been intalled aswell

  4. JeGX Post Author

    @Yoonjae: thanks for the GL_ARB_seamless_cube_map extension, I don’t know why I didn’t see it…

    @Athlonite: did you install the ATI Stream SDK (see HERE and HERE) ?

  5. Athlonite

    yup i did now and it says OpenCL 1.0 ATI-Stream-v2.0.0 – CU: 10 @ 850MHz (GPU) but none of the opencl demo’s work though

  6. Mars_999

    Hello everyone!

    Anyone here have a 5k series card running OpenGL3.2? How is the stability? Bugs galore? Would I be better off getting another Nvidia card? I am worried that ATI’s GL drivers still suck and don’t want the headache if that is the case. I am in the market for a new Gfx card. Thanks

  7. JeGX Post Author

    @Mars_999: not an easy answer… Radeon 5k or GeForce GTX 2xx. both types of cards support now OpenGL 3.2 with pros and cons. I’ll try to publish shortly a post on this subject.

  8. Athlonite

    much fooling and twidling of files and viola all works well thanks to JeGX

  9. Pingback: AMD Tries The Rebranding With Mobility Radeon HD 5145 and 5165 - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming - Geeks3D.com

Comments are closed.