• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Support v
« Previous 1 ... 77 78 79 80 81 ... 1180 Next »

Horrendous Performance on Linux and AMD
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Horrendous Performance on Linux and AMD
10-17-2020, 08:58 AM (This post was last modified: 10-17-2020, 01:42 PM by Joom.)
#1
Joom Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2020
Hello all. Allow me to preface this thread by saying that I'm running Dolphin on a mid-2015 MacBook Pro. I've had none of these problems on Windows or macOS respectively, but on Linux (Pop!_OS 20.04 to be specific), it's nearly unplayable. I moved to Linux because of all the development around Vulkan and gaming. Games through WINE run amazingly well, and even better than on Windows in some cases. Anyway, I'm digressing. For whatever reason, Dolphin begins to either stutter and slow to a crawl at random, or crashes upon loading a game with a GPU desync error. This problem occurs with vanilla settings and no enhancements, and is exacerbated by the use of Ubershaders, custom textures, and pre-loading textures into RAM. Like I said, these problems are non-existent on both Windows and macOS, so it's really confusing that this would happen on Linux.

Things I've tried
  • Using amdvlk instead of radv (this actually crashes my entire system after a few minutes of play time, forcing me to hard reboot it).
  • Compiling my own version with both gcc and clang.
  • Using bleeding-edge Mesa drivers instead of those from the distribution's repo.
  • Setting ACO as the shader backend as an environment variable.
  • Using Feral's gamemode.
  • Disabling the driver's system wide vsync (this does allow me to use Dolphin's vsync without a crash, but doesn't fix the overall problem), as well as disabling Dolphin's vsync.
  • Disabling dual-core.
  • Using OpenGL instead of Vulkan (I didn't think this would really do anything, but wanted to cover all bases).
System Specs: (Show Spoiler)
Code:
System:    Kernel: 5.8.0-15.1-liquorix-amd64 x86_64 bits: 64 compiler: N/A 

           parameters: audit=0 intel_pstate=disable 
           initrd=\EFI\Pop_OS-e26a0e3e-81db-4f9a-b026-7d98bb451ac1\initrd.img 
           root=UUID=e26a0e3e-81db-4f9a-b026-7d98bb451ac1 ro quiet loglevel=0 
           systemd.show_status=false splash 
           Desktop: Gnome 3.36.4 wm: gnome-shell dm: GDM3 3.36.3 Distro: Pop!_OS 20.04 LTS 
           base: Ubuntu 20.04 LTS Focal 
Machine:   Type: Laptop System: Apple product: MacBookPro11,5 v: 1.0 serial: <filter> Chassis: 
           type: 9 v: Mac-06F11F11946D27C5 serial: <filter> 
           Mobo: Apple model: Mac-06F11F11946D27C5 v: MacBookPro11,5 serial: <filter> 
           UEFI: Apple v: 199.0.0.0.0 date: 06/11/2020 
Battery:   ID-1: BAT0 charge: 84.0 Wh condition: 87.3/99.8 Wh (87%) volts: 12.8/11.4 
           model: DP bq20z451 type: Li-ion serial: N/A status: Full cycles: 70 
           Device-1: hidpp_battery_0 model: Logitech Wireless Touch Keyboard K400 
           serial: <filter> charge: 100% (should be ignored) rechargeable: yes 
           status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i7-4980HQ bits: 64 type: MT MCP arch: Haswell 
           family: 6 model-id: 46 (70) stepping: 1 microcode: 1C L1 cache: 64 KiB 
           L2 cache: 6144 KiB L3 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 44695 
           Speed: 1166 MHz min/max: 800/2801 MHz boost: enabled Core speeds (MHz): 1: 1028 
           2: 1161 3: 1039 4: 1016 5: 1022 6: 1061 7: 1010 8: 1031 
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass 
           mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, 
           STIBP: conditional, RSB filling 
           Type: srbds mitigation: Microcode 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: AMD Venus XT [Radeon HD 8870M / R9 M270X/M370X] vendor: Apple 
           driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:6821 
           Display: server: X.Org 1.20.8 driver: amdgpu compositor: gnome-shell 
           resolution: 1920x1080~60Hz 
           OpenGL: 
           renderer: AMD Radeon R9 M370X (VERDE DRM 3.38.0 5.8.0-15.1-liquorix-amd64 LLVM 11.0.0) 
           v: 4.6 Mesa 20.3.0-devel (git-0c70268 2020-10-16 focal-oibaf-ppa) direct render: Yes 
Audio:     Device-1: Intel 8 Series/C220 Series High Definition Audio driver: snd_hda_intel 
           v: kernel bus ID: 00:1b.0 chip ID: 8086:8c20 
           Device-2: AMD Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] 
           vendor: Apple driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 1002:aab0 
           Device-3: Broadcom and subsidiaries 720p FaceTime HD Camera driver: N/A 
           bus ID: 05:00.0 chip ID: 14e4:1570 
           Sound Server: ALSA v: k5.8.0-15.1-liquorix-amd64 
Network:   Device-1: Broadcom and subsidiaries BCM43602 802.11ac Wireless LAN SoC vendor: Apple 
           driver: brcmfmac v: kernel port: 3000 bus ID: 04:00.0 chip ID: 14e4:43ba 
           IF: wlp4s0 state: up mac: <filter> 
Drives:    Local Storage: total: 931.84 GiB used: 376.39 GiB (40.4%) 
           SMART Message: Required tool smartctl not installed. Check --recommends 
           ID-1: /dev/sda vendor: Apple model: SSD SM1024G size: 931.84 GiB block size: 
           physical: 4096 B logical: 512 B speed: 6.0 Gb/s serial: <filter> rev: SA0Q temp: 39 C 
           scheme: GPT 
Partition: ID-1: / raw size: 923.35 GiB size: 907.86 GiB (98.32%) used: 374.00 GiB (41.2%) 
           fs: ext4 block size: 4096 B dev: /dev/sda3 
           ID-2: swap-1 size: 4.00 GiB used: 0 KiB (0.0%) fs: swap swappiness: 10 (default 60) 
           cache pressure: 100 (default) dev: /dev/dm-0 
Sensors:   System Temperatures: cpu: 64.5 C mobo: N/A gpu: amdgpu temp: 69 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 308 Uptime: 19h 29m Memory: 15.52 GiB used: 4.12 GiB (26.5%) Init: systemd 
           v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 9 clang: 10.0.1-1~kisak~f 
           Shell: zsh (sudo) v: 5.8 running in: gnome-terminal inxi: 3.0.38
Vulkaninfo Output: (Show Spoiler)
Code:
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.131


Instance Extensions: count = 18
====================
    VK_EXT_acquire_xlib_display            : extension revision 1
    VK_EXT_debug_report                    : extension revision 8
    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_surface_protected_capabilities  : extension revision 1
    VK_KHR_wayland_surface                 : extension revision 6
    VK_KHR_xcb_surface                     : extension revision 6
    VK_KHR_xlib_surface                    : extension revision 6

Layers: count = 7
=======
VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.131, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id     : 0 (AMD RADV VERDE (ACO))
        Layer-Device Extensions: count = 0

Presentable Surfaces:
=====================
GPU id : 0 (AMD RADV VERDE (ACO)):
    Surface types: count = 2
        VK_KHR_xcb_surface
        VK_KHR_xlib_surface
    Formats: count = 2
        SurfaceFormat[0]:
            format = FORMAT_B8G8R8A8_SRGB
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
        SurfaceFormat[1]:
            format = FORMAT_B8G8R8A8_UNORM
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    Present Modes: count = 4
        PRESENT_MODE_IMMEDIATE_KHR
        PRESENT_MODE_MAILBOX_KHR
        PRESENT_MODE_FIFO_KHR
        PRESENT_MODE_FIFO_RELAXED_KHR
    VkSurfaceCapabilitiesKHR:
    -------------------------
        minImageCount       = 3
        maxImageCount       = 0
        currentExtent:
            width  = 256
            height = 256
        minImageExtent:
            width  = 256
            height = 256
        maxImageExtent:
            width  = 256
            height = 256
        maxImageArrayLayers = 1
        supportedTransforms:
            SURFACE_TRANSFORM_IDENTITY_BIT_KHR
        currentTransform:
            SURFACE_TRANSFORM_IDENTITY_BIT_KHR
        supportedCompositeAlpha:
            COMPOSITE_ALPHA_OPAQUE_BIT_KHR
            COMPOSITE_ALPHA_INHERIT_BIT_KHR
        supportedUsageFlags:
            IMAGE_USAGE_TRANSFER_SRC_BIT
            IMAGE_USAGE_TRANSFER_DST_BIT
            IMAGE_USAGE_SAMPLED_BIT
            IMAGE_USAGE_STORAGE_BIT
            IMAGE_USAGE_COLOR_ATTACHMENT_BIT
    VkSurfaceCapabilities2EXT:
    --------------------------
        supportedSurfaceCounters:
            None
    VkSurfaceProtectedCapabilitiesKHR:
    ----------------------------------
        supportsProtected = false



Groups:
=======
    Device Group Properties (Group 0):
        physicalDeviceCount: count = 1
            AMD RADV VERDE (ACO) (ID: 0)
        subsetAllocation = 0

    Device Group Present Capabilities (Group 0):
        AMD RADV VERDE (ACO) (ID: 0)
        Can present images from the following devices:
            AMD RADV VERDE (ACO) (ID: 0)
        Present modes:
            DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR


Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
    apiVersion     = 4202641 (1.2.145)
    driverVersion  = 83894371 (0x5002063)
    vendorID       = 0x1002
    deviceID       = 0x6821
    deviceType     = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName     = AMD RADV VERDE (ACO)

VkPhysicalDeviceLimits:
-----------------------
    maxImageDimension1D                             = 16384
    maxImageDimension2D                             = 16384
    maxImageDimension3D                             = 2048
    maxImageDimensionCube                           = 16384
    maxImageArrayLayers                             = 2048
    maxTexelBufferElements                          = 4294967295
    maxUniformBufferRange                           = 4294967295
    maxStorageBufferRange                           = 4294967295
    maxPushConstantsSize                            = 128
    maxMemoryAllocationCount                        = 4294967295
    maxSamplerAllocationCount                       = 65536
    bufferImageGranularity                          = 0x00000040
    sparseAddressSpaceSize                          = 0xfffffffc
    maxBoundDescriptorSets                          = 32
    maxPerStageDescriptorSamplers                   = 8388606
    maxPerStageDescriptorUniformBuffers             = 8388606
    maxPerStageDescriptorStorageBuffers             = 8388606
    maxPerStageDescriptorSampledImages              = 8388606
    maxPerStageDescriptorStorageImages              = 8388606
    maxPerStageDescriptorInputAttachments           = 8388606
    maxPerStageResources                            = 8388606
    maxDescriptorSetSamplers                        = 8388606
    maxDescriptorSetUniformBuffers                  = 8388606
    maxDescriptorSetUniformBuffersDynamic           = 16
    maxDescriptorSetStorageBuffers                  = 8388606
    maxDescriptorSetStorageBuffersDynamic           = 8
    maxDescriptorSetSampledImages                   = 8388606
    maxDescriptorSetStorageImages                   = 8388606
    maxDescriptorSetInputAttachments                = 8388606
    maxVertexInputAttributes                        = 32
    maxVertexInputBindings                          = 32
    maxVertexInputAttributeOffset                   = 2047
    maxVertexInputBindingStride                     = 2048
    maxVertexOutputComponents                       = 128
    maxTessellationGenerationLevel                  = 64
    maxTessellationPatchSize                        = 32
    maxTessellationControlPerVertexInputComponents  = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents  = 120
    maxTessellationControlTotalOutputComponents     = 4096
    maxTessellationEvaluationInputComponents        = 128
    maxTessellationEvaluationOutputComponents       = 128
    maxGeometryShaderInvocations                    = 127
    maxGeometryInputComponents                      = 64
    maxGeometryOutputComponents                     = 128
    maxGeometryOutputVertices                       = 256
    maxGeometryTotalOutputComponents                = 1024
    maxFragmentInputComponents                      = 128
    maxFragmentOutputAttachments                    = 8
    maxFragmentDualSrcAttachments                   = 1
    maxFragmentCombinedOutputResources              = 8
    maxComputeSharedMemorySize                      = 32768
    maxComputeWorkGroupCount: count = 3
        65535
        65535
        65535
    maxComputeWorkGroupInvocations                  = 1024
    maxComputeWorkGroupSize: count = 3
        1024
        1024
        1024
    subPixelPrecisionBits                           = 8
    subTexelPrecisionBits                           = 8
    mipmapPrecisionBits                             = 8
    maxDrawIndexedIndexValue                        = 4294967295
    maxDrawIndirectCount                            = 4294967295
    maxSamplerLodBias                               = 16
    maxSamplerAnisotropy                            = 16
    maxViewports                                    = 16
    maxViewportDimensions: count = 2
        16384
        16384
    viewportBoundsRange: count = 2
        -32768
        32767
    viewportSubPixelBits                            = 8
    minMemoryMapAlignment                           = 4096
    minTexelBufferOffsetAlignment                   = 0x00000004
    minUniformBufferOffsetAlignment                 = 0x00000004
    minStorageBufferOffsetAlignment                 = 0x00000004
    minTexelOffset                                  = -32
    maxTexelOffset                                  = 31
    minTexelGatherOffset                            = -32
    maxTexelGatherOffset                            = 31
    minInterpolationOffset                          = -2
    maxInterpolationOffset                          = 2
    subPixelInterpolationOffsetBits                 = 8
    maxFramebufferWidth                             = 16384
    maxFramebufferHeight                            = 16384
    maxFramebufferLayers                            = 1024
    framebufferColorSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    framebufferDepthSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    framebufferStencilSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    framebufferNoAttachmentsSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    maxColorAttachments                             = 8
    sampledImageColorSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageIntegerSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageDepthSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageStencilSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    storageImageSampleCounts:
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    maxSampleMaskWords                              = 1
    timestampComputeAndGraphics                     = true
    timestampPeriod                                 = 37.037
    maxClipDistances                                = 8
    maxCullDistances                                = 8
    maxCombinedClipAndCullDistances                 = 8
    discreteQueuePriorities                         = 2
    pointSizeRange: count = 2
        0
        8191.88
    lineWidthRange: count = 2
        0
        8191.88
    pointSizeGranularity                            = 0.125
    lineWidthGranularity                            = 0.125
    strictLines                                     = false
    standardSampleLocations                         = true
    optimalBufferCopyOffsetAlignment                = 0x00000080
    optimalBufferCopyRowPitchAlignment              = 0x00000080
    nonCoherentAtomSize                             = 0x00000040

VkPhysicalDeviceSparseProperties:
---------------------------------
    residencyStandard2DBlockShape            = false
    residencyStandard2DMultisampleBlockShape = false
    residencyStandard3DBlockShape            = false
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = false

VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
    supportedDepthResolveModes:
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes:
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    independentResolveNone = true
    independentResolve     = true

VkPhysicalDeviceDescriptorIndexingProperties:
---------------------------------------------
    maxUpdateAfterBindDescriptorsInAllPools              = 67108863
    shaderUniformBufferArrayNonUniformIndexingNative     = false
    shaderSampledImageArrayNonUniformIndexingNative      = false
    shaderStorageBufferArrayNonUniformIndexingNative     = false
    shaderStorageImageArrayNonUniformIndexingNative      = false
    shaderInputAttachmentArrayNonUniformIndexingNative   = false
    robustBufferAccessUpdateAfterBind                    = false
    quadDivergentImplicitLod                             = false
    maxPerStageDescriptorUpdateAfterBindSamplers         = 8388606
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 8388606
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 8388606
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 8388606
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 8388606
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 8388606
    maxPerStageUpdateAfterBindResources                  = 8388606
    maxDescriptorSetUpdateAfterBindSamplers              = 8388606
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 8388606
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 8388606
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindSampledImages         = 8388606
    maxDescriptorSetUpdateAfterBindStorageImages         = 8388606
    maxDescriptorSetUpdateAfterBindInputAttachments      = 8388606

VkPhysicalDeviceDiscardRectanglePropertiesEXT:
----------------------------------------------
    maxDiscardRectangles = 4

VkPhysicalDeviceDriverProperties:
---------------------------------
    driverID           = DRIVER_ID_MESA_RADV
    driverName         = radv
    driverInfo         = Mesa 20.3.0-devel (git-0c70268 2020-10-16 focal-oibaf-ppa) (ACO)
    conformanceVersion = 1.2.3.0

VkPhysicalDeviceExternalMemoryHostPropertiesEXT:
------------------------------------------------
    minImportedHostPointerAlignment = 0x00001000

VkPhysicalDeviceFloatControlsProperties:
----------------------------------------
    denormBehaviorIndependence            = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence              = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16 = false
    shaderSignedZeroInfNanPreserveFloat32 = true
    shaderSignedZeroInfNanPreserveFloat64 = false
    shaderDenormPreserveFloat16           = false
    shaderDenormPreserveFloat32           = true
    shaderDenormPreserveFloat64           = false
    shaderDenormFlushToZeroFloat16        = false
    shaderDenormFlushToZeroFloat32        = true
    shaderDenormFlushToZeroFloat64        = false
    shaderRoundingModeRTEFloat16          = false
    shaderRoundingModeRTEFloat32          = true
    shaderRoundingModeRTEFloat64          = false
    shaderRoundingModeRTZFloat16          = false
    shaderRoundingModeRTZFloat32          = true
    shaderRoundingModeRTZFloat64          = false

VkPhysicalDeviceIDProperties:
-----------------------------
    deviceUUID      = 00000000-0100-0000-0000-000000000000
    driverUUID      = 414d442d-4d45-5341-2d44-525600000000
    deviceNodeMask  = 0
    deviceLUIDValid = false

VkPhysicalDeviceInlineUniformBlockPropertiesEXT:
------------------------------------------------
    maxInlineUniformBlockSize                               = 4194304
    maxPerStageDescriptorInlineUniformBlocks                = 134217728
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 134217728
    maxDescriptorSetInlineUniformBlocks                     = 64
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 64

VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
    lineSubPixelPrecisionBits = 4

VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
    maxPerSetDescriptors    = 22369621
    maxMemoryAllocationSize = 0xfffffffc

VkPhysicalDeviceMultiviewProperties:
------------------------------------
    maxMultiviewViewCount     = 8
    maxMultiviewInstanceIndex = 2147483647

VkPhysicalDevicePCIBusInfoPropertiesEXT:
----------------------------------------
    pciDomain   = 0
    pciBus      = 1
    pciDevice   = 0
    pciFunction = 0

VkPhysicalDevicePointClippingProperties:
----------------------------------------
    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES

VkPhysicalDeviceProtectedMemoryProperties:
------------------------------------------
    protectedNoFault = false

VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
    maxPushDescriptors = 32

VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
    sampleLocationSampleCounts:
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    maxSampleLocationGridSize:
        width  = 2
        height = 2
    sampleLocationCoordinateRange: count = 2
        0
        0.9375
    sampleLocationSubPixelBits       = 4
    variableSampleLocations          = false

VkPhysicalDeviceSamplerFilterMinmaxProperties:
----------------------------------------------
    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = false

VkPhysicalDeviceSubgroupProperties:
-----------------------------------
    subgroupSize              = 64
    supportedStages:
        SHADER_STAGE_VERTEX_BIT
        SHADER_STAGE_TESSELLATION_CONTROL_BIT
        SHADER_STAGE_TESSELLATION_EVALUATION_BIT
        SHADER_STAGE_GEOMETRY_BIT
        SHADER_STAGE_FRAGMENT_BIT
        SHADER_STAGE_COMPUTE_BIT
        SHADER_STAGE_ALL_GRAPHICS
        SHADER_STAGE_ALL
    supportedOperations:
        SUBGROUP_FEATURE_BASIC_BIT
        SUBGROUP_FEATURE_VOTE_BIT
        SUBGROUP_FEATURE_ARITHMETIC_BIT
        SUBGROUP_FEATURE_BALLOT_BIT
        SUBGROUP_FEATURE_SHUFFLE_BIT
        SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
        SUBGROUP_FEATURE_CLUSTERED_BIT
        SUBGROUP_FEATURE_QUAD_BIT
    quadOperationsInAllStages = true

VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:
-------------------------------------------------
    minSubgroupSize              = 64
    maxSubgroupSize              = 64
    maxComputeWorkgroupSubgroups = 4294967295
    requiredSubgroupSizeStages:
        None

VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:
--------------------------------------------------
    storageTexelBufferOffsetAlignmentBytes       = 0x00000004
    storageTexelBufferOffsetSingleTexelAlignment = true
    uniformTexelBufferOffsetAlignmentBytes       = 0x00000004
    uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:
--------------------------------------------
    maxTimelineSemaphoreValueDifference = 18446744073709551615

