diff --git a/src/video_core/engines/engine_upload.cpp b/src/video_core/engines/engine_upload.cpp
index 082a40cd9..c776b9a56 100644
--- a/src/video_core/engines/engine_upload.cpp
+++ b/src/video_core/engines/engine_upload.cpp
@@ -36,8 +36,8 @@ void State::ProcessData(const u32 data, const bool is_last_call) {
     } else {
         UNIMPLEMENTED_IF(regs.dest.z != 0);
         UNIMPLEMENTED_IF(regs.dest.depth != 1);
-        UNIMPLEMENTED_IF(regs.dest.BlockWidth() != 1);
-        UNIMPLEMENTED_IF(regs.dest.BlockDepth() != 1);
+        UNIMPLEMENTED_IF(regs.dest.BlockWidth() != 0);
+        UNIMPLEMENTED_IF(regs.dest.BlockDepth() != 0);
         const std::size_t dst_size = Tegra::Texture::CalculateSize(
             true, 1, regs.dest.width, regs.dest.height, 1, regs.dest.BlockHeight(), 1);
         tmp_buffer.resize(dst_size);
diff --git a/src/video_core/engines/engine_upload.h b/src/video_core/engines/engine_upload.h
index ef4f5839a..cb294aec3 100644
--- a/src/video_core/engines/engine_upload.h
+++ b/src/video_core/engines/engine_upload.h
@@ -39,15 +39,15 @@ struct Registers {
         }
 
         u32 BlockWidth() const {
-            return 1U << block_width.Value();
+            return block_width;
         }
 
         u32 BlockHeight() const {
-            return 1U << block_height.Value();
+            return block_height;
         }
 
         u32 BlockDepth() const {
-            return 1U << block_depth.Value();
+            return block_depth;
         }
     } dest;
 };