summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-03-06 15:46:40 -0800
committerclayjohn <claynjohn@gmail.com>2023-03-06 15:46:40 -0800
commit06042a23b676c36f0afc1f3696d52cd60e79dc80 (patch)
treebe8fd5d4d7e8a4ec7f9ffddf5bb813ff6eb5ce25 /drivers/vulkan
parent3695fe5a573678c6491a6a33f19f9329d3256a48 (diff)
downloadredot-engine-06042a23b676c36f0afc1f3696d52cd60e79dc80.tar.gz
Avoid overflow when calculating ptr address for 3D textures in RenderingDevice texture update
Diffstat (limited to 'drivers/vulkan')
-rw-r--r--drivers/vulkan/rendering_device_vulkan.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp
index 91a746636a..2166d12d31 100644
--- a/drivers/vulkan/rendering_device_vulkan.cpp
+++ b/drivers/vulkan/rendering_device_vulkan.cpp
@@ -2530,7 +2530,7 @@ Error RenderingDeviceVulkan::_texture_update(RID p_texture, uint32_t p_layer, co
for (uint32_t z = 0; z < depth; z++) { // For 3D textures, depth may be > 0.
- const uint8_t *read_ptr = read_ptr_mipmap + image_size * z / depth;
+ const uint8_t *read_ptr = read_ptr_mipmap + (image_size / depth) * z;
for (uint32_t y = 0; y < height; y += region_size) {
for (uint32_t x = 0; x < width; x += region_size) {