VkPhysicalDeviceTransformFeedbackPropertiesEXT:
-----------------------------------------------
    maxTransformFeedbackStreams                = 4
    maxTransformFeedbackBuffers                = 4
    maxTransformFeedbackBufferSize             = 0xffffffff
    maxTransformFeedbackStreamDataSize         = 512
    maxTransformFeedbackBufferDataSize         = 4294967295
    maxTransformFeedbackBufferDataStride       = 512
    transformFeedbackQueries                   = true
    transformFeedbackStreamsLinesTriangles     = true
    transformFeedbackRasterizationStreamSelect = false
    transformFeedbackDraw                      = true

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
    maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:
-----------------------------------
    deviceUUID                        = 00000000-0100-0000-0000-000000000000
    driverUUID                        = 414d442d-4d45-5341-2d44-525600000000
    deviceNodeMask                    = 0
    deviceLUIDValid                   = false
    subgroupSize                      = 64
    subgroupSupportedStages:
        SHADER_STAGE_VERTEX_BIT
        SHADER_STAGE_TESSELLATION_CONTROL_BIT
        SHADER_STAGE_TESSELLATION_EVALUATION_BIT
        SHADER_STAGE_GEOMETRY_BIT
        SHADER_STAGE_FRAGMENT_BIT
        SHADER_STAGE_COMPUTE_BIT
        SHADER_STAGE_ALL_GRAPHICS
        SHADER_STAGE_ALL
    subgroupSupportedOperations:
        SUBGROUP_FEATURE_BASIC_BIT
        SUBGROUP_FEATURE_VOTE_BIT
        SUBGROUP_FEATURE_ARITHMETIC_BIT
        SUBGROUP_FEATURE_BALLOT_BIT
        SUBGROUP_FEATURE_SHUFFLE_BIT
        SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
        SUBGROUP_FEATURE_CLUSTERED_BIT
        SUBGROUP_FEATURE_QUAD_BIT
    subgroupQuadOperationsInAllStages = true
    pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
    maxMultiviewViewCount             = 8
    maxMultiviewInstanceIndex         = 2147483647
    protectedNoFault                  = false
    maxPerSetDescriptors              = 22369621
    maxMemoryAllocationSize           = 0xfffffffc

VkPhysicalDeviceVulkan12Properties:
-----------------------------------
    driverID                                             = DRIVER_ID_MESA_RADV
    driverName                                           = radv
    driverInfo                                           = Mesa 20.3.0-devel (git-0c70268 2020-10-16 focal-oibaf-ppa) (ACO)
    conformanceVersion                                   = 1.2.3.0
    denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16                = false
    shaderSignedZeroInfNanPreserveFloat32                = true
    shaderSignedZeroInfNanPreserveFloat64                = false
    shaderDenormPreserveFloat16                          = false
    shaderDenormPreserveFloat32                          = true
    shaderDenormPreserveFloat64                          = false
    shaderDenormFlushToZeroFloat16                       = false
    shaderDenormFlushToZeroFloat32                       = true
    shaderDenormFlushToZeroFloat64                       = false
    shaderRoundingModeRTEFloat16                         = false
    shaderRoundingModeRTEFloat32                         = true
    shaderRoundingModeRTEFloat64                         = false
    shaderRoundingModeRTZFloat16                         = false
    shaderRoundingModeRTZFloat32                         = true
    shaderRoundingModeRTZFloat64                         = false
    maxUpdateAfterBindDescriptorsInAllPools              = 67108863
    shaderUniformBufferArrayNonUniformIndexingNative     = false
    shaderSampledImageArrayNonUniformIndexingNative      = false
    shaderStorageBufferArrayNonUniformIndexingNative     = false
    shaderStorageImageArrayNonUniformIndexingNative      = false
    shaderInputAttachmentArrayNonUniformIndexingNative   = false
    robustBufferAccessUpdateAfterBind                    = false
    quadDivergentImplicitLod                             = false
    maxPerStageDescriptorUpdateAfterBindSamplers         = 8388606
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 8388606
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 8388606
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 8388606
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 8388606
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 8388606
    maxPerStageUpdateAfterBindResources                  = 8388606
    maxDescriptorSetUpdateAfterBindSamplers              = 8388606
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 8388606
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 8388606
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindSampledImages         = 8388606
    maxDescriptorSetUpdateAfterBindStorageImages         = 8388606
    maxDescriptorSetUpdateAfterBindInputAttachments      = 8388606
    supportedDepthResolveModes:
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes:
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    independentResolveNone                               = true
    independentResolve                                   = true
    filterMinmaxSingleComponentFormats                   = true
    filterMinmaxImageComponentMapping                    = false
    maxTimelineSemaphoreValueDifference                  = 18446744073709551615
    framebufferIntegerColorSampleCounts:
        SAMPLE_COUNT_1_BIT


