egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage
[mesa.git] / docs / relnotes / 7.9.1.rst
1 Mesa 7.9.1 Release Notes / January 7, 2011
2 ==========================================
3
4 Mesa 7.9.1 is a bug fix release which fixes bugs found since the 7.9
5 release.
6
7 Mesa 7.9.1 implements the OpenGL 2.1 API, but the version reported by
8 glGetString(GL_VERSION) depends on the particular driver being used.
9 Some drivers don't support all the features required in OpenGL 2.1.
10
11 See the :doc:`Compiling/Installing page <../install>` for
12 prerequisites for DRI hardware acceleration.
13
14 MD5 checksums
15 -------------
16
17 ::
18
19 78422843ea875ad4eac35b9b8584032b MesaLib-7.9.1.tar.gz
20 07dc6cfb5928840b8b9df5bd1b3ae434 MesaLib-7.9.1.tar.bz2
21 c8eaea5b3c3d6dee784bd8c2db91c80f MesaLib-7.9.1.zip
22 ee9ecae4ca56fbb2d14dc15e3a0a7640 MesaGLUT-7.9.1.tar.gz
23 41fc477d524e7dc5c84da8ef22422bea MesaGLUT-7.9.1.tar.bz2
24 90b287229afdf19317aa989d19462e7a MesaGLUT-7.9.1.zip
25
26 New features
27 ------------
28
29 None.
30
31 Bug fixes
32 ---------
33
34 This list is likely incomplete.
35
36 - `Bug 28800 <https://bugs.freedesktop.org/show_bug.cgi?id=28800>`__ -
37 [r300c, r300g] Texture corruption with World of Warcraft
38 - `Bug 29420 <https://bugs.freedesktop.org/show_bug.cgi?id=29420>`__ -
39 Amnesia / HPL2 RendererFeatTest - not rendering correctly
40 - `Bug 29946 <https://bugs.freedesktop.org/show_bug.cgi?id=29946>`__ -
41 [swrast] piglit valgrind glsl-array-bounds-04 fails
42 - `Bug 30261 <https://bugs.freedesktop.org/show_bug.cgi?id=30261>`__ -
43 [GLSL 1.20] allowing inconsistent invariant declaration between two
44 vertex shaders
45 - `Bug 30632 <https://bugs.freedesktop.org/show_bug.cgi?id=30632>`__ -
46 [softpipe] state_tracker/st_manager.c:489:
47 st_context_notify_invalid_framebuffer: Assertion \`stfb &&
48 stfb->iface == stfbi' failed.
49 - `Bug 30694 <https://bugs.freedesktop.org/show_bug.cgi?id=30694>`__ -
50 wincopy will crash on Gallium drivers when going to front buffer
51 - `Bug 30787 <https://bugs.freedesktop.org/show_bug.cgi?id=30787>`__ -
52 Invalid asm shader does not generate draw-time error when used with
53 GLSL shader
54 - `Bug 30993 <https://bugs.freedesktop.org/show_bug.cgi?id=30993>`__ -
55 getFramebufferAttachmentParameteriv wrongly generates error
56 - `Bug 31101 <https://bugs.freedesktop.org/show_bug.cgi?id=31101>`__ -
57 [glsl2] abort() in ir_validate::visit_enter(ir_assignment \*ir)
58 - `Bug 31193 <https://bugs.freedesktop.org/show_bug.cgi?id=31193>`__ -
59 [regression] aa43176e break water reflections
60 - `Bug 31194 <https://bugs.freedesktop.org/show_bug.cgi?id=31194>`__ -
61 The mesa meta save/restore code doesn't ref the current GLSL program
62 - `Bug 31371 <https://bugs.freedesktop.org/show_bug.cgi?id=31371>`__ -
63 glslparsertest: ir.cpp:358: ir_constant::ir_constant(const
64 glsl_type*, const ir_constant_data*): Assertion \`(type->base_type >=
65 0) && (type->base_type <= 3)' failed.
66 - `Bug 31439 <https://bugs.freedesktop.org/show_bug.cgi?id=31439>`__ -
67 Crash in glBufferSubData() with size == 0
68 - `Bug 31495 <https://bugs.freedesktop.org/show_bug.cgi?id=31495>`__ -
69 [i965 gles2c bisected] OpenGL ES 2.0 conformance
70 GL2Tests_GetBIFD_input.run regressed
71 - `Bug 31514 <https://bugs.freedesktop.org/show_bug.cgi?id=31514>`__ -
72 isBuffer returns true for unbound buffers
73 - `Bug 31560 <https://bugs.freedesktop.org/show_bug.cgi?id=31560>`__ -
74 [tdfx] tdfx_tex.c:702: error: 'const struct gl_color_table' has no
75 member named 'Format'
76 - `Bug 31617 <https://bugs.freedesktop.org/show_bug.cgi?id=31617>`__ -
77 Radeon/Compiz: 'failed to attach dri2 front buffer', error case not
78 handled
79 - `Bug 31648 <https://bugs.freedesktop.org/show_bug.cgi?id=31648>`__ -
80 [GLSL] array-struct-array gets assertion: \`(size >= 1) && (size <=
81 4)' failed.
82 - `Bug 31650 <https://bugs.freedesktop.org/show_bug.cgi?id=31650>`__ -
83 [GLSL] varying gl_TexCoord fails to be re-declared to different size
84 in the second shader
85 - `Bug 31673 <https://bugs.freedesktop.org/show_bug.cgi?id=31673>`__ -
86 GL_FRAGMENT_PRECISION_HIGH preprocessor macro undefined in GLSL ES
87 - `Bug 31690 <https://bugs.freedesktop.org/show_bug.cgi?id=31690>`__ -
88 i915 shader compiler fails to flatten if in Aquarium webgl demo.
89 - `Bug 31832 <https://bugs.freedesktop.org/show_bug.cgi?id=31832>`__ -
90 [i915] Bad renderbuffer format: 21
91 - `Bug 31841 <https://bugs.freedesktop.org/show_bug.cgi?id=31841>`__ -
92 [drm:radeon_cs_ioctl] \*ERROR\* Invalid command stream !
93 - `Bug 31894 <https://bugs.freedesktop.org/show_bug.cgi?id=31894>`__ -
94 Writing to gl_PointSize with GLES2 corrupts other varyings
95 - `Bug 31909 <https://bugs.freedesktop.org/show_bug.cgi?id=31909>`__ -
96 [i965] brw_fs.cpp:1461: void
97 fs_visitor::emit_bool_to_cond_code(ir_rvalue*): Assertion
98 \`expr->operands[i]->type->is_scalar()' failed.
99 - `Bug 31934 <https://bugs.freedesktop.org/show_bug.cgi?id=31934>`__ -
100 [gallium] Mapping empty buffer object causes SIGSEGV
101 - `Bug 31983 <https://bugs.freedesktop.org/show_bug.cgi?id=31983>`__ -
102 [i915 gles2] "if (expression with builtin/varying variables) discard"
103 breaks linkage
104 - `Bug 31985 <https://bugs.freedesktop.org/show_bug.cgi?id=31985>`__ -
105 [GLSL 1.20] initialized uniform array considered as "unsized"
106 - `Bug 31987 <https://bugs.freedesktop.org/show_bug.cgi?id=31987>`__ -
107 [gles2] if input a wrong pname(GL_NONE) to glGetBoolean, it will not
108 case GL_INVALID_ENUM
109 - `Bug 32035 <https://bugs.freedesktop.org/show_bug.cgi?id=32035>`__ -
110 [GLSL bisected] comparing unsized array gets segfault
111 - `Bug 32070 <https://bugs.freedesktop.org/show_bug.cgi?id=32070>`__ -
112 llvmpipe renders stencil demo incorrectly
113 - `Bug 32273 <https://bugs.freedesktop.org/show_bug.cgi?id=32273>`__ -
114 assertion fails when starting vdrift 2010 release with shaders
115 enabled
116 - `Bug 32287 <https://bugs.freedesktop.org/show_bug.cgi?id=32287>`__ -
117 [bisected GLSL] float-int failure
118 - `Bug 32311 <https://bugs.freedesktop.org/show_bug.cgi?id=32311>`__ -
119 [965 bisected] Array look-ups broken on GM45
120 - `Bug 32520 <https://bugs.freedesktop.org/show_bug.cgi?id=32520>`__ -
121 [gles2] glBlendFunc(GL_ZERO, GL_DST_COLOR) will result in
122 GL_INVALID_ENUM
123 - `Bug 32825 <https://bugs.freedesktop.org/show_bug.cgi?id=32825>`__ -
124 egl_glx driver completely broken in 7.9 branch [fix in master]
125
126 Changes
127 -------
128
129 The full set of changes can be viewed by using the following GIT
130 command:
131
132 ::
133
134 git log mesa-7.9..mesa-7.9.1
135
136 Alex Deucher (5):
137
138 - r100: revalidate after radeon_update_renderbuffers
139 - r600c: add missing radeon_prepare_render() call on evergreen
140 - r600c: properly align mipmaps to group size
141 - gallium/egl: fix r300 vs r600 loading
142 - r600c: fix some opcodes on evergreen
143
144 Aras Pranckevicius (2):
145
146 - glsl: fix crash in loop analysis when some controls can't be
147 determined
148 - glsl: fix matrix type check in ir_algebraic
149
150 Brian Paul (27):
151
152 - swrast: fix choose_depth_texture_level() to respect mipmap filtering
153 state
154 - st/mesa: replace assertion w/ conditional in framebuffer invalidation
155 - egl/i965: include inline_wrapper_sw_helper.h
156 - mesa: Add missing else in do_row_3D
157 - mesa: add missing formats in \_mesa_format_to_type_and_comps()
158 - mesa: handle more pixel types in mipmap generation code
159 - mesa: make glIsBuffer() return false for never bound buffers
160 - mesa: fix glDeleteBuffers() regression
161 - swrast: init alpha value to 1.0 in opt_sample_rgb_2d()
162 - meta: Mask Stencil.Clear against stencilMax in \_mesa_meta_Clear
163 - st/mesa: fix mapping of zero-sized buffer objects
164 - mesa: check for posix_memalign() errors
165 - llvmpipe: fix broken stencil writemask
166 - mesa: fix GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME query
167 - mesa: return GL_FRAMEBUFFER_DEFAULT as FBO attachment type
168 - mesa: make glGet*(GL_NONE) generate GL_INVALID_ENUM
169 - mesa: test for cube map completeness in glGenerateMipmap()
170 - tnl: Initialize gl_program_machine memory in run_vp.
171 - tnl: a better way to initialize the gl_program_machine memory
172 - mesa, st/mesa: disable GL_ARB_geometry_shader4
173 - glsl: fix off by one in register index assertion
174 - st/mesa: fix mipmap generation bug
175 - glsl: new glsl_strtod() wrapper to fix decimal point interpretation
176 - mesa: no-op glBufferSubData() on size==0
177 - tdfx: s/Format/_BaseFormat/
178 - st/mesa: fix renderbuffer pointer check in st_Clear()
179 - mesa: Bump the number of bits in the register index.
180
181 Chad Versace (5):
182
183 - glsl: Fix lexer rule for ^=
184 - glsl: Fix ast-to-hir for ARB_fragment_coord_conventions
185 - glsl: Fix ir_expression::constant_expression_value()
186 - glsl: Fix erroneous cast in ast_jump_statement::hir()
187 - glsl: Fix linker bug in cross_validate_globals()
188
189 Chia-I Wu (10):
190
191 - targets/egl: Fix linking with libdrm.
192 - st/vega: Fix version check in context creation.
193 - st/egl: Do not finish a fence that is NULL.
194 - egl: Fix a false negative check in \_eglCheckMakeCurrent.
195 - st/mesa: Unreference the sampler view in st_bind_surface.
196 - egl_dri2: Fix \__DRI_DRI2 version 1 support.
197 - st/vega: Do not wait NULL fences.
198 - mesa: Do not advertise GL_OES_texture_3D.
199 - egl_glx: Fix borken driver.
200 - egl: Check extensions.
201
202 Daniel Lichtenberger (1):
203
204 - radeon: fix potential segfault in renderbuffer update
205
206 Daniel Vetter (1):
207
208 - r200: revalidate after radeon_update_renderbuffers
209
210 Dave Airlie (1):
211
212 - r300g: fixup rs690 tiling stride alignment calculations.
213
214 Eric Anholt (13):
215
216 - intel: Allow CopyTexSubImage to InternalFormat 3/4 textures, like
217 RGB/RGBA.
218 - glsl: Free the loop state context when we free the loop state.
219 - i965: Allow OPCODE_SWZ to put immediates in the first arg.
220 - i965: Add support for rendering to SARGB8 FBOs.
221 - glsl: Add a helper constructor for expressions that works out result
222 type.
223 - glsl: Fix structure and array comparisions.
224 - glsl: Quiet unreachable no-return-from-function warning.
225 - glsl: Mark the array access for whole-array comparisons.
226 - glsl: Fix flipped return of has_value() for array constants.
227 - mesa: Add getters for the rest of the supported draw buffers.
228 - mesa: Add getters for ARB_copy_buffer's attachment points.
229 - i965: Correct the dp_read message descriptor setup on g4x.
230 - glsl: Correct the marking of InputsRead/OutputsWritten on in/out
231 matrices.
232
233 Fabian Bieler (1):
234
235 - glsl: fix lowering conditional returns in subroutines
236
237 Francisco Jerez (3):
238
239 - meta: Don't leak alpha function/reference value changes.
240 - meta: Fix incorrect rendering of the bitmap alpha component.
241 - meta: Don't try to disable cube maps if the driver doesn't expose the
242 extension.
243
244 Henri Verbeet (2):
245
246 - r600: Evergreen has two extra frac_bits for the sampler LOD state.
247 - st/mesa: Handle wrapped depth buffers in st_copy_texsubimage().
248
249 Ian Romanick (33):
250
251 - Add 7.9 md5sums
252 - docs: Import 7.8.x release notes from 7.8 branch.
253 - docs: download.html does not need to be updated for each release
254 - docs: Update mailing lines from sf.net to freedesktop.org
255 - docs: added news item for 7.9 release
256 - mesa: Validate assembly shaders when GLSL shaders are used
257 - linker: Reject shaders that have unresolved function calls
258 - mesa: Refactor validation of shader targets
259 - glsl: Slightly change the semantic of \_LinkedShaders
260 - linker: Improve handling of unread/unwritten shader inputs/outputs
261 - glsl: Commit lexer files changed by previous cherry picking
262 - mesa: Make metaops use program refcounts instead of names.
263 - glsl: Fix incorrect gl_type of sampler2DArray and
264 sampler1DArrayShadow
265 - mesa: Allow query of MAX_SAMPLES with EXT_framebuffer_multisample
266 - glsl: better handling of linker failures
267 - mesa: Fix glGet of ES2's GL_MAX_*_VECTORS properties.
268 - i915: Disallow alpha, red, RG, and sRGB as render targets
269 - glsl/linker: Free any IR discarded by optimization passes.
270 - glsl: Add an optimization pass to simplify discards.
271 - glsl: Add a lowering pass to move discards out of if-statements.
272 - i915: Correctly generate unconditional KIL instructions
273 - glsl: Add unary ir_expression constructor
274 - glsl: Ensure that equality comparisons don't return a NULL IR tree
275 - glcpp: Commit changes in generated files cause by previous commit
276 - glsl: Inherrit type of declared variable from initializer
277 - glsl: Inherrit type of declared variable from initializer after
278 processing assignment
279 - linker: Ensure that unsized arrays have a size after linking
280 - linker: Fix regressions caused by previous commit
281 - linker: Allow built-in arrays to have different sizes between shader
282 stages
283 - ir_to_mesa: Don't generate swizzles for record derefs of
284 non-scalar/vectors
285 - Refresh autogenerated file builtin_function.cpp.
286 - docs: Initial set of release notes for 7.9.1
287 - mesa: set version string to 7.9.1
288
289 Julien Cristau (1):
290
291 - Makefile: don't include the same files twice in the tarball
292
293 Kenneth Graunke (19):
294
295 - glcpp: Return NEWLINE token for newlines inside multi-line comments.
296 - generate_builtins.py: Output large strings as arrays of characters.
297 - glsl: Fix constant component count in vector constructor emitting.
298 - ir_dead_functions: Actually free dead functions and signatures.
299 - glcpp: Define GL_FRAGMENT_PRECISION_HIGH if GLSL version >= 1.30.
300 - glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2
301 shaders.
302 - glsl: Fix constant expression handling for <, >, <=, >= on vectors.
303 - glsl: Use do_common_optimization in the standalone compiler.
304 - glsl: Don't inline function prototypes.
305 - glsl: Add a virtual as_discard() method.
306 - glsl: Remove "discard" support from lower_jumps.
307 - glsl: Refactor get_num_operands.
308 - glcpp: Don't emit SPACE tokens in conditional_tokens production.
309 - glsl: Clean up code by adding a new is_break() function.
310 - glsl: Consider the "else" branch when looking for loop breaks.
311 - Remove OES_compressed_paletted_texture from the ES2 extension list.
312 - glsl/builtins: Compute the correct value for smoothstep(vec, vec,
313 vec).
314 - Fix build on systems where "python" is python 3.
315 - i965: Internally enable GL_NV_blend_square on ES2.
316
317 Kristian Høgsberg (1):
318
319 - i965: Don't write mrf assignment for pointsize output
320
321 Luca Barbieri (1):
322
323 - glsl: Unroll loops with conditional breaks anywhere (not just the
324 end)
325
326 Marek Olšák (17):
327
328 - r300g: fix microtiling for 16-bits-per-channel formats
329 - r300g: fix texture border for 16-bits-per-channel formats
330 - r300g: add a default channel ordering of texture border for unhandled
331 formats
332 - r300g: fix texture border color for all texture formats
333 - r300g: fix rendering with no vertex elements
334 - r300/compiler: fix rc_rewrite_depth_out for it to work with any
335 instruction
336 - r300g: fix texture border color once again
337 - r300g: fix texture swizzling with compressed textures on r400-r500
338 - r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
339 - mesa, st/mesa: fix gl_FragCoord with FBOs in Gallium
340 - st/mesa: initialize key in st_vp_varient
341 - r300/compiler: fix swizzle lowering with a presubtract source operand
342 - r300g: fix rendering with a vertex attrib having a zero stride
343 - ir_to_mesa: Add support for conditional discards.
344 - r300g: finally fix the texture corruption on r3xx-r4xx
345 - mesa: fix texel store functions for some float formats
346 - r300/compiler: disable the rename_regs pass for loops
347
348 Mario Kleiner (1):
349
350 - mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page
351 flipping.
352
353 Peter Clifton (1):
354
355 - intel: Fix emit_linear_blit to use DWORD aligned width blits
356
357 Robert Hooker (2):
358
359 - intel: Add a new B43 pci id.
360 - egl_dri2: Add missing intel chip ids.
361
362 Roland Scheidegger (1):
363
364 - r200: fix r200 large points
365
366 Thomas Hellstrom (17):
367
368 - st/xorg: Don't try to use option values before processing options
369 - xorg/vmwgfx: Make vmwarectrl work also on 64-bit servers
370 - st/xorg: Add a customizer option to get rid of annoying cursor update
371 flicker
372 - xorg/vmwgfx: Don't hide HW cursors when updating them
373 - st/xorg: Don't try to remove invalid fbs
374 - st/xorg: Fix typo
375 - st/xorg, xorg/vmwgfx: Be a bit more frendly towards cross-compiling
376 environments
377 - st/xorg: Fix compilation errors for Xservers compiled without
378 Composite
379 - st/xorg: Don't use deprecated x*alloc / xfree functions
380 - xorg/vmwgfx: Don't use deprecated x*alloc / xfree functions
381 - st/xorg: Fix compilation for Xservers >= 1.10
382 - mesa: Make sure we have the talloc cflags when using the talloc
383 headers
384 - egl: Add an include for size_t
385 - mesa: Add talloc includes for gles
386 - st/egl: Fix build for include files in nonstandard places
387 - svga/drm: Optionally resolve calls to powf during link-time
388 - gallium/targets: Trivial crosscompiling fix
389
390 Tom Stellard (7):
391
392 - r300/compiler: Make sure presubtract sources use supported swizzles
393 - r300/compiler: Fix register allocator's handling of loops
394 - r300/compiler: Fix instruction scheduling within IF blocks
395 - r300/compiler: Use zero as the register index for unused sources
396 - r300/compiler: Ignore alpha dest register when replicating the result
397 - r300/compiler: Use correct swizzles for all presubtract sources
398 - r300/compiler: Don't allow presubtract sources to be remapped twice
399
400 Vinson Lee (1):
401
402 - glsl: Fix 'control reaches end of non-void function' warning.
403
404 richard (1):
405
406 - r600c : inline vertex format is not updated in an app, switch to use
407 vfetch constants. For the 7.9 and 7.10 branches as well.