[Mesa-users] Is there a feature-complete software-rendering OpenGL implementation ?

Brian Paul brianp at vmware.com
Thu Feb 16 08:10:22 PST 2012


On 02/15/2012 02:56 PM, W Thomas Jones wrote:
> On 12-02-14 04:04 PM, Alexey Eromenko wrote:
>> Hi,
>>
>> I need a a feature-complete software-rendering OpenGL implementation,
>> including common extensions (preferably with NVIDIA extensions also),
>> and WebGL (GL ES) for OpenGL and WebGL tests.
>>
>> (it should be dog-slow but feature complete)
>>
>> Is such thing exists ?
>>
>> Thanks in advance,
> Yes... Mesa. You'd probably want to use Gallium-LLVM since it's
> considerably faster than the Mesa classic software rasterizer... I'm
> not sure how buggy it is relative to the hardware drivers, but it does
> work as far as I know with GLES.

Here's the glxinfo for the llvmpipe driver.  You don't indicate which 
NVIDIA extensions you need so hopefully this will answer your question 
about feature completeness.

-Brian


OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string: 2.1 Mesa 8.0-devel (git-7539a0d)
OpenGL shading language version string: 1.20
OpenGL extensions:
     GL_AMD_draw_buffers_blend
     GL_APPLE_packed_pixels
     GL_APPLE_vertex_array_object
     GL_ARB_ES2_compatibility
     GL_ARB_copy_buffer
     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_explicit_attrib_location
     GL_ARB_fragment_coord_conventions
     GL_ARB_fragment_program
     GL_ARB_fragment_program_shadow
     GL_ARB_fragment_shader
     GL_ARB_framebuffer_object
     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_occlusion_query2
     GL_ARB_pixel_buffer_object
     GL_ARB_point_parameters
     GL_ARB_point_sprite
     GL_ARB_provoking_vertex
     GL_ARB_robustness
     GL_ARB_sampler_objects
     GL_ARB_shader_objects
     GL_ARB_shader_texture_lod
     GL_ARB_shading_language_100
     GL_ARB_shadow
     GL_ARB_sync
     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_texture_storage
     GL_ARB_texture_swizzle
     GL_ARB_transpose_matrix
     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_vertex_type_2_10_10_10_rev
     GL_ARB_window_pos
     GL_ATI_blend_equation_separate
     GL_ATI_draw_buffers
     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_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_instanced
     GL_EXT_draw_range_elements
     GL_EXT_fog_coord
     GL_EXT_framebuffer_blit
     GL_EXT_framebuffer_multisample
     GL_EXT_framebuffer_object
     GL_EXT_gpu_program_parameters
     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_polygon_offset
     GL_EXT_provoking_vertex
     GL_EXT_rescale_normal
     GL_EXT_secondary_color
     GL_EXT_separate_shader_objects
     GL_EXT_separate_specular_color
     GL_EXT_shadow_funcs
     GL_EXT_stencil_two_side
     GL_EXT_stencil_wrap
     GL_EXT_subtexture
     GL_EXT_texture
     GL_EXT_texture3D
     GL_EXT_texture_compression_dxt1
     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_lod_bias
     GL_EXT_texture_mirror_clamp
     GL_EXT_texture_object
     GL_EXT_texture_rectangle
     GL_EXT_texture_sRGB
     GL_EXT_texture_sRGB_decode
     GL_EXT_texture_shared_exponent
     GL_EXT_texture_snorm
     GL_EXT_texture_swizzle
     GL_EXT_vertex_array
     GL_EXT_vertex_array_bgra
     GL_IBM_multimode_draw_arrays
     GL_IBM_rasterpos_clip
     GL_IBM_texture_mirrored_repeat
     GL_INGR_blend_func_separate
     GL_MESA_pack_invert
     GL_MESA_texture_signed_rgba
     GL_MESA_window_pos
     GL_MESA_ycbcr_texture
     GL_NV_blend_square
     GL_NV_conditional_render
     GL_NV_fog_distance
     GL_NV_light_max_exponent
     GL_NV_packed_depth_stencil
     GL_NV_primitive_restart
     GL_NV_texgen_reflection
     GL_NV_texture_env_combine4
     GL_NV_texture_rectangle
     GL_OES_EGL_image
     GL_OES_read_format
     GL_S3_s3tc
     GL_SGIS_generate_mipmap
     GL_SGIS_texture_border_clamp
     GL_SGIS_texture_edge_clamp
     GL_SGIS_texture_lod
     GL_SUN_multi_draw_arrays




More information about the mesa-users mailing list