Device Extensions: count = 104
    VK_AMD_buffer_marker                      : extension revision 1
    VK_AMD_device_coherent_memory             : extension revision 1
    VK_AMD_draw_indirect_count                : extension revision 1
    VK_AMD_gcn_shader                         : extension revision 1
    VK_AMD_memory_overallocation_behavior     : extension revision 1
    VK_AMD_shader_ballot                      : extension revision 1
    VK_AMD_shader_core_properties             : extension revision 1
    VK_AMD_shader_core_properties2            : extension revision 1
    VK_AMD_shader_explicit_vertex_parameter   : extension revision 1
    VK_AMD_shader_fragment_mask               : extension revision 1
    VK_AMD_shader_image_load_store_lod        : extension revision 1
    VK_AMD_shader_info                        : extension revision 1
    VK_AMD_shader_trinary_minmax              : extension revision 1
    VK_AMD_texture_gather_bias_lod            : extension revision 1
    VK_EXT_4444_formats                       : extension revision 1
    VK_EXT_buffer_device_address              : extension revision 1
    VK_EXT_calibrated_timestamps              : extension revision 1
    VK_EXT_conditional_rendering              : extension revision 1
    VK_EXT_custom_border_color                : extension revision 12
    VK_EXT_depth_clip_enable                  : 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_extended_dynamic_state             : 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_host_query_reset                   : extension revision 1
    VK_EXT_image_robustness                   : extension revision 1
    VK_EXT_inline_uniform_block               : extension revision 1
    VK_EXT_line_rasterization                 : 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_pipeline_creation_cache_control    : extension revision 3
    VK_EXT_pipeline_creation_feedback         : extension revision 1
    VK_EXT_private_data                       : extension revision 1
    VK_EXT_queue_family_foreign               : extension revision 1
    VK_EXT_robustness2                        : extension revision 1
    VK_EXT_sample_locations                   : extension revision 1
    VK_EXT_sampler_filter_minmax              : extension revision 1
    VK_EXT_shader_atomic_float                : extension revision 1
    VK_EXT_shader_demote_to_helper_invocation : extension revision 1
    VK_EXT_shader_stencil_export              : extension revision 1
    VK_EXT_shader_subgroup_ballot             : extension revision 1
    VK_EXT_shader_subgroup_vote               : extension revision 1
    VK_EXT_shader_viewport_index_layer        : extension revision 1
    VK_EXT_subgroup_size_control              : extension revision 2
    VK_EXT_texel_buffer_alignment             : extension revision 1
    VK_EXT_transform_feedback                 : extension revision 1
    VK_EXT_vertex_attribute_divisor           : extension revision 3
    VK_EXT_ycbcr_image_arrays                 : extension revision 1
    VK_GOOGLE_decorate_string                 : extension revision 1
    VK_GOOGLE_hlsl_functionality1             : extension revision 1
    VK_GOOGLE_user_type                       : extension revision 1
    VK_KHR_16bit_storage                      : extension revision 1
    VK_KHR_8bit_storage                       : extension revision 1
    VK_KHR_bind_memory2                       : extension revision 1
    VK_KHR_buffer_device_address              : extension revision 1
    VK_KHR_copy_commands2                     : extension revision 1
    VK_KHR_create_renderpass2                 : extension revision 1
    VK_KHR_dedicated_allocation               : extension revision 1
    VK_KHR_depth_stencil_resolve              : 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_fence                     : extension revision 1
    VK_KHR_external_fence_fd                  : extension revision 1
    VK_KHR_external_memory                    : extension revision 1
    VK_KHR_external_memory_fd                 : extension revision 1
    VK_KHR_external_semaphore                 : extension revision 1
    VK_KHR_external_semaphore_fd              : extension revision 1
    VK_KHR_get_memory_requirements2           : extension revision 1
    VK_KHR_image_format_list                  : extension revision 1
    VK_KHR_imageless_framebuffer              : 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_pipeline_executable_properties     : 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_sampler_ycbcr_conversion           : extension revision 1
    VK_KHR_separate_depth_stencil_layouts     : extension revision 1
    VK_KHR_shader_atomic_int64                : extension revision 1
    VK_KHR_shader_clock                       : extension revision 1
    VK_KHR_shader_draw_parameters             : extension revision 1
    VK_KHR_shader_float16_int8                : extension revision 1
    VK_KHR_shader_float_controls              : extension revision 1
    VK_KHR_shader_non_semantic_info           : extension revision 1
    VK_KHR_shader_subgroup_extended_types     : extension revision 1
    VK_KHR_spirv_1_4                          : extension revision 1
    VK_KHR_storage_buffer_storage_class       : extension revision 1
    VK_KHR_swapchain                          : extension revision 68
    VK_KHR_swapchain_mutable_format           : extension revision 1
    VK_KHR_timeline_semaphore                 : extension revision 2
    VK_KHR_uniform_buffer_standard_layout     : extension revision 1
    VK_KHR_variable_pointers                  : extension revision 1
    VK_KHR_vulkan_memory_model                : extension revision 3
    VK_NV_compute_shader_derivatives          : extension revision 1

VkQueueFamilyProperties:
========================
    queueProperties[0]:
    ------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 1
        queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support:
            VK_KHR_xcb_surface  = true
            VK_KHR_xlib_surface = true

    queueProperties[1]:
    ------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 2
        queueFlags                  = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support:
            VK_KHR_xcb_surface  = true
            VK_KHR_xlib_surface = true

VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 3
    memoryHeaps[0]:
        size   = 1879048192 (0x70000000) (1.75 GiB)
        budget = 1463689216
        usage  = 0
        flags:
            MEMORY_HEAP_DEVICE_LOCAL_BIT
    memoryHeaps[1]:
        size   = 3221225472 (0xc0000000) (3.00 GiB)
        budget = 3099254784
        usage  = 0
        flags:
            None
    memoryHeaps[2]:
        size   = 268435456 (0x10000000) (256.00 MiB)
        budget = 171036672
        usage  = 0
        flags:
            MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 4
    memoryTypes[0]:
        heapIndex     = 0
        propertyFlags = 0x0001:
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
        usable for:
            IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D16_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR: color images
    memoryTypes[1]:
        heapIndex     = 1
        propertyFlags = 0x0006:
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D16_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR: color images
    memoryTypes[2]:
        heapIndex     = 2
        propertyFlags = 0x0007:
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D16_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR: color images
    memoryTypes[3]:
        heapIndex     = 1
        propertyFlags = 0x000e:
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
            MEMORY_PROPERTY_HOST_CACHED_BIT
        usable for:
            IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D16_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR: color images

