Przeglądaj źródła

shader: Fix crash when querying alignment of empty struct

rdb 1 tydzień temu
rodzic
commit
3e7fe64fe7
1 zmienionych plików z 7 dodań i 3 usunięć
  1. 7 3
      panda/src/gobj/shaderType.cxx

+ 7 - 3
panda/src/gobj/shaderType.cxx

@@ -907,9 +907,13 @@ get_align_bytes() const {
 uint32_t ShaderType::Struct::
 get_size_bytes() const {
   // Pad to base alignment.
-  uint32_t size = _members.empty() ? 0 : _members.back().offset + _members.back().type->get_size_bytes();
-  uint32_t align = get_align_bytes();
-  return size + (align - (size % align)) % align;
+  if (!_members.empty()) {
+    uint32_t size = _members.back().offset;
+    uint32_t align = get_align_bytes();
+    return size + (align - (size % align)) % align;
+  } else {
+    return 0;
+  }
 }
 
 /**