Merge pull request #5501 from FearlessTobi/port-1064-3948

Port yuzu-emu/yuzu#1064 and yuzu-emu/yuzu#3948: Changes to Telemetry and CPU feature detection
This commit is contained in:
bunnei 2021-04-23 22:58:08 -07:00 committed by GitHub
commit 9ff97270cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 137 additions and 89 deletions

View file

@ -1527,8 +1527,8 @@ vec4 secondary_fragment_color = vec4(0.0);
// Blend the fog
out += "last_tex_env_out.rgb = mix(fog_color.rgb, last_tex_env_out.rgb, fog_factor);\n";
} else if (state.fog_mode == TexturingRegs::FogMode::Gas) {
Core::System::GetInstance().TelemetrySession().AddField(Telemetry::FieldType::Session,
"VideoCore_Pica_UseGasMode", true);
Core::System::GetInstance().TelemetrySession().AddField(
Common::Telemetry::FieldType::Session, "VideoCore_Pica_UseGasMode", true);
LOG_CRITICAL(Render_OpenGL, "Unimplemented gas mode");
out += "discard; }";
return {std::move(out)};

View file

@ -90,7 +90,7 @@ inline GLenum WrapMode(Pica::TexturingRegs::TextureConfig::WrapMode mode) {
if (index > 3) {
Core::System::GetInstance().TelemetrySession().AddField(
Telemetry::FieldType::Session, "VideoCore_Pica_UnsupportedTextureWrapMode",
Common::Telemetry::FieldType::Session, "VideoCore_Pica_UnsupportedTextureWrapMode",
static_cast<u32>(index));
LOG_WARNING(Render_OpenGL, "Using texture wrap mode {}", index);
}

View file

@ -1215,12 +1215,10 @@ VideoCore::ResultStatus RendererOpenGL::Init() {
LOG_INFO(Render_OpenGL, "GL_RENDERER: {}", gpu_model);
auto& telemetry_session = Core::System::GetInstance().TelemetrySession();
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Vendor",
std::string(gpu_vendor));
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Model",
std::string(gpu_model));
telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version",
std::string(gl_version));
constexpr auto user_system = Common::Telemetry::FieldType::UserSystem;
telemetry_session.AddField(user_system, "GPU_Vendor", std::string(gpu_vendor));
telemetry_session.AddField(user_system, "GPU_Model", std::string(gpu_model));
telemetry_session.AddField(user_system, "GPU_OpenGL_Version", std::string(gl_version));
if (!strcmp(gpu_vendor, "GDI Generic")) {
return VideoCore::ResultStatus::ErrorGenericDrivers;