VkPhysicalDeviceFeatures:
=========================
    robustBufferAccess                      = true
    fullDrawIndexUint32                     = true
    imageCubeArray                          = true
    independentBlend                        = true
    geometryShader                          = true
    tessellationShader                      = true
    sampleRateShading                       = true
    dualSrcBlend                            = true
    logicOp                                 = true
    multiDrawIndirect                       = true
    drawIndirectFirstInstance               = true
    depthClamp                              = true
    depthBiasClamp                          = true
    fillModeNonSolid                        = true
    depthBounds                             = true
    wideLines                               = true
    largePoints                             = true
    alphaToOne                              = true
    multiViewport                           = true
    samplerAnisotropy                       = true
    textureCompressionETC2                  = false
    textureCompressionASTC_LDR              = false
    textureCompressionBC                    = true
    occlusionQueryPrecise                   = true
    pipelineStatisticsQuery                 = true
    vertexPipelineStoresAndAtomics          = true
    fragmentStoresAndAtomics                = true
    shaderTessellationAndGeometryPointSize  = true
    shaderImageGatherExtended               = true
    shaderStorageImageExtendedFormats       = true
    shaderStorageImageMultisample           = true
    shaderStorageImageReadWithoutFormat     = true
    shaderStorageImageWriteWithoutFormat    = true
    shaderUniformBufferArrayDynamicIndexing = true
    shaderSampledImageArrayDynamicIndexing  = true
    shaderStorageBufferArrayDynamicIndexing = true
    shaderStorageImageArrayDynamicIndexing  = true
    shaderClipDistance                      = true
    shaderCullDistance                      = true
    shaderFloat64                           = true
    shaderInt64                             = true
    shaderInt16                             = true
    shaderResourceResidency                 = false
    shaderResourceMinLod                    = true
    sparseBinding                           = true
    sparseResidencyBuffer                   = false
    sparseResidencyImage2D                  = false
    sparseResidencyImage3D                  = false
    sparseResidency2Samples                 = false
    sparseResidency4Samples                 = false
    sparseResidency8Samples                 = false
    sparseResidency16Samples                = false
    sparseResidencyAliased                  = false
    variableMultisampleRate                 = true
    inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:
-------------------------------------
    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false

VkPhysicalDevice8BitStorageFeatures:
------------------------------------
    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = true

VkPhysicalDeviceBufferDeviceAddressFeatures:
--------------------------------------------
    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = false

VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:
-----------------------------------------------
    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = false

VkPhysicalDeviceConditionalRenderingFeaturesEXT:
------------------------------------------------
    conditionalRendering          = true
    inheritedConditionalRendering = false

VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
    depthClipEnable = true

VkPhysicalDeviceDescriptorIndexingFeatures:
-------------------------------------------
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = true
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true

VkPhysicalDeviceHostQueryResetFeatures:
---------------------------------------
    hostQueryReset = true

VkPhysicalDeviceImagelessFramebufferFeatures:
---------------------------------------------
    imagelessFramebuffer = true

VkPhysicalDeviceInlineUniformBlockFeaturesEXT:
----------------------------------------------
    inlineUniformBlock                                 = true
    descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:
---------------------------------------------
    rectangularLines         = false
    bresenhamLines           = true
    smoothLines              = false
    stippledRectangularLines = false
    stippledBresenhamLines   = true
    stippledSmoothLines      = false

VkPhysicalDeviceMemoryPriorityFeaturesEXT:
------------------------------------------
    memoryPriority = true

VkPhysicalDeviceMultiviewFeatures:
----------------------------------
    multiview                   = true
    multiviewGeometryShader     = true
    multiviewTessellationShader = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
    pipelineExecutableInfo = true

VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
    protectedMemory = false

VkPhysicalDeviceSamplerYcbcrConversionFeatures:
-----------------------------------------------
    samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:
------------------------------------------
    scalarBlockLayout = false

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:
----------------------------------------------------
    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicInt64Features:
------------------------------------------
    shaderBufferInt64Atomics = true
    shaderSharedInt64Atomics = true

VkPhysicalDeviceShaderClockFeaturesKHR:
---------------------------------------
    shaderSubgroupClock = true
    shaderDeviceClock   = false

VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
----------------------------------------------------------
    shaderDemoteToHelperInvocation = true

VkPhysicalDeviceShaderDrawParametersFeatures:
---------------------------------------------
    shaderDrawParameters = true

VkPhysicalDeviceShaderFloat16Int8Features:
------------------------------------------
    shaderFloat16 = false
    shaderInt8    = true

VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
----------------------------------------------------
    shaderSubgroupExtendedTypes = true

VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:
-----------------------------------------------
    subgroupSizeControl  = true
    computeFullSubgroups = true

VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
    texelBufferAlignment = true

VkPhysicalDeviceTimelineSemaphoreFeatures:
------------------------------------------
    timelineSemaphore = true

