diff options
author | Ben Skeggs <skeggsb@gmail.com> | 2008-04-29 09:00:48 +1000 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2008-04-29 09:00:48 +1000 |
commit | 95295081a8557f0b63cd89f387205d5abe772788 (patch) | |
tree | bbc1ee8f36fdb2d2ba34f15cf406292e1439a87d /src/mesa/state_tracker | |
parent | 480ab1b7893290505efba925ea95d3b173aa97d4 (diff) | |
parent | 059ab50c60f19fd6dd30c574644c0e4e5747a330 (diff) |
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_cb_drawpixels.c | 18 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_cb_readpixels.c | 3 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 2 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_format.c | 6 |
4 files changed, 8 insertions, 21 deletions
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 047ea3816b..7597ea323c 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -983,22 +983,8 @@ st_CopyPixels(GLcontext *ctx, GLint srcx, GLint srcy, else { /* srcFormat can't be used as a texture format */ if (type == GL_DEPTH) { - static const enum pipe_format zFormats[] = { - PIPE_FORMAT_Z16_UNORM, - PIPE_FORMAT_Z32_UNORM, - PIPE_FORMAT_S8Z24_UNORM, - PIPE_FORMAT_Z24S8_UNORM - }; - uint i; - texFormat = 0; - for (i = 0; i < Elements(zFormats); i++) { - if (screen->is_format_supported(screen, zFormats[i], - PIPE_TEXTURE)) { - texFormat = zFormats[i]; - break; - } - } - assert(texFormat); /* XXX no depth texture formats??? */ + texFormat = st_choose_format(pipe, GL_DEPTH_COMPONENT, PIPE_TEXTURE); + assert(texFormat != PIPE_FORMAT_NONE); /* XXX no depth texture formats??? */ } else { /* todo */ diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index 1fef55b844..ddbe36106c 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -240,7 +240,8 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height, const GLint dstStride = _mesa_image_row_stride(&clippedPacking, width, format, type); - if (strb->surface->format == PIPE_FORMAT_S8Z24_UNORM) { + if (strb->surface->format == PIPE_FORMAT_S8Z24_UNORM || + strb->surface->format == PIPE_FORMAT_X8Z24_UNORM) { if (format == GL_DEPTH_COMPONENT) { for (i = 0; i < height; i++) { GLuint ztemp[MAX_WIDTH], j; diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 005bb2e54d..3454c3e8e8 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -1381,7 +1381,7 @@ copy_image_data_to_texture(struct st_context *st, st_texture_image_data(st->pipe, stObj->pt, stImage->face, - stImage->level, + dstLevel, stImage->base.Data, stImage->base.RowStride, stImage->base.RowStride * diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 3d15a03cab..8b5f84cd56 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -293,7 +293,7 @@ st_mesa_format_to_pipe_format(GLuint mesaFormat) /** * Find an RGBA format supported by the context/winsys. */ -static GLuint +static enum pipe_format default_rgba_format(struct pipe_screen *screen, uint type) { static const enum pipe_format colorFormats[] = { @@ -315,7 +315,7 @@ default_rgba_format(struct pipe_screen *screen, uint type) /** * Search list of formats for first RGBA format with >8 bits/channel. */ -static GLuint +static enum pipe_format default_deep_rgba_format(struct pipe_screen *screen, uint type) { if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_SNORM, type)) { @@ -331,7 +331,7 @@ default_deep_rgba_format(struct pipe_screen *screen, uint type) /** * Find an Z format supported by the context/winsys. */ -static GLuint +static enum pipe_format default_depth_format(struct pipe_screen *screen, uint type) { static const enum pipe_format zFormats[] = { |