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 <../install.html>`__ 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 checking for compressed texture images - mesa: simplify target checking for TexImage functions - draw/llvm: don't flush in vs\_llvm\_delete() - tnl: Initialize gl\_program\_machine memory in run\_vp. - tnl: a better way to initialize the gl\_program\_machine memory - mesa, st/mesa: disable GL\_ARB\_geometry\_shader4 - mesa/meta: fix broken assertion, rename stack depth var - glsl: new glsl\_strtod() wrapper to fix decimal point interpretation - st/mesa: fix renderbuffer pointer check in st\_Clear() Brian Rogers (1): - mesa: Add missing else in do\_row\_3D Chad Versace (25): - intel\_extensions: Add ability to set GLSL version via environment - glsl: Add glsl\_type::uvecN\_type for N=2,3 - glsl: Add lexer rules for uint and uvecN (N=2..4) - glsl: Changes in generated file glsl\_lexer.cpp - glsl: Add lexer rules for << and >> in GLSL 1.30 - glsl: Change generated file glsl\_lexer.cpp - glsl: Implement ast-to-hir for binary shifts in GLSL 1.30 - glsl: Implement constant expr evaluation for bitwise-not - glsl: Implement constant expr evaluation for bit-shift ops - glsl: Implement constant expr evaluation for bitwise logic ops - glsl: Fix ir validation for bit logic ops - glsl: Define shift\_result\_type() in ast\_to\_hir.cpp - glsl: Implement ast-to-hir for bit-shift-assignment - glsl: Define bit\_logic\_result\_type() in ast\_to\_hir.cpp - glsl: Implement ast-to-hir for bit-logic ops - glsl: Fix lexer rule for ^= - glsl: Commit generated file glsl\_lexer.cpp - glsl: Fix ast-to-hir for ARB\_fragment\_coord\_conventions - mesa: Fix C++ includes in sampler.cpp - glsl: Fix ir\_expression::constant\_expression\_value() - glsl: Fix erroneous cast in ast\_jump\_statement::hir() - glsl: Fix Doxygen tag file in recently renamed files - glsl: Improve usage message for glsl\_compiler - glsl: Fix linker bug in cross\_validate\_globals() - glsl: In ast\_to\_hir, check sampler array indexing Chia-I Wu (149): - glapi: Fix build errors for ES. - glapi: Fix ES build errors again. - mesa: Update ES APIspec.xml. - st/xlib: Notify the context when the front/back buffers are swapped. - targets/egl: Use C++ compiler to link GL/ES state trackers. - libgl-xlib: Remove unused st\_api\_create\_OpenGL. - st/egl: Split modeset code support to modeset.c. - st/egl: Rename kms backend to drm. - st/egl: s/kms/drm/ on the drm backend. - egl: Enable drm platform by default. - egl: Check extensions. - st/egl: Skip single-buffered configs in EGL. - mapi: Fix compiler warnings. - st/egl: Drop context argument from egl\_g3d\_get\_egl\_image. - targets/egl: Fix linking with libdrm. - st/vega: Fix version check in context creation. - egl: Use attribute names as the \_EGLConfig member names. - egl: Access config attributes directly. - st/egl: Access \_EGLConfig directly. - st/egl: Do not finish a fence that is NULL. - mesa: Remove unused vtxfmt\_tmp.h. - egl\_dri2: Drop the use of \_egl[SG]etConfigKey. - egl\_glx: Drop the use of [SG]ET\_CONFIG\_ATTRIB. - egl\_glx: Fix borken driver. - egl: Move attributes in \_EGLImage to \_EGLImageAttribs. - egl: Parse image attributes with \_eglParseImageAttribList. - egl: Move fallback routines to eglfallbacks.c. - egl: Drop dpy argument from the link functions. - egl: Minor changes to the \_EGLConfig interface. - egl: Minor changes to the \_EGLScreen interface. - egl: Fix \_eglModeLookup. - st/egl: Fix native\_mode refresh mode. - egl: Add reference count for resources. - egl: Use reference counting to replace IsLinked or IsBound. - egl: Fix a false negative check in \_eglCheckMakeCurrent. - st/egl: Use resource reference count for egl\_g3d\_sync. - egl\_dri2: Fix a typo that make glFlush be called at wrong time. - glapi: Do not use glapidispatch.h. - glapi: Move glapidispatch.h to core mesa. - glapi: Do not use glapioffsets.h. - glapi: Merge glapioffsets.h into glapidispath.h. - vbo: Use CALL\_\* macros. - mesa: Remove unnecessary glapitable.h includes. - autoconf: Better client API selection. - docs: Update egl and openvg docs. - autoconf: Update configuration info. - Merge branch 'glapi-reorg' - targets: Add missing quotes to Makefile.xorg. - autoconf: st/vega requires --enable-openvg. - st/mesa: Unreference the sampler view in st\_bind\_surface. - autoconf: Tidy configure output for EGL. - targets/egl: Fix a warning with --disable-opengl build. - egl: Rework \_eglGetSearchPath. - mesa: Select FEATURE\_remap\_table when multiple APIs are enabled. - mesa: Allow contexts of different APIs to coexist. - egl: Set up the pthread key even TLS is used. - st/egl: Add native\_surface::present callback. - st/egl: Use native\_surface::present callback. - d3d1x: Use native\_surface::present. - st/egl: Remove flush\_frontbuffer and swap\_buffers. - st/egl: Add support for swap interval and swap behavior. - st/egl: Add support for EGL\_MATCH\_NATIVE\_PIXMAP. - st/egl: Add extern "C" wrapper to native.h. - st/egl: Add native\_display\_buffer interface. - st/egl: Use native\_display\_buffer for EGL\_MESA\_drm\_image. - autoconf: Add --enable-gallium-egl. - docs: Update egl docs. - st/dri: Add support for surfaceless current contexts. - egl\_dri2: Fix \_\_DRI\_DRI2 version 1 support. - st/vega: Do not wait NULL fences. - gallium: Add st\_api::name. - gallium: Add st\_context\_iface::share to st\_api. - st/wgl: Use st\_context\_iface::share for DrvShareLists. - st/glx: Replace MESA\_VERSION\_STRING by xmesa\_get\_name. - mesa: Clean up core.h. - scons: Define IN\_DRI\_DRIVER. - tgsi: Add STENCIL to text parser. - st/vega: vegaLookupSingle should validate the state. - st/vega: Set wrap\_r for mask and blend samplers. - st/vega: Fix vgReadPixels with a subrectangle. - egl\_dri2: Fix one context, multiple surfaces. - auxiliary: util\_blit\_pixels\_tex should restore the viewport. - st/vega: Fix a crash with empty paths. - st/vega: Masks and surfaces should share orientation. - st/vega: No flipping in vg\_prepare\_blend\_surface. - st/vega: Fix a typo in EXTENDED\_BLENDER\_OVER\_FUNC. - llvmpipe: Fix build errors on x86. - st/vega: Overhaul renderer with renderer states. - st/vega: Add DRAWTEX renderer state. - st/vega: Add SCISSOR renderer state. - st/vega: Add CLEAR renderer state for vgClear. - st/vega: Add FILTER renderer state for image filtering. - st/vega: Use the renderer for vgMask. - st/vega: Add POLYGON\_STENCIL and POLYGON\_FILL renderer state. - st/vega: Delay fb state update to vg\_validate\_state. - st/vega: Use st\_framebuffer for fb width/height. - st/vega: Move g3d states to renderer. - st/vega: Make shader\_bind call into the renderer. - st/vega: vg\_manager should care about only the color buffer. - st/vega: Clean up vg\_context fields and functions. - st/vega: Clean up renderer fields and functions. - st/vega: vg\_copy\_texture and vg\_copy\_surface should share code. - st/vega: Get rid of renderer\_copy\_texture. - st/vega: Update to latest headers. - st/vega: Fix image sampler views for alpha-only formats. - st/vega: Make path\_render and path\_stroke take a matrix. - st/vega: Make image\_draw take a matrix. - st/vega: Add primitive text support. - st/vega: Revive mask layer support. - st/vega: More flexible shader selection. - st/vega: Add color transformation support. - st/vega: Bump version to 1.1. - st/vega: Fix paint coordinates transformations. - st/vega: Fix negated logic in image\_draw. - st/vega: Fix degenerate paints. - st/vega: Simplify radial gradient. - st/vega: Remove st\_inlines.h. - st/vega: Delay blend texture creation until needed. - st/vega: Create drawing surface mask as needed. - st/vega: Initialize pipe states with renderer. - st/vega: Avoid unnecessary constant bufer upload. - st/vega: Destroy the pipe context with vg\_context. - st/vega: polygon\_array requires a deep free. - st/egl: Set pipe\_resource::array\_size to 1. - st/vega: Set pipe\_resource::array\_size to 1. - st/vega: Move vertex transformation to shader. - st/vega: Add a missing break. - st/vega: Add some comments to pipeline shaders. - st/vega: Refactor blend shaders. - st/vega: Move masking after blending. - st/vega: Add support for per-channel alpha. - st/vega: Blending should use premultiplied alpha. - st/vega: Fix VG\_BLEND\_MULTIPLY. - st/vega: Add blend shaders for all blend modes. - st/vega: Fix pipe blend state for various blend modes. - egl: \_eglFilterArray should not allocate. - mapi: Rewrite mapi\_abi.py to get rid of preprocessor magic. - vbo: Drop second ATTR macro. - vbo: Fix GLES2 glVertexAttrib. - mesa: Do not advertise GL\_OES\_texture\_3D. - mesa: Fix GL\_FIXED arrays. - mesa: Fix glTexCoordPointer with type GL\_FIXED. - st/egl: Plug pbuffer leaks. - st/egl: Fix eglCopyBuffers. - st/egl: Assorted fixes for dri2\_display\_get\_configs. - docs/egl: Update ../egl.html. - st/egl: Fix eglChooseConfig when configs is NULL. - docs: Add an example for EGL\_DRIVERS\_PATH. - autoconf: Fix --with-driver=xlib --enable-openvg. Chris Wilson (2): - i915g: Fix closure of full batch buffers - intel: Check for unsupported texture when finishing using as a render target Christoph Bumiller (80): - nv50: import new compiler - nouveau: update nouveau\_class.h - nv50: introduce the big formats table - nv50: don't produce MOV immediate to output reg in store opt - nv50: change back accidentally swapped UNORM,SNORM vertex type - nv50: add/fix some license headers - nv50: simple reload elimination and local CSE - nv50: fix constant\_operand opt mul by 2 case - nv50: permit usage of undefined TGSI TEMPs - nv50: add missing 2nd source for POW multiplication - nv50: add signed RGTC1 to format table, allow 2\_10\_10\_10 for vbufs - nv50: fix for empty BBs - nv50: insert MOVs also for PHI sources from dominating block - nv50: explicitly set src type for SET ops - nv50: fixes for nested IFs - nv50: don't eliminate loads to dedicated values - nv50: fix constbuf validation - nv50: build proper phi functions in the first place - nv50: fix reg count - nv50: begin implementing loops - nv50: more constant folding - nv50: loops part 2 - nv50: flatten simple IF/ELSE/ENDIF constructs - nv50: fix thinko in store to output reg possible check - nv50: generate JOINs for outermost IF clauses - nv50: more TGSI opcodes (SIN, SCS, ARL, RET, KILP) - nv50: fix PSIZ and PRIMID mapping - nv50: check dst compatibility in CSE - nv50: initialize edgeflag input index - nv50: emit predicate for interp - Merge remote branch 'origin/master' into nv50-compiler - nv50: DP2, fix ARL - nv50: yet another case we need a nop.exit - nv50: fix check for sprite/point coord enable - nv50: handle TEXTURE\_SWIZZLE and GEOMETRY\_SHADER4 caps - nv50: set the FragDepth output index - nv50: turn off verbose debug output by default - nv50: attempt at making more complicated loops work - nv50: SSG - nv50: make FrontFacing -1 or +1 - nv50: re-add proper TEXBIAS sequence - nv50: make use of TGSI immediate type - nv50: must join SELECT inputs before MOV inputs - nv50: fix XPD, was negated - nv50: fix find\_dom\_frontier - nv50: fix build-predicate function - Merge remote branch 'origin/master' into nv50-compiler - nv50: load address register before using it, not after - nv50: save tgsi instructions - nv50: prepare for having multiple functions - nv50: don't parse again in tgsi\_2\_nc - nv50: use actual loads/stores if TEMPs are accessed indirectly - nv50: create value references with the right type - nv50: duplicate interps in load\_proj\_tex\_coords - nv50: address regs are 16 bit - nv50: fix can\_load check for 3rd source - nv50: reduce bb\_reachable\_by runtime from pot to linear - nv50: minor compiler fixes and cleanups - nv50: cannot move from local mem to output reg directly - nv50: newlines in shader bincode printing - nv50: match TEMP limit with nv50 ir builder - nv50: handle TGSI EXP and LOG again - nv50: check for immediates when turning MUL ADD into MAD - nv50: interp cannot write flags reg - nv50: MOV TEMP[0], -CONST[0] must be float32 negation - nv50: fix indirect CONST access with large or negative offsets - nv50: fix TXP depth comparison value - nv50: consider address register in reload elimination - nv50: improve and fix modifier folding optimization - nv50: put low limit on REG\_ALLOC\_TEMP and FP\_RESULT\_COUNT - Merge remote branch 'origin/nv50-compiler' - nv50: don't segfault on shaders with 0 instructions - nv50: get shader fixups/relocations into working state - nv50: add relocs for stack and local mem buffers - nv50: emit constbuf relocs before uploading constants - nv50: fix typo in fifo packet length limit - nv50: use formats table in nv50\_surface.c - nv50: use CLEAR\_BUFFERS for surface fills - nv50: fix/handle a few more PIPE\_CAPs - nv50: fix GP state bind and validate Corbin Simpson (8): - r600g: Use align() instead of handrolled code. - r600g: Trivially deobfuscate r600\_hw\_states. - r600g: Deobfuscate and comment a few more functions in r600\_hw\_states. - r600g: Clean up some indentation and \|= vs. \| usage. - r600g: Fix false and true. - r600g: "tmp" is such a bad name for a texture. - r600g: Clean up PS setup. - r600g: Cleanup viewport floats. Daniel Lichtenberger (1): - radeon: fix potential segfault in renderbuffer update Daniel Vetter (21): - r200: revalidate after radeon\_update\_renderbuffers - i915g: rip out ->sw\_tiled - i915g: s/hw\_tiled/tiling - i915g: add pineview pci ids - i915g: kill RGBA/X formats - i915g: kill buf->map\_gtt - i915g: kill idws->pool - i915g: drop alignment parameter from iws->buffer\_create - i915g: add winsys function to create tiled buffers - i915g: switch to tiled allocations, kill set\_fence - i915g: prepare winsys/batchbuffer for execbuf2 - i915g: return tiling in iws->buffer\_from\_handle - i915g: implement unfenced color&depth buffer using tiling bits - i915g: implement unfenced relocs for textures using tiling bits - i915g: postpone mipmap/face offset calculation - i915g: don't pot-align stride for tiled buffers - i915g: enable X-tiling for textures - i915g: switch rendering to mipmapped textures to (x,y) offsets - i915g: enable x-tiling for render targets - i915g: assert(depth\_surface->offset == 0) - i915g: track TODO items Dave Airlie (182): - r300g: fix buffer reuse issue caused by previous commit - r600g: pull r600\_draw struct out into header - r600g: use index min/max + index buffer offset. - r600g: add vgt dma src defines - r600g: fixup texture state on evergreen. - r600g: fix texture bos and avoid doing depth blit on evergreen - r600g: hide radeon\_ctx inside winsys. - r600g: attempt to abstract kernel bos from pipe driver. - r600g: move constant buffer creation behind winsys abstraction. - r600g: use malloc bufmgr for constant buffers - r600g: add support for kernel bo - r600g: add winsys bo caching. - r600g: add upload manager support. - r600g: fixup map flushing. - r600g: use calloc for ctx bo allocations - r600g: oops got the use\_mem\_constant the wrong way around. - r600g; add uses waterfall to asm cf for r6xx. - r600g: only emit uses waterfall on r6xx hw. - util/r300g: split the r300 index buffer modifier functions out to util - r600g: modify index buffers for sizes the hw can't deal with. - r600g: send correct surface base update for multi-cbufs - r600g: fix fbo-drawbuffers-maxtargets - r600g: clean up valgrind issues on maxtargets test. - r600g: drop debugging that snuck in - r600g: fix tiling support for ddx supplied buffers - r600g: add z16 to color setup - r600g: add color/texture support for more depth formats. - r600g: fix r700 cube map sizing. - r600g: fixup r700 CB\_SHADER\_CONTROL register. - r600g: add missing BC\_INST wrapper for evergreen - r600g: only flush for the correct colorbuffer, not all of them. - r600g: deal with overflow of VTX/TEX CF clauses. - r600g: set back to correct codepaths. - r600g: fixup evergreen miptree setup. - r600g: fix eg texture borders. - r600g: fix typo in struct member name - r600g: cleanup some of the DB blit code - r600g: make stencil readback work - r600g: disable dirty handling on texture from depth code. - r600g: use floats instead of hex for blit vbo - r600g: fix depth readback on rv610 and other quirky variants. - r600g: fix typo in evergreen register list - u\_blitter: add a custom blitter call passing a dsa cso - r600g: use blitter to do db->cb flushing. - r600g: fix warnings since last commit. - egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6e - r300g: fix point sprite coord. - r600g: add vert support for 16/16 and 16/16/16 floats. - r600g: add some more vertex format support. - r600g: some more vertex formats - r600g: fix draw-elements and draw-elements-base-vertex - r600g: drop index\_offset parameter to index buffer translate. - r600g: fixup tex wrapping. - r600g: fixup VP->FP output->input routing. - r600g: fix typo in r700 alu emit - r600g: fixup sprite coord enable. - r600g: fix polygon mode - mesa/mipmap: fix warning since 1acadebd6270d3604b026842b8a21360968618a0 - r600g: add eg poly mode code. - r600g: make index bias fix for evergreen - r600g: add eg db count control register. - r300g: fix glsl-fs-pointcoord - r600g: add evergreen texture resource properly. - r600g: fix db flush breaking config state - r600g: on evergreen the centroid isn't set in this register. - r600g: add back evergreen name. - r600g: add evergreen texture border support to new path - r600g: move radeon.h members around to add back map flushing. - r600g: add initial vertex translate support. - r600g: remove old assert from new codepath - Revert "r600g: add initial vertex translate support." - r600g: port r300g fix for X\* formats in texformat code - r600g: add L8A8 unorm. - r600g: clean up some code from move to new paths. - r600g: return string for chip family - r600g: use Elements macro instead of manual sizeofs - r600g: fix evergreen depth flushing. - r600g: add winsys support for CTL constants. - r600g: drop depth quirk on evergreen - r600g: add reloc for evergreen color attrib - r600g: realign evergreen code with r600 code. - r600g: add assembler support for other vtx fetch fields. - r600g: fixup vertex format picking. - r600g: sync vertex/texture cache on resources on evergreen - r600g: add cb flushing for extra buffers + depth buffer on r600/evergreen - r600g: fix evergreen draw-buffers - r600g: flush SH cache on constant change on evergreen - r600g: only set the Z export if shader exports it. - r600g: setup basic loop consts on r600 + evergreen. - mesa/st: initial attempt at RG support for gallium drivers - r600g: break out of search for reloc bo after finding it. - r600g: the code to check whether a new vertex shader is needed was wrong - r600g: fix wwarning in bo\_map function - r600g: TODO domain management - r600g: add bo fenced list. - pb: don't keep checking buffers after first busy - r600g: add bo busy backoff. - r600g: drop mman allocator - r600g: drop use\_mem\_constant. - r600g: avoid unneeded bo wait - pb: fix numDelayed accounting - r600g: add evergreen stencil support. - r600g: use format from the sampler view not from the texture. - r600g: fix Z export enable bits. - r600g: add some RG texture format support. - r600g: drop width/height per level storage. - r600g: fix input/output Z export mixup for evergreen. - r600g: evergreen has no request size bit in texture word4 - r600g: enable vertex samplers. - r600g: add TXL opcode support. - r600g: don't run with scissors. - r600g: fix typo in vertex sampling on r600 - gallium/tgsi: add support for stencil writes. - gallium/format: add support for X24S8 and S8X24 formats. - gallium/format: add X32\_S8X24\_USCALED format. - gallium/util: add S8 tile sampling support. - mesa: add support for FRAG\_RESULT\_STENCIL. - mesa: improve texstore for 8/24 formats and add texstore for S8. - softpipe: add support for shader stencil export capability - st/mesa: add option to choose a texture format that we won't render to. - st/mesa: use shader stencil export to accelerate shader drawpixels. - r600g: add support for S8, X24S8 and S8X24 sampler formats. - r600g: add shader stencil export support. - glsl: add support for shader stencil export - st/mesa: enable stencil shader export extension if supported - r600g: fix depth0 setting - r600g: fix scissor/cliprect confusion - r600g: store samplers/views across blit when we need to modify them - r600g: reduce size of context structure. - r600g: the vs/ps const arrays weren't actually being used. - r600g: add copy into tiled texture - r600g: split out miptree setup like r300g - r600g: use common texture object create function - r600g: rename pitch in texture to pitch\_in\_bytes - r600g: remove bpt and start using pitch\_in\_bytes/pixels. - r600g: fix transfer stride. - r600g: drop all use of unsigned long - r600g: use blitter for hw copy region - r600g: evergreen add stencil export bit - r600g: add missing eg reg definition - r600g: fix stencil export for evergreen harder - r600g: drop unused context members - r600g: only pick centroid coordinate when asked. - r600g: fixup pos/face ena/address properly - r600g: fixup typo in macro name - r600g: select linear interpolate if tgsi input requests it - r300g: clean up warning due to unknown cap. - tgsi: add scanner support for centroid inputs - r600g: evergreen interpolation support. - r600g: add evergreen ARL support. - r600g: switch to a common formats.h file since they are in different regs - r600g: add defines for tiling - r600g: get tiling info from kernel - r600g: set tiling bits in hw state - r600g: do proper tracking of views/samplers. - r600g: fix typo in tiling setup cb code. - r600g: depth needs to bound to ds - r600g: attempt to cleanup depth blit - r600g: fix transfer function for tiling. - r600g: retrieve tiling info from kernel for shared buffers. - r600g: all non-0 mipmap levels need to be w/h aligned to POT. - r600g: move to per-miplevel array mode. - r600g: start adding hooks for aligning width/height for tiles. - r600g: add r600 surface to store the aligned height. - r600g: introduce a per-driver resource flag for transfers. - r600g: add texture tiling alignment support. - r600g: add texture tiling enable under a debug option. - r600g: initial translate state support - r600g: start splitting out common code from eg/r600. - r600g: not fatal if we can't get tiling info from kernel - r600g: merge more of the common r600/evergreen state handling - r600g: drop more common state handling code - r600g: fix magic 0x1 ->flat shade ena - r600g: add assembler support for all the kcache fields. - gallium/noop: report GL 2.1 - r600g: pick correct color swap for A8 fbos. - r300g/r600g: bump cache manager timeouts to 1s - r600g: it looks like r600 can handle dword offsets in the indices. - r300g: try and use all of vertex constant space - r300g: fixup rs690 tiling stride alignment calculations. - r600g: fix evergreen segfaults. - r600g: hack around property unknown issues. Eric Anholt (300): - glsl: Add definition of gl\_TextureMatrix inverse/transpose builtins. - i965: Share the KIL\_NV implementation between glsl and non-glsl. - i965: Also enable CC statistics when doing OQs. - i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ - glsl: Rework assignments with write\_masks to have LHS chan count match RHS. - glsl: Fix copy'n'wasted ir\_noop\_swizzle conditions. - ir\_to\_mesa: Only compare vector\_elements present for any\_nequal/all\_equal - i965: Fix the vector/expression splitting for the write\_mask change. - i965: When splitting vector variable assignment, ignore unset channels. - i965: Update expression splitting for the vector-result change to compares. - i965: Warning fix for vector result any\_nequal/all\_equal change. - mesa: Remove the non-required ARB\_imaging extension. - mesa: Remove EXT\_histogram. - mesa: Remove SGI\_color\_table. - mesa: Remove SGI\_color\_matrix. - mesa: Remove EXT\_convolution. - intel: Remove disabled stencil drawpixels acceleration. - intel: Remove unnecessary minimum pitch alignment to 32 bytes. - intel: Replace my intel\_texture\_bitmap code with \_mesa\_meta\_Bitmap. - radeon: Remove copied minimum pitch alignment code. - unichrome: Mostly revert my convolution removal changes. - intel: Remove dead intelIsTextureResident(). - i915: Remove a dead if (0) block. - intel: Dead comment removal. - intel: Corresponding FinishRenderTexture debug to BeginRenderTexture. - i965: Add support for rendering to SARGB8 FBOs. - intel: Fix segfault on INTEL\_DEBUG=fbo with unsupported framebuffers. - intel: Add fallback debug to glGenerateMipmap. - intel: More reverting of the sw fallback for depth texture border color. - intel: Improve some of the miptree debugging. - mesa: Fix type typo in glGenerateMipmap handling of GL\_UNSIGNED\_INT data. - glsl: Fix broadcast\_index of lower\_variable\_index\_to\_cond\_assign. - glsl: Add validation that a swizzle only references valid channels. - i965: Fix up writemasked assignments in the new FS. - i965: Remove swizzling of assignment to vector-splitting single-channel LHS. - i965: Handle all\_equal/any\_nequal in the new FS. - i965: Fix vector splitting RHS channel selection with sparse writemasks. - i965: Add support for dFdx()/dFdy() to the FS backend. - i965: Add support for attribute interpolation on Sandybridge. - i965: Set up inputs to the fragment shader according to FP InputsRead. - i965: Add support for POW in gen6 FS. - i965: Fix negation in the new FS backend. - i965: Actually track the "if" depth in loop in the new FS backend. - i965: Apply the same set of lowering passes to new FS as to Mesa IR. - i965: Fix valgrind complaint about base\_ir for new FS debugging. - i965: Fix up the FS backend for the variable array indexing pass. - i965: Set the variable type when dereferencing an array. - i965: Add support for dereferencing structs to the new FS backend. - i965: Add support for struct, array, and matrix uniforms to FS backend. - i965: Fix all non-snb regression in the snb attribute interpolation commit. - i965: Fix up part of my Sandybridge attributes support patch. - i965: Add support for gl\_FrontFacing to the new FS backend. - i965: Subtract instead of adding when computing y delta in new FS backend. - mesa: Pull ir\_to\_mesa's sampler number fetcher out to shared code. - i965: Set up sampler numbers in the FS backend. - i965: Add support for non-color render target write data to new FS backend. - i965: Add support for MRT to the new FS backend. - i965: Add support for ir\_loop counters to the new FS backend. - i965: Add support for ARB\_fragment\_coord\_conventions to the new FS backend. - glsl: Also update implicit sizes of varyings at link time. - i965: Do interpolation for varying matrices and arrays in the FS backend. - i965: Don't try to emit interpolation for unused varying slots. - i965: Fix array indexing of arrays of matrices. - i965: Clean up obsolete FINISHME comment. - mesa: Move the list of builtin uniform info from ir\_to\_mesa to shared code. - i965: Add support for builtin uniforms to the new FS backend. - i965: Fix use of undefined mem\_ctx in vector splitting. - i956: Make new FS discard do its work in a temp, not the null reg! - i965: Clean up the virtual GRF handling. - ra: First cut at a graph-coloring register allocator for mesa. - i965: First cut at register allocation using graph coloring. - i965: Add live interval analysis and hook it up to the register allocator. - i965: Remove my "safety counter" code from loops. - i965: Fix whole-structure/array assignment in new FS. - mesa: Don't reference a W component in setting up a vec3 uniform component. - i965: Fix new FS handling of builtin uniforms with packed scalars in structs. - glsl: Add a lowering pass for texture projection. - i965: Use the lowering pass for texture projection. - i965: Split the gen4 and gen5 sampler handling apart. - i965: Add gen6 attribute interpolation to new FS backend. - i965: Fix the gen6 jump size for BREAK/CONT in new FS. - i965: Also increment attribute location when skipping unused slots. - i965: Pre-gen6, map VS outputs (not FS inputs) to URB setup in the new FS. - i965: Add real support for pre-gen5 texture sampling to the new FS. - i965: Fix up copy'n'pasteo from moving coordinate setup around for gen4. - i965: Restore the forcing of aligned pairs for delta\_xy on chips with PLN. - i965: When producing a single channel swizzle, don't make a temporary. - i965: Add a sanity check for register allocation sizes. - i965: Fix off-by-ones in handling the last members of register classes. - i965: Don't try to emit code if we failed register allocation. - i965: Add support for EXT\_texture\_swizzle to the new FS backend. - i965: Set up swizzling of shadow compare results for GL\_DEPTH\_TEXTURE\_MODE. - i965: Fix glean/texSwizzle regression in previous commit. - i965: Be more conservative on live interval calculation. - i965: Add trivial dead code elimination in the new FS backend. - i965: Add initial folding of constants into operand immediate slots. - i965: In disasm, gen6 fb writes don't put msg reg # in destreg\_conditionalmod. - i965: Add support for gen6 FB writes to the new FS. - i965: Enable the constant propagation code. - i965: Also do constant propagation for the second operand of CMP. - i965: Add back gen6 headerless FB writes to the new FS backend. - i965: Gen6 no longer has the IFF instruction; always use IF. - i965: Fix up IF/ELSE/ENDIF for gen6. - i965: Fix botch in the header\_present case in the new FS. - i965: Add some clarification of the WECtrl field. - i965: Don't do 1/w multiplication in new FS for gen6 - i965: Gen6's sampler messages are the same as Ironlake. - i965: Refactor gl\_FrontFacing setup out of general variable setup. - i965: Add support for gl\_FrontFacing on gen6. - i965: Don't assume that WPOS is always provided on gen6 in the new FS. - i965: Fix gen6 pointsize handling to match pre-gen6. - i965: Disable emitting if () statements on gen6 until we really fix them. - i965: Normalize cubemap coordinates like is done in the Mesa IR path. - mesa: Simplify a bit of \_mesa\_add\_state\_reference using memcmp. - i965: Drop the check for duplicate \_mesa\_add\_state\_reference. - i965: Drop the check for YUV constants in the param list. - i965: Handle swizzles in the addition of YUV texture constants. - i965: Fix gen6 WM push constants updates. - i965: Fix new FS gen6 interpolation for sparsely-populated arrays. - i965: Enable attribute swizzling (repositioning) in the gen6 SF. - i965: Add register coalescing to the new FS backend. - i965: Split FS\_OPCODE\_DISCARD into two steps. - i965: Reduce register interference checks for changed FS\_OPCODE\_DISCARD. - i965: Move FS backend structures to a header. - i965: Give the math opcodes information on base mrf/mrf len. - i965: Give the FB write and texture opcodes the info on base MRF, like math. - i965: Compute to MRF in the new FS backend. - i965: Don't consider gen6 math instructions to write to MRFs. - i965: Add a couple of checks for gen6 math instruction limits. - i965: Don't compute-to-MRF in gen6 math instructions. - i965: Expand uniform args to gen6 math to full registers to get hstride == 1. - i965: Don't compute-to-MRF in gen6 VS math. - i965: Fix gen6 pixel\_[xy] setup to avoid mixing int and float src operands. - i965: Always use the new FS backend on gen6. - i965: Fix missing "break;" in i2b/f2b, and missing AND of CMP result. - intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like RGB/RGBA. - i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs. - i965: Add support for rescaling GL\_TEXTURE\_RECTANGLE coords to new FS. - i965: Set class\_sizes[] for the aligned reg pair class. - i965: Update the live interval when coalescing regs. - i965: Add a pass to the FS to split virtual GRFs to float channels. - i965: Add a function for handling the move of boolean values to flag regs. - i965: Add peepholing of conditional mod generation from expressions. - i965: Enable the new FS backend on pre-gen6 as well. - i965: Fix texturing on pre-gen5. - i965: Set the type of the null register to fix gen6 FS comparisons. - i965: Disable the debug printf I added for FS disasm. - i965: Fix a weirdness in NOT handling. - i965: Fix assertion failure on gen6 BufferSubData to busy BO. - i965: Assert out on gen6 VS constant buffer reads that hang the GPU for now. - i965: Fix scissor-offscreen on gen6 like we did pre-gen6. - i965: Avoid blits in BufferCopySubdata on gen6. - i965: Tell the shader compiler when we expect depth writes for gen6. - i965: Remove the gen6 emit\_mi\_flushes I sprinkled around the driver. - i965: Disable thread dispatch when the FS doesn't do any work. - i965: Add EU emit support for gen6's new IF instruction with comparison. - i965: Set the source operand types for gen6 if/else/endif to integer. - i965: Use the new style of IF statement with embedded comparison on gen6. - i965: Split register allocation out of the ever-growing brw\_fs.cpp. - i965: Fix gl\_FrontFacing emit on pre-gen6. - i965: Add support for register spilling. - i965: Don't emit register spill offsets directly into g0. - i965: Correct scratch space allocation. - i965: Be more aggressive in tracking live/dead intervals within loops. - i965: Move the FS disasm/annotation printout to codegen time. - i965: Add support for pull constants to the new FS backend. - i965: Add EU code for dword scattered reads (constant buffer array indexing). - i965: Clarify an XXX comment in FB writes with real info. - i965: Use SENDC on the first render target write on gen6. - i965: Clear some undefined fields of g0 when using them for gen6 FB writes. - i965: Add disasm for the flag register. - i965: Add support for discard instructions on gen6. - i965: Handle new ir\_unop\_round\_even in channel expression splitting. - i965: Fix typo in comment about state flags. - i965: Set up the constant buffer on gen6 when it's needed. - i965: Add support for constant buffer loads on gen6. - i965: Drop the eot argument to read messages, which can never be set. - i965: Fix VS URB entry sizing. - i965: Disable register spilling on gen6 until it's fixed. - i965: Make FS uniforms be the actual type of the uniform at upload time. - i965: Add user clip planes support to gen6. - i965: Update gen6 SF state when point state (sprite or attenuation) changes. - i965: Upload required gen6 VS push constants even when using pull constants. - i965: Update the gen6 stencil ref state when stencil state changes. - mesa: Make metaops use program refcounts instead of names. - mesa: Don't compute an unused texture completeness debug string. - intel: For batch, use GTT mapping instead of writing to a malloc and copying. - intel: Annotate debug printout checks with unlikely(). - intel: Remove the magic unaligned memcpy code. - i965: Remove dead intel\_structs.h file. - intel: Avoid taking logbase2 of several things that we max. - intel: Remove duplicated teximage miptree to object miptree promotion. - intel: Remove leftover dri1 locking fields in the context. - mesa: Fix delayed state flagging for EXT\_sso-related program changes. - intel: Fix the client-side swapbuffers throttling. - Revert "intel: Fix the client-side swapbuffers throttling." - i965: Allow OPCODE\_SWZ to put immediates in the first arg. - i965: Add support for math on constants in gen6 brw\_wm\_glsl.c path. - i965: Work around strangeness in swizzling/masking of gen6 math. - i965: re-enable gen6 IF statements in the fragment shader. - glsl: Free the loop state context when we free the loop state. - i965: Fix gl\_FragCoord inversion when drawing to an FBO. - i965: Shut up spurious gcc warning about GLSL\_TYPE enums. - mesa: Don't spam the console in a debug build unless some spam is requested. - i965: Add state dumping for sampler state. - i965: Add dumping of the sampler default color. - i965: Fail on loops on gen6 for now until we write the EU emit code for it. - i965: Eliminate dead code more aggressively. - mesa: Include C++ files in the makedepend of DRI drivers. - i965: Fix compute\_to\_mrf to not move a MRF write up into another live range. - i965: Just use memset() to clear most members in FS constructors. - i965: Remove extra n at the end of every instruction in INTEL\_DEBUG=wm. - i965: Fold constants into the second arg of BRW\_SEL as well. - glsl: Add a helper function for determining if an rvalue could be a saturate. - i965: Recognize saturates and turn them into a saturated mov. - ir\_to\_mesa: Detect and emit MOV\_SATs for saturate constructs. - i965: Improve compute-to-mrf. - i965: Remove duplicate MRF writes in the FS backend. - i965: Move gen4 blend constant color to the gen4 blending file. - i965: Don't upload polygon stipple unless required. - i965: Don't upload line stipple pattern unless we're stippling. - i965: Don't upload line smooth params unless we're line smoothing. - i965: Use the new embedded compare in SEL on gen6 for VS MIN and MAX opcodes. - i965: Fix type of gl\_FragData[] dereference for FB write. - glsl: Make the symbol table's add\_function just use the function's name. - glsl: Make the symbol table's add\_variable just use the variable's name. - glsl: Add a helper constructor for expressions that works out result type. - glsl: Fix structure and array comparisions. - glsl: Quiet unreachable no-return-from-function warning. - i965: Dump the WHILE jump distance on gen6. - i965: Add support for gen6 DO/WHILE ISA emit. - i965: Add support for gen6 BREAK ISA emit. - i965: Add support for gen6 CONTINUE instruction emit. - i965: Enable IF statements in the VS. - i965: Add support for loops in the VS. - glsl: Mark the array access for whole-array comparisons. - glsl: Fix flipped return of has\_value() for array constants. - mesa: Add getters for the rest of the supported draw buffers. - mesa: Add getters for ARB\_copy\_buffer's attachment points. - intel: Add an env var override to execute for a different GPU revision. - i965: Update gen6 WM state on compiled program change, not just FP change. - i965: Update gen6 SF state on fragment program change too. - i965: Fix compile warning about missing opcodes. - i965: Move payload reg setup to compile, not lookup time. - i965: Provide delta\_xy reg to gen6 non-GLSL path PINTERP. - i965: Fix up 16-wide gen6 FB writes after various refactoring. - i965: Don't smash a group of coordinates doing gen6 16-wide sampler headers. - i965: Fix gen6 interpolation setup for 16-wide. - i965: Fix up gen6 samplers for their usage by brw\_wm\_emit.c - i965: Make the sampler's implied move on gen6 be a raw move. - i965: Align gen6 push constant size to dispatch width. - i965: Add support for the instruction compression bits on gen6. - i965: Nuke brw\_wm\_glsl.c. - i965: Remove INTEL\_DEBUG=glsl\_force now that there's no brw\_wm\_glsl.c - i965: Fix comment about gen6\_wm\_constants. - i965: Handle saturates on gen6 math instructions. - i965: Always hand the absolute value to RSQ. - i965: Add disabled debug code for dumping out the WM constant payload. - i965: Work around gen6 ignoring source modifiers on math instructions. - i965: Fix flipped value of the not-embedded-in-if on gen6. - i965: Don't try to store gen6 (float) blend constant color in bytes. - i965: Set up the color masking for the first drawbuffer on gen6. - i965: Set up the per-render-target blend state on gen6. - i965: Set the render target index in gen6 fixed-function/ARB\_fp path. - i965: Use the new pixel mask location for gen6 ARB\_fp KIL instructions. - i965: Drop KIL\_NV from the ff/ARB\_fp path since it was only used for GLSL. - i965: Drop push-mode reladdr constant loading and always use constant\_map. - i965: Fix VS constants regression pre-gen6. - i965: Clean up VS constant buffer location setup. - i965: Set up the correct texture border color state struct for Ironlake. - i965: Set render\_cache\_read\_write surface state bit on gen6 constant surfs. - i965: remove unused variable since brw\_wm\_glsl.c removal. - intel: Use plain R8 and RG8 for COMPRESSED\_RED and COMPRESSED\_RG. - intel: Set the swizzling for depth textures using the GL\_RED depth mode. - glsl: Correct the marking of InputsRead/OutputsWritten on in/out matrices. - i965: Correct the dp\_read message descriptor setup on g4x. - intel: Include stdbool so we can stop using GLboolean when we want to. - i965: Fix ARL to work on gen6. - i956: Fix the old FP path fragment position setup on gen6. - i965: Fix gl\_FragCoord.z setup on gen6. - i965: Add support for using the BLT ring on gen6. - intel: Update renderbuffers before looking up CopyTexImage's read buffer. - intel: Drop commented intel\_flush from copy\_teximage. - intel: Try to sanely check that formats match for CopyTexImage. - intel: Support glCopyTexImage() from XRGB8888 to ARGB8888. - i965: Avoid using float type for raw moves, to work around SNB issue. - i965: Set the alternative floating point mode on gen6 VS and WM. - i965: Add support for gen6 constant-index constant loading. - i965: Add support for gen6 reladdr VS constant loading. - i965: Improve the hacks for ARB\_fp scalar^scalar POW on gen6. - i965: Factor out the ir comparision to BRW\_CONDITIONAL\_\* code. - i965: Fix regression in FS comparisons on original gen4 due to gen6 changes. - i965: Do lowering of array indexing of a vector in the FS. - intel: Only do frame throttling at glFlush time when using frontbuffer. - intel: Handle forced swrast clears before other clear bits. - intel: Use tri clears when we don't know how to blit clear the format. - intel: Add spans code for the ARB\_texture\_rg support. - intel: Add a couple of helper functions to reduce rb code duplication. - intel: Fix segfaults from trying to use \_ColorDrawBuffers in FBO validation. - intel: When validating an FBO's combined depth/stencil, use the given FBO. Fabian Bieler (2): - r600g: set address of pop instructions to next instruction - glsl: fix lowering conditional returns in subroutines Francisco Jerez (51): - dri/nv04: Fix PGRAPH\_ERRORs when running OA. - dri/nv04: Mipmapping fixes. - dri/nv04: Align SIFM transfer dimensions. - dri/nv04: Fix up color mask. - dri/nv04: Fix maximum texture size. - dri/nv04: Fix provoking vertex. - dri/nouveau: Update nouveau\_class.h. - dri/nouveau: Add some more extensions. - dri/nouveau: Fix glRenderbufferStorage with DEPTH\_COMPONENT as internal format. - dri/nouveau: Don't request a fake front unnecessarily. - dri/nouveau: Don't reemit the BO state in nouveau\_state\_emit(). - dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent(). - meta: Don't bind the created texture object in init\_temp\_texture(). - dri/nv10: Fix the CLAMP texture wrap mode. - dri/nv04: Use nvgl\_wrap\_mode(). - dri/nouveau: Remove unnecessary assertion. - dri/nouveau: Cleanup more references to old FBOs and VBOs. - dri/nv10-nv20: Fix texturing in some cases after a base level change. - dri/nouveau: Fix software mipmap generation on 1x1 textures. - dri/nouveau: Have a smaller amount of larger scratch buffers. - dri/nouveau: Remove unnecessary flush. - dri/nv10: Use fast Z clears. - dri/nouveau: Minor cleanup. - dri/nv10: Fake fast Z clears for pre-nv17 cards. - dri/nouveau: Initialize tile\_flags when allocating a render target. - nouveau: Get larger push buffers. - dri/nouveau: Force a "slow" Z clear if we're getting a new depth buffer. - dri/nv20: Clear with the 3D engine. - dri/nouveau: Don't assert(0) on compressed internal formats. - dri/nv25: Bind a hierarchical depth buffer. - dri/nouveau: Call \_mesa\_update\_state() after framebuffer invalidation. - dri/nouveau: Honor the access flags in nouveau\_bufferobj\_map\_range. - dri/nouveau: Tell the vbo module we want real hardware BOs. - dri/nouveau: Split out the scratch helpers to a separate file. - dri/nouveau: Avoid recursion in nouveau\_bo\_context\_reset(). - dri/nouveau: Use a macro to iterate over the bound vertex attributes. - dri/nouveau: Split out array handling to its own file. - dri/nouveau: Optimize VBO binding re-emission. - dri/nouveau: Keep small DYNAMIC\_DRAW vertex buffers in system ram. - dri/nouveau: Pipeline glTexSubImage texture transfers. - dri/nouveau: Fix type promotion issue on 32bit platforms. - dri/nouveau: Validate the framebuffer state on read buffer changes. - dri/nouveau: Re-emit the BO state when coming back from a software fallback. - meta: Don't leak alpha function/reference value changes. - meta: Fix incorrect rendering of the bitmap alpha component. - vbo: Avoid unnecessary copy to/from current in vertex format upgrade. - meta: Don't try to disable cube maps if the driver doesn't expose the extension. - meta: Handle bitmaps with alpha test enabled. - dri/nouveau: Split hardware/software TNL instantiation more cleanly. - dri/nouveau: Fix typo. - dri/nouveau: Kill a bunch of ternary operators. Fredrik Höglund (2): - r600g: Fix texture sampling with swizzled coords - r600g: fix pow(0, 0) evaluating to NaN Guillermo S. Romero (1): - r300g: Do not use buf param before checking for NULL. Henri Verbeet (19): - r600g: Flush upload buffers before draws instead of before flushes. - r600g: Check for other references before checking for existing mappings in radeon\_bo\_pb\_map\_internal(). - r600g: Remove a redundant flush in r600\_texture\_transfer\_map(). - r600g: Buffer object maps imply a wait. - r600g: Respect PB\_USAGE\_UNSYNCHRONIZED in radeon\_bo\_pb\_map\_internal(). - Revert "r600g: Flush upload buffers before draws instead of before flushes." - r600g: fix exports\_ps to export a number not a mask. - r600g: Mention AMD in the renderer string. - r600g: Cleanup the fenced\_bo list in r600\_context\_fini(). - r600g: Evergreen has two extra frac\_bits for the sampler LOD state. - r600: Evergreen has two extra frac\_bits for the sampler LOD state. - r600g: Add PIPE\_FORMAT\_L8A8\_UNORM for Evergreen as well. - r600g: Swizzle vertex data only once. - r600g: Synchronize supported color formats between Evergreen and r600/r700. - r600g: Fix the PIPE\_FORMAT\_L8A8\_UNORM color swaps. - r600g: Fix the PIPE\_FORMAT\_A8\_UNORM color swap for Evergreen as well. - r600g: Cleanup block bo references in r600\_context\_fini(). - r600g: Cleanup fetch shader resources in r600\_pipe\_shader\_destroy(). - st/mesa: Handle wrapped depth buffers in st\_copy\_texsubimage(). Hui Qi Tay (10): - llvmpipe: minor changes in llvm coefficient calcs - draw: cliptest and viewport done in a single loop in vertex shader - draw: added viewport and cliptest flags - draw: sanitize llvm variant key - draw: corrections for w coordinate - draw: corrections to allow for different cliptest cases - llvmpipe: Moved draw pipeline twoside function to llvm setup code - llvmpipe: added llvm offset setup code - llvmpipe: clean up polygon offset function in lp setup code - llvmpipe: fix such that offset/twoside function only does in-place modification Ian Romanick (102): - glsl2: Refactor testing for whether a deref is of a matrix or array - glsl2: Add flags to enable variable index lowering - glsl: Add doxygen comments - EGL DRI2: Silence piles of 'unused variable' warnings - EGL DRI2: Silence 'missing initializer' warnings - egl\_glx: Silence piles of 'unused variable' warnings - egl: Fix several 'comparison between signed and unsigned integer' warnings - dri: Ensure that DRI driver cpp files are in tarballs - mesa: Force GL\_ARB\_copy\_buffer to always be enabled - mesa: Force GL\_SGIS\_generate\_mipmap to always be enabled - Remove GL\_MESA\_packed\_depth\_stencil - Remove GL\_EXT\_cull\_vertex - Regenerate files changed by previous commit - Remove unnescessary initializations of UpdateTexturePalette - ARB\_texture\_rg: Add GLX protocol support - ARB\_texture\_rg: Correct some errors in RED / RG internal format handling - ARB\_texture\_rg: Add GL\_TEXTURE\_{RED,GREEN}\_SIZE query support - ARB\_texture\_rg: Add GL\_RED as a valid GL\_DEPTH\_TEXTURE\_MODE - ARB\_texture\_rg: Handle RED and RG the same as RGB for tex env - ARB\_texture\_rg: Add R8, R16, RG88, and RG1616 internal formats - ARB\_texture\_rg: Allow RED and RG textures as FBO color buffer attachments - mesa: Enable GL\_ARB\_texture\_rg in software paths - i965: Enable GL\_ARB\_texture\_rg - mesa: Add ARB\_texture\_compression\_rgtc as an alias for EXT\_texture\_compression\_rgtc - ARB\_texture\_rg: Add GL\_COMPRESSED\_{RED,RG} cases in \_mesa\_is\_color\_format - mesa: Fix misplaced #endif - mesa: Trivial correction to comment - rgtc: Detect RGTC formats as color formats and as compressed formats - docs: Add list of bugs fixed in 7.9 - docs: Import 7.9 release notes from 7.9 branch. - docs: Import 7.8.x release notes from 7.8 branch. - docs: download.html does not need to be updated for each release - docs: Update mailing lines from sf.net to freedesktop.org - docs: Import news updates from 7.9 branch - docs: added news item for 7.9 release - glsl: Fail linking if assign\_attribute\_locations fails - glsl: Refactor 'layout' grammar to match GLSL 1.60 spec grammar - glsl: Slight refactor of error / warning checking for ARB\_fcc layout - glsl: Clear type\_qualifier using memset - glsl: Wrap ast\_type\_qualifier contents in a struct in a union - glsl: Regenerate files modified by previous commits - glcpp: Add the define for ARB\_explicit\_attrib\_location when present - glcpp: Regenerate files changes by previous commit - glsl: Add parser support for GL\_ARB\_explicit\_attrib\_location layouts - glsl: Regenerate files changes by previous commit - glsl: Track explicit location in AST to IR translation - glsl: Add linker support for explicit attribute locations - main: Enable GL\_ARB\_explicit\_attrib\_location for swrast - intel: Enable GL\_ARB\_explicit\_attrib\_location - glsl: Remove const decoration from inlined function parameters - docs: skeleton for 7.10 release notes - docs: Update status of GL 3.x related extensions - mesa: Validate assembly shaders when GLSL shaders are used - glsl: Fix incorrect assertion - linker: Reject shaders that have unresolved function calls - mesa: Silence unused variable warning - mesa: Refactor validation of shader targets - mesa: Clean up two 'comparison between signed and unsigned' warnings - mesa: Clean up various 'unused parameter' warnings in shaderapi - glsl: Slightly change the semantic of \_LinkedShaders - linker: Trivial indention fix - i965: Fix indentation after commit 3322fbaf - linker: Improve handling of unread/unwritten shader inputs/outputs - glapi: Add GL\_EXT\_separate\_shader\_objects - glapi: Commit files changed by previous commit - mesa: Add infrastructure to track GL\_EXT\_separate\_shader\_objects - mesa: Skeletal support for GL\_EXT\_separate\_shader\_objects - mesa: Add display list support for GL\_EXT\_separate\_shader\_objects functions - mesa: Track an ActiveProgram distinct from CurrentProgram - Track separate programs for each stage - swrast: Enable GL\_EXT\_separate\_shader\_objects in software paths - intel: Enable GL\_EXT\_separate\_shader\_objects in Intel drivers - docs: add GL\_EXT\_separate\_shader\_objects to release notes - glsl: Fix incorrect gl\_type of sampler2DArray and sampler1DArrayShadow - ir\_to\_mesa: Refactor code for emitting DP instructions - mesa: Allow query of MAX\_SAMPLES with EXT\_framebuffer\_multisample - glsl: Refactor is\_vec\_{zero,one} to be methods of ir\_constant - glsl: Simplify generation of swizzle for vector constructors - glsl: Make is\_zero and is\_one virtual methods of ir\_rvalue - ir\_to\_mesa: Generate smarter code for some conditional moves - glsl: Add ir\_unop\_sin\_reduced and ir\_unop\_cos\_reduced - glsl: Eliminate assumptions about size of ir\_expression::operands - glsl: Add ir\_rvalue::is\_negative\_one predicate - glsl: Add unary ir\_expression constructor - glsl: Add ir\_quadop\_vector expression - glsl: Fix matrix constructors with vector parameters - i915: Disallow alpha, red, RG, and sRGB as render targets - glsl: Use M\_LOG2E constant instead of calling log2 - glsl: Lower ir\_binop\_pow to a sequence of EXP2 and LOG2 - i915: Request that POW instructions be lowered - i915: Correctly generate unconditional KIL instructions - glsl: Ensure that equality comparisons don't return a NULL IR tree - i965: Correctly emit constants for aggregate types (array, matrix, struct) - glsl: Inherrit type of declared variable from initializer - linker: Ensure that unsized arrays have a size after linking - linker: Fix regressions caused by previous commit - glsl: Inherrit type of declared variable from initializer after processing assignment - linker: Allow built-in arrays to have different sizes between shader stages - ir\_to\_mesa: Don't generate swizzles for record derefs of non-scalar/vectors - Refresh autogenerated file builtin\_function.cpp. - glsl: Allow less restrictive uses of sampler array indexing in GLSL <= 1.20 - docs: Import 7.9.1 release notes from 7.9 branch Jakob Bornecrantz (27): - rbug: Cast opcode to corrent int size - rbug: Add function to get opcode name string - scons: Link against talloc in the Gallium DRI drivers - i915g: Link with wrapper sw winsys with scons - tgsi: Actually care what check\_soa\_dependencies says - tgsi: Fix missing test before check - llvmpipe: Move makefile include to before targets - wrapper: Fix spelling - wrapper: Add a way to dewrap a pipe screen without destroying it - egl: Remove unnecessary headers - target-helpers: Remove per target software wrapper check - graw: Tidy graw xlib scons file a bit - scons: Remove old pipebuffer SConscript - scons: Detabify - scons: Check for pkg-config before trying to use it - scons: Check for libdrm\_[intel\|radeon] as well - scons: Move dependancy checks to the main gallium scons file - scons: Unify state tracker SConscripts - galahad: Correct the name of the scons library - graw: Use inline sw helper instead of roll your own loader - libgl-xlib: Use sw helper instead of roll your own - libgl-xlib: Use inline debug helper instead of non-inline version - graw: Use inline debug helper instead of non-inline version - gallium: Remove redundant sw and debug target helpers - i915g: Improve debug printing for textures - i915g: Make sure that new vbo gets updated - st/mesa: Unbind all constant buffers Jerome Glisse (75): - r600g: alternative command stream building from context - r600g: move chip class to radeon common structure - r600g: use pipe context for flushing inside map - r600g: add back reference check when mapping buffer - r600g: directly allocate bo for user buffer - r600g: fix multi buffer rendering - r600g: occlusion query for new design - r600g: flush color buffer after draw command - r600g: disable shader rebuild optimization & account cb flush packet - r600g: fix multiple occlusion query on same id - r600g: initial evergreen support in new path - r600g: fix typo in evergreen define (resource are in x range) - r600g: move use\_mem\_constants flags for new designs structure alignment - r600g: evergreen fix for new design - r600g: fix compilation after change to evergreend.h - r600g: fixup some evergreen register definitions - r600g: fix evergreen new path - r600g: fix reg definition - r600g: fix evergreen new path - r600g: bring over fix from old path to new path - r600g: fix vertex resource & polygon offset - r600g: disable early cull optimization when occlusion query running - r600g: move around variables to share depth uncompression code - r600g: use depth decompression in new path - r600g: fix index buffer drawing - r600g: build packet header once - r600g: fix pointsprite & resource unbinding - r600g: fix routing btw vertex & pixel shader - r600g: fix occlusion query after change to block structure - r600g: use ptr for blit depth uncompress function - r600g: fix remaining piglit issue in new design - r600g: switch to new design - r600g: suspend/resume occlusion query around clear/copy - r600g: avoid rebuilding the vertex shader if no change to input format - r600g: use a hash table instead of group - r600g: delete old path - r600g: cleanup - r600g: more cleanup - r600g: use constant buffer instead of register for constant - r600g: fix constant & literal src splitting, also fix mplayer gl2 shader - evergreeng: avoid overlapping border color btw VS & PS - r600g: indentation fixes - r600g: rename radeon\_ws\_bo to r600\_bo - r600g: allow r600\_bo to be a sub allocation of a big bo - r600g: use r600\_bo for relocation argument, simplify code - r600g: rename radeon\_ws\_bo to r600\_bo - r600g: remove dead label & fix indentation - r600g: store reloc information in bo structure - r600g: improve bo flushing - r600g: simplify block relocation - r600g: userspace fence to avoid kernel call for testing bo busy status - r600g: avoid segfault due to unintialized list pointer - r600g: fix dirty state handling - r600g: allow driver to work without submitting cmd to GPU - gallium/noop: no operation gallium driver - r600g: code cleanup (indent, trailing space, empty line ...) - r600g: fix occlusion query on evergreen (avoid lockup) - r600g: add fetch shader capabilities - r600g: dump raw shader output for debugging - r600g: update polygon offset only when rasterizer or zbuffer change - r600g: indentation fix - r600g: more indentation fix + warning silencing + dead code removal - r600g: build fetch shader from vertex elements - r600g: avoid useless shader rebuild at draw call - r600g: remove useless flush map - r600g: remove dead code - r600g: fix userspace fence against lastest kernel - r600g: avoid using pb\* helper we are loosing previous cpu cycle with it - r600g: specialized upload manager - r600g: indentation cleanup - r600g: fix bo size when creating bo from handle - r600g: fix segfault when translating vertex buffer - r600g: need to reference upload buffer as the might still live accross flush - r600g: properly unset vertex buffer - r600g: avoid segfault Joakim Sindholt (3): - util/u\_blitter: fix leak - radeong: fix leaks - r300g: silence guard band cap errors Johann Rudloff (3): - radeon: Implement EGL\_MESA\_no\_surface\_extension - radeon: Implement \_\_DRI\_IMAGE and EGL\_MESA\_image\_drm - radeon: Implement GL\_OES\_EGL\_image John Doe (3): - r600g: misc cleanup - r600g: don't double count dirty block - r600g: keep a mapping around for each bo Jon TURNEY (1): - Ensure -L$(TOP)/$(LIB\_DIR) appears in link line before any -L in $LDFLAGS José Fonseca (128): - gallivm: Fix address register swizzle. - gallivm: Start collecting bitwise arithmetic helpers in a new module. - gallivm: Clamp indirect register indices to file\_max. - util: linearized sRGB values don't fit into 8bits - llvmpipe: Default to no threading on single processor systems. - tgsi: Don't ignore indirect registers in tgsi\_check\_soa\_dependencies - llvmpipe: Describe how to profile llvmpipe. - llvmpipe: When failing free fs shader too. - util: Flush stdout on util\_format. - gallivm: Add unorm support to lp\_build\_lerp() - llvmpipe: Special case complementary and identify blend factors in SoA. - llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha. - draw: Prevent clipped vertices overflow. - draw: Fulfil the new min\_lod/max\_lod/lod\_bias/border\_color dynamic state - gallivm: Fetch the lod from the dynamic state when min\_lod == max\_lod. - gallivm: Remove dead experimental code. - llvmpipe: Decouple sampler view and sampler state updates. - scons: New build= option, with support for checked builds. - scons: New build= option, with support for checked builds. - trace: Fix set\_index\_buffer and draw\_vbo tracing. - python/retrace: Handle set\_index\_buffer and draw\_vbo. - gallivm: Use SSE4.1's ROUNDSS/ROUNDSD for scalar rounding. - gallivm: More comprehensive border usage logic. - retrace: Handle clear\_render\_target and clear\_depth\_stencil. - llvmpipe: Dump a few missing shader key flags. - llvmpipe: Fix perspective interpolation for point sprites. - llvmpipe: Fix sprite coord perspective interpolation of Q. - gallivm: Take the type signedness in consideration in round/ceil/floor. - gallivm: Use a faster (and less accurate) log2 in lod computation. - gallivm: Fast implementation of iround(log2(x)) - gallivm: Combined ifloor & fract helper. - gallivm: Only apply min/max\_lod when necessary. - gallivm: Compute lod as integer whenever possible. - util: Cleanup util\_pack\_z\_stencil and friends. - llvmpipe: Cleanup depth-stencil clears. - gallivm: Vectorize the rho computation. - gallivm: Do not do mipfiltering when magnifying. - gallivm: Simplify lp\_build\_mipmap\_level\_sizes' interface. - gallivm: Don't compute the second mipmap level when frac(lod) == 0 - gallivm: Use lp\_build\_ifloor\_fract for lod computation. - gallivm: Clamp mipmap level and zero mip weight simultaneously. - gallivm: Fix copy'n'paste typo in previous commit. - gallivm: Implement brilinear filtering. - gallivm: Use the wrappers for SSE pack intrinsics. - gallivm: Avoid control flow for two-sided stencil test. - gallivm: Warn when doing inefficient integer comparisons. - gallivm: Move into the as much of the second level code as possible. - llvmpipe: First minify the texture size, then broadcast. - gallivm: Help for combined extraction and broadcasting. - gallivm: Do size computations simultanously for all dimensions (AoS). - llvmpipe: Prevent z > 1.0 - llvmpipe: Fix MSVC build. Enable the new SSE2 code on non SSE3 systems. - gallivm: Handle code have ret correctly. - util: Defined M\_SQRT2 when not available. - gallivm: Less code duplication in log computation. - gallivm: Special bri-linear computation path for unmodified rho. - gallivm: Don't generate Phis for execution mask. - gallivm: Use varilables instead of Phis for cubemap selection. - gallivm: Remove support for Phi generation. - gallivm: Factor out the SI->FP texture size conversion for SoA path too - gallivm: Simplify if/then/else implementation. - gallivm: Cleanup the rest of the flow module. - gallivm: Fix a long standing bug with nested if-then-else emission. - gallivm: Allow to disable bri-linear filtering with GALLIVM\_DEBUG=no\_brilinear runtime option - gallivm: Use variables instead of Phis in loops. - gallivm: Pass texture coords derivates as scalars. - llvmpipe: Remove outdated comment about stencil testing. - gallivm: Eliminate unsigned integer arithmetic from texture coordinates. - gallium: Define C99 restrict keyword where absent. - tgsi: Export some names for some tgsi enums. - gallivm: More detailed analysis of tgsi shaders. - llvmpipe: Use lp\_tgsi\_info. - llvmpipe: Do not dispose the execution engine. - llvmpipe: Fix MSVC build. - llmvpipe: improve mm\_mullo\_epi32 - gallivm: Name anonymous union. - llvmpipe: Unbreak Z32\_FLOAT. - gallivm: More accurate float -> 24bit & 32bit unorm conversion. - llvmpipe: Generalize the x8z24 fast path to all depth formats. - llvmpipe: Fix depth-stencil regression. - llvmpipe: Ensure z\_shift and z\_width is initialized. - gallivm: Fix SoA cubemap derivative computation. - llvmpipe: Fix bad refactoring. - llvmpipe: Initialize bld ctx via lp\_build\_context\_init instead of ad-hoc and broken code. - gallivm: Comment lp\_build\_insert\_new\_block(). - gallivm: Add a note about SSE4.1's nearest mode rounding. - llvmpipe: Don't test rounding of x.5 numbers. - gallium: Avoid using \_\_doc\_\_ in python scripts. - gallivm: always enable LLVMAddInstructionCombiningPass() - gallivm: Remove the EMMS opcodes. - mesa: Fix windows build (uint -> GLuint). - scons: Revamp how to specify targets to build. - scons: Fix MinGW cross-compilation. - scons: Some pipe drivers are not portable for MSVC - scons: Restore x11 tool behavior for backwards compatability. - scons: Disable python state tracker when swig is not present. - r600g: List recently added files in SConscript. - scons: Add aliases for several pipe drivers. - scons: i915 can't build on MSVC either. - scons: Propagate installation targets. - xorg/vmwgfx: Add missing source file to SConscript. - st/xorg: Add missing n to error message. - st/xorg: Detect libkms with scons too. - xorg/vmwgfx: Link libkms when available. - r600g: Swap the util\_blitter\_destroy call order. - gallivm: Allocate TEMP/OUT arrays only once. - libgl-gdi: Allow to pick softpipe/llvmpipe on runtime. - scons: Use inline wrap helpers more consistently. - svga: Use consistent hexadecimal representation on debug output. - scons: Alias for svga - wgl: Stub WGL\_ARB\_pbuffer support. - wgl: More complete WGL\_ARB\_pbuffer support. - svga: Silence debug printf. - scons: Move MSVS\_VERSION option to common module. - vega: Remove extraneous ; - retrace: Some fixes. - util: C++ safe. - wgl: Fix double free. Remove dead code. - util: Plug leaks in util\_destroy\_gen\_mipmap. - util: \_\_builtin\_frame\_address() doesn't work on mingw. - util: Don't try to use imagehlp on mingw. - wgl: Unreference the current framebuffer after the make\_current call. - WIN32\_THREADS -> WIN32 - mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA. - wgl: Fix visual's buffer\_mask configuration. - mesa: Temporary hack to prevent stack overflow on windows - mesa: Bump the number of bits in the register index. - llvmpipe: Plug fence leaks. Julien Cristau (1): - Makefile: don't include the same files twice in the tarball Keith Whitwell (89): - llvmpipe: brackets around macro arg - llvmpipe: remove duplicate code - llvmpipe: return zero from floor\_pot(zero) - gallivm: make lp\_build\_sample\_nop public - llvmpipe: add LP\_PERF flag to disable various aspects of rasterization - llvmpipe: add DEBUG\_FS to dump variant information - llvmpipe: use llvm for attribute interpolant calculation - graw: add frag-face shader - llvmpipe: fix flatshading in new line code - draw: don't apply flatshading to clipped tris with <3 verts - llvmpipe: handle FACING interpolants in line and point setup - llvmpipe: handle up to 8 planes in triangle binner - llvmpipe: make debug\_fs\_variant respect variant->nr\_samplers - gallivm: don't apply zero lod\_bias - llvmpipe: fail gracefully on oom in scene creation - llvmpipe: avoid overflow in triangle culling - gallivm: special case conversion 4x4f to 1x16ub - gallivm: round rather than truncate in new 4x4f->1x16ub conversion path - llvmpipe: clean up setup\_tri a little - llvmpipe: add rast\_tri\_4\_16 for small lines and points - llvmpipe: fix off-by-one in tri\_16 - llvmpipe: defer attribute interpolation until after mask and ztest - llvmpipe: use alloca for fs color outputs - llvmpipe: store zero into all alloca'd values - llvmpipe: dump fragment shader ir and asm when LP\_DEBUG=fs - gallivm: specialized x8z24 depthtest path - gallivm: prefer blendvb for integer arguments - gallivm: simpler uint8->float conversions - llvmpipe: try to be sensible about whether to branch after mask updates - llvmpipe: clean up shader pre/postamble, try to catch more early-z - llvmpipe: simplified SSE2 swz/unswz routines - llvmpipe: try to do more of rast\_tri\_3\_16 with intrinsics - llvmpipe: add debug helpers for epi32 etc - llvmpipe: try to keep plane c values small - llvmpipe: fix typo in last commit - gallium: move sse intrinsics debug helpers to u\_sse.h - r600g: add missing file to sconscript - gallivm: don't branch on KILLs near end of shader - Revert "llvmpipe: try to keep plane c values small" - llvmpipe: make sure intrinsics code is guarded with PIPE\_ARCH\_SSE - llvmpipe: don't try to emit non-existent color outputs - r600/drm: fix segfaults in winsys create failure path - r600g: emit hardware linewidth - r600g: handle absolute modifier in shader translator - llvmpipe: reintroduce SET\_STATE binner command - llvmpipe: don't pass frontfacing as a float - llvmpipe: slightly shrink the size of a binned triangle - llvmpipe: don't store plane.ei value in binned data - gallium: move some intrinsics helpers to u\_sse.h - llvmpipe: do plane calculations with intrinsics - llvmpipe: use aligned loads/stores for plane values - llvmpipe: fix non-sse build after recent changes - llvmpipe: check shader outputs are non-null before using - llvmpipe: validate color outputs against key->nr\_cbufs - llvmpipe: clean up fields in draw\_llvm\_variant\_key - llvmpipe: remove setup fallback path - llvmpipe: fail cleanly on malloc failure in lp\_setup\_alloc\_triangle - Merge remote branch 'origin/master' into lp-setup-llvm - llvmpipe: remove unused file - llvmpipe: remove unused arg from jit\_setup\_tri function - Merge branch 'llvm-cliptest-viewport' - draw: make sure viewport gets updated in draw llvm shader - llvmpipe: turn off draw offset/twoside when we can handle it - llvmpipe: avoid generating tri\_16 for tris which extend past tile bounds - llvmpipe: guard against NULL task->query pointer - st/mesa: unbind constant buffer when not in use - r600g: propagate usage flags in texture transfers - r600g: propogate resource usage flags to winsys, use to choose bo domains - r600g: use a buffer in GTT as intermediate on texture up and downloads - r600g: remove unused flink, domain fields from r600\_resource - r600g: set hardware pixel centers according to gl\_rasterization\_rules - evergreeng: protect against null constant buffers - r600g: don't call debug\_get\_bool\_option for tiling more than once - evergreeng: respect linewidth state, use integer widths only - evergreeng: set hardware pixelcenters according to gl\_rasterization\_rules - r600g: avoid recursion with staged uploads - r600g: attempt to turn on DXTn formats - r600g: translate ARR instruction - r600: fix my pessimism about PIPE\_TRANSFER\_x flags - ws/r600: match bo\_busy shared/fence logic in bo\_wait - r600g: guard experimental s3tc code with R600\_ENABLE\_S3TC - r600g: do not try to use staging resource for depth textures - r600g: enforce minimum stride on render target texture images - llvmpipe: fix up twoside after recent changes - llvmpipe: twoside for specular color also - Merge branch 'lp-offset-twoside' - llvmpipe: raise dirty flag on transfers to bound constbuf - llvmpipe: remove misleading debug string - llvmpipe: shortcircuit some calls to set\_scene\_state Kenneth Graunke (94): - glsl: Change from has\_builtin\_signature to has\_user\_signature. - glsl: Don't print blank (function ...) headers for built-ins. - glsl: Properly handle nested structure types. - glsl/builtins: Fix equal and notEqual builtins. - glsl/builtins: Switch comparison functions to just return an expression. - glsl: Add comments to clarify the types of comparison binops. - glsl: Fix broken handling of ir\_binop\_equal and ir\_binop\_nequal. - glsl: "Copyright", not "Constantright" - i965: Fix incorrect batchbuffer size in gen6 clip state command. - i965: Use logical-not when emitting ir\_unop\_ceil. - glsl: Add front-end support for the "trunc" built-in. - glsl: Refresh autogenerated file builtin\_function.cpp. - i965: Use RNDZ for ir\_unop\_trunc in the new FS. - i965: Correctly emit the RNDZ instruction. - i965: Clean up a warning in the old fragment backend. - glsl: Add a new ir\_unop\_round\_even opcode for GLSL 1.30's roundEven. - glsl: Add front-end support for GLSL 1.30's roundEven built-in. - i965: Add support for ir\_unop\_round\_even via the RNDE instruction. - glsl: Add support for the 1.30 round() built-in. - glsl: Refresh autogenerated file builtin\_function.cpp. - glsl: Don't return NULL IR for erroneous bit-shift operators. - i965: Add missing "break" statement. - glsl: Fix copy and paste error in ast\_bit\_and node creation. - glsl: Regenerate parser files. - i965: Remove unused variable. - glsl: Remove useless ir\_shader enumeration value. - mesa: Remove FEATURE\_ARB\_shading\_language\_120 macro. - glcpp: Return NEWLINE token for newlines inside multi-line comments. - glcpp: Refresh autogenerated lexer file. - glsl: Add support for GLSL 1.30's modf built-in. - glsl: Refresh autogenerated file builtin\_function.cpp. - generate\_builtins.py: Output large strings as arrays of characters. - Refresh autogenerated file builtin\_function.cpp. - glsl: Fix constant component count in vector constructor emitting. - Fix build on systems where "python" is python 3. - i965: Add bit operation support to the fragment shader backend. - glsl: Remove unused ARRAY\_SIZE macro. - glsl/builtins: Rename 'x' to 'y\_over\_x' in atan(float) implementation. - glsl/builtins: Clean up some ugly autogenerated code in atan. - Refresh autogenerated file builtin\_function.cpp. - glsl: Don't print a useless space at the end of an S-Expression list. - ir\_reader: Return a specific ir\_dereference variant. - ir\_reader: Remove useless error check. - ir\_reader: Fix some potential NULL pointer dereferences. - ir\_dead\_functions: Actually free dead functions and signatures. - glsl: Remove unnecessary "unused variable" warning suppression. - glsl: Remove GLSL\_TYPE\_FUNCTION define. - glsl: Convert glsl\_type::base\_type from #define'd constants to an enum. - glsl: Rework reserved word/keyword handling in the lexer. - glsl: Add new keywords and reserved words for GLSL 1.30. - glsl: Add support for the 'u' and 'U' unsigned integer suffixes. - glsl: Refresh autogenerated lexer and parser files. - generate\_builtins.py: Fix inconsistent use of tabs and spaces warning. - glsl: Implement the asinh, acosh, and atanh built-in functions. - glsl: Refresh autogenerated file builtin\_function.cpp. - glsl: Add constant expression handling for asinh, acosh, and atanh. - glsl: Remove unused and out of date Makefile.am. - glsl: Rename various ir\_\* files to lower\_\* and opt\_\*. - glcpp: Define GL\_FRAGMENT\_PRECISION\_HIGH if GLSL version >= 1.30. - Refresh autogenerated glcpp parser. - glsl: Fix constant expression handling for <, >, <=, >= on vectors. - glsl: Unconditionally define GL\_FRAGMENT\_PRECISION\_HIGH in ES2 shaders. - Regenerate glcpp parser. - glsl: Reimplement the "cross" built-in without ir\_binop\_cross. - Refresh autogenerated file builtin\_function.cpp. - glsl: Remove the ir\_binop\_cross opcode. - glsl: Refactor get\_num\_operands. - glsl: Simplify a type check by using type->is\_integer(). - glsl: Combine many instruction lowering passes into one. - mesa: Fix glGet of ES2's GL\_MAX\_\*\_VECTORS properties. - glsl: Don't inline function prototypes. - glsl: Use do\_common\_optimization in the standalone compiler. - glsl: Add a virtual as\_discard() method. - glsl: Refactor out cloning of function prototypes. - glsl: Lazily import built-in function prototypes. - glsl: Remove anti-built-in hacks from the print visitor. - glsl/linker: Free any IR discarded by optimization passes. - glsl: Add an optimization pass to simplify discards. - glsl: Add a lowering pass to move discards out of if-statements. - glsl: Remove "discard" support from lower\_jumps. - glsl: Add comments to lower\_jumps (from the commit message). - ir\_print\_visitor: Print out constant structure values. - glsl: Factor out code which emits a new function into the IR stream. - symbol\_table: Add support for adding a symbol at top-level/global scope. - glsl: Properly add functions during lazy built-in prototype importing. - glcpp: Don't emit SPACE tokens in conditional\_tokens production. - Refresh autogenerated glcpp parser. - glsl: Clean up code by adding a new is\_break() function. - glsl: Consider the "else" branch when looking for loop breaks. - Remove OES\_compressed\_paletted\_texture from the ES2 extension list. - glsl/builtins: Compute the correct value for smoothstep(vec, vec, vec). - glsl: Support if-flattening beyond a given maximum nesting depth. - i965: Flatten if-statements beyond depth 16 on pre-gen6. - i965: Internally enable GL\_NV\_blend\_square on ES2. Kristian Høgsberg (16): - glx: Hold on to drawables if we're just switching to another context - intel: Fix GL\_ARB\_shading\_language\_120 commit - dri2: Make createImageFromName() take a \_\_DRIscreen instead of \_\_DRIcontext - glx: Invalidate buffers after binding a drawable - dri: Pass the \_\_DRIscreen and the \_\_DRIscreen private back to image lookup - glx: Only remove drawables from the hash when we actually delete them - gles2: Add GL\_EXT\_texture\_format\_BGRA8888 support - Get rid of GL/internal/glcore.h - gl: Remove unused GLcontextModes fields - Rename GLvisual and \_\_GLcontextModes to struct gl\_config - Drop GLframebuffer typedef and just use struct gl\_framebuffer - Drop GLcontext typedef and use struct gl\_context instead - Drop the "neutral" tnl module - Only install vtxfmt tables for OpenGL - i965: Don't write mrf assignment for pointsize output - docs: Fix MESA\_drm\_image typo Krzysztof Smiechowicz (1): - nvfx: Pair os\_malloc\_aligned() with os\_free\_aligned(). Luca Barbieri (84): - auxiliary: fix unintended fallthrough - glsl: add pass to lower variable array indexing to conditional assignments - auxiliary: fix depth-only and stencil-only clears - gallium: avoid the C++ keyword "template" in sw\_winsys.h - softpipe: make z/s test always pass if no zsbuf, instead of crashing - tgsi: add switch/case opcodes to tgsi\_opcode\_tmp.h - softpipe: fix whitespace - d3d1x: add new Direct3D 10/11 COM state tracker for Gallium - d3d1x: add blob and signature extraction APIs - d3d1x: fix compilation with recent Wine versions installed - d3d1x: add missing file - d3d1x: actually enable and fix blob apis - d3d1x: fix build with compilers other than GCC 4.5 - d3d1x: add template parameters to base class ctor calls for GCC 4.4 - d3d1x: fix GCC 4.1/4.2 build - d3d1x: ignore errors while building docs - d3d1x: attempt to fix/workaround bug #30322 - nvfx: remove gl\_PointCoord hack - glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x build - winsys: automatically build sw winsys needed by EGL and d3d1x - d3d1x: don't build progs automatically - d3d1x: add missing memory barrier - d3d1x: link with CXXFLAGS - d3d1x: fix cf analysis - d3d1x: fix warning - d3d1x: fix segfault when hashing - d3d1x: destroy native\_display on adapter destruction - d3d1x: fix GUID declarations - d3d1x: redesign the HWND resolver interface - d3d1x: fix API name - d3d1x: define GUIDs in the normal way - d3d1x: add Wine dlls (tri, tex working, but no other testing) - d3d1x: properly reference count the backend - d3d1x: fix deadlocks on non-recursive mutex - d3d1x: bind NULL CSOs before destroying default CSOs on context dtor - d3d1x: initialize the mutex - d3d1x: autogenerate shader enums and text from def files - d3d1x: s/tpf/sm4/g - d3d1x: normalize whitespace - d3d1x: remove specstrings - d3d1x: minifix - d3d1x: rename context params - d3d11: rename screen params - d3d1x: rename params in misc and objects - d3d1x: rename parameters in dxgi - d3d11: obliterate IDL parameter names - d3d1x: remove specstrings.h include - d3d1x: flush the pipe context when presenting - d3d1x: remove another include specstrings.h - d3d1x: flush properly - d3d1x: add missing guid.cpp - d3d1x: fix build without system EGL/egl.h - d3d1x: add autogenerated files as prerequisites, so make builds them - d3d1x: obliterate IDL parameter names from d3d10.idl from Wine too - d3d1x: add shader dumping - d3d1x: add untested support for geometry shader translation - d3d1x: don't assert on unsupported resource types - d3d1x: fix CheckMultisampleQualityLevels - d3d1x: draw to the correct buffer - d3d1x: fix linking of dxbc2tgsi - nvfx: allow setting NULL constant buffers - nvfx: add RGB framebuffer format support in addition to BGR - d3d1x: don't crash on drivers not supporting vertex or geometry sampling - d3d1x: assert if X visual is not among enumerated visuals - d3d1x: stop using GLX in demos, just use the default visual - d3d1x: CRLF -> LF in progs - mesa: make makedepend an hard requirement - gallium: add $(PROGS\_DEPS) as dependencies for $(PROGS) - d3d1x: fix parallel build - d3d1x: add private gitignore file - d3d1x: fix progs linking if not all EGL platforms are enabled - d3d1x: link progs with CXXFLAGS - d3d11: advertise IDXGIDevice1, not just IDXGIDevice - d3d11: ignore StructureByteStride - d3d1x: link to libdrm for X11 platform too - ureg: support centroid interpolation - d3d1x: support centroid interpolation - d3d1x: properly support specifying MipLevels as 0 - d3d1x: put proper calling convention in headers, fixes 64-bit builds - d3d1x: rework DXGI for occlusion testing and default width/height - d3d1x: fix Map - d3d11: fix reference counting so devices get freed - d3d1x: work around crash in widl - glsl: Unroll loops with conditional breaks anywhere (not just the end) Lucas Stach (1): - nvfx: fill PIPE\_CAP\_PRIMITIVE\_RESTART and PIPE\_CAP\_SHADER\_STENCIL\_EXPORT Marek Olšák (100): - r300g: prevent creating multiple winsys BOs for the same handle - r300g/swtcl: fix CS overrun - st/mesa: fix assertion failure in GetTexImage for cubemaps - util: make calling remove\_from\_list multiple times in a row safe - r300g: fixup long-lived BO maps being incorrectly unmapped when flushing - r300g: make accessing map\_list and buffer\_handles thread-safe - r300g: fix a copy-paste typo for logging - r300g: fix the border color for every format other than PIPE\_FORMAT\_B8G8R8A8 - Build r300g by default - util: fix util\_pack\_color for B4G4R4A4 - r300g: fix macrotiling on R350 - r300g: code cleanups - r300/compiler: fix projective mapping of 2D NPOT textures - r300/compiler: do not use copy propagation if SaturateMode is used - r300/compiler: fix shadow sampling with swizzled coords - r300g: add support for 3D NPOT textures without mipmapping - r300g: fix swizzling of texture border color - configure.ac: look for libdrm\_radeon before building gallium/r300,r600 - configure.ac: do not build xorg-r300g by default - Makefile: ensure Gallium's Makefile.xorg and SConscript.dri are in the tarball - r300g: add support for formats beginning with X, like X8R8G8B8 - r300g: fix conditional rendering in non-wait path - r300g: add support for R8G8 colorbuffers - r300g: add support for L8A8 colorbuffers - update release notes for Gallium - r300g: fix microtiling for 16-bits-per-channel formats - r300g: do not print get\_param errors in non-debug build - r300g: say no to PIPE\_CAP\_STREAM\_OUTPUT and PIPE\_CAP\_PRIMITIVE\_RESTART - mesa: allow FBO attachments of formats LUMINANCE, LUMINANCE\_ALPHA, and INTENSITY - r300g: fix texture border for 16-bits-per-channel formats - st/mesa: support RGBA16 and use it for RGBA12 as well - r300g: add a default channel ordering of texture border for unhandled formats - r300g: mention ATI in the renderer string - r300g: rename has\_hyperz -> can\_hyperz - r300g: turn magic numbers into names in the hyperz code - gallium: add CAPs for indirect addressing and lower it in st/mesa when needed - tgsi: fill out CAPs for indirect addressing - i915g: fill out CAPs for indirect addressing - i965g: fill out CAPs for indirect addressing - nv50: fill out CAPs for indirect addressing - nvfx: fill out CAPs for indirect addressing - r300g: fill out CAPs for indirect addressing - r600g: fill out CAPs for indirect addressing - svga: fill out CAPs for indirect addressing - r300g: fix texture border color for all texture formats - r300g: clean up redundancy in draw functions - r300g: return shader caps from Draw for SWTCL vertex shaders - r300g: remove the hack with OPCODE\_RET - r300g: print FS inputs uninitialized due to hardware limits to stderr - r300g: fix rendering with no vertex elements - st/mesa: enable ARB\_explicit\_attrib\_location and EXT\_separate\_shader\_objects - docs: add GL 4.1 status - gallium: add PIPE\_SHADER\_CAP\_SUBROUTINES - st/mesa: set MaxUniformComponents - u\_blitter: use PIPE\_TRANSFER\_DISCARD to prevent cpu/gpu stall - r300/compiler: fix rc\_rewrite\_depth\_out for it to work with any instruction - r300/compiler: remove duplicate function rc\_mask\_to\_swz - r300/compiler: add a function for swizzling a mask - r300/compiler: move util functions to radeon\_compiler\_util - u\_blitter: interpolate clear color using a GENERIC varying instead of COLOR - st/mesa: fix texture border color for RED and RG base formats - util: rename u\_mempool -> u\_slab - r300g: fix texture border color once again - r300/compiler: implement and lower OPCODE\_CLAMP - ir\_to\_mesa: Add support for conditional discards. - r300g: fix texture swizzling with compressed textures on r400-r500 - r300g: disable ARB\_texture\_swizzle if S3TC is enabled on r3xx-only - r300g: fix up cubemap texture offset computation - r300/compiler: disable the swizzle lowering pass in vertex shaders - r300g: fix build - r300g: use internal BO handle for add\_buffer and write\_reloc - r300g: implement simple transfer\_inline\_write for buffers - mesa, st/mesa: fix gl\_FragCoord with FBOs in Gallium - r300g: fix pointer arithmetic with void\* in transfer\_inline\_write - r300g: do not remove unused constants if we are not near the limit - r300g: add capability bit index\_bias\_supported - r300g: one more r500\_index\_bias\_supported leftover - r300g: do not use the index parameter in set\_constant\_buffer - r300g: cleanup winsys - r300g: optimize looping over atoms - st/mesa: initialize key in st\_vp\_varient - u\_blitter: use util\_is\_format\_compatible in the assert - r300g: cache packet dwords of 3D\_LOAD\_VBPNTR in a command buffer if possible - r300g: validate buffers only if any of bound buffers is changed - r300g: also revalidate the SWTCL vertex buffer after its reallocation - r300/compiler: don't terminate regalloc if we surpass max temps limit - r300/compiler: add a function to query program stats (alu, tex, temps..) - r300/compiler: cleanup rc\_run\_compiler - r300/compiler: do not print pair/tex/presub program stats for vertex shaders - r300/compiler: handle DPH and XPD in rc\_compute\_sources\_for\_writemask - r300/compiler: make lowering passes possibly use up to two less temps - r300/compiler: remove at least unused immediates if externals cannot be removed - r300/compiler: fix LIT in VS - r300/compiler: fix swizzle lowering with a presubtract source operand - r300g: fix rendering with a vertex attrib having a zero stride - r300g: finally fix the texture corruption on r3xx-r4xx - r300g/swtcl: re-enable LLVM - r300g: mark vertex arrays as dirty after a buffer\_offset change - mesa: fix texel store functions for some float formats - r300/compiler: disable the rename\_regs pass for loops Mario Kleiner (1): - mesa/r300classic: Fix dri2Invalidate/radeon\_prepare\_render for page flipping. Mathias Fröhlich (3): - r300g: Avoid returning values in a static array, fixing a potential race - r600g: Only compare active vertex elements - st/mesa: Set PIPE\_TRANSFER\_DISCARD for GL\_MAP\_INVALIDATE\_RANGE/BUFFFER\_BIT Michal Krol (10): - svga: Fix relative addressing translation for pixel shaders. - svga: Integer constant register file has a separate namespace. - tgsi/exec: Cleanup the remaining arithmetic instructions. - tgsi/exec: Get rid of obsolete condition codes. - tgsi/build: Reduce interface clutter. - graw/gdi: Initial commit. - scons: Hook-up graw-gdi target. - graw/gdi: Fix window dimensions. - os: Open file streams in binary mode. - graw: Export graw\_save\_surface\_to\_file(). Nicolas Kaiser (26): - swrast: remove duplicated include - egl: remove duplicated include - gallium/rtasm: remove duplicated include - gallium/util: remove duplicated include - gallium/i915: remove duplicated include - gallium/llvmpipe: remove duplicated include - gallium/softpipe: remove duplicated include - gallium/st: remove duplicated includes - gallium/winsys: remove duplicated include - glx: remove duplicated include - dri/common: remove duplicated include - dri/i810: remove duplicated include - dri/i915: remove duplicated include - dri/i965: remove duplicated include - dri/intel: remove duplicated include - dri/mga: remove duplicated include - dri/r128: remove duplicated include - dri/r300: remove duplicated include - dri/r600: remove duplicated include - dri/radeon: remove duplicated includes - dri/savage: remove duplicated include - main: remove duplicated includes - math: remove duplicated includes - st: remove duplicated include - i965g: use Elements macro instead of manual sizeofs - nv50: fix always true conditional in shader optimization Orion Poplawski (1): - osmesa: link against libtalloc Owen W. Taylor (1): - r600g: Fix location for clip plane registers Peter Clifton (3): - intel: Fix emit\_linear\_blit to use DWORD aligned width blits - intel: Add assert check for blitting alignment. - meta: Mask Stencil.Clear against stencilMax in \_mesa\_meta\_Clear Robert Hooker (2): - intel: Add a new B43 pci id. - egl\_dri2: Add missing intel chip ids. Roland Scheidegger (16): - gallivm: fix copy&paste bug - gallivm: don't use URem/UDiv when calculating offsets for blocks - gallivm: optimize yuv decoding - gallivm: fix trunc/itrunc comment - gallivm: faster iround implementation for sse2 - gallivm: replace sub/floor/ifloor combo with ifloor\_fract - gallivm: optimize some tex wrap mode calculations a bit - gallivm: more linear tex wrap mode calculation simplification - gallivm: avoid unnecessary URem in linear wrap repeat case - gallivm: optimize soa linear clamp to edge wrap mode a bit - gallivm: make use of new iround code in lp\_bld\_conv. - gallivm: fix different handling of [non]normalized coords in linear soa path - gallivm: only use lp\_build\_conv 4x4f -> 1x16 ub fastpath with sse2 - r200: fix r200 large points - mesa: remove unneeded DD\_POINT\_SIZE and DD\_LINE\_WIDTH tricaps - gallium: support for array textures and related changes Shuang He (1): - mesa: allow GLfixed arrays for OpenGL ES 2.0 Stephan Schmid (1): - r600g: fix relative addressing when splitting constant accesses Thomas Hellstrom (21): - st/xorg: Don't try to use option values before processing options - xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers - st/xorg: Add a customizer option to get rid of annoying cursor update flicker - xorg/vmwgfx: Don't hide HW cursors when updating them - st/xorg: Don't try to remove invalid fbs - st/xorg: Fix typo - st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling environments - st/xorg: Fix compilation errors for Xservers compiled without Composite - st/xorg: Don't use deprecated x\*alloc / xfree functions - xorg/vmwgfx: Don't use deprecated x\*alloc / xfree functions - st/xorg: Fix compilation for Xservers >= 1.10 - mesa: Make sure we have the talloc cflags when using the talloc headers - egl: Add an include for size\_t - mesa: Add talloc includes for gles - st/egl: Fix build for include files in nonstandard places - svga/drm: Optionally resolve calls to powf during link-time - gallium/targets: Trivial crosscompiling fix - st/xorg: Add a function to flush pending rendering and damage - gallium/targets/xorg-vmwgfx: Xv fixes - xorg/vmwgfx: Flush even if we don't autopaint the color key - xorg/vmwgfx: Don't clip video to viewport Tilman Sauerbeck (35): - r600g: Fixed a bo leak in r600\_blit\_state\_ps\_shader(). - r600g: Use clamped math for RCP and RSQ. - r600g: Formatting fixes. - r600g: Added DB\_SHADER\_CONTROL defines. - r600g: Only set PA\_SC\_EDGERULE on rv770 and greater. - r600g: Enable PIPE\_SHADER\_CAP\_TGSI\_CONT\_SUPPORTED. - r600g: Fixed the shift in S\_02880C\_KILL\_ENABLE. - glsl2: Empty functions can be inlined. - glsl2: Fixed cloning of ir\_call error instructions. - r600g: Added support for TGSI\_SEMANTIC\_FACE. - gallium/docs: Fixed a typo in the SCS opcode description. - r600g: Honour destination operand's writemask in the SCS implementation. - r600g: Implemented the Z and W component write for the SCS opcode. - python/tests: Fixed tri.py for API and TGSI syntax changes. - r600g: Removed debug code. - gallium/docs: The RET opcode may appear anywhere in a subroutine. - r600g: Destroy the blitter. - r600g: Fixed two texture surface leaks in r600\_blit\_uncompress\_depth(). - r600g: Cleaned up index buffer reference handling in the draw module. - r600g: Fixed r600\_vertex\_element leak. - r600g: Added r600\_pipe\_shader\_destroy(). - r600g: Also clear bc data when we're destroying a shader. - r600g: In radeon\_bo(), call LIST\_INITHEAD early. - r600g: Destroy the blitter. - r600g: Removed unused 'ptr' argument from radeon\_bo(). - r600g: Made radeon\_bo\_pb\_map\_internal() actually call radeon\_bo\_map(). - r600g: Fixed unmap condition in radeon\_bo\_pb\_destroy(). - r600g: Made radeon\_bo::map\_count signed. - r600g: We don't support PIPE\_CAP\_PRIMITIVE\_RESTART. - r600g: Delete custom\_dsa\_flush on shutdown. - r600g: Fixed two memory leaks in winsys. - r600g: Destroy the winsys in r600\_destroy\_screen(). - st/mesa: Reset the index buffer before destroying the pipe context. - st/mesa: Reset the constant buffers before destroying the pipe context. - r600g: Removed duplicated call to tgsi\_split\_literal\_constant(). Timo Wiren (1): - Fix typos in comments and debug output strings. Tom Fogal (3): - Implement x86\_64 atomics for compilers w/o intrinsics. - Prefer intrinsics to handrolled atomic ops. - Revert "Prefer intrinsics to handrolled atomic ops." Tom Stellard (32): - r300/compiler: Refactor the pair instruction data structures - r300g: Always try to build libr300compiler.a - r300/compiler: Fix two mistakes in the presubtract optimization pass. - r300/compiler: Add more helper functions for iterating through sources - r300/compiler: Print immediate values after "dead constants" pass - r300/compiler: radeon\_remove\_constants.c: fix indentation - r300/compiler: Use rc\_for\_all\_reads\_src() in "dead constants" pass - r300/compiler: Fix segfault in error path - r300/compiler: Don't use rc\_error() unless the error is unrecoverable - r300/compiler: Don't merge instructions that write output regs and ALU result - r300/compiler: Create a helper function for merging presubtract sources - r300/compiler: Fix incorrect assumption - r300/compiler: Clear empty registers after constant folding - r300/compiler: Add a new function for more efficient dataflow analysis - r300g: Add new debug option for logging vertex/fragment program stats - r300/compiler: Use rc\_get\_readers\_normal() for presubtract optimizations - r300/compiler: Don't clobber presubtract sources during optimizations - r300/compiler: Don't track readers into an IF block. - r300/compiler: Make sure presubtract sources use supported swizzles - r300/compiler: Fix register allocator's handling of loops - r300/compiler: Fix instruction scheduling within IF blocks - r300/compiler: Use zero as the register index for unused sources - r300/compiler: Ignore alpha dest register when replicating the result - r300/compiler: Add rc\_get\_readers() - r300/compiler: Handle BREAK and CONTINUE in rc\_get\_readers() - r300/compiler: Track readers through branches in rc\_get\_readers() - r300/compiler: Convert RGB to alpha in the scheduler - r300/compiler: Use presubtract operations as much as possible - r300/compiler: Enable rename\_reg pass for r500 cards - r300/compiler: Add a more efficient version of rc\_find\_free\_temporary() - r300/compiler: Don't allow presubtract sources to be remapped twice - r300/compiler: Fix black terrain in Civ4 Victor Tseng (1): - egl/i965: include inline\_wrapper\_sw\_helper.h Viktor Novotný (6): - dri/nouveau: Import headers from rules-ng-ng - dri/nouveau: nv04: Use rules-ng-ng headers - dri/nouveau: nv10: Use rules-ng-ng headers - dri/nouveau nv20: Use rules-ng-ng headers - dri/nouveau: Remove nouveau\_class.h, finishing switch to rules-ng-ng headers - dri/nouveau: Clean up magic numbers in get\_rt\_format Vinson Lee (214): - llvmpipe: Remove unnecessary header. - r600g: Remove unnecessary headers. - mesa: Include missing header in program.h. - glsl: Fix 'format not a string literal and no format arguments' warning. - r600g: Silence uninitialized variable warning. - r600g: Silence uninitialized variable warning. - nvfx: Silence uninitialized variable warnings. - r600g: Silence uninitialized variable warning. - r600g: Silence uninitialized variable warning. - r600g: Silence uninitialized variable warning. - r600g: Silence unused variable warning. - nv50: Update files in SConscript to match Makefile. - nv50: Remove unnecessary headers. - nv50: Silence uninitialized variable warning. - nv50: Silence uninitialized variable warning. - nv50: Silence uninitialized variable warning. - gallivm: Remove unnecessary headers. - draw: Remove unnecessary header. - nv50: Silence uninitialized variable warnings. - nv50: Fix 'control reaches end of non-void function' warning. - mesa/st: Silence uninitialized variable warning. - gallivm: Remove unnecessary header. - r600g: Remove unnecessary header. - r600g: Remove unnecessary headers. - r600g: Fix implicit declaration warning. - r600g: Fix memory leak on error path. - r600g: Silence uninitialized variable warning. - r600g: Silence unused variable warnings. - mesa: bump version to 7.10 - ir\_to\_mesa: Remove unused member array\_indexed from struct statevar\_element. - mesa: Silence "'valid\_texture\_object' defined but not used" warning. - x86: Silence unused variable warning on Mac OS X. - glsl: Fix 'control reaches end of non-void function' warning. - nvfx: Remove const qualifer from nvfx\_vertprog\_translate. - nvfx: Silence uninitialized variable warnings. - r600g: Remove unused variable. - nv50: Silence missing initializer warning. - nv50: Remove dead initialization. - nv50: Remove dead initialization. - tgsi: Remove duplicate case value. - glut: Define markWindowHidden for non-Windows only. - glut: Define eventParser for non-Windows only. - r300g: Silence uninitialized variable warning. - intel: Fix implicit declaration of function '\_mesa\_meta\_Bitmap' warning. - mesa: Remove unnecessary headers. - r600g: Remove unnecessary header. - unichrome: Remove unnecessary header. - intel: Remove unnecessary headers. - r600g: Remove unused variable. - r600g: Disable unused variables. - r600g: Remove unused variable. - r600g: Silence 'control reaches end of non-void function' warning. - r600g: Remove unused variable. - r600g: Remove unused variable. - r600g: Disable unused variables. - intel: Remove unnecessary header. - st/dri: Remove unnecessary header. - r600g: Remove unused variable. - r300g: Remove unused variable. - r600g: Don't return a value in function returning void. - r600g: Remove unused variables. - r600g: Include p\_compiler.h instead of malloc.h. - r600g: Silence uninitialized variable warnings. - scons: Add MinGW-w64 prefixes for MinGW build. - dri: Add GET\_PROGRAM\_NAME definition for Mac OS X. - scons: Add program/sampler.cpp to SCons build. - mesa: Fix printf format warning. - mesa: Fix printf format warning. - mesa: Fix printf format warning. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r600g: Update SConscript. - r300/compiler: Move declaration before code. - r600g: Update SConscript. - r300/compiler: Move declaration before code. - r600g: Update SConscript. - r300/compiler: Move declaration before code. - r600g: Fix SCons build. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Remove declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - glsl: Remove unnecessary header. - savage: Remove unnecessary header. - r600g: Remove unused variable. - r600g: Remove unnecessary headers. - r600g: Fix SCons build. - r600g: Remove unnecessary header. - gallivm: Remove unnecessary header. - r600g: Silence uninitialized variable warning. - r600g: Silence uninitialized variable warning. - r600g: Silence uninitialized variable warning. - i915: Silence unused variable warning in non-debug builds. - i915: Silence unused variable warning in non-debug builds. - i965: Silence unused variable warning on non-debug builds. - i965: Silence unused variable warning on non-debug builds. - i965: Initialize member variables. - r300: Silence uninitialized variable warning. - tdfx: Silence unused variable warning on non-debug builds. - gallivm: Remove unnecessary header. - glsl: Initialize variable in ir\_derefence\_array::constant\_expression\_value - mesa: Add missing header to shaderobj.h. - llvmpipe: Return non-zero exit code for lp\_test\_round failures. - r300/compiler: Remove unused variable. - st/xorg: Fix memory leak on error path. - llvmpipe: Initialize state variable in debug\_bin function. - llvmpipe: Initialize variable. - draw: Move loop variable declaration outside for loop. - r600g: Ensure r600\_src is initialized in tgsi\_exp function. - glsl: Add assert for unhandled ir\_shader case. - swrast: Print out format on unexpected failure in \_swrast\_DrawPixels. - llvmpipe: Remove unnecessary header. - draw: Remove unnecessary header. - gallivm: Silence uninitialized variable warnings. - gallivm: Silence uninitialized variable warnings. - gallivm: Silence uninitialized variable warning. - r300g: Silence uninitialized variable warning. - mesa: Remove unnecessary headers. - r600g: Silence uninitialized variable warnings. - st/mesa: Remove unnecessary header. - mesa: Remove unnecessary header. - egl: Remove unnecessary headers. - swrast: Print out format on unexpected failure in \_swrast\_ReadPixels. - st/mesa: Silence uninitialized variable warning. - savage: Remove unnecessary header. - st/vega: Remove unnecessary headers. - dri/nouveau: Silence uninitialized variable warning. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - i965: Silence uninitialized variable warning. - i965: Silence uninitialized variable warning. - mesa: Clean up header file inclusion in accum.h. - mesa: Clean up header file inclusion in version.h. - mesa: Clean up header file inclusion in api\_loopback.h. - mesa: Clean up header file inclusion in api\_validate.h. - mesa: Include mfeatures.h in api\_loopback for FEATURE\_beginend. - mesa: Include mfeatures.h in api\_validate.c for FEATURE\_\* symbols. - mesa: Clean up header file inclusion in arrayobj.h. - mesa: Clean up header file inclusion in atifragshader.h. - mesa: Clean up header file inclusion in attrib.h. - mesa: Clean up header file inclusion in blend.h. - mesa: Clean up header file inclusion in buffers.h. - mesa: Clean up header file inclusion in colortab.h. - mesa: Clean up header file inclusion in convolve.h. - mesa: Clean up header file inclusion in debug.h. - mesa: Clean up header file inclusion in depth.h. - mesa: Clean up header file inclusion in depthstencil.h. - mesa: Clean up header file inclusion in drawpix.h. - mesa: Clean up header file inclusion in drawtex.h. - mesa: Clean up header file inclusion in enable.h. - mesa: Clean up header file inclusion in extensions.h. - graw: Add struct pipe\_surface forward declaration. - mesa: Clean up header file inclusion in fbobject.h. - mesa: Clean up header file inclusion in ffvertex\_prog.h. - mesa: Clean up header file inclusion in fog.h. - mesa: Clean up header file inclusion in framebuffer.h. - mesa: Clean up header file inclusion in hint.h. - mesa: Clean up header file inclusion in histogram.h. - mesa: Clean up header file inclusion in image.h. - mesa: Add missing header and forward declarations in dd.h. - mesa: Clean up header file inclusion in light.h. - mesa: Clean up header file inclusion in lines.h. - mesa: Clean up header file inclusion in matrix.h. - mesa: Clean up header file inclusion in multisample.h. - mesa: Clean up header file inclusion in nvprogram.h. - winsys/xlib: Add cygwin to SConscript. - mesa: Clean up header file inclusion in pixel.h. - mesa: Clean up header file inclusion in pixelstore.h. - mesa: Fix printf format warnings. - mesa: Clean up header file inclusion in points.h. - i965: Silence uninitialized variable warning. - glsl: Add ir\_constant\_expression.cpp to SConscript. - mesa: Add definitions for inverse hyperbolic function on MSVC. - glsl: Fix 'control reaches end of non-void function' warning. - glsl: Add lower\_vector.cpp to SConscript. - glsl: Fix type of label 'default' in switch statement. - st/mesa: Remove unnecessary headers. - swrast: Remove unnecessary header. - r600: Remove unnecesary header. - intel: Remove unnecessary header. - mesa: Clean up header file inclusion in polygon.h. - mesa: Clean up header file inclusion in rastpos.h. - mesa: Clean up header file inclusion in readpix.h. - mesa: Clean up header file inclusion in renderbuffer.h. - mesa: Clean up header file inclusion in scissor.h. - mesa: Clean up header file inclusion in shaderapi.h. - mesa: Clean up header file inclusion in shared.h. - mesa: Clean up header file inclusion in stencil.h. - r600: Remove unnecessary header. - llvmpipe: Remove unnecessary headers. - mesa: Clean up header file inclusion in syncobj.h. - r300/compiler: Move declaration before code. - r300/compiler: Move declaration before code. - mesa: Clean up header file inclusion in texcompress.h. - st/vega: Silence uninitialized variable warning. - mesa: Clean up header file inclusion in texcompress\_s3tc.h. - mesa: Clean up header file inclusion in texenvprogram.h. - mesa: Clean up header file inclusion in texformat.h. - mesa: Clean up header file inclusion in texgetimage.h. - mesa: Clean up header file inclusion in texobj.h. - gallium/noop: Add prototype for noop\_init\_state\_functions. - mesa: Clean up header file inclusion in texrender.h. - mesa: Clean up header file inclusion in transformfeedback.h. - mesa: Clean up header file inclusion in varray.h. - mesa: Clean up header file inclusion in viewport.h. - r200: Silence uninitialized variable warning. - r600g: Fix SCons build. - i965: Silence uninitialized variable warning. Xavier Chantry (8): - nv50: fix size of outputs\_written array - nv50: apply layout\_mask to tile\_flags - nvfx: only expose one rt on nv30 - nvfx: fb->nr\_cbufs <= 1 on nv30 - nvfx: reset nvfx->hw\_zeta - nvfx: fixes after array textures merge - init ps->context with util\_surfaces\_get and do\_get - gallium/trace: check bind\_vertex\_sampler\_states and set\_vertex\_sampler\_views Xiang, Haihao (10): - mesa: fix regression from b4bb6680200b5a898583392f4c831c02f41e63f7 - i965: add support for polygon mode on Sandybridge. - i965: fix for flat shading on Sandybridge - i965: set minimum/maximum Point Width on Sandybridge - meta: allow nested meta operations - i965: support for two-sided lighting on Sandybridge - i965: fix register region description - i965: use align1 access mode for instructions with execSize=1 in VS - i965: don't spawn GS thread for LINELOOP on Sandybridge - i965: use BLT to clear buffer if possible on Sandybridge Zack Rusin (8): - rbug: fix rbug when contexts are being destroyed - llvmpipe: fix rasterization of vertical lines on pixel boundaries - scons: build the xorg state trackers only when env includes drm - gallivm: implement indirect addressing of the output registers - gallivm: implement indirect addressing over inputs - gallivm: fix storing of the addr register - scons: add alias for identity - gallium/util: add states relevant to geometry shaders Zhenyu Wang (40): - i965: disasm quarter and write enable instruction control on sandybridge - i965: new state dump for sandybridge - i965: enable accumulator update in PS kernel too on sandybridge - i965: Fix color interpolation on sandybridge - i965: force zero in clipper to ignore RTAIndex on sandybridge - i965: fix point size setting in header on sandybridge - i965: ff sync message change for sandybridge - i965: ignore quads for GS kernel on sandybridge - i965: add sandybridge viewport state bo into validation list - i965: VS use SPF mode on sandybridge for now - i965: fix jump count on sandybridge - i965: Fix sampler on sandybridge - i965: fix const register count for sandybridge - i965: Add all device ids for sandybridge - i965: sandybridge pipe control workaround before write cache flush - i965: only allow SIMD8 kernel on sandybridge now - i965: don't do calculation for delta\_xy on sandybridge - i965: fix pixel w interpolation on sandybridge - i965: enable polygon offset on sandybridge - i965: fix scissor state on sandybridge - i965: fix point sprite on sandybridge - i965: fix occlusion query on sandybridge - i965: fallback bitmap operation on sandybridge - i965: Always set tiling for depth buffer on sandybridge - i965: fallback lineloop on sandybridge for now - Revert "i965: Always set tiling for depth buffer on sandybridge" - i965: always set tiling for fbo depth buffer on sandybridge - i965: Fix GS hang on Sandybridge - Revert "i965: fallback lineloop on sandybridge for now" - i965: refresh wm push constant also for BRW\_NEW\_FRAMENT\_PROGRAM on gen6 - i965: fix dest type of 'endif' on sandybridge - Revert "i965: VS use SPF mode on sandybridge for now" - i965: also using align1 mode for math2 on sandybridge - i965: Fix GS state uploading on Sandybridge - i965: upload WM state for \_NEW\_POLYGON on sandybridge - i965: Use MI\_FLUSH\_DW for blt ring flush on sandybridge - i965: explicit tell header present for fb write on sandybridge - i965: Fix occlusion query on sandybridge - i965: Use last vertex convention for quad provoking vertex on sandybridge - i965: Fix provoking vertex select in clip state for sandybridge Zou Nan hai (1): - i965: skip too small size mipmap delphi (2): - draw: added userclip planes and updated variant\_key - draw: some changes to allow for runtime changes to userclip planes nobled (3): - r300g: Abort if atom allocations fail - r300g: Abort if draw\_create() fails - r300g: Drop unnecessary cast pontus lidman (1): - mesa: check for posix\_memalign() errors richard (2): - evergreen : fix z format setting, enable stencil. - r600c : inline vertex format is not updated in an app, switch to use vfetch constants. For the 7.9 and 7.10 branches as well.