diff options
| author | Marek Olšák <maraeo@gmail.com> | 2009-10-28 01:38:40 +0100 | 
|---|---|---|
| committer | Corbin Simpson <MostAwesomeDude@gmail.com> | 2009-10-28 12:15:33 -0700 | 
| commit | c451011d99a33350d70766f902ad09a0b606f7c2 (patch) | |
| tree | 834d7b2f8fda12737316970dd7489fff376c5820 /src | |
| parent | 7d56caabe45e91a67096804c7e341d04d01db7aa (diff) | |
mesa/st: fix crash in st_texture_image_copy
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/state_tracker/st_texture.c | 21 | 
1 files changed, 15 insertions, 6 deletions
| diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c index ba8d1e8cc1..3f30137747 100644 --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -342,12 +342,21 @@ st_texture_image_copy(struct pipe_context *pipe,        src_surface = screen->get_tex_surface(screen, src, face, srcLevel, i,                                              PIPE_BUFFER_USAGE_GPU_READ); -      pipe->surface_copy(pipe, -			 dst_surface, -			 0, 0, /* destX, Y */ -			 src_surface, -			 0, 0, /* srcX, Y */ -			 width, height); +      if (pipe->surface_copy) { +         pipe->surface_copy(pipe, +			    dst_surface, +			    0, 0, /* destX, Y */ +			    src_surface, +			    0, 0, /* srcX, Y */ +			    width, height); +      } else { +         util_surface_copy(pipe, FALSE, +			   dst_surface, +			   0, 0, /* destX, Y */ +			   src_surface, +			   0, 0, /* srcX, Y */ +			   width, height); +      }        pipe_surface_reference(&src_surface, NULL);        pipe_surface_reference(&dst_surface, NULL); | 
