"Getting information off the Internet is like taking a drink from a fire hydrant."
- Mitchell Kapor

The ATi Linux driver
Sunday, November 24, 2002 | Permalink

ATi has taken a large step forward in terms of Linux support in my eyes with the new drivers from a few days ago. I had severe trouble with the previous Linux driver and never got it to work, with this driver however I got it up and running quite soon with little trouble. I'm posting this news from within Mandrake Linux 9.0 now and have runned a variety of 3d applications and have had success in every case. Heh, btw, Tux Racer rox.
In terms of extension support this driver seams to support pretty much everything that the Windows driver does. The complete list of the glGetString(GL_EXTENSIONS) return is:
GL_ARB_multitexture
GL_EXT_texture_env_add
GL_EXT_compiled_vertex_array
GL_S3_s3tc
GL_ARB_depth_texture
GL_ARB_fragment_program
GL_ARB_multisample
GL_ARB_point_parameters
GL_ARB_shadow
GL_ARB_shadow_ambient
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
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_mirrored_repeat
GL_ARB_transpose_matrix
GL_ARB_vertex_blend
GL_ARB_vertex_program
GL_ARB_window_pos
GL_ATI_draw_buffers
GL_ATI_element_array
GL_ATI_envmap_bumpmap
GL_ATI_fragment_shader
GL_ATI_map_object_buffer
GL_ATI_separate_stencil
GL_ATI_texture_env_combine3
GL_ATI_texture_float
GL_ATI_texture_mirror_once
GL_ATI_vertex_array_object
GL_ATI_vertex_attrib_array_object
GL_ATI_vertex_streams
GL_ATIX_texture_env_combine3
GL_ATIX_texture_env_route
GL_ATIX_vertex_shader_output_point_size
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_polygon_offset
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_stencil_wrap
GL_EXT_texgen_reflection
GL_EXT_texture3D
GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_texture_rectangle
GL_EXT_vertex_array
GL_EXT_vertex_shader
GL_HP_occlusion_test
GL_NV_texgen_reflection
GL_NV_blend_square
GL_NV_occlusion_query
GL_SGI_texture_edge_clamp
GL_SGIS_texture_border_clamp
GL_SGIS_texture_lod
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SUN_multi_draw_arrays

I suppose there's some kind of counterpart to the wglGetExtensionString() call in Linux for GLX specific stuff, but I'm still a newbie in this, but expect some Linux demos in the future. I'm not sure how much effort I'll need to put into convincing my framework to run in Linux, but it won't be a quicky.

Name

Comment

Enter the code below



yalmar
Friday, April 29, 2005

who are the common OpenGL extensions for these NV extensions?
int fattributes[] = {
WGL_DRAW_TO_PBUFFER_ARB, GL_TRUE,
WGL_SUPPORT_OPENGL_ARB, GL_TRUE,
WGL_PIXEL_TYPE_ARB,
WGL_TYPE_RGBA_ARB,
WGL_FLOAT_COMPONENTS_NV, GL_TRUE,
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV, GL_TRUE,
WGL_RED_BITS_ARB, 32,
WGL_GREEN_BITS_ARB, 32,
WGL_BLUE_BITS_ARB, 32,
WGL_ALPHA_BITS_ARB, 32,
0};

wglChoosePixelFormatARB(hdc, &fattributes[0], NULL, 1, &format, &nformats);
...

and

int battributes[] = {
WGL_PBUFFER_LARGEST_ARB, GL_TRUE,
WGL_TEXTURE_TARGET_ARB,
WGL_TEXTURE_RECTANGLE_NV,
WGL_TEXTURE_FORMAT_ARB,
WGL_TEXTURE_FLOAT_RGBA_NV,
0};

m_hPBuffer = wglCreatePbufferARB(hdc, format, m_iWidth, m_iHeight, &battributes[0]);
...
I need port this NV source code to compatible OpenGL and use this with my ATI 9800.

thanks.