make start on ubuntu intel video cards

This commit is contained in:
Paul 2026-03-22 21:47:12 +03:00
parent 7565019dc9
commit 027640189a
8 changed files with 170 additions and 44 deletions

View file

@ -416,6 +416,13 @@ private:
static constexpr uint32_t MAX_MATERIAL_SETS = 8192;
static constexpr uint32_t MAX_BONE_SETS = 8192;
// Dummy identity bone buffer + descriptor set for non-animated models.
// The pipeline layout declares set 2 (bones) and some drivers (Intel ANV)
// require all declared sets to be bound even when the shader doesn't access them.
::VkBuffer dummyBoneBuffer_ = VK_NULL_HANDLE;
VmaAllocation dummyBoneAlloc_ = VK_NULL_HANDLE;
VkDescriptorSet dummyBoneSet_ = VK_NULL_HANDLE;
// Dynamic ribbon vertex buffer (CPU-written triangle strip)
static constexpr size_t MAX_RIBBON_VERTS = 2048; // 9 floats each
::VkBuffer ribbonVB_ = VK_NULL_HANDLE;

View file

@ -394,6 +394,11 @@ private:
std::unordered_set<uint32_t> uploadedM2Ids_;
std::mutex uploadedM2IdsMutex_;
// Cross-tile dedup for WMO doodad preparation on background workers
// (prevents re-parsing thousands of doodads when same WMO spans multiple tiles)
std::unordered_set<uint32_t> preparedWmoUniqueIds_;
std::mutex preparedWmoUniqueIdsMutex_;
// Dedup set for doodad placements across tile boundaries
std::unordered_set<uint32_t> placedDoodadIds;