Announcement

Collapse
No announcement yet.

AMD Lands OpenMAX State Tracker In Mesa Gallium3D

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

  • #51
    Originally posted by Deathsimple View Post
    Thx for testing, going to work a bit more on this.



    We currently only support NV12 as input, try putting a "videoconvert" element in between.
    It looks like the missing flush in VDPAU.

    Comment


    • #52
      Originally posted by marek View Post
      It looks like the missing flush in VDPAU.
      Yeah, and it was just another missing flush as well.

      Just updated my branch on fdo, anybody interested should pull and retest.

      Christian.

      Comment


      • #53
        Originally posted by Deathsimple View Post
        Yeah, and it was just another missing flush as well.

        Just updated my branch on fdo, anybody interested should pull and retest.

        Christian.
        Now all perfect. I can grab my screen in FULLHD H264 with 5-10% cpu usage.


        Code:
        gst-launch-1.0 -f ximagesrc ! videoconvert ! video/x-raw,format=NV12,framerate=24/1 ! omxh264enc ! progressreport ! avimux ! filesink location=/tmp/rec_2014-02-10_092020.avi
        But this kernel http://cgit.freedesktop.org/~deathsi...?h=vce-release has very poor 3d performance, up to 2-3 times slower.

        Comment


        • #54
          Originally posted by Pontostroy View Post
          Now all perfect. I can grab my screen in FULLHD H264 with 5-10% cpu usage.
          Quite nice, considering how often we copy the data from VRAM to system memory and back, but I guess you didn't tried any full screen 3D application. There is still allot of things we can optimize.

          Originally posted by Pontostroy View Post
          But this kernel http://cgit.freedesktop.org/~deathsi...?h=vce-release has very poor 3d performance, up to 2-3 times slower.
          Thx, for the info. What was the last good version? Can you bisect?

          Comment


          • #55
            Originally posted by Deathsimple View Post
            Quite nice, considering how often we copy the data from VRAM to system memory and back, but I guess you didn't tried any full screen 3D application. There is still allot of things we can optimize.



            Thx, for the info. What was the last good version? Can you bisect?
            Lighsmark 2008 fullhd after restart Finished, average fps = 357.11
            Lighsmark 2008 fullhd with recording Finished, average fps = 41.52 (rec_2014-02-10_105800.avi is emty after Lighsmark run, glsgears in little window grabs fine )
            Lighsmark 2008 fullhd after recording Finished, average fps = 121.12

            Comment


            • #56
              Originally posted by Pontostroy View Post
              Lighsmark 2008 fullhd after restart Finished, average fps = 357.11
              Lighsmark 2008 fullhd with recording Finished, average fps = 41.52 (rec_2014-02-10_105800.avi is emty after Lighsmark run, glsgears in little window grabs fine )
              Lighsmark 2008 fullhd after recording Finished, average fps = 121.12


              I just add use-damage=0 to ximagesrc

              Lighsmark 2008 fullhd with recording Finished, average fps = 171.97 (video is fine)
              Lighsmark 2008 fullhd after recording Finished, average fps = 121.77!!!!!

              Comment


              • #57
                Code:
                cat /sys/kernel/debug/dri/0/radeon_pm_info
                power level avg    sclk: 30000 mclk: 15000
                
                echo "performance" > /sys/class/drm/card0/device/power_dpm_state
                
                cat /sys/kernel/debug/dri/0/radeon_pm_info
                power level avg    sclk: 30714 mclk: 15000
                
                
                @rec
                cat /sys/kernel/debug/dri/0/radeon_pm_info                                                                                                         
                power level avg    sclk: 35273 mclk: 150000        
                
                
                @rec off
                cat /sys/kernel/debug/dri/0/radeon_pm_info
                power level avg    sclk: 35149 mclk: 150000
                
                
                cat /sys/class/drm/card0/device/power_dpm_state
                performance
                
                
                echo "battery" > /sys/class/drm/card0/device/power_dpm_state
                
                
                cat /sys/kernel/debug/dri/0/radeon_pm_info
                power level avg    sclk: 35149 mclk: 150000

                Comment


                • #58
                  Originally posted by Pontostroy View Post
                  Code:
                  cat /sys/kernel/debug/dri/0/radeon_pm_info
                  power level avg    sclk: 30000 mclk: 15000
                  
                  echo "performance" > /sys/class/drm/card0/device/power_dpm_state
                  
                  cat /sys/kernel/debug/dri/0/radeon_pm_info
                  power level avg    sclk: 30714 mclk: 15000
                  
                  
                  @rec
                  cat /sys/kernel/debug/dri/0/radeon_pm_info                                                                                                         
                  power level avg    sclk: 35273 mclk: 150000        
                  
                  
                  @rec off
                  cat /sys/kernel/debug/dri/0/radeon_pm_info
                  power level avg    sclk: 35149 mclk: 150000
                  
                  
                  cat /sys/class/drm/card0/device/power_dpm_state
                  performance
                  
                  
                  echo "battery" > /sys/class/drm/card0/device/power_dpm_state
                  
                  
                  cat /sys/kernel/debug/dri/0/radeon_pm_info
                  power level avg    sclk: 35149 mclk: 150000
                  Those parameters just adjust the valid ranges of clocks. The clock level still scales with GPU (shader) load. For decode or encode, there is fairly minimal 3d work, so the clocks may not scale up very much. If you want to force the highest clocks, regardless of state (battery/performance), you need to force the performance level (low, high, auto). Auto is the default and allows the GPU to scale based on load.

                  Code:
                  each high > /sys/class/drm/card0/device/power_dpm_force_performance_level

                  Comment


                  • #59
                    Originally posted by agd5f View Post
                    Those parameters just adjust the valid ranges of clocks. The clock level still scales with GPU (shader) load. For decode or encode, there is fairly minimal 3d work, so the clocks may not scale up very much. If you want to force the highest clocks, regardless of state (battery/performance), you need to force the performance level (low, high, auto). Auto is the default and allows the GPU to scale based on load.
                    I think the problem is rather that before using VCE the hardware is scaling up and down depending on 3D load as expected, but after using VCE for the first time that doesn't seem to work any more.

                    Ideas?

                    Comment


                    • #60
                      Originally posted by agd5f View Post
                      Those parameters just adjust the valid ranges of clocks. The clock level still scales with GPU (shader) load. For decode or encode, there is fairly minimal 3d work, so the clocks may not scale up very much. If you want to force the highest clocks, regardless of state (battery/performance), you need to force the performance level (low, high, auto). Auto is the default and allows the GPU to scale based on load.

                      Code:
                      each high > /sys/class/drm/card0/device/power_dpm_force_performance_level
                      Code:
                      echo "performance" > /sys/class/drm/card0/device/power_dpm_state
                      
                      cat /sys/class/drm/card0/device/power_dpm_state
                      performance
                      
                      echo "high" > /sys/class/drm/card0/device/power_dpm_force_performance_level 
                      bash: echo: write error: Invalid argument
                      
                      echo "low" > /sys/class/drm/card0/device/power_dpm_force_performance_level 
                      bash: echo: write error: Invalid argument
                      
                      
                      cat /sys/kernel/debug/dri/0/radeon_pm_info
                      power level avg    sclk: 30000 mclk: 15000

                      Comment

                      Working...
                      X