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…):
- GL_ARB_framebuffer_object
- GL_ARB_framebuffer_sRGB
- GL_ARB_map_buffer_range (NEW)
- GL_ARB_texture_compression_rgtc
- GL_ARB_texture_rg (NEW)
- GL_ARB_vertex_array_object (NEW)
- GL_EXT_texture_array (NEW)
- GL_EXT_texture_integer (NEW)
- GL_NV_conditional_render (NEW)
- WGL_ARB_create_context (NEW)
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).
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.
any news about EXT_direct_state_access support ??