diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-03-07 08:41:18 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-03-07 08:41:18 +0100 |
commit | c82948af870e96bfc6c985dcc9bc256d4034e4da (patch) | |
tree | a924f14cc3c43f4d0cd91477b6ca7d4c1df0fac0 | |
parent | 0f25dc266160d996eae7ee0914c2ca201c12fe11 (diff) | |
parent | 06042a23b676c36f0afc1f3696d52cd60e79dc80 (diff) | |
download | redot-engine-c82948af870e96bfc6c985dcc9bc256d4034e4da.tar.gz |
Merge pull request #74526 from clayjohn/RD-texture
Avoid overflow when calculating ptr address for 3D textures in RenderingDevice texture update
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.cpp | 2 |
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) { |