Announcement

Collapse
No announcement yet.

Dota 2 Vulkan Support Is Now Available

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Add -vulkan option to enable Vulkan support http://store.steampowered.com/news/22000/

    Comment


    • #12
      Originally posted by Evil Penguin View Post
      I wonder how they had it running at GDC. :P
      LunarG's driver.

      With intel anv on gen7 the steam overlay segfaults. Interestingly not in driver code, but completely in steam code:
      Code:
      Thread 6 "VKRenderThread" received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7f3642269700 (LWP 13307)]
      0x00007f364290fc79 in VulkanSteamOverlayUpdateTexture () from /home/chris/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
      Argument list to give program being debugged when it is started is "-novid -nojoy -vulkan".
      (gdb) bt
      #0  0x00007f364290fc79 in VulkanSteamOverlayUpdateTexture () from /home/chris/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
      #1  0x00007f365060b985 in ?? () from /home/chris/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
      #2  0x00007f365060a553 in ?? () from /home/chris/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
      #3  0x00007f365060afe5 in ?? () from /home/chris/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
      #4  0x00007f364290e596 in vkQueuePresentKHR () from /home/chris/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so
      #5  0x00007f3644407dd1 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
      #6  0x00007f3644408d7f in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
      #7  0x00007f36443adcc6 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
      #8  0x00007f36443ae27c in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
      #9  0x00007f36443e7049 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
      #10 0x00007f364a5971ba in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libtier0.so
      #11 0x00007f364f863474 in start_thread () from /usr/lib/libpthread.so.0
      #12 0x00007f364fb6069d in clone () from /usr/lib/libc.so.6
      When disabling the overlay, it starts, but the fonts don't work:


      And I don't know the menu well enough to start an offline bot match...

      With LunarG's driver it predictably doesn't work anymore:
      Code:
      Vulkan missing requested extension 'VK_KHR_surface'.
      Vulkan missing requested extension 'VK_KHR_xcb_surface'.

      Comment


      • #13
        Originally posted by haagch View Post
        LunarG's driver.
        No...our GDC demo was using anv (the one in Mesa). We never used LunarG's driver.

        Free Software Developer .:. Mesa and Xorg
        Opinions expressed in these forum posts are my own.

        Comment


        • #14
          So far in my testing on Haswell - using a Mesa Git built only minutes before, launched outside of steam to avoid overlay - it loaded correctly and displayed a perfectly correct main menu though with lots of FIXME's, FINISHME's, and STUB's spewed in the console.
          Been loading into watching a friends game for close to ten minutes now, will update later if it succeeds.

          Right, gave up on the loading screen after half an hour. Seems still some Haswell work needing to be done.
          Last edited by Ananace; 24 May 2016, 04:14 AM.

          Comment


          • #15
            Originally posted by Kayden View Post
            No...our GDC demo was using anv (the one in Mesa). We never used LunarG's driver.
            Oh cool, didn't know that. What was LunarG's driver then used for? Just "reference" development of the Vulkan spec?

            Ingame it has weird rendering and segfaults after a short while in the driver. I wanted to build anv with debug symbols and of course...

            backends/dri/.libs/gbm_dri.o: In function `mtx_init':
            /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:189: undefined reference to `pthread_mutexattr_init'
            /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:190: undefined reference to `pthread_mutexattr_settype'
            /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:192: undefined reference to `pthread_mutexattr_destroy'

            ...

            Edit: Apparently unset CFLAGS and --enable-debug breaks the build. With archlinux' debug CFLAGS the build works. But with a debug build of anv, dota immediately crashes on start
            Code:
            Thread 1 "dota2" received signal SIGFPE, Arithmetic exception.
            0x00007f47676a5455 in meta_region_offset_el (image=image@entry=0x55ae84925c80, offset=offset@entry=0x55ae83c1c620) at anv_meta_copy.c:64
            64            .x = offset->x / block.width,
            Argument list to give program being debugged when it is started is "-novid -nojoy -vulkan".
            (gdb) bt full
            #0  0x00007f47676a5455 in meta_region_offset_el (image=image@entry=0x55ae84925c80, offset=offset@entry=0x55ae83c1c620) at anv_meta_copy.c:64
                    block = {width = 0, height = 0, depth = 0}
            #1  0x00007f47676a55fb in meta_copy_buffer_to_image (cmd_buffer=0x55ae84981000, buffer=0x55ae847b91b0, image=0x55ae84925c80, regionCount=<optimized out>, pRegions=<optimized out>, forward=true) at anv_meta_copy.c:139
                    rect = {src_x = 28615719, src_y = 0, dst_x = 2228833624, dst_y = 21934, width = 3403463584, height = 32766}
                    aspect = <optimized out>
                    num_slices_array = <optimized out>
                    y_offset = <optimized out>
                    num_slices_3d = <optimized out>
                    img_offset_el = {x = -891504076, y = 32766, z = -891503872}
                    bufferExtent = {width = 2208768704, height = 21934, depth = 47}
                    slice_3d = <optimized out>
                    buf_extent_el = <optimized out>
                    img_extent_el = {width = 3403463320, height = 0, depth = 0}
                    img_isl_surf = <optimized out>
                    img_bsurf = {bo = 0x5, tiling = ISL_TILING_LINEAR, base_offset = 140732301884360, bs = 193 '\301', pitch = 32583}
                    buf_bsurf = {bo = 0x2, tiling = 2229005768, base_offset = 5, bs = 0 '\000', pitch = 0}
                    slice_array = <optimized out>
                    r = <optimized out>
                    saved_state = {old_vertex_bindings = {{buffer = 0x0, offset = 0}, {buffer = 0x0, offset = 0}}, old_descriptor_set0 = 0x0, old_pipeline = 0x0, dynamic_mask = 0, dynamic = {viewport = {count = 32766, viewports = {{x = 1.34721929e+32, y = 1.40129846e-45, width = -5.10844131e-36, height = 3.07360805e-41,
                              minDepth = -7232896, maxDepth = 4.59149455e-41}, {x = 1.07235304e+24, y = 4.56585079e-41, width = 4.06010821e-30, height = 0, minDepth = -nan(0x7fffff), maxDepth = 0}, {x = -5.10844131e-36, y = 3.07360805e-41, width = 8.87292749e+31, height = 4.56585079e-41, minDepth = 1.55934951e+32,
                              maxDepth = 4.56585079e-41}, {x = 0, y = 0, width = -5.10874838e-36, height = 3.07360805e-41, minDepth = -7232952, maxDepth = 4.59149455e-41}, {x = 0, y = 1.40129846e-45, width = -5.10844131e-36, height = 3.07360805e-41, minDepth = -7232944, maxDepth = 4.59149455e-41}, {x = 1.07235247e+24,
                              y = 4.56585079e-41, width = 3.26968598e+27, height = 0, minDepth = 5.27784157e-38, maxDepth = 0}, {x = 0, y = 0, width = 1.07188496e+24, height = 4.56585079e-41, minDepth = 2.26333249e+24, maxDepth = 4.56585079e-41}, {x = 4.20389539e-45, y = 4.20389539e-45, width = 2.80259693e-45, height = 0,
                              minDepth = 4.20389539e-45, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 4.20389539e-45, y = 4.20389539e-45,
                              width = 2.80259693e-45, height = 0, minDepth = 4.20389539e-45, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 0, y = 0, width = 0, height = 0, minDepth = 0, maxDepth = 0}, {x = 0, y = 0,
                              width = -7233104, height = 4.59149455e-41, minDepth = -7233168, maxDepth = 4.59149455e-41}}}, scissor = {count = 2224558080, scissors = {{offset = {x = 21934, y = -2068901888}, extent = {width = 21934, height = 4096}}, {offset = {x = 0, y = 128}, extent = {width = 0, height = 1754479645}}, {
                              offset = {x = 32583, y = 0}, extent = {width = 0, height = 0}}, {offset = {x = 0, y = 1}, extent = {width = 0, height = 3403463840}}, {offset = {x = 32766, y = 45}, extent = {width = 0, height = 0}}, {offset = {x = 0, y = 32}, extent = {width = 4096, height = 5}}, {offset = {x = 7, y = 0},
                              extent = {width = 0, height = 2}}, {offset = {x = 0, y = -2072276656}, extent = {width = 21934, height = 1}}, {offset = {x = 0, y = -891503344}, extent = {width = 32766, height = 1754523520}}, {offset = {x = 32583, y = -891503328}, extent = {width = 32766, height = 2222690640}}, {offset = {
                                x = 21934, y = 0}, extent = {width = 0, height = 65535}}, {offset = {x = 0, y = -891503264}, extent = {width = 32766, height = 1754523730}}, {offset = {x = 32583, y = -891503248}, extent = {width = 32766, height = 1754522498}}, {offset = {x = 65535, y = 0}, extent = {width = 0,
                                height = 4294967295}}, {offset = {x = 65535, y = 5}, extent = {width = 32583, height = 7}}, {offset = {x = -10649, y = -2072276656}, extent = {width = 21934, height = 65535}}}}, line_width = 0, depth_bias = {bias = -7233224, clamp = 4.59149455e-41, slope = 5.58802549e+24}, blend_constants = {
                          4.56585079e-41, -1.10922213e-36, 3.07360805e-41, 1.40129846e-45}, depth_bounds = {min = 0, max = 2.24207754e-44}, stencil_compare_mask = {front = 0, back = 2210183520}, stencil_write_mask = {front = 21934, back = 3403464144}, stencil_reference = {front = 32766, back = 1754496119}}}
                    __PRETTY_FUNCTION__ = "meta_copy_buffer_to_image"
            #2  0x00007f4768949ab6 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #3  0x00007f476897ae10 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #4  0x00007f476897b9ba in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #5  0x00007f476897bb8c in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #6  0x00007f476897bd11 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #7  0x00007f47689634df in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #8  0x00007f47689637ac in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #9  0x00007f476f132412 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #10 0x00007f476f13308c in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #11 0x00007f476f13389c in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #12 0x00007f476896da74 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/librendersystemvulkan.so
            #13 0x00007f476f3cdd82 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #14 0x00007f476f3cea97 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #15 0x00007f476f13209f in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #16 0x00007f476f1344dc in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #17 0x00007f476f1351f7 in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #18 0x00007f476f0638ed in ?? () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #19 0x00007f476f063d27 in Source2Main () from /home/chris/oldhome/games/SteamLibraryLinux/SteamApps/common/dota 2 beta/game/bin/linuxsteamrt64/libengine2.so
            #20 0x000055ae829c2219 in ?? ()
            #21 0x00007f4773fb2741 in __libc_start_main () from /usr/lib/libc.so.6
            #22 0x000055ae829c22ad in _start ()
            No symbol table info available.
            Another edit: Seems to work without crashes on lowest settings. Video:


            At the end of the video it segfaulted.
            Last edited by haagch; 24 May 2016, 05:31 AM.

            Comment


            • #16
              OpenBenchmarking.org, Phoronix Test Suite, Linux benchmarking, automated benchmarking, benchmarking results, benchmarking repository, open source benchmarking, benchmarking test profiles

              opensuse mesa-git 69 fps
              ubuntu amdgpu-pro ogl 59 fps
              ubuntu amdgpu-pro vulklan 74 fps


              Comment


              • #17
                I'm curious to see Vulkan vs OpenGL benchmarks on old AMD CPUs.

                I remember having almost no FPS difference between the switch from a Geforce 9600 to a Radeon R9 280X using a Phenom II X4 955 (3.2Ghz) in Dota 2 on Windows. There was also very little difference in FPS between low graphics settings and just about everything on best settings. I can't remember the exact settings, it was many years ago.

                My CPU is no longer the bottleneck in my system, tests would be mediocre relative to low performance CPUs.

                Comment


                • #18
                  Originally posted by haagch View Post
                  I wanted to build anv with debug symbols and of course...

                  backends/dri/.libs/gbm_dri.o: In function `mtx_init':
                  /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:189: undefined reference to `pthread_mutexattr_init'
                  /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:190: undefined reference to `pthread_mutexattr_settype'
                  /home/chris/build/vulkan-intel-git-debug/src/anvil/src/gbm/../../include/c11/threads_posix.h:192: undefined reference to `pthread_mutexattr_destroy'

                  ...
                  That was quick: https://lists.freedesktop.org/archiv...ay/117951.html

                  Comment


                  • #19
                    Remember that valve told at the last GDC that Dota2 doesnh't have enough drawcalls by frame to make the vulkan switch huge. So benchmark can disappoint some people

                    Comment


                    • #20
                      Ye i am wondering how philips removed the 120fps cap.

                      Comment

                      Working...
                      X