Mesa (master): i915g: Fallback to sw for npot copies

Stephane Marchesin marcheu at kemper.freedesktop.org
Tue May 27 03:55:01 UTC 2014


Module: Mesa
Branch: master
Commit: 82a76e61e7bee68bc3dcc1cca94db94ce21ea268
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=82a76e61e7bee68bc3dcc1cca94db94ce21ea268

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Mon May 26 17:31:57 2014 -0700

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.

---

 src/gallium/drivers/i915/i915_surface.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_surface.c b/src/gallium/drivers/i915/i915_surface.c
index 6e9558e..8afe8d0 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;




More information about the mesa-commit mailing list