Browse Source

Merge pull request #71510 from lawnjelly/gles2_oct_unpack

GLES2 fix octahedral half float unpacking
Rémi Verschelde 2 years ago
parent
commit
a0ddc595a6
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/gles2/rasterizer_storage_gles2.cpp

+ 5 - 0
drivers/gles2/rasterizer_storage_gles2.cpp

@@ -2120,6 +2120,11 @@ static PoolVector<uint8_t> _unpack_half_floats(const PoolVector<uint8_t> &array,
 					if (!(p_format & VS::ARRAY_COMPRESS_TANGENT && p_format & VS::ARRAY_COMPRESS_NORMAL)) {
 						src_size[VS::ARRAY_NORMAL] = 8;
 						dst_size[VS::ARRAY_NORMAL] = 8;
+
+						// These must be incremented manually,
+						// as we are modifying a previous attribute size.
+						src_stride += 4;
+						dst_stride += 4;
 					}
 					src_size[i] = 0;
 					dst_size[i] = 0;