OSDN Git Service

anv/so_memcpy: Don't consider src/dst_offset when computing block size
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 10 Sep 2018 21:36:10 +0000 (16:36 -0500)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 19 Sep 2018 14:38:04 +0000 (09:38 -0500)
The only thing that matters is the size since we never specify any
offsets in terms of blocks.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/genX_gpu_memcpy.c

index 11ffd6f..fd78f4d 100644 (file)
@@ -137,10 +137,8 @@ genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer,
    assert(src.offset + size <= src.bo->size);
 
    /* The maximum copy block size is 4 32-bit components at a time. */
-   unsigned bs = 16;
-   bs = gcd_pow2_u64(bs, src.offset);
-   bs = gcd_pow2_u64(bs, dst.offset);
-   bs = gcd_pow2_u64(bs, size);
+   assert(size % 4 == 0);
+   unsigned bs = gcd_pow2_u64(16, size);
 
    enum isl_format format;
    switch (bs) {