diff options
| author | Brian Paul <brian.paul@tungstengraphics.com> | 2005-10-03 16:11:21 +0000 | 
|---|---|---|
| committer | Brian Paul <brian.paul@tungstengraphics.com> | 2005-10-03 16:11:21 +0000 | 
| commit | b0e7d850d1471fd8e5aa99a67ec7ea9721b692ad (patch) | |
| tree | bd04d13d30d16f4a6a72b7db43bd8bdbe998b04e | |
| parent | 8ef0519bbe0318920170e82b6b52853920a897c4 (diff) | |
finish up some missing code
| -rw-r--r-- | src/mesa/main/texrender.c | 26 | 
1 files changed, 24 insertions, 2 deletions
diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c index f7f3fdb4b0..ae4a2a5527 100644 --- a/src/mesa/main/texrender.c +++ b/src/mesa/main/texrender.c @@ -27,14 +27,29 @@ static void  texture_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,                  GLint x, GLint y, void *values)  { -   /* XXX unfinished */ +   const struct texture_renderbuffer *trb +      = (const struct texture_renderbuffer *) rb; +   const GLint z = trb->Zoffset; +   GLchan *rgbaOut = (GLchan *) values; +   GLuint i; +   for (i = 0; i < count; i++) { +      trb->TexImage->FetchTexelc(trb->TexImage, x + i, y, z, rgbaOut + 4 * i); +   }  }  static void  texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,                     const GLint x[], const GLint y[], void *values)  { -   /* XXX unfinished */ +   const struct texture_renderbuffer *trb +      = (const struct texture_renderbuffer *) rb; +   const GLint z = trb->Zoffset; +   GLchan *rgbaOut = (GLchan *) values; +   GLuint i; +   for (i = 0; i < count; i++) { +      trb->TexImage->FetchTexelc(trb->TexImage, x[i], y[i], z, +                                 rgbaOut + 4 * i); +   }  }  static void @@ -170,6 +185,13 @@ wrap_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att)     trb->Base.Delete = delete_texture_wrapper;     trb->Base.AllocStorage = NULL; /* illegal! */ +   /* XXX fix these */ +   trb->Base.RedBits = trb->TexImage->TexFormat->RedBits; +   trb->Base.GreenBits = trb->TexImage->TexFormat->GreenBits; +   trb->Base.BlueBits = trb->TexImage->TexFormat->BlueBits; +   trb->Base.AlphaBits = trb->TexImage->TexFormat->AlphaBits; +   trb->Base.DepthBits = trb->TexImage->TexFormat->DepthBits; +     att->Renderbuffer = &(trb->Base);  }  | 
