diff options
| -rw-r--r-- | docs/relnotes-7.8.2.html | 46 | ||||
| -rw-r--r-- | docs/relnotes.html | 1 | ||||
| -rw-r--r-- | progs/tests/zreaddraw.c | 13 | ||||
| -rw-r--r-- | src/mesa/shader/program.c | 4 | ||||
| -rw-r--r-- | src/mesa/state_tracker/st_cb_drawpixels.c | 41 | 
5 files changed, 82 insertions, 23 deletions
| diff --git a/docs/relnotes-7.8.2.html b/docs/relnotes-7.8.2.html new file mode 100644 index 0000000000..85c132a29f --- /dev/null +++ b/docs/relnotes-7.8.2.html @@ -0,0 +1,46 @@ +<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.2 Release Notes / April, 5, 2010</H1> + +<p> +Mesa 7.8.2 is a bug fix release which fixes bugs found since the 7.8.1 release. +</p> +<p> +Mesa 7.8.2 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> +tbd +</pre> + + +<h2>New features</h2> +<p>None.</p> + + +<h2>Bug fixes</h2> +<ul> +<li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT). +</ul> + + +<h2>Changes</h2> +<p>None.</p> +</body> +</html> diff --git a/docs/relnotes.html b/docs/relnotes.html index f7e2c691f7..39b02b842f 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.  </p>  <UL> +<LI><A HREF="relnotes-7.8.2.html">7.8.2 release notes</A>  <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> diff --git a/progs/tests/zreaddraw.c b/progs/tests/zreaddraw.c index 7740695bb6..4d27b3a505 100644 --- a/progs/tests/zreaddraw.c +++ b/progs/tests/zreaddraw.c @@ -102,6 +102,19 @@ static void Display(void)     /* read back scaled depth image */     glReadPixels(100, 0, 400, 400, GL_DEPTH_COMPONENT, GL_FLOAT, depth2); + +   /* debug */ +   if (0) { +      int i; +      float *z = depth2 + 400 * 200; +      printf("z at y=200:\n"); +      for (i = 0; i < 400; i++) { +         printf("%5.3f ", z[i]); +         if ((i + 1) % 12 == 0) +            printf("\n"); +      } +   } +     /* draw as luminance */     glPixelZoom(1.0, 1.0);     glWindowPos2i(100, 0); diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c index f4f701b546..f77a773753 100644 --- a/src/mesa/shader/program.c +++ b/src/mesa/shader/program.c @@ -625,7 +625,7 @@ replace_registers(struct prog_instruction *inst, GLuint numInst,     GLuint i, j;     for (i = 0; i < numInst; i++) {        /* src regs */ -      for (j = 0; j < _mesa_num_inst_src_regs(inst->Opcode); j++) { +      for (j = 0; j < _mesa_num_inst_src_regs(inst[i].Opcode); j++) {           if (inst[i].SrcReg[j].File == oldFile &&               inst[i].SrcReg[j].Index == oldIndex) {              inst[i].SrcReg[j].File = newFile; @@ -652,7 +652,7 @@ adjust_param_indexes(struct prog_instruction *inst, GLuint numInst,  {     GLuint i, j;     for (i = 0; i < numInst; i++) { -      for (j = 0; j < _mesa_num_inst_src_regs(inst->Opcode); j++) { +      for (j = 0; j < _mesa_num_inst_src_regs(inst[i].Opcode); j++) {           GLuint f = inst[i].SrcReg[j].File;           if (f == PROGRAM_CONSTANT ||               f == PROGRAM_UNIFORM || diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 85570541ef..93b95a534c 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -249,13 +249,13 @@ make_passthrough_vertex_shader(struct st_context *st,                 ureg_DECL_output( ureg, TGSI_SEMANTIC_POSITION, 0 ),                 ureg_DECL_vs_input( ureg, 0 )); -      /* MOV result.texcoord0, vertex.texcoord0; */ +      /* MOV result.texcoord0, vertex.attr[1]; */        ureg_MOV(ureg,                  ureg_DECL_output( ureg, TGSI_SEMANTIC_GENERIC, 0 ),                 ureg_DECL_vs_input( ureg, 1 ));        if (passColor) { -         /* MOV result.color0, vertex.color0; */ +         /* MOV result.color0, vertex.attr[2]; */           ureg_MOV(ureg,                     ureg_DECL_output( ureg, TGSI_SEMANTIC_COLOR, 0 ),                    ureg_DECL_vs_input( ureg, 2 )); @@ -451,7 +451,7 @@ draw_quad(GLcontext *ctx, GLfloat x0, GLfloat y0, GLfloat z,        const GLfloat sLeft = 0.0f, sRight = maxXcoord;        const GLfloat tTop = invertTex ? maxYcoord : 0.0f;        const GLfloat tBot = invertTex ? 0.0f : maxYcoord; -      GLuint tex, i; +      GLuint i;        /* upper-left */        verts[0][0][0] = clip_x0;    /* v[0].attr[0].x */ @@ -469,32 +469,31 @@ draw_quad(GLcontext *ctx, GLfloat x0, GLfloat y0, GLfloat z,        verts[3][0][0] = clip_x0;        verts[3][0][1] = clip_y1; -      tex = color ? 2 : 1; -      verts[0][tex][0] = sLeft; /* v[0].attr[tex].s */ -      verts[0][tex][1] = tTop;  /* v[0].attr[tex].t */ -      verts[1][tex][0] = sRight; -      verts[1][tex][1] = tTop; -      verts[2][tex][0] = sRight; -      verts[2][tex][1] = tBot; -      verts[3][tex][0] = sLeft; -      verts[3][tex][1] = tBot; +      verts[0][1][0] = sLeft; /* v[0].attr[1].S */ +      verts[0][1][1] = tTop;  /* v[0].attr[1].T */ +      verts[1][1][0] = sRight; +      verts[1][1][1] = tTop; +      verts[2][1][0] = sRight; +      verts[2][1][1] = tBot; +      verts[3][1][0] = sLeft; +      verts[3][1][1] = tBot;        /* same for all verts: */        if (color) {           for (i = 0; i < 4; i++) { -            verts[i][0][2] = z;   /*Z*/ -            verts[i][0][3] = 1.0f; /*W*/ -            verts[i][1][0] = color[0]; -            verts[i][1][1] = color[1]; -            verts[i][1][2] = color[2]; -            verts[i][1][3] = color[3]; -            verts[i][2][2] = 0.0f; /*R*/ -            verts[i][2][3] = 1.0f; /*Q*/ +            verts[i][0][2] = z;         /* v[i].attr[0].z */ +            verts[i][0][3] = 1.0f;      /* v[i].attr[0].w */ +            verts[i][2][0] = color[0];  /* v[i].attr[2].r */ +            verts[i][2][1] = color[1];  /* v[i].attr[2].g */ +            verts[i][2][2] = color[2];  /* v[i].attr[2].b */ +            verts[i][2][3] = color[3];  /* v[i].attr[2].a */ +            verts[i][1][2] = 0.0f;      /* v[i].attr[1].R */ +            verts[i][1][3] = 1.0f;      /* v[i].attr[1].Q */           }        }        else {           for (i = 0; i < 4; i++) { -            verts[i][0][2] = z;   /*Z*/ +            verts[i][0][2] = z;    /*Z*/              verts[i][0][3] = 1.0f; /*W*/              verts[i][1][2] = 0.0f; /*R*/              verts[i][1][3] = 1.0f; /*Q*/ | 
