mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 10:10:09 +01:00
Merge remote branch 'origin/7.8'
Conflicts: Makefile configs/default src/mesa/main/version.h
This commit is contained in:
commit
dff50ff592
6 changed files with 105 additions and 20 deletions
|
|
@ -11,6 +11,14 @@
|
|||
<H1>News</H1>
|
||||
|
||||
|
||||
<h2>April 5, 2010</h2>
|
||||
|
||||
<p>
|
||||
<a href="relnotes-7.8.1.html">Mesa 7.8.1</a> is released. This is a bug-fix
|
||||
release for a few critical issues in the 7.8 release.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>March 28, 2010</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.7.1.html">Mesa 7.7.1</a> is released. This is a bug-fix
|
||||
|
|
|
|||
62
docs/relnotes-7.8.1.html
Normal file
62
docs/relnotes-7.8.1.html
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.8.1 Release Notes / April, 5, 2010</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.8.1 fixes a couple critical bugs in the recent Mesa 7.8 release. Even
|
||||
though this is a bug fix release, given its proximity to the 7.8 release, a
|
||||
new development release, it should also be considered new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release, such as 7.7.1, or wait for Mesa 7.8.2.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 7.8.1 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.
|
||||
</p>
|
||||
<p>
|
||||
See the <a href="install.html">Compiling/Installing page</a> for prerequisites
|
||||
for DRI hardware acceleration.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
62e8e47cbd63741b4bbe634dcdc8a56a MesaLib-7.8.1.tar.gz
|
||||
25ec15f8e41fde6d206118cc786dbac4 MesaLib-7.8.1.tar.bz2
|
||||
22b1153010ffdf513836ea9931159e80 MesaLib-7.8.1.zip
|
||||
c9c0a830923d3820807a08c09d521b3e MesaDemos-7.8.1.tar.gz
|
||||
9ef47f911869657c6bf2f43ebce86b61 MesaDemos-7.8.1.tar.bz2
|
||||
93720605eb3f784f9bcc289a4dd2ff52 MesaDemos-7.8.1.zip
|
||||
ed1d0b1e960afe6a3768eab747cbdbd3 MesaGLUT-7.8.1.tar.gz
|
||||
6bae516a44c6d26ff3152c960ab648e7 MesaGLUT-7.8.1.tar.bz2
|
||||
ba306f603ea73c30ee0e7efa14dc5581 MesaGLUT-7.8.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None.</p>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fix incorrect enums for GLX_INTEL_swap_event by updating glxext.h to
|
||||
version 27 from OpenGL.org.</li>
|
||||
<li>Fix compilation errors on non-GLX_DIRECT_RENDERING builds.</li>
|
||||
<li>Various fixes for building Mesa on OS X.</li>
|
||||
<li>Pass GLX drawable ID to dri2InvalidateBuffers. Fixes bug #27190.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
<p>None.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -13,6 +13,7 @@ The release notes summarize what's new or changed in each Mesa release.
|
|||
</p>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="relnotes-7.8.1.html">7.8.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.8.html">7.8 release notes</A>
|
||||
<LI><A HREF="relnotes-7.7.1.html">7.7.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.7.html">7.7 release notes</A>
|
||||
|
|
|
|||
|
|
@ -744,6 +744,8 @@ blend_fallback(struct quad_stage *qs,
|
|||
|
||||
for (cbuf = 0; cbuf < softpipe->framebuffer.nr_cbufs; cbuf++)
|
||||
{
|
||||
/* which blend/mask state index to use: */
|
||||
const uint blend_buf = blend->independent_blend_enable ? cbuf : 0;
|
||||
float dest[4][QUAD_SIZE];
|
||||
struct softpipe_cached_tile *tile
|
||||
= sp_get_cached_tile(softpipe->cbuf_cache[cbuf],
|
||||
|
|
@ -771,11 +773,11 @@ blend_fallback(struct quad_stage *qs,
|
|||
if (blend->logicop_enable) {
|
||||
logicop_quad( qs, quadColor, dest );
|
||||
}
|
||||
else if (blend->rt[cbuf].blend_enable) {
|
||||
else if (blend->rt[blend_buf].blend_enable) {
|
||||
blend_quad( qs, quadColor, dest, cbuf );
|
||||
}
|
||||
|
||||
if (blend->rt[cbuf].colormask != 0xf)
|
||||
if (blend->rt[blend_buf].colormask != 0xf)
|
||||
colormask_quad( blend->rt[cbuf].colormask, quadColor, dest);
|
||||
|
||||
/* Output color values
|
||||
|
|
|
|||
|
|
@ -582,9 +582,6 @@ _mesa_update_state_locked( GLcontext *ctx )
|
|||
if (new_state & _DD_NEW_SEPARATE_SPECULAR)
|
||||
update_separate_specular( ctx );
|
||||
|
||||
if (new_state & (_NEW_ARRAY | _NEW_PROGRAM | _NEW_BUFFER_OBJECT))
|
||||
update_arrays( ctx );
|
||||
|
||||
if (new_state & (_NEW_BUFFERS | _NEW_VIEWPORT))
|
||||
update_viewport_matrix(ctx);
|
||||
|
||||
|
|
@ -620,6 +617,8 @@ _mesa_update_state_locked( GLcontext *ctx )
|
|||
new_prog_state |= update_program( ctx );
|
||||
}
|
||||
|
||||
if (new_state & (_NEW_ARRAY | _NEW_PROGRAM | _NEW_BUFFER_OBJECT))
|
||||
update_arrays( ctx );
|
||||
|
||||
out:
|
||||
new_prog_state |= update_program_constants(ctx);
|
||||
|
|
|
|||
|
|
@ -1415,6 +1415,7 @@ create_new_program(GLcontext *ctx, struct state_key *key,
|
|||
struct texenv_fragment_program p;
|
||||
GLuint unit;
|
||||
struct ureg cf, out;
|
||||
int i;
|
||||
|
||||
memset(&p, 0, sizeof(p));
|
||||
p.state = key;
|
||||
|
|
@ -1436,7 +1437,13 @@ create_new_program(GLcontext *ctx, struct state_key *key,
|
|||
p.program->Base.NumAddressRegs = 0;
|
||||
p.program->Base.Parameters = _mesa_new_parameter_list();
|
||||
p.program->Base.InputsRead = 0x0;
|
||||
p.program->Base.OutputsWritten = 1 << FRAG_RESULT_COLOR;
|
||||
|
||||
if (ctx->DrawBuffer->_NumColorDrawBuffers == 1)
|
||||
p.program->Base.OutputsWritten = 1 << FRAG_RESULT_COLOR;
|
||||
else {
|
||||
for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++)
|
||||
p.program->Base.OutputsWritten |= (1 << (FRAG_RESULT_DATA0 + i));
|
||||
}
|
||||
|
||||
for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) {
|
||||
p.src_texture[unit] = undef;
|
||||
|
|
@ -1485,22 +1492,28 @@ create_new_program(GLcontext *ctx, struct state_key *key,
|
|||
}
|
||||
|
||||
cf = get_source( &p, SRC_PREVIOUS, 0 );
|
||||
out = make_ureg( PROGRAM_OUTPUT, FRAG_RESULT_COLOR );
|
||||
|
||||
if (key->separate_specular) {
|
||||
/* Emit specular add.
|
||||
*/
|
||||
struct ureg s = register_input(&p, FRAG_ATTRIB_COL1);
|
||||
emit_arith( &p, OPCODE_ADD, out, WRITEMASK_XYZ, 0, cf, s, undef );
|
||||
emit_arith( &p, OPCODE_MOV, out, WRITEMASK_W, 0, cf, undef, undef );
|
||||
}
|
||||
else if (memcmp(&cf, &out, sizeof(cf)) != 0) {
|
||||
/* Will wind up in here if no texture enabled or a couple of
|
||||
* other scenarios (GL_REPLACE for instance).
|
||||
*/
|
||||
emit_arith( &p, OPCODE_MOV, out, WRITEMASK_XYZW, 0, cf, undef, undef );
|
||||
}
|
||||
for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) {
|
||||
if (ctx->DrawBuffer->_NumColorDrawBuffers == 1)
|
||||
out = make_ureg( PROGRAM_OUTPUT, FRAG_RESULT_COLOR );
|
||||
else {
|
||||
out = make_ureg( PROGRAM_OUTPUT, FRAG_RESULT_DATA0 + i );
|
||||
}
|
||||
|
||||
if (key->separate_specular) {
|
||||
/* Emit specular add.
|
||||
*/
|
||||
struct ureg s = register_input(&p, FRAG_ATTRIB_COL1);
|
||||
emit_arith( &p, OPCODE_ADD, out, WRITEMASK_XYZ, 0, cf, s, undef );
|
||||
emit_arith( &p, OPCODE_MOV, out, WRITEMASK_W, 0, cf, undef, undef );
|
||||
}
|
||||
else if (memcmp(&cf, &out, sizeof(cf)) != 0) {
|
||||
/* Will wind up in here if no texture enabled or a couple of
|
||||
* other scenarios (GL_REPLACE for instance).
|
||||
*/
|
||||
emit_arith( &p, OPCODE_MOV, out, WRITEMASK_XYZW, 0, cf, undef, undef );
|
||||
}
|
||||
}
|
||||
/* Finish up:
|
||||
*/
|
||||
emit_arith( &p, OPCODE_END, undef, WRITEMASK_XYZW, 0, undef, undef, undef);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue