saschawillems / vulkancapsviewer Goto Github PK
View Code? Open in Web Editor NEWVulkan hardware capability viewer
License: GNU Lesser General Public License v3.0
Vulkan hardware capability viewer
License: GNU Lesser General Public License v3.0
Hello! Could you make translation support for VulkanCapsViewer?
I can make some translations to another languages if this support will be created.
The VK_IMG_format_pvrtc
adds new PVRTC formats. The caps viewer should be able to check and submit support for these formats too.
Driver versions are currently converted with the same convention as the Vulkan versions, which may yield wrong results depending on vendor.
Ok,
just build it too see new extensions info you worked few days ago..
on Ubuntu 18.04 with included qt5.9 in bionic repos is strange but your code seems qt4 compatible and qt5 incompatible in same ways:
just to fix it require:
change QtGUI/.. to QtWidgets in following ui_vulkankcapsviewer.h:
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QFormLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeView>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
remove/replace , QApplication::UnicodeUTF8 with /* , QApplication::UnicodeUTF8*/
now compiles OK..
Hi,Sascha
I'd like to report that current version report a false positive for device already in database.
I guess its using only deviceID / VendorID and, possibly, driverversion. I guess AMD is using same values for several cards.
Attached is my AMD R7 240 (Gigabyte) json report, with different values when compared to current one available at database ( http://vulkan.gpuinfo.org/displayreport.php?id=219 ) , but Vulkan Cap viewer insists that is the same one already in database. It is a false positive report.
I'd like to suggest using another keys to compare reports. Maybe a 32 bit hash code from entire json report.
vulkanreport.json.txt
How to build libcrypto.so and libssl.so for Android x86 using boringssl?. If any one is having static libs please share with us. It is very helpful
Hi..
I'm providing a diff file vs current master adding MacOS and IOS support..
Really adding Mac only support is very simple.. once adding "macx" platform pro custom libs and defines only a fix is needed if we don't want surface info:
it's a matter of adding and if(surface) on readSurfaceInfo as we haven't created one..
then for surface info we need the code in #ifdef GETSURFACEINFO (which also adds one mm file for creating a CAMetalLayer for view).. note this view has to be removed eventually for app being rendered correctly.. (this has been helpful : KhronosGroup/MoltenVK#78)
the code for that is different from MacOS or IOS so a BUILD_FOR_MAC define..
for MacOS works nice.. for IOS well the code is adapted from the link which has been recently shared how to use right on Qt+MoltenVK+IOS.. right now code now doesn't work (doesn't create surface correctly MoltenVK says error with the view passed), but I believe or it's already correct and MoltenVK need to be updated accordingly or some minor fix is still needed.. I'm asking on that thread so perhaps MoltenVK can gave a look and fix it..
I know there should be a builtin definition to difference platforms (IOS vs MacOS) but I use mine (BUILD_FOR_MAC)..
also in #idef BUILD_FOR_MAC diff you can find some copy&paste code from Internet to save json on folder with permissions on IOS, with that IOS program also is able to also send report to DB..
for .pro file I'm unable to use correctly platform settings although from quick read should be macx and ios so I keep commenting as needed although should be as clean as:
macx{
#LIBS += /lib/libvulkan.1.dylib -framework Cocoa -framework QuartzCore
LIBS += /Library/Frameworks/vulkan.framework/Versions/A/vulkan -framework Cocoa -framework QuartzCore
DEFINES += VK_USE_PLATFORM_MACOS_MVK GETSURFACEINFO BUILD_FOR_MAC
}
ios
{
LIBS +=/Users/oscarbarenysgarcia/Downloads/vulkansdk-macos-1.0.69.0/MoltenVK/iOS/MoltenVK.framework/MoltenVK -framework UIKit -framework IOSurface -framework Metal
DEFINES += VK_USE_PLATFORM_IOS_MVK GETSURFACEINFO
}
on MacOS I comment #LIBS += /lib/libvulkan.1.dylib although is the correct loader ICD so should be independent of newer versions of MoltenVK lib and also this loader should be updatable provided user updates file on this location..
there is a reason.. code compiles nice but for debugging from Qt Creator doesn't work due to @rpath issues..
of course for redistribution you should use that commented line..
for fixing the @rpath you should use the install_name_tool detailed below..
other problem is releasing as a redistributable executable for Macos for people without Qt SDK..
some quick notes.. for including needed libs in executable you should do something like:
$QTDIR/bin/macdeployqt /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app -executable=/Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/vulkanCapsViewer
This copies but doesn’t fix references to libraries inside the app folder so I created a script and run:
./installfwkchange.sh QtCore
./installfwkchange.sh QtGui
./installfwkchange.sh QtWidgets
./installfwkchange.sh QtNetwork
Script is like:
install_name_tool -change @rpath/$1.framework/Versions/5/$1 @executable_path/../Frameworks/$1.framework/Versions/5/$1 /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/vulkanCapsViewer
I don't remember if libqcocoa if copied by macdeployqt if not have to locate plugins/platforms..
then you need to fix included libqcocoa.dylib in app frameworks folder:
You need to fix also libqcocoa.dylib:
install_name_tool -change @rpath/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/qt_plugins/platforms/libqcocoa.dylib
install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/qt_plugins/platforms/libqcocoa.dylib
install_name_tool -change @rpath/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/qt_plugins/platforms/libqcocoa.dylib
install_name_tool -change @rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport /Users/oscarbarenysgarcia/build-vulkanCapsViewer-Desktop_Qt_5_10_1_clang_64bit-Release/Win32/Release/vulkanCapsViewer.app/Contents/MacOS/qt_plugins/platforms/libqcocoa.dylib
To have icon file your ico file is converted to icns
https://findicons.com/convert ico to icns online
Generates 3 files I use the largest 256
Copy to resources folder..
in your info.plist add
CFBundleIconFile
iconfile
with icon file iconfile.icns in your Resources directory
phew..
feel free to ask questions you need..
Time ago this worked as expected but now its not working. This on intel haswell (hd 4600). I use manjaro, and I already have all the vulkan-related packages installed. This is the terminal output:
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Violación de segmento (`core' generado)
Are nvidia vulkan drivers unstable or what is going on ? I checked the website, and results dont make any sense - older nvidia driver versions are showing newer vulkan version support for the same graphic card and so on.
Just tried running the prebuilt binary for Linux 64 (1.92), on CentOS 7 (1810). It fails with:
$ ./vulkanCapsViewer
./vulkanCapsViewer: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./vulkanCapsViewer)
$
Tried compiling (using the master
branch), but that's also failing:
$ qmake vulkanCapsViewer.pro
$ make
../../Qt/5.11.3/gcc_64/include/QtCore/qvariant.h:207:5: note: no known conversion for argument 1 from ‘uint64_t {aka long unsigned int}’ to ‘QVariant::Type’
In file included from vulkancapsviewer.h:14:0,
from main.cpp:1:
vulkanDeviceInfo.hpp:596:92: error: call of overloaded ‘QVariant(uint64_t&)’ is ambiguous
pushProperty2(extension, "maxInstanceCount", QVariant(extProps.maxInstanceCount));
That's with Qt 5.11.3, though the same error occurs with Qt 5.12.0.
Any ideas?
The combinedImageSamplerDescriptorCount
value in the Extended -> Properties for VK_KHR_sampler_ycbcr_conversion
seems to be 0 for everyone. This is a per-format property and curious if this is a bug as the spec says
combinedImageSamplerDescriptorCount is the number of combined image sampler descriptors that the implementation uses to access the format.
Hi,
I see you have commits with conser. raster support but no new binary releases..
just wanted to see how support is on Nvidia dev drivers optinal caps of this extensions..
maybe your are waiting for possible "Vulkan 2.0" on GDC 2018 with more exts/features and then do a new binary release..
anyway can wait..
just asking..
keep up the good work..
Hi there!
i just wanted to document how the Caps Viewer behaves when having a mobile Fermi GTX560M installed in conjuction with NVidias Vulkan-supporting Beta driver for Windows (356.39) and LunarG's Vulkan SDK. The Version of the Caps Viewer is an unmodified version (Beta 1.0 (64-Bit) (2016-02-16, API-Version 1.0.3)) I downloaded from vulkan.gpuinfo.org:
Starting the Viewer gives me:
But then, after klicking OK, it gives me:
and
Formats are empty and Layers show the LunarG stuff.
I don't know what happens when I press "Upload", but my guess is that it will probably push the data I'm seeing there and thus might be the cause of the "fake" entries.
Cheers,
Gwani
Sampled counts are currently display as the integer value read from the physical device property, but it's actually a bit field that contains flags for all supported sample counts.
I managed to build the app on Ubuntu, but on Win 10 with latest Qt/Qt Creator I get:
Advapi32.lib: No such file or directory
Is there a solution for this?
Example here.
The supportedOperations
mask is 189 (10111101).
The Viewer (1.9) correctly reports that vote
and clustered
are not supported.
The gpuinfo.org report indicates vote
is supported despite the mask being 189.
Database and web front-end are located in a separate project at https://github.com/SaschaWillems/vulkan.gpuinfo.org.
If you want to report bugs or do a feature request, please post them at that repository.
When I run vulkaninfo it says I have more extensions than using vulkanCapsViewer.
My graphic card:
https://vulkan.gpuinfo.org/displayreport.php?id=5401#extensions
All of this are missing:
VK_EXT_display_control
VK_KHR_external_memory
VK_KHR_external_semaphore
VK_KHR_external_fence
VK_KHR_external_memory_fd
VK_KHR_external_semaphore_fd
VK_KHR_external_fence_fd
VK_EXT_external_memory_dma_buf
VK_EXT_external_memory_host
VK_KHR_device_group
vulkaninfo |grep extension
ERROR: [Loader Message] Code 0 : /usr/lib32/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 1
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities: extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2: extension revision 1
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_AMD_draw_indirect_count : extension revision 1
VK_AMD_gcn_shader : extension revision 1
VK_AMD_rasterization_order : extension revision 1
VK_AMD_shader_core_properties : extension revision 1
VK_AMD_shader_info : extension revision 1
VK_AMD_shader_trinary_minmax : extension revision 1
VK_EXT_calibrated_timestamps : extension revision 1
VK_EXT_conditional_rendering : extension revision 1
VK_EXT_depth_range_unrestricted : extension revision 1
VK_EXT_descriptor_indexing : extension revision 2
VK_EXT_discard_rectangles : extension revision 1
VK_EXT_display_control : extension revision 1
VK_EXT_external_memory_dma_buf : extension revision 1
VK_EXT_external_memory_host : extension revision 1
VK_EXT_global_priority : extension revision 1
VK_EXT_memory_budget : extension revision 1
VK_EXT_memory_priority : extension revision 1
VK_EXT_pci_bus_info : extension revision 2
VK_EXT_sampler_filter_minmax : extension revision 1
VK_EXT_scalar_block_layout : extension revision 1
VK_EXT_shader_stencil_export : extension revision 1
VK_EXT_shader_viewport_index_layer : extension revision 1
VK_EXT_transform_feedback : extension revision 1
VK_EXT_vertex_attribute_divisor : extension revision 3
VK_GOOGLE_decorate_string : extension revision 1
VK_GOOGLE_hlsl_functionality1 : extension revision 1
VK_KHR_16bit_storage : extension revision 1
VK_KHR_bind_memory2 : extension revision 1
VK_KHR_create_renderpass2 : extension revision 1
VK_KHR_dedicated_allocation : extension revision 1
VK_KHR_descriptor_update_template : extension revision 1
VK_KHR_device_group : extension revision 1
VK_KHR_draw_indirect_count : extension revision 1
VK_KHR_driver_properties : extension revision 1
VK_KHR_external_memory : extension revision 1
VK_KHR_external_memory_fd : extension revision 1
VK_KHR_get_memory_requirements2 : extension revision 1
VK_KHR_image_format_list : extension revision 1
VK_KHR_incremental_present : extension revision 1
VK_KHR_maintenance1 : extension revision 1
VK_KHR_maintenance2 : extension revision 1
VK_KHR_maintenance3 : extension revision 1
VK_KHR_multiview : extension revision 1
VK_KHR_push_descriptor : extension revision 1
VK_KHR_relaxed_block_layout : extension revision 1
VK_KHR_sampler_mirror_clamp_to_edge : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_storage_buffer_storage_class : extension revision 1
VK_KHR_swapchain : extension revision 68
VK_KHR_variable_pointers : extension revision 1
I would like to ask for support for Vulkan API 1.1.95, and I am writing this for several reasons...
VK_KHR_shader_float16_int8
and VK_KHR_shader_float_controls
(0% supported), so want to ask just add support of reporting about support float16 and int8 by these extensionsVulkan 1.2 introduced dedicated structs for new properties and features for 1.1 and 1.2. While all the data is already present somewhere, and uploaded 1.2 reports contain all relevant information, the app should make use of the dedicated structs in the future and store them directly in the database.
Pretty self-explanatory, both the latest build of vulkanCapsViewer and the last Vulkan 1.0 only builds ( 1.4 ) refuse to start on Windows 10 x64, experiencing a segfault, if either the ICD for gfx-portability
( subset of Vulkan on top of DX12 and other APIs) or swiftshader
( CPU-only software implementation ) ICD's are present.
I registered those in HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers
, vulkaninfo
sees them just fine. Removing them (or setting the dword value for them to something different than 0 ) allows vulkancapsviewer to proceed as normal and display the gui.
I build both those from source this week so reproducing should just be a matter of cloning them and registering their ICDs.
Hi,
I cloned the repo on Arch Linux and made a build directory inside of it. I entered the build directory and ran cmake ..
to generate the Unix Makefiles. However, when running make
it fails at the linker step with the error in the title.
I had to go into CMakeFiles/vulkancapsviewer.dir/link.txt and change -lvulkan-1 to -lvulkan to get it to build the vulkancapsviewer binary. I have the vulkan loader installed aswell as the NVIDIA 355.00.26 driver with its ICD manifest in /etc/vulkan/icd.d/nvidia_icd.json and the vulkan header files form the official Arch Linux package.
I'm not familiar with the inner workings of cmake and how it tries to figure out the link commands. Is that something that can be fixed in the codebase of this repo?
The VulkanCapsViewer requests all available queues at startup, but doesn't assign queue priorities. This may lead to crashes on some implementations like the Intel ICD from LunarG and according to spec must be set anyway.
Ok just added support for seeing 1.1 drivers subrgoup support..
screenshots on my twitter.. I'm lazy to repost here..
all needed is updating Vulkan headers in external..
also changing all KHX_multiview to KHR_multiview to build with Vulkan 1.1 headers and then
putting below vulkandeviceinfo.hpp:
// VK_KHR_sampler_ycbcr_conversion
if (extensionSupported(VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME)) {
..
}
this
#define VK_KHR_SUBGROUPS_EXTENSION_NAME "VK_KHR_subgroups"
int majorver=(props.apiVersion >> 22);
int minorver=((props.apiVersion >> 12) & 0x3ff);
if((majorver>1)||((majorver==1)&&(minorver>=1))){
VkPhysicalDeviceProperties2KHR deviceProps2{};
VkPhysicalDeviceSubgroupProperties extProps{};
extProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
deviceProps2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR;
deviceProps2.pNext = &extProps;
pfnGetPhysicalDeviceProperties2KHR(device, &deviceProps2);
properties2.push_back(Property2("subgroupSize", QVariant(extProps.subgroupSize), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages", QVariant(extProps.supportedStages), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_VERTEX_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_VERTEX_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_GEOMETRY_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_GEOMETRY_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_FRAGMENT_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_FRAGMENT_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_COMPUTE_BIT", QVariant((extProps.supportedStages&VK_SHADER_STAGE_COMPUTE_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_ALL_GRAPHICS", QVariant((extProps.supportedStages&VK_SHADER_STAGE_ALL_GRAPHICS)==VK_SHADER_STAGE_ALL_GRAPHICS), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedStages.VK_SHADER_STAGE_ALL", QVariant((extProps.supportedStages&VK_SHADER_STAGE_ALL)==VK_SHADER_STAGE_ALL), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations", QVariant(extProps.supportedOperations), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_BASIC_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_BASIC_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_VOTE_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_VOTE_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_ARITHMETIC_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_ARITHMETIC_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_BALLOT_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_BALLOT_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_SHUFFLE_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_SHUFFLE_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_CLUSTERED_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_CLUSTERED_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("supportedOperations.VK_SUBGROUP_FEATURE_QUAD_BIT", QVariant((extProps.supportedOperations&VK_SUBGROUP_FEATURE_QUAD_BIT)>0), VK_KHR_SUBGROUPS_EXTENSION_NAME));
properties2.push_back(Property2("quadOperationsInAllStages", QVariant(extProps.quadOperationsInAllStages), VK_KHR_SUBGROUPS_EXTENSION_NAME));
}
The Format tree cannot be expanded when searching a format. When some filter is entered, everything collapses, and the expansion arrow next to formats dissapear.
On Archlinux, with AUR package v1.93, I get this error while trying to upload a report.
All Vulkan's packages installed:
Last and only report made with the same machine: https://vulkan.gpuinfo.org/displayreport.php?id=5352
Regards
Ideas for future formatting improvements (exported from #82):
I have 2 drivers with the same driverversion (1.4.1), but different apiversions (1.0.30 and 1.0.37). Because only driverversion is considered, I cannot upload a new report, only view the existing one.
It displays as AMD RADV POLARIS11 with deviceid 26607
I'm using Ubuntu 17.04 Mate and use the Mesa 17.03 driver.
http://vulkan.gpuinfo.org/download.php still shows 1.92 as the latest 😉
(instance, device, or both) next to the extension list as a separate (filterable) column.
Hi,
The README file mentions that the easiest way to build the viewer is to use QtCreator. I'm not an expert but I've called qmake
followed by make
and it build just fine (apart from the fact that the executable was in a directory named Win32).
Maybe it's worth mentioning that way as well.
It would be great to see what presentation platform can a driver handle. I mean the VK_KHR_*_surface
extensions.
For PC Linux it might be one or more of: VK_KHR_wayland_surface, VK_KHR_xcb_surface, VK_KHR_xlib_surface. Android and Windows are easier cases here.
I know these are tricky to probe, as those are instance extensions announced by the loader, but might be supported or not by a driver. There are vkGetPhysicalDevice*PresentationSupportKHR()
and vkGetPhysicalDeviceWaylandPresentationSupportKHR()
functions, but they all need some initialization for the given platform (like a connection to the display server or compositor).
Additionally information about supported surface capabilities could be collected.
As said i checked 4958 driver and has two new extensions vs posted driver:
conservative raster and sample locations..
would be nice if server or program checks that there are new extensions vs existing in database and allow reuploading..
Proof of is a report:
The views are not getting cleaned before reading implementation information. If there are multiple devices available, switching between them will result in multiple entries in the different views.
Header 1.0.42 introduced new extensions and along with them new properties that need to be added:
maxDiscardRectangles
via VkPhysicalDeviceDiscardRectanglePropertiesEXT
VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
Bot are depending on extensions, so those need to be checked before reading the values.
As these rely on new functionality (VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2) other new features etc. introduced by these should be added too.
it's displayed on the "Extended" tab as an int, but it's actually a bool:
typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
VkStructureType sType;
void* pNext;
**VkBool32 perViewPositionAllComponents;**
} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
I was not able to upload an entry today as the server did not accept the "headerversion" field.
I was able to submit it by commenting out line 255 of vulkanDeviceInfo.hpp
properties["headerversion"] = std::to_string(VK_HEADER_VERSION);
The submitted item is now at http://vulkan.gpuinfo.org/displayreport.php?id=409
The data that was refused can be seen here:
https://gist.github.com/openforeveryone/7577aaa3272f9e0054a34fd1215788cb
Detected problems with app native libraries (please consult log for detail):
libQt5Core.so: unauthorized access to libcrypto.so
libQt5Core.so: unauthorized access to libssl.so
(I don't have access to the logcat, unless I don't need to plug the USB cable to a computer anymore… Haven't done any Android dev in a few years :)
From my quick googling, it looks like Qt5 is doing something it shouldn't:
Android is moving away from OpenSSL to the BoringSSL library. If you’re using the Android NDK in your app, don't link against cryptographic libraries that are not a part of the NDK API, such as libcrypto.so and libssl.so. These libraries are not public APIs, and may change or break without notice across releases and devices.
I couldn't find anything on Qt's bug tracker. If I find some time, I might file a bug over there.
I don't know if there's anything you can do, besides re-compiling with the latest Qt version when they fix it…
As a side note, the UI of you app looks weird on my Nexus 5X running NDP2 (as you can see in the screenshot). I can open an issue with a better screenshot if you want to have a look, and I can test it for you 👍
./vulkanCapsViewer: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12' not found (required by ./vulkanCapsViewer)
Libraries are not shipped with the executable so program won't run on Ubuntu 18.04 (qt 5.9)
Under Windows you are shipping libraries alongside the executable so there is no problem.
Hi,
since a week approx. @maurossi provides Android x86 experimental ISOs with Vulkan support..
these are for Oreo 8.1:
https://drive.google.com/drive/folders/0B_OFHiIqgpSFTFpkQWc1eXV3ME0
and also as today one for Nougat:
https://drive.google.com/drive/folders/0B_OFHiIqgpSFMlk4bkhaMnAwbDA
note that seems Vulkan has no ICD today for Android and driver is hardcoded and set in property in ro.hardware.vulkan..
so with every ISO can test only one GPU vendor..
so Mauro has provided Oreo ones hardcoded to use ANVIL Intel HD graphics and Nougat to use RADV for AMD cards..
I have a PC with Vega and Intel HD 530 graphics so can test both..
here a captures running on Vega (showing I don't lie :-) ):
(please open it in separate window to not see up to down)..
really the Vulkan support with these ISOs is very early.. any app that creates a swapchain I believe doesn't work correctly..
anyway as you see your apps seems to work correctly (I downloaded your x86 apk from your site as first I downloaded from Play store and seen some HOUDINI things via logcat so assumed Play Store app is only for ARM)..
was trying to submit a report for future reference.. but says an error saying something about parsing/reading extension list.. altough as you can see device extensions list seems normal with no strange characters and the like..
could explore the app being open source but maybe you can provide a clue and perhaps help catch bug in the Vulkan support on these ISOs..
thanks..
If I try to use the program on wayland, it just doesnt doesnt work at all.
On the terminal output, this is what difer compared to run it on xorg:
QObject::connect: invalid null parameter
In reports such as my http://vulkan.gpuinfo.org/displayreport.php?id=923#surface, cards like AMD RX 470 list a maxImageExtent
of 927x755
.
This very odd extent is the same size as the client area of the VulkanCapsViewer HWND, which is used by the code to construct the surface used to query this information.
VulkanCapsViewer 1.4 on Windows 10 x86_64:
Crash in ucrtbase.dll
if \HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers
contains enabled entries which reference non-existing files.
Hi,
I am quite surprised as everybody is pointing to different issues but nobody is asking for a Headless version. So, how difficult would be to generate a report that either goes directly to STDOUT or at max an HTML report dump file?
Thank you in advance,
Julian
If you sort by API version, it turns out that 1.0.11 is considered to be less than 1.0.8. I assume you're just doing a basic string sort rather than a numeric sorting algorithm.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.