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):
- GL_ARB_vertex_array_bgra
- GL_ARB_draw_elements_base_vertex
- GL_ARB_provoking_vertex
- GL_ARB_texture_multisample
- GL_ARB_depth_clamp
- GL_ARB_geometry_shader4
- GL_ARB_sync
- GL_ARB_seamless_cube_map (also exposed by NV R195.62). There is an extension called GL_AMD_seamless_cubemap_per_texture…
- GL_ARB_texture_cube_map_array (and GL_AMD_texture_cube_map_array): yeah, this ARB extension is not yet exposed by NVIDIA drivers. AMD is on the path to take the OpenGL leadership…
Non exposed extensions:
- GL_ARB_fragment_coord_conventions (exposed by NV R190.56)
- transform_feedback2: NV has the GL_NV_transform_feedback2 extension in R195.62. ATI already supports GL_EXT_transform_feedback so transform_feedback2 should be exposed soon. Maybe thanks to these
extensions, we’ll be able to debug GLSL shaders with glslDevil on Radeon.
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
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.
Finally! Thanks for updating. And GL_ARB_seamless_cube_map is already exposed among your 176 extension list.
yes I saw it yesterday in GPU Caps Viewer and OpenGl Ext Viewer 3.0
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
@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) ?
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
all of the openCL demos work on my HD4870. Guess I’m lucky?
It did not support Windows 7 yet, false report of OS version
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
@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.
much fooling and twidling of files and viola all works well thanks to JeGX
Why ATI doesn’t add OpenCL support in HD 3xxx series?
Pingback: AMD Tries The Rebranding With Mobility Radeon HD 5145 and 5165 - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming - Geeks3D.com