Announcement

Collapse
No announcement yet.

Radeon RADV Driver's Emulated Ray-Tracing Achieves 100% Pass Rate

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

  • #11
    Originally posted by QwertyChouskie View Post

    You already can, you just have to set the appropriate env variables.

    RADV_PERFTEST=emulate_rt
    VKD3D_CONFIG=dxr
    Im curious Have you tried it on a 5700XT?

    Comment


    • #12
      Originally posted by user1 View Post
      Even if someone would implement it for HD 6000 GPU's, I don't see the point of experiencing 0.5 fps slideshow..
      There's not much point in trying to play DOOM on a Ti-84, but there's ports for it. Never underestimate the motivational power of boredom and "Imagine if x could do y!"

      Comment


      • #13
        Originally posted by Cryio View Post
        RT for my 5700 XT? For everything? Yes please. I don't care it's slow. I know it's slow. I want to test it and have it available.
        I guess it means Vulkan (games) even after fetching the device properties (or the RT extension itself) can't tell if the ray tracing is native or not. Given how resource intensive ray tracing is I thought it's common sense for the Vulkan driver to indicate what kind of RT is supported (native, emulated, maybe something else like a hybrid), but I guess the Vulkan devs who devised the RT extensions didn't think it's important enough, if so, why?
        Last edited by cl333r; 11 July 2023, 04:26 AM.

        Comment


        • #14
          Quake 2 RTX is 60 fps at 1080p with Upscaling set to 50% Rez.

          Portal RTX kinda loads to the Menu but then eats all system RAM and system grinds to a halt.

          I'm trying to get Control running through Heroic with Wine GE and Flatpak.

          Comment


          • #15
            Originally posted by oleid View Post
            Does anybody know how this is implemented/how tightly coupled this is with radav? I'm just wondering if this code could be used as a generic fallback for other drivers as well.
            Raytracing on RDNA2/3 currently only uses very few (like 2 or 3) special instructions to access the RT accelerators (these do only handle ray-box and ray-triangle intersections), while the rest (i.e. ray generation and bvh traversal) is handled via compute shaders. Due to the magic of NIR, these instructions can be lowered to a generic implementation for older HW during shader compilation.

            Theoretically, the NIR IR could be translated to other vendors' HW aswell, but I doubt that this would even make sense, due to the specialties and quirks of each GPU architecture.
            Last edited by kiffmet; 14 July 2023, 04:03 PM.

            Comment


            • #16
              Originally posted by user1 View Post
              Even if someone would implement it for HD 6000 GPU's, I don't see the point of experiencing 0.5 fps slideshow..
              I see the point in making a game screenshot to use as a wallpaper for example. Some games even have "photo mode" where FPS does not matter.

              Comment


              • #17
                This is fantastic!
                I see it more as a testing fallback to identify issues with hardware implementation.
                Also useful for screenshots, as somebody else pointed out.
                It may be useful for renderers like Cycles in Blender -- once the vulkan compute backend is implemented. It may be fast enough to compete in terms of render time on same card with/without raytracing while providing superior render quality ... who knows....

                Comment


                • #18
                  Originally posted by Dukenukemx View Post
                  Would be amazing if this somehow worked on the "Terakan" Vulkan driver for the older Radeon HD 6000 GPU's. Probably not since it's not using RADV.
                  Any meaningful usage of ray tracing beyond basic shadows or ambient occlusion (without transparent surfaces like grates and foliage even) is blocked by the lack of bindless resources on that hardware. In ray tracing, a ray can hit any surface in the world, so you need to be able to sample any texture used in the scene at any time — and there may be thousands of different textures in it. However, while on GCN and RDNA you can take texture descriptors from anywhere you want, on TeraScale, there are still old Direct3D 11 and OpenGL style resource slots. Even though those graphics cards support dynamic resource indexing (possibly even wave-divergent if you use the LDS or Cayman's clause-global register creatively enough, though I haven't researched this deeply so far), you can only select from up to 160 (176 in compute or fragment shaders) resource slots in each shader, and if you exclude things like storage buffers and images, dynamically indexed uniform buffers, from that count, you only have slightly more than 128 slots left for textures.

                  Another issue specifically on the older Evergreen architecture is the lack of virtual memory that makes it impossible to access bottom-level acceleration structures — basically ray tracing representation of individual models in the scene, each of which may contain thousands of polygons — at arbitrary memory locations, without extremely dirty kernel-side hacks, or without copying all BLASes used by one TLAS into a single memory allocation, which would massively increase memory usage.

                  If you wanted to implement proper ray tracing on Cayman (again, not Evergreen for the same reason), you'd have to do all texture pixel address calculation and filtering manually — while already doing very performance-intensive ray tracing work, on hardware from 2010 🤷‍♂️

                  Comment


                  • #19
                    Originally posted by V1tol View Post
                    I see the point in making a game screenshot to use as a wallpaper for example. Some games even have "photo mode" where FPS does not matter.
                    But we are talking about pre-GCN hardware here. Do you know how slow it is for modern workloads? Even if that Terakan Vulkan driver will mature (even that is questionable because that hardware definitely doesn't have all the features required for Vulkan), I bet it will barely be able to even run modern games, let alone with ray tracing.

                    Comment


                    • #20
                      Ray tracing on games Nvidia didn't have its pawns on are not that heavy. So it is possible to some cards to run it above 30fps even on emulation, using reasonable settings of course.

                      Comment

                      Working...
                      X