VkPhysicalDeviceTransformFeedbackFeaturesEXT:
---------------------------------------------
    transformFeedback = true
    geometryStreams   = true

VkPhysicalDeviceUniformBufferStandardLayoutFeatures:
----------------------------------------------------
    uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeatures:
-----------------------------------------
    variablePointersStorageBuffer = true
    variablePointers              = true

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:
--------------------------------------------------
    vertexAttributeInstanceRateDivisor     = true
    vertexAttributeInstanceRateZeroDivisor = true

VkPhysicalDeviceVulkan11Features:
---------------------------------
    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false
    multiview                          = true
    multiviewGeometryShader            = true
    multiviewTessellationShader        = true
    variablePointersStorageBuffer      = true
    variablePointers                   = true
    protectedMemory                    = false
    samplerYcbcrConversion             = true
    shaderDrawParameters               = true

VkPhysicalDeviceVulkan12Features:
---------------------------------
    samplerMirrorClampToEdge                           = true
    drawIndirectCount                                  = true
    storageBuffer8BitAccess                            = true
    uniformAndStorageBuffer8BitAccess                  = true
    storagePushConstant8                               = true
    shaderBufferInt64Atomics                           = true
    shaderSharedInt64Atomics                           = true
    shaderFloat16                                      = false
    shaderInt8                                         = true
    descriptorIndexing                                 = true
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = true
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true
    samplerFilterMinmax                                = true
    scalarBlockLayout                                  = false
    imagelessFramebuffer                               = true
    uniformBufferStandardLayout                        = true
    shaderSubgroupExtendedTypes                        = true
    separateDepthStencilLayouts                        = true
    hostQueryReset                                     = true
    timelineSemaphore                                  = true
    bufferDeviceAddress                                = true
    bufferDeviceAddressCaptureReplay                   = false
    bufferDeviceAddressMultiDevice                     = false
    vulkanMemoryModel                                  = true
    vulkanMemoryModelDeviceScope                       = true
    vulkanMemoryModelAvailabilityVisibilityChains      = false
    shaderOutputViewportIndex                          = true
    shaderOutputLayer                                  = true
    subgroupBroadcastDynamicId                         = true

VkPhysicalDeviceVulkanMemoryModelFeatures:
------------------------------------------
    vulkanMemoryModel                             = true
    vulkanMemoryModelDeviceScope                  = true
    vulkanMemoryModelAvailabilityVisibilityChains = false

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
    ycbcrImageArrays = true

I'd greatly appreciate any help as I've been at this for about a week now. Unfortunately, everything on Google has led me to a dead end. Also, as an aside, all of my games are compressed as RVZ with LZMA2 as the compression algorithm. I really doubt this has anything to do with it, though, but stranger things have come out to be an absolute surprise.

Edit: I forgot to mention I'm using 5.0-12716, but I've also tried the previous beta build as well as the latest development builds with no difference.
Find
Reply
10-19-2020, 12:27 PM
#2
KHg8m3r Offline
Doesn't sleep, just Dolphin and Robots
*******
Posts: 5,860
Threads: 4
Joined: Sep 2013
Have you tried any other Linux distro, like standard Ubuntu 18.04? There's been at least one or two complaints in the past of users on Pop!_OS 20.04 with weird issues....

Are you running your games off a USB drive? If so have you tried them on internal storage?
Have you tried uncompressing the games?
Find
Reply
10-19-2020, 03:32 PM
#3
Joom Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2020
I haven't tried any other distros yet, no. Unfortunately, booting from a USB drive is beyond tedious because my internal keyboard needs replacing, and getting Pop installed was fun enough. At any rate, I believe I've fixed the performance issue by setting amdgpu.dc=1 as a kernel flag and forcing the card into "performance" mode. However, the problem of prefetching textures causing a crash or a desync still persists. It seems like a running out of memory issue, but with 16 GB, one would think that wouldn't be an issue. Like I said, it wasn't on macOS or Windows. I've read that there's a hardcoded half-use cap for prefetching textures, but this is from a thread from 5 years ago, and the code pertaining to it is much different now. I'm also not sure if raising this limit would fix the problem, either, or is even advisable. For all I know, it could be something else killing Dolphin because it's using too much memory. Though my largest pack (Hypatia's WWHD) only takes up a little over 9 GB once loaded into RAM, and the OS itself is only using about 4 GB. So, if I'm thinking correctly, that should give me at least 1 GB of wiggle room. Though I can't even make it past the logos without it crashing. Paper Mario is another that suffers from this, and its pack is considerably smaller.

For your other two questions, I've got all this running on the internal SSD, and I haven't attempted uncompressing the games yet. I'll give the latter a try and report back.
Find
Reply
10-23-2020, 04:16 PM
#4
Joom Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2020
Sorry it's taken me some time to come back, I've been fiddling with a lot of stuff to try to figure out a solution. Decompressing the games did help with some performance, but prefetching textures is still causing crashes. It seems that if I completely disable cheats in the main configuration of the emulator, I have a higher success rate of getting textures to prefetch, but it's still not guaranteed to work. This said, I've also moved to a different kernel and increased the size of my swap, and now prefetching doesn't even seem necessary. I can even play in 1080p with 4x MSAA and post-processing effects with virtually no stutters or slowdowns. I wouldn't call this issue solved per se, but at least I'm not pulling my hair out anymore.
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode