programming for ATI 9250

Started by
9 comments, last by Funkymunky 15 years, 10 months ago
I have a Diamond Stealth Radeon 9250 (this thing). I want to program some vertex/pixel shaders for it with pure OpenGL (no extension wrapper like GLEW). I got an error when I queried it for the "GL_ARB_shading_language_100." In fact, when I try to do "glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)wglGetProcAddress("glCreateProgramObjectARB");" it returns NULL! Here are the extensions queried from the card:

GL_ARB_multitexture
GL_EXT_texture_env_add
GL_EXT_compiled_vertex_array
GL_S3_s3tc
GL_ARB_occlusion_query
GL_ARB_point_parameters
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_buffer_object
GL_ARB_vertex_program
GL_ARB_window_pos
GL_ATI_element_array
GL_ATI_envmap_bumpmap
GL_ATI_fragment_shader
GL_ATI_map_object_buffer
GL_ATI_texture_env_combine3
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_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_mirror_clamp
GL_EXT_texture_object
GL_EXT_texture_rectangle
GL_EXT_vertex_array
GL_EXT_vertex_shader
GL_HP_occlusion_test
GL_NV_blend_square
GL_NV_occlusion_query
GL_NV_texgen_reflection
GL_SGI_color_matrix
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SGIS_texture_border_clamp
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod
GL_SUN_multi_draw_arrays
GL_WIN_swap_hint
WGL_EXT_extensions_string
WGL_EXT_swap_control


It has that SMARTSHADER "technology," does that mean that I can't do conventional pixel/vertex shaders through OpenGL?
Advertisement
Quote:Original post by Funkymunky
It has that SMARTSHADER "technology," does that mean that I can't do conventional pixel/vertex shaders through OpenGL?
No. SMARTSHADER is just marketing bullshit. You can use old school OGL assembly vertex/fragment programs on that card, and that's it.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
cool card. I have fond memories of programming this thing. You might find the vertex and pixel shader tutorials here on the website helpful that I wrote in 2001 / 2002. At the time I did it with the DirectX asm shader support but I guess the instructions for the OpenGL asm shaders are not that much different.
To get you started you might check out ATI's website for a simple starting ground :-)
hmmm, so why isnt "GL_ARB_shading_language_100" in the list of extensions? Maybe just my drivers are way out of date...?
alright, i'm baffled. I got the dot net 2.0 redistributables and the latest catalyst drivers. I'm still having the same problem. In fact, I switched to GLEW to see if it would be less of a headache, and now it simply crashes on glCreateShader(GL_VERTEX_SHADER). I did call glewInit and check that it was GLEW_OK. The glewinfo.exe program says that GL_VERSION_1_1 is OK, GL_VERSION_1_2 is OK, GL_VERSION_1_3 is OK, GL_VERSION_1_4 is MISSING, GL_VERSION_1_5 is MISSING... and GL_VERSION_2_0 is OK! (with glCreateShader as OK).

so what gives?
hmm, I didnt think that card could do SM2. Are these extensions supported:
GL_ARB_shader_objects
GL_ARB_vertex_program
GL_ARB_fragment_program
Yeah 9250 was an R200-based part, so no shader model 2.0 capabilities. Which means no high-level shader programming, just assembly.
in DirectX tongue it was a ps_1_4 shader card. The interesting part was that you had two phases. So you could fetch up to 28 arithmetic instructions and I believe 6 or eight texture instructions (I think I forgot that ... would need to check my own articles :-))
blast! oh well, thanks for all the replies
It's probably time for you to get a new video card anyway, that thing is seriously old and very underpowered. [smile]

This topic is closed to new replies.

Advertisement