Mesa 7.10 Release Notes / January 7, 2011
Mesa 7.10 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 7.10.1.
Mesa 7.10 implements the OpenGL 2.1 API, but the version reported by glGetString(GL_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 2.1.
See the Compiling/Installing page for prerequisites for DRI hardware acceleration.
MD5 checksums
0a70c15c135561824bdcae92bf232e43 MesaLib-7.10.tar.gz 33fb94eccc02cbb4d8d1365615e38e46 MesaLib-7.10.tar.bz2 5cafdc0eda0f9bf370b95c98df3338fa MesaLib-7.10.zip bc644be551ed585fc4f66c16b64a91c9 MesaGLUT-7.10.tar.gz 5c2677a155672352d62b177e4f0f92e8 MesaGLUT-7.10.tar.bz2 2ce5001f74496d1ba719ef74d910a5cf MesaGLUT-7.10.zip
New features
- GL_ARB_explicit_attrib_location extension (Intel and software drivers).
- GL_ARB_texture_rg (Intel, software drivers, gallium drivers).
- GL_EXT_separate_shader_objects extension (Intel and software drivers).
- GL_NV_primitive_restart extension (Gallium softpipe, llvmpipe).
- New fragment shader back-end for i965-class hardware.
- Support for Sandybridge chipset in i965 DRI driver.
Bug fixes
This list is likely incomplete.
- Bug 28800 - [r300c, r300g] Texture corruption with World of Warcraft
- Bug 29420 - Amnesia / HPL2 RendererFeatTest - not rendering correctly
- Bug 29946 - [swrast] piglit valgrind glsl-array-bounds-04 fails
- Bug 30261 - [GLSL 1.20] allowing inconsistent invariant declaration between two vertex shaders
- Bug 30632 - [softpipe] state_tracker/st_manager.c:489: st_context_notify_invalid_framebuffer: Assertion `stfb && stfb->iface == stfbi' failed.
- Bug 30694 - wincopy will crash on Gallium drivers when going to front buffer
- Bug 30771 - [r600g] vert-tex glsl demo
- Bug 30787 - Invalid asm shader does not generate draw-time error when used with GLSL shader
- Bug 30974 - [llvmpipe] SIGABRT src/gallium/drivers/llvmpipe/lp_state_fs.c:779
- Bug 30993 - getFramebufferAttachmentParameteriv wrongly generates error
- Bug 31101 - [glsl2] abort() in ir_validate::visit_enter(ir_assignment *ir)
- Bug 31193 - [regression] aa43176e break water reflections
- Bug 31194 - The mesa meta save/restore code doesn't ref the current GLSL program
- Bug 31371 - glslparsertest: ir.cpp:358: ir_constant::ir_constant(const glsl_type*, const ir_constant_data*): Assertion `(type->base_type >= 0) && (type->base_type <= 3)' failed.
- Bug 31439 - Crash in glBufferSubData() with size == 0
- Bug 31495 - [i965 gles2c bisected] OpenGL ES 2.0 conformance GL2Tests_GetBIFD_input.run regressed
- Bug 31514 - isBuffer returns true for unbound buffers
- Bug 31560 - [tdfx] tdfx_tex.c:702: error: ‘const struct gl_color_table’ has no member named ‘Format’
- Bug 31617 - Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled
- Bug 31648 - [GLSL] array-struct-array gets assertion: `(size >= 1) && (size <= 4)' failed.
- Bug 31650 - [GLSL] varying gl_TexCoord fails to be re-declared to different size in the second shader
- Bug 31673 - GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
- Bug 31690 - i915 shader compiler fails to flatten if in Aquarium webgl demo.
- Bug 31832 - [i915] Bad renderbuffer format: 21
- Bug 31841 - [drm:radeon_cs_ioctl] *ERROR* Invalid command stream !
- Bug 31894 - Writing to gl_PointSize with GLES2 corrupts other varyings
- Bug 31909 - [i965] brw_fs.cpp:1461: void fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion `expr->operands[i]->type->is_scalar()' failed.
- Bug 31934 - [gallium] Mapping empty buffer object causes SIGSEGV
- Bug 31983 - [i915 gles2] "if (expression with builtin/varying variables) discard" breaks linkage
- Bug 31985 - [GLSL 1.20] initialized uniform array considered as "unsized"
- Bug 31987 - [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not case GL_INVALID_ENUM
- Bug 32035 - [GLSL bisected] comparing unsized array gets segfault
- Bug 32070 - llvmpipe renders stencil demo incorrectly
- Bug 32273 - assertion fails when starting vdrift 2010 release with shaders enabled
- Bug 32287 - [bisected GLSL] float-int failure
- Bug 32311 - [965 bisected] Array look-ups broken on GM45
- Bug 32520 - [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in GL_INVALID_ENUM
- Bug 32825 - egl_glx driver completely broken in 7.9 branch [fix in master]
Changes
Adam Jackson (2):
- i965: Update renderer strings for sandybridge
- drivers/x11: unifdef XFree86Server
Alex Deucher (30):
- r600c: fix mipmap stride on evergreen
- r600c: add reloc for CB_COLOR0_ATTRIB
- r600c: pull over 6xx/7xx vertex fixes for evergreen
- r600c: fix segfault in evergreen stencil code
- r100: revalidate after radeon_update_renderbuffers
- r600c: add missing radeon_prepare_render() call on evergreen
- r600c: properly align mipmaps to group size
- egl_dri2: Add radeon chip ids
- r600c/evergreen: texture align is group_bytes just like 6xx/7xx
- r600g: fix buffer alignment
- r600g: All EVENT_WRITE packets need the EVENT_INDEX field
- r600g: translate ARR instruction for evergreen
- r600g: use meaningful defines for chiprev
- r600g: use full range of VS resources for vertex samplers
- r600g: fix additional EVENT_WRITE packet
- r600g: fix some winsys functions to deal properly with evergreen
- r600c: add Ontario Fusion APU support
- r600g: add support for ontario APUs
- r600c: fix VC flush on cedar and palm
- gallium/egl: fix r300 vs r600 loading
- r600c: fix some opcodes on evergreen
- r600c: bump texture limits to hw limits
- r600g: bump texture/cb limits appropriately for evergreen
- radeon: bump mip tree levels to 15
- r600g: fix rendering with a vertex attrib having a zero stride
- r600g: remove useless switch statements
- r600g: add support for NI (northern islands) asics
- r600c: add support for NI asics
- r600g: support up to 64 shader constants
- r600c: fix up SQ setup in blit code for Ontario/NI
Andre Maasikas (3):
- r600c: fix buffer height setting in dri2 case
- r600g: break alu clause earlier
- r600g: fix evergreen interpolation setup
Andrew Randrianasulu (2):
- dri/nv04: Don't expose ARB_texture_env_combine/dot3.
- dri/nv04: Enable eng3dm for A8/L8 textures.
Aras Pranckevicius (2):
- glsl: fix crash in loop analysis when some controls can't be determined
- glsl: fix matrix type check in ir_algebraic
Bas Nieuwenhuizen (3):
- r600g: set ENABLE_KILL in the shader state in the new design
- r600g: set ENABLE_KILL on evergreen too
- r600g: use dirty list to track dirty blocks
Ben Skeggs (3):
- nv50: DST
- nv50: DPH
- nv50: silence some unknown get_param warnings
Benjamin Franzke (2):
- st/egl image: multiply drm buf-stride with blocksize
- r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)
Brian Paul (296):
- glx: add const qualifiers to __indirect_glMultiDrawArraysEXT()
- glsl2: fix signed/unsigned comparison warning
- llvmpipe: cast to silence warning
- llvmpipe: s/boolean/unsigned/ in bitfield to silence warning
- nv50: use unsigned int for bitfields to silence warnings
- tgsi: fix incorrect usage_mask for shadow tex instructions
- gallivm: expand AoS sampling to cover all filtering modes
- gallivm: fix incorrect vector shuffle datatype
- gallivm: move i32_vec_type inside the #ifdef
- mesa: include mfeatures.h in formats.c
- gallivm: fix wrong return value in bitwise functions
- tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0
- gallivm: added missing case for PIPE_TEXTURE_RECT
- gallium: better docs for pipe_rasterizer_state::sprite_coord_enable
- gallium: rework handling of sprite_coord_enable state
- gallium/docs: added new pipeline.txt diagram
- mesa: don't call valid_texture_object() in non-debug builds
- glsl2: silence compiler warnings in printf() calls
- docs: remove old broken link
- docs: mark as obsolete, remove dead links
- llvmpipe: fix query bug when no there's no scene
- gallivm: remove debug code
- llvmpipe: maintain fragment shader state for draw module
- llvmpipe: indentation fix
- llvmpipe: reformatting, remove trailing whitespace, etc
- llvmpipe: clean-up, comments in setup_point_coefficient()
- llvmpipe: rename sprite field, add sprite_coord_origin
- llvmpipe: implement sprite coord origin modes
- draw: fix test for using the wide-point stage
- llvmpipe: check bitshift against PIPE_MAX_SHADER_OUTPUTS
- draw: check bitshift against PIPE_MAX_SHADER_OUTPUS
- Merge branch 'sprite-coord'
- draw: new draw_fs.[ch] files
- glsl2: fix typo in error msg
- gallivm: fix lp_build_sample_compare()
- softpipe: add missing calls to set draw vertex samplers/views
- mesa: don't advertise bogus GL_ARB_shading_language_120 extension
- configs: remove egl-swrast target from linux-dri config
- llvmpipe: fix sprite texcoord setup for non-projective texturing
- mesa: fix assertions to handle srgb formats
- st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()
- st/mesa: use the wrapped renderbuffer in CopyPixels()
- llvmpipe: make min/max lod and lod bias dynamic state
- llvmpipe: make texture border_color dynamic state
- softpipe: fix repeat() function for NPOT textures
- gallivm: fix repeat() function for NPOT textures
- swrast: update comments for REMAINDER() macro
- softpipe: rename sp_state_fs.c -> sp_state_shader.c
- softpipe: make shader-related functions static
- softpipe: make blend/stencil/depth functions static
- softpipe: make sampler state functions static
- softpipe: make vertex state functions static
- softpipe: make rasterizer state functions static
- softpipe: make stream out state functions static
- softpipe: make clip state functions static
- softpipe: minor asst. clean-ups
- softpipe: allocate tile data on demand
- llvmpipe: fix swizzling of texture border color
- softpipe: fix swizzling of texture border color
- draw: pass sampler state down to llvm jit state
- gallivm: check for level=0 case in lp_build_minify()
- gallivm: added some comments
- draw: check for null sampler pointers
- swrast: fix choose_depth_texture_level() to respect mipmap filtering state
- st/mesa: replace assertion w/ conditional in framebuffer invalidation
- glsl2: fix signed/unsigned comparison warning
- st/xlib: add some comments
- ir_to_mesa: assorted clean-ups, const qualifiers, new comments
- mesa: remove assertion w/ undeclared variable texelBytes
- gallivm: remove newlines
- draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELS
- mesa: reformatting, comments, code movement
- x11: fix breakage from gl_config::visualType removal
- gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8
- mesa: remove post-convolution width/height vars
- gallivm: add compile-time option to emit inst addrs and/or line numbers
- llvmpipe: code to dump bytecode to file (disabled)
- gallivm: added lp_build_print_vec4()
- gallivm: added lp_build_load_volatile()
- glsl: add ir_unop_round_even case to silence unhandled enum warning
- st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)
- st/mesa: reformatting in st_cb_drawpixels.c
- st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32
- st/mesa: update function name, comments
- gallivm: use util_snprintf()
- llvmpipe: remove lp_setup_coef*.c files from Makefile
- mesa: fix mesa version string construction
- gallivm: fix incorrect type for zero vector in emit_kilp()
- llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()
- draw: use float version of LLVM Mul/Add instructions
- draw: fix typo in comment
- mesa: add GL_RG case to _mesa_source_buffer_exists()
- mesa: add missing cases for packing red/green images
- st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()
- docs: update texture red/green support in GL3.txt
- docs: add GL_ARB_texture_rg to release notes
- mesa: driver hook for primitive restart
- mesa: set/get primitive restart state
- mesa: API spec for primitive restart
- mesa: regenerated files with primitive restart
- mesa: plug in primitive restart function
- vbo: support for primitive restart
- gallium: new CAP, state for primitive restart
- st/mesa: support for primitive restart
- draw: implement primitive splitting for primitive restart
- softpipe: enable primitive restart
- llvmpipe: enable primitive restart
- docs: added GL_NV_primitive_restart extension
- Merge branch 'primitive-restart-cleanup'
- winsys/xlib: formatting fixes
- winsys/xlib: use Bool type for shm field
- winsys/xlib: fix up allocation/dealloction of XImage
- winsys/xlib: rename xm->xlib
- galahad: silence warnings
- mesa: move declaration before code
- docs: updated GL3 status for primitive restart
- mesa: 80-column wrapping
- mesa: simplify fbo format checking code
- mesa: split up the image.c file
- mesa: add pixel packing for unscaled integer types
- mesa: _mesa_ClearColorIuiEXT() and _mesa_ClearColorIiEXT()
- mesa: _mesa_is_format_integer() function
- mesa: minor reformatting, clean-ups
- mesa: added _mesa_is_fragment_shader_active() helper
- mesa: new glDrawPixels error check for integer formats
- softpipe: added some texture sample debug code (disabled)
- mesa: added new gl_extensions::EXT_gpu_shader4 field
- mesa: added new gl_framebuffer::_IntegerColor field
- mesa: added glGet query for GL_RGBA_INTEGER_MODE_EXT
- mesa: compute _IntegerColor field in _mesa_test_framebuffer_completeness()
- mesa: added cases for GL_EXT_texture_integer formats
- mesa: added cases for GL_EXT_texture_integer
- st/mesa: add format selection for signed/unsigned integer formats
- mesa: simplify target_can_be_compressed() function
- glapi: GL_EXT_texture_integer API
- glapi: include/build EXT_texture_integer.xml
- mesa: regenerated API files for GL_EXT_texture_integer
- mesa: plug in GL_EXT_texture_integer functions
- mesa: display list support for GL_EXT_texture_integer
- st/mesa: be smarter choosing texture format for glDrawPixels()
- softpipe: remove >32bpp color restriction
- mesa: silence enum comparison warning
- mesa: fix uninitialized var warning
- xlib: silence unused var warning
- util: use pointer_to_func() to silence warning
- rtasm: use pointer_to_func() to silence warning
- translate: use function typedefs, casts to silence warnings
- translate: remove unused prototypes
- mesa: additional glReadPixels error checks for GL_EXT_texture_integer
- mesa: additional switch cases for GL_EXT_texture_integer
- mesa: additional teximage error checks for GL_EXT_texture_integer
- mesa: do integer FB / shader validation check in _mesa_valid_to_render()
- mesa: call _mesa_valid_to_render() in glDrawPixels, glCopyPixels, glBitmap
- mesa: remove the unused _mesa_is_fragment_shader_active() function
- mesa: fix bug in _mesa_is_format_integer()
- mesa: rename function to _mesa_is_format_integer_color()
- mesa: remove 'normalized' parameter from _mesa_VertexAttribIPointer()
- vbo: re-indent file
- glapi: xml spec file for GL_EXT_gpu_shader4
- glapi: include EXT_gpu_shader4.xml
- glapi: regenerated API files
- mesa: plug in stubs for glBindFragDataLocation(), glGetFragDataLocation()
- mesa: add glGetUniformuiv(), plug in uint glUniform funcs
- mesa: plug in more GL_EXT_gpu_shader4 functions
- mesa: add new GLvertexformat entries for integer-valued attributes
- mesa: implement integer-valued vertex attribute functions
- mesa: add gl_client_array::Integer field and related vertex array state code
- mesa: consolidate glVertex/Color/etcPointer() code
- mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXT
- mesa: glArrayElement support for integer-valued arrays
- mesa: clean-up array element code
- mesa: add extension table entry for GL_EXT_gpu_shader4
- mesa: remove obsolete comment
- mesa: fix incorrect type in _mesa_texstore_rgba_int16()
- mesa: fix integer cases in _mesa_is_legal_format_and_type()
- mesa: add const qualifier to _mesa_is_legal_format_and_type()
- mesa: additional integer formats in _mesa_bytes_per_pixel()
- mesa: pixel transfer ops do not apply to integer-valued textures
- mesa: remove dead code
- osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()
- mesa: use GLubyte for edge flag arrays
- mesa: move the gl_config struct declaration
- dri/util: add a bunch of comments
- mesa: remove always-false conditional in check_compatible()
- mesa: fix aux/accum comment and error message mixups
- llvmpipe: assign context's frag shader pointer before using it
- llvmpipe: add a cast
- mesa: silence new warnings in texobj.c
- egl/gdi: fix typo: xsurf->gsurf
- mesa: code to unpack RGBA as uints
- gallivm: implement scatter stores into temp register file
- gallivm: add some LLVM var labels
- gallivm: added debug code to dump temp registers
- gallivm: add pixel offsets in scatter stores
- gallivm: added lp_elem_type()
- gallivm: implement execution mask for scatter stores
- tgsi: remove unused function
- llvmpipe: added some debug assertions, but disabled
- gallivm: alloca() was called too often for temporary arrays
- gallivm: add const qualifiers, fix comment string
- softpipe: disable vertex texturing with draw/llvm
- mesa: consolidate pixel packing/unpacking code
- mesa: rename vars in pixel pack/unpack code
- mesa: implement uint texstore code
- mesa: remove stray GL_FLOAT case in _mesa_is_legal_format_and_type()
- mesa: make fixed-pt and byte-valued arrays a runtime feature
- softpipe: can't no-op depth test stage when occlusion query is enabled
- mesa: no-op glBufferSubData() on size==0
- mesa: #include mfeatures.h in enums.h
- mesa: improve error message
- mesa: add missing formats in _mesa_format_to_type_and_comps()
- mesa: handle more pixel types in mipmap generation code
- mesa: make glIsBuffer() return false for never bound buffers
- mesa: fix glDeleteBuffers() regression
- tdfx: s/Format/_BaseFormat/
- mesa: consolidate assertions in teximage code
- radeon: set gl_texture_image::TexFormat field in radeonSetTexBuffer2()
- r600: set gl_texture_image::TexFormat field in r600SetTexBuffer2()
- r200: set gl_texture_image::TexFormat field in r200SetTexBuffer2()
- r300: set gl_texture_image::TexFormat field in r300SetTexBuffer2()
- evergreen: set gl_texture_image::TexFormat field in evergreenSetTexBuffer()
- st/mesa: fix glDrawPixels(depth/stencil) bugs
- glsl: fix assorted MSVC warnings
- mesa: add more work-arounds for acoshf(), asinhf(), atahf()
- glsl: remove opt_constant_expression.cpp from SConscript
- mesa: fix error messages and minor reindenting
- mesa: whitespace cleanups
- mesa: 80-column wrapping
- mesa: reorder texture_error_check() params
- mesa: minor clean-ups in context code
- mesa: upgrade to glext.h version 66
- mesa: pass gl_format to _mesa_init_teximage_fields()
- mesa: fix error msg typo
- glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions
- mesa: hook up GL 3.x entrypoints
- docs: update some GL 3.0 status
- mesa: fix get_texture_dimensions() for texture array targets
- swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
- glsl: fix off by one in register index assertion
- glsl: use gl_register_file in a few places
- mesa: rename, make _mesa_register_file_name() non-static
- mesa: _mesa_valid_register_index() to validate register indexes
- mesa: replace #defines with new gl_shader_type enum
- mesa: use gl_shader_type enum
- glsl: better handling of linker failures
- glsl: start restoring some geometry shader code
- mesa: add assertion and update comment in _mesa_format_image_size()
- mesa: added _mesa_format_image_size64()
- x11: remove test_proxy_teximage() function
- st/mesa: fix mapping of zero-sized buffer objects
- gallivm/llvmpipe: squash merge of the llvm-context branch
- mesa: raise max texture sizes to 16K
- softpipe: increase max texture size to 16K
- mesa: replace large/MAX_WIDTH stack allocations with heap allocations
- mesa: replace large/MAX_WIDTH stack allocations with heap allocations
- swrast: avoid large stack allocations in blend code
- swrast: avoid large stack allocations in tex combine code
- st/mesa: avoid large stack allocations in readpixels code
- mesa: replace more MAX_WIDTH stack allocations with heap allocations
- gallivm/llvmpipe: remove lp_build_context::builder
- gallivm: fix null builder pointers
- mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
- mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
- llvmpipe: fix broken stencil writemask
- mesa: consolidate some compiler -D flags
- swrast: allow GL_RG format in glDrawPixels()
- swrast: fix indentation
- swrast: accept GL_RG in glReadPixels()
- swrast: restructure some glReadPixels() code
- mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
- mesa: remove unneeded cast
- mesa: update comments, remove dead code
- st/mesa: new comment about updating state vars
- mesa: add error margin to clip mask debug/check code
- gallium/util: minor formatting fixes
- mesa/llvm: use llvm-config --cppflags
- st/mesa: fix mipmap generation bug
- mesa: test for cube map completeness in glGenerateMipmap()
- mesa: set gl_texture_object::_Complete=FALSE in incomplete()
- mesa: consolidate glTexImage1/2/3D() code
- mesa: simplify proxy texture code in texture_error_check()
- mesa: consolidate the glTexSubImage1/2/3D() functions
- mesa: consolidate glCopyTexImage1/2D() code
- mesa: consolidate glCopyTexSubImage1/2/3D() functions
- mesa: consolidate glCompressedTexImage1/2/3D() functions
- mesa: make _mesa_test_proxy_teximage() easier to read
- configure: use llvm-config --cppflags instead of --cflags
- mesa: revamp error ch