DRTVWR-510 add code to report Vulkan capability in stats (Windows-only)
parent
7c0f3db180
commit
85a03549f1
|
|
@ -55,7 +55,6 @@
|
|||
#include "llviewerregion.h"
|
||||
#include "llvoavatar.h"
|
||||
#include "llvoavatarself.h"
|
||||
#include "llviewerwindow.h" // *TODO: remove, only used for width/height
|
||||
#include "llworld.h"
|
||||
#include "llfeaturemanager.h"
|
||||
#include "llviewernetwork.h"
|
||||
|
|
@ -582,21 +581,32 @@ void send_stats()
|
|||
// If the current revision is recent, ping the previous author before overriding
|
||||
LLSD &misc = body["stats"]["misc"];
|
||||
|
||||
// Screen size so the UI team can figure out how big the widgets
|
||||
// appear and use a "typical" size for end user tests.
|
||||
#ifdef LL_WINDOWS
|
||||
// Probe for Vulkan capability (Dave Houlton 05/2020)
|
||||
//
|
||||
// Check for presense of a Vulkan loader dll, as a proxy for a Vulkan-capable gpu.
|
||||
// False-positives and false-negatives are possible, but unlikely. We'll get a good
|
||||
// approximation of Vulkan capability within current user systems from this. More
|
||||
// detailed information on versions and extensions can come later.
|
||||
HMODULE vulkanDll = LoadLibraryExA("vulkan-1.dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||
if (NULL == vulkanDll)
|
||||
{
|
||||
misc["string_1"] = llformat("No Vulkan driver detected");
|
||||
}
|
||||
else
|
||||
{
|
||||
misc["string_1"] = llformat("Vulkan driver is detected");
|
||||
FreeLibrary(vulkanDll);
|
||||
}
|
||||
#else
|
||||
misc["string_1"] = llformat("Unused");
|
||||
#endif // LL_WINDOWS
|
||||
|
||||
S32 window_width = gViewerWindow->getWindowWidthRaw();
|
||||
S32 window_height = gViewerWindow->getWindowHeightRaw();
|
||||
S32 window_size = (window_width * window_height) / 1024;
|
||||
misc["string_1"] = llformat("%d", window_size);
|
||||
misc["string_2"] = llformat("Texture Time: %.2f, Total Time: %.2f", gTextureTimer.getElapsedTimeF32(), gFrameTimeSeconds.value());
|
||||
misc["string_2"] = llformat("Unused");
|
||||
misc["int_1"] = LLSD::Integer(0);
|
||||
misc["int_2"] = LLSD::Integer(0);
|
||||
|
||||
F32 unbaked_time = LLVOAvatar::sUnbakedTime * 1000.f / gFrameTimeSeconds;
|
||||
misc["int_1"] = LLSD::Integer(unbaked_time); // Steve: 1.22
|
||||
F32 grey_time = LLVOAvatar::sGreyTime * 1000.f / gFrameTimeSeconds;
|
||||
misc["int_2"] = LLSD::Integer(grey_time); // Steve: 1.22
|
||||
|
||||
LL_INFOS() << "Misc Stats: int_1: " << misc["int_1"] << " int_2: " << misc["int_2"] << LL_ENDL;
|
||||
LL_INFOS() << "Misc Stats: int_1: " << misc["int_1"] << " int_2: " << misc["int_2"] << LL_ENDL;
|
||||
LL_INFOS() << "Misc Stats: string_1: " << misc["string_1"] << " string_2: " << misc["string_2"] << LL_ENDL;
|
||||
|
||||
body["DisplayNamesEnabled"] = gSavedSettings.getBOOL("UseDisplayNames");
|
||||
|
|
|
|||
Loading…
Reference in New Issue