summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_surface.c
diff options
context:
space:
mode:
authorStéphane Marchesin <[email protected]>2014-05-26 17:31:57 -0700
committerStéphane Marchesin <[email protected]>2014-05-26 23:08:49 -0700
commit82a76e61e7bee68bc3dcc1cca94db94ce21ea268 (patch)
tree6f797bab2e5f90768a7773b84ec0ab81fda50666 /src/gallium/drivers/i915/i915_surface.c
parentb419ca937a666b0e5a6aca4cf179d8d43e0a3996 (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/gallium/drivers/i915/i915_surface.c')
-rw-r--r--src/gallium/drivers/i915/i915_surface.c5
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;