feat: log GPU vendor/name at init, add PLAY_SOUND diagnostics

Log GPU name and vendor ID during VkContext initialization for easier
debugging of GPU-specific issues (FSR3, driver compat, etc.). Add
isAmdGpu()/isNvidiaGpu() accessors.

Temporarily log SMSG_PLAY_SOUND and SMSG_PLAY_OBJECT_SOUND at WARN
level (sound ID, name, file path) to diagnose unidentified ambient
NPC sounds reported by the user.
This commit is contained in:
Kelsi 2026-03-24 09:56:54 -07:00
parent c8c01f8ac0
commit d2a396df11
3 changed files with 16 additions and 0 deletions

View file

@ -70,6 +70,10 @@ public:
VkInstance getInstance() const { return instance; }
VkPhysicalDevice getPhysicalDevice() const { return physicalDevice; }
VkDevice getDevice() const { return device; }
uint32_t getGpuVendorId() const { return gpuVendorId_; }
const char* getGpuName() const { return gpuName_; }
bool isAmdGpu() const { return gpuVendorId_ == 0x1002; }
bool isNvidiaGpu() const { return gpuVendorId_ == 0x10DE; }
VkQueue getGraphicsQueue() const { return graphicsQueue; }
uint32_t getGraphicsQueueFamily() const { return graphicsQueueFamily; }
VmaAllocator getAllocator() const { return allocator; }
@ -149,6 +153,8 @@ private:
// Pipeline cache (persisted to disk for faster startup)
VkPipelineCache pipelineCache_ = VK_NULL_HANDLE;
uint32_t gpuVendorId_ = 0;
char gpuName_[256] = {};
VkQueue graphicsQueue = VK_NULL_HANDLE;
VkQueue presentQueue = VK_NULL_HANDLE;