From f820b263db0d3bc46b4ea7b41bbe026cbf990430 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Sun, 4 Apr 2010 10:24:46 -0700 Subject: mesa: update_arrays() depends on program state. It uses ctx->VertexProgram._Current. Signed-off-by: Brian Paul --- src/mesa/main/state.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 589029db58..b971cc976e 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -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); -- cgit v1.2.3 From dcaa2c6e761ef3f910c94c0e4e4980626ab8e11e Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 5 Apr 2010 09:12:33 -0700 Subject: Initial 7.8.1 release notes --- docs/relnotes-7.8.1.html | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 docs/relnotes-7.8.1.html diff --git a/docs/relnotes-7.8.1.html b/docs/relnotes-7.8.1.html new file mode 100644 index 0000000000..db65a0dbf4 --- /dev/null +++ b/docs/relnotes-7.8.1.html @@ -0,0 +1,54 @@ + + +Mesa Release Notes + + + + + + + +

Mesa 7.8.1 Release Notes / April, 5, 2010

+ +

+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. +

+

+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. +

+

+See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

+ + +

MD5 checksums

+
+tbd
+
+ + +

New features

+

None.

+ + +

Bug fixes

+
    +
  • Fix incorrect enums for GLX_INTEL_swap_event by updating glxext.h to + version 27 from OpenGL.org.
  • +
  • Fix compilation errors on non-GLX_DIRECT_RENDERING builds.
  • +
  • Various fixes for building Mesa on OS X.
  • +
  • Pass GLX drawable ID to dri2InvalidateBuffers. Fixes bug #27190.
  • +
+ + +

Changes

+

None.

+ + -- cgit v1.2.3 From 88b7329cdd8f3fc22f18a84175822f81930b4d50 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 5 Apr 2010 09:49:08 -0700 Subject: mesa: set version string to 7.8.1 --- Makefile | 2 +- src/mesa/main/version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6e64134112..c81a2ec2d9 100644 --- a/Makefile +++ b/Makefile @@ -180,7 +180,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.8 +VERSION=7.8.1 DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 2e1d70c461..cd760beba4 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -34,8 +34,8 @@ /* Mesa version */ #define MESA_MAJOR 7 #define MESA_MINOR 8 -#define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.8" +#define MESA_PATCH 1 +#define MESA_VERSION_STRING "7.8.1" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) -- cgit v1.2.3 From 1ad1a51f140fcf6eba5a976f01e74e33d2b661d4 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 5 Apr 2010 09:51:18 -0700 Subject: docs: Add 7.8.1 release MD5 sums --- docs/relnotes-7.8.1.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/relnotes-7.8.1.html b/docs/relnotes-7.8.1.html index db65a0dbf4..8ec34a38cf 100644 --- a/docs/relnotes-7.8.1.html +++ b/docs/relnotes-7.8.1.html @@ -30,7 +30,15 @@ for DRI hardware acceleration.

MD5 checksums

-tbd
+b6db4bf400706ad5cbbae3b4286f5a44  MesaLib-7.8.1.tar.gz
+bb0acf866166093991bf18f7bff5063a  MesaLib-7.8.1.tar.bz2
+b54f18f807e0804983e39e0fbad07135  MesaLib-7.8.1.zip
+5c43de94ac20099d8b973ca59ea71a8e  MesaDemos-7.8.1.tar.gz
+9ef47f911869657c6bf2f43ebce86b61  MesaDemos-7.8.1.tar.bz2
+93720605eb3f784f9bcc289a4dd2ff52  MesaDemos-7.8.1.zip
+f26ea88429abf29e701ff4e517f17677  MesaGLUT-7.8.1.tar.gz
+7fbc77f2b56d4428f4da37640a00027a  MesaGLUT-7.8.1.tar.bz2
+4066ebfc962a3befadd631910356c64a  MesaGLUT-7.8.1.zip
 
-- cgit v1.2.3 From 0eea33b0696cee2cdea1e63a1714cec267d9b990 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 5 Apr 2010 11:00:52 -0600 Subject: softpipe: index the correct blend/mask state index Need to check pipe_blend_state::independent_blend_enable to determine which render target/index to use when checking blend enable and colormask state. This is part of the fix for piglit/fbo-drawbuffers --- src/gallium/drivers/softpipe/sp_quad_blend.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_quad_blend.c b/src/gallium/drivers/softpipe/sp_quad_blend.c index d65307b7f6..ead489393e 100644 --- a/src/gallium/drivers/softpipe/sp_quad_blend.c +++ b/src/gallium/drivers/softpipe/sp_quad_blend.c @@ -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 -- cgit v1.2.3 From 659669d74cdb2c37b5e7a74bb56e6ef326ff7d62 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 5 Apr 2010 11:10:51 -0600 Subject: docs: add link to 7.8.1 release notes --- docs/relnotes.html | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/relnotes.html b/docs/relnotes.html index 3e17a1e94e..f7e2c691f7 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -13,6 +13,7 @@ The release notes summarize what's new or changed in each Mesa release.

    +
  • 7.8.1 release notes
  • 7.8 release notes
  • 7.7.1 release notes
  • 7.7 release notes -- cgit v1.2.3 From 0e0de77f0e2583365f2c41bddee21526758b1bff Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 5 Apr 2010 11:12:59 -0600 Subject: docs: added news item for 7.8.1 release --- docs/news.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/news.html b/docs/news.html index 4e4b6976a8..b7731cdaf3 100644 --- a/docs/news.html +++ b/docs/news.html @@ -11,6 +11,14 @@

    News

    +

    April 5, 2010

    + +

    +Mesa 7.8.1 is released. This is a bug-fix +release for a few critical issues in the 7.8 release. +

    + +

    March 28, 2010

    Mesa 7.7.1 is released. This is a bug-fix -- cgit v1.2.3 From 5683d77b22b12129c4d715860671d331c760e362 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 5 Apr 2010 11:22:32 -0600 Subject: mesa: bump MESA_TINY version --- configs/default | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/default b/configs/default index ad6d93c92f..47d6923f01 100644 --- a/configs/default +++ b/configs/default @@ -10,7 +10,7 @@ CONFIG_NAME = default # Version info MESA_MAJOR=7 MESA_MINOR=8 -MESA_TINY=0 +MESA_TINY=1 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) # external projects. This should be useless now that we use libdrm. -- cgit v1.2.3 From 582e292a88ccb19bbaed8c4f313512a416b2076b Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 5 Apr 2010 12:45:20 -0700 Subject: docs: Update 7.8.1 release MD5 sums --- docs/relnotes-7.8.1.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/relnotes-7.8.1.html b/docs/relnotes-7.8.1.html index 8ec34a38cf..1ba68fd41a 100644 --- a/docs/relnotes-7.8.1.html +++ b/docs/relnotes-7.8.1.html @@ -30,15 +30,15 @@ for DRI hardware acceleration.

    MD5 checksums

    -b6db4bf400706ad5cbbae3b4286f5a44  MesaLib-7.8.1.tar.gz
    -bb0acf866166093991bf18f7bff5063a  MesaLib-7.8.1.tar.bz2
    -b54f18f807e0804983e39e0fbad07135  MesaLib-7.8.1.zip
    -5c43de94ac20099d8b973ca59ea71a8e  MesaDemos-7.8.1.tar.gz
    +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
    -f26ea88429abf29e701ff4e517f17677  MesaGLUT-7.8.1.tar.gz
    -7fbc77f2b56d4428f4da37640a00027a  MesaGLUT-7.8.1.tar.bz2
    -4066ebfc962a3befadd631910356c64a  MesaGLUT-7.8.1.zip
    +ed1d0b1e960afe6a3768eab747cbdbd3  MesaGLUT-7.8.1.tar.gz
    +6bae516a44c6d26ff3152c960ab648e7  MesaGLUT-7.8.1.tar.bz2
    +ba306f603ea73c30ee0e7efa14dc5581  MesaGLUT-7.8.1.zip
     
    -- cgit v1.2.3 From 4b39a0da89f5b07d4a24bc9ce52693e6c2acfe99 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sat, 3 Apr 2010 13:34:29 +1000 Subject: texenvprogram: fix for ARB_draw_buffers. piglit has a test called fbo-drawbuffers, this fails for me on r300g, and fixing the texenv program to use the DATA outputs fixes it. Signed-off-by: Dave Airlie --- src/mesa/main/texenvprogram.c | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 7b8a8b85f2..964ba13c70 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -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); -- cgit v1.2.3