Announcement

Collapse
No announcement yet.

Valve's VOGL Is Finally Back To Having New Commits, OS X Support

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

  • Valve's VOGL Is Finally Back To Having New Commits, OS X Support

    Phoronix: Valve's VOGL Is FInally Back To Having New Commits, OS X Support

    While Valve's VOGL open-source OpenGL debugger was off to a great start when announced at the start of the year, recently it fell into a bit of a dry period when it didn't see any new work for more than a month. Fortunately, that dry spell is over and there's new commits flowing back into VOGL...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Originally posted by phoronix View Post
    Phoronix: Valve's VOGL Is FInally Back To Having New Commits, OS X Support

    While Valve's VOGL open-source OpenGL debugger was off to a great start when announced at the start of the year, recently it fell into a bit of a dry period when it didn't see any new work for more than a month. Fortunately, that dry spell is over and there's new commits flowing back into VOGL...

    http://www.phoronix.com/vr.php?view=MTg0Mzk
    Yay

    Once they've finished fiddling with cmake, I think I'll have another go at getting it to actually build. I've tried twice, but I still haven't managed to build it on ubuntu 14.04.

    Comment


    • #3
      Meh, apitrace does the job just fine https://github.com/apitrace/apitrace

      Comment


      • #4
        Originally posted by log0 View Post
        Meh, apitrace does the job just fine https://github.com/apitrace/apitrace
        Yes it does. But VOGL does a lot of jobs that apitrace doesn't.

        Comment


        • #5
          Originally posted by jagoly View Post
          Yes it does. But VOGL does a lot of jobs that apitrace doesn't.
          Like?

          Comment


          • #6
            Originally posted by log0 View Post
            Like?
            This is covered in their wiki:

            The other question we get a lot: "What does vogl do that apitrace can't?" (apitrace is a open source full-stream GL tracer/replayer that is pretty much the only alternative to vogl on Linux.) Right now vogl does full-stream tracing/replaying, just like apitrace, but more importantly it can create "deep" GL state snapshots which are fully serializable and restorable to brand new GL contexts. It can create state snapshots while intercepting a game, or while replaying a trace, and the exact same code is used to do both.

            The ability to create and restore state snapshots is a critical feature, because debugging large full-stream traces is awkward at best. Some game bugs we've worked on could only be reproduced after several minutes of actual gameplay, which results in impractically large 10+ gigabyte apitraces containing thousands of frames worth of GL calls. apitrace cannot "trim" these traces down in size, so they must always be played back from the very beginning each time you want to inspect the state at any place in the trace. By comparison, with vogl you can capture a single frame at any time while playing the game and just inspect the calls within that relatively tiny and much faster to replay trace file.

            This snapshot concept may seem trivial but trust us, it's very hard to do in practice and there are (seemingly) countless details to get right. The GL state vector is massive, and a surprising amount of critical state is not directly reachable via plain API calls (so "shadowing" some driver state during tracing and playback is required). To make matters even more interesting, in order to retrieve all GL context state you must sometimes temporarily modify some other GL state. So unless you're very careful you can cause the traced app (or the replay) to diverge or even crash.

            vogl can restore GL state from snapshots faithfully enough that it can continue playing back your app's GL calls as if nothing happened. We feel strongly that a GL debugger built on top of a non-restorable state snapshot system can't be fully trusted or tested. A proper state snapshot system can be used as the foundation of a robust GL debugger. The UI component of vogl's debugger ultimately is just a viewer/editor of state snapshot objects. State snapshots also enable a number of other interesting features, such as keyframe generation for fast seeking through large traces and hybrid "on the fly" tracing (where you hit a key and the previous X secs are recorded to a trace).

            Comment


            • #7
              Originally posted by log0 View Post
              Meh, apitrace does the job just fine https://github.com/apitrace/apitrace
              Idiot comment. They in no way "replace" each other, the more debug tools we have on Linux for developing graphics-heavy software, the better.

              Comment


              • #8
                Originally posted by Azpegath View Post
                Idiot comment. They in no way "replace" each other, the more debug tools we have on Linux for developing graphics-heavy software, the better.
                Idiot comment. Where have I said anything about replacing. I am just stating my personal preference. As it is, vogl doesn't offer anything over apitrace for me.

                Comment


                • #9
                  Originally posted by log0 View Post
                  Like?
                  Google it my friend, this took 5 seconds.

                  The other question we get a lot: "What does vogl do that apitrace can't?" (apitrace is a open source full-stream GL tracer/replayer that is pretty much the only alternative to vogl on Linux.) Right now vogl does full-stream tracing/replaying, just like apitrace, but more importantly it can create "deep" GL state snapshots which are fully serializable and restorable to brand new GL contexts. It can create state snapshots while intercepting a game, or while replaying a trace, and the exact same code is used to do both.

                  The ability to create and restore state snapshots is a critical feature, because debugging large full-stream traces is awkward at best. Some game bugs we've worked on could only be reproduced after several minutes of actual gameplay, which results in impractically large 10+ gigabyte apitraces containing thousands of frames worth of GL calls. apitrace cannot "trim" these traces down in size, so they must always be played back from the very beginning each time you want to inspect the state at any place in the trace. By comparison, with vogl you can capture a single frame at any time while playing the game and just inspect the calls within that relatively tiny and much faster to replay trace file.

                  Comment


                  • #10
                    Originally posted by profoundWHALE View Post
                    Wow, awesome you can google. But have you actually used aitrace or vogl?

                    Comment

                    Working...
                    X