diff options
author | Stéphane Marchesin <[email protected]> | 2014-05-26 17:31:57 -0700 |
---|---|---|
committer | Stéphane Marchesin <[email protected]> | 2014-05-26 23:08:49 -0700 |
commit | 82a76e61e7bee68bc3dcc1cca94db94ce21ea268 (patch) | |
tree | 6f797bab2e5f90768a7773b84ec0ab81fda50666 /src | |
parent | b419ca937a666b0e5a6aca4cf179d8d43e0a3996 (diff) |
i915g: Fallback to sw for npot copies
i915g's npot support is incomplete, so let's not use it for copies.
This fixes a bunch of piglit tests.
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/i915/i915_surface.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/i915/i915_surface.c b/src/gallium/drivers/i915/i915_surface.c index 6e9558e54df..8afe8d07867 100644 --- a/src/gallium/drivers/i915/i915_surface.c +++ b/src/gallium/drivers/i915/i915_surface.c @@ -94,8 +94,9 @@ i915_surface_copy_render(struct pipe_context *pipe, struct pipe_sampler_view src_templ, *src_view; struct pipe_surface dst_templ, *dst_view; - /* Fallback for buffers. */ - if ((dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER)) { + /* Fallback for buffers and npot. */ + if ((dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) || + !util_is_power_of_two(src_width0) || !util_is_power_of_two(src_height0)) { util_resource_copy_region(pipe, dst, dst_level, dstx, dsty, dstz, src, src_level, src_box); return; |