MCPcopy Create free account
hub / github.com/baldurk/renderdoc / vulkanLayerWarn_mouseClick

Method vulkanLayerWarn_mouseClick

qrenderdoc/Windows/Dialogs/CaptureDialog.cpp:337–563  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

335}
336
337void CaptureDialog::vulkanLayerWarn_mouseClick()
338{
339 QString caption = tr("Configure Vulkan layer settings in registry?");
340
341 VulkanLayerRegistrationInfo info;
342
343 RENDERDOC_NeedVulkanLayerRegistration(&info);
344
345 const bool hasOtherJSON = bool(info.flags & VulkanLayerFlags::OtherInstallsRegistered);
346 const bool thisRegistered = bool(info.flags & VulkanLayerFlags::ThisInstallRegistered);
347 const bool needElevation = bool(info.flags & VulkanLayerFlags::NeedElevation);
348 const bool userRegisterable = bool(info.flags & VulkanLayerFlags::UserRegisterable);
349 const bool registerAll = bool(info.flags & VulkanLayerFlags::RegisterAll);
350 const bool updateAllowed = bool(info.flags & VulkanLayerFlags::UpdateAllowed);
351
352 if(info.flags & VulkanLayerFlags::Unfixable)
353 {
354 QString msg =
355 tr("There is an unfixable problem with your vulkan layer configuration.\n\n"
356 "This is most commonly caused by having a distribution-provided package of RenderDoc "
357 "installed, which cannot be modified by another build of RenderDoc.\n\n"
358 "Please consult the RenderDoc documentation, or package/distribution documentation on "
359 "linux. ");
360
361 if(info.otherJSONs.size() > 1)
362 msg += tr("Conflicting manifests:\n\n");
363 else
364 msg += tr("Conflicting manifest:\n\n");
365
366 for(const rdcstr &j : info.otherJSONs)
367 msg += j + lit("\n");
368
369 RDDialog::critical(this, tr("Unfixable vulkan layer configuration"), msg);
370 return;
371 }
372
373 QString msg =
374 tr("Vulkan capture happens through the API's layer mechanism. RenderDoc has detected that ");
375
376 if(hasOtherJSON)
377 {
378 if(info.otherJSONs.size() > 1)
379 msg +=
380 tr("there are other conflicting RenderDoc builds registered already. They must be "
381 "disabled so that vulkan programs can be captured without crashes.");
382 else
383 msg +=
384 tr("there is another conflicting RenderDoc build registered already. It must be disabled "
385 "so that vulkan programs can be captured without crashes.");
386
387 if(!thisRegistered)
388 msg += tr(" Also ");
389 }
390
391 if(!thisRegistered)
392 {
393 msg +=
394 tr("the layer for this installation is not yet registered. This could be due to an "

Callers

nothing calls this directly

Calls 14

criticalFunction · 0.85
questionFunction · 0.85
RunProcessAsAdminFunction · 0.85
connectFunction · 0.85
existsMethod · 0.80
trFunction · 0.50
QFileInfoClass · 0.50
QStringListClass · 0.50
sizeMethod · 0.45
argMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected