Announcement

Collapse
No announcement yet.

r600g: closer to running Unigine Heaven?

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

  • r600g: closer to running Unigine Heaven?

    Today I tried Unigine Heaven (2.0 and 2.5) with the latest opensource stack (r600g), and I was happy to find out that the list of missing extensions is now reduced to:
    GL_ARB_map_buffer_range
    GL_ARB_vertex_array_object
    GL_ARB_half_float_vertex
    GL_ARB_half_float_pixel
    GL_EXT_texture_swizzle
    GL_ARB_framebuffer_object
    GL_EXT_framebuffer_blit
    GL_EXT_framebuffer_multisample
    2.5 complained also that it couldn't get 4 buffers (mesa limitation?), while with 2.0 forcing them with MESA_EXTENSION_OVERRIDE allowed the demo to start, but it crashed after displaying a black window. Nevertheless, it's getting there.

  • #2
    I just ran version 2.5 with current drm-next kernel and mesa, libdrm and xf86-vide-ati from git master. It seems to find everything that it needs. It doesn't show a picture though (only black but the menu was shown and a framerate of 20fps) and it floods the console with:
    Code:
    GLFrameBuffer::enable(): incomplete attachment
    OpenGL error: invalid framebuffer operation
    At start it showed following summary:
    Code:
    ---- System ----
    System: Linux 2.6.38-drm-next x86_64
    CPU: Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz 2891MHz MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 HTT
    GPU: Gallium 0.4 on AMD JUNIPER 2.1 Mesa 7.11-devel
    System memory: 7996 Mb
    Video memory:  256 Mb
    
    ---- MathLib ----
    Set SSE simd processor
    
    ---- Sound ----
    Renderer: PulseAudio Default
    OpenAL vendor:   OpenAL Community
    OpenAL renderer: OpenAL Soft
    OpenAL version:  1.1 ALSOFT 1.13
    Found AL_EXT_LINEAR_DISTANCE
    Found AL_EXT_OFFSET
    Found ALC_EXT_EFX
    Found EFX Filter
    Found EFX Reverb
    Found EAX Reverb
    Found QUAD16 format
    Found 51CHN16 format
    Found 61CHN16 format
    Found 71CHN16 format
    Maximum sources:         256
    Maximum effect slots:    4
    Maximum auxiliary sends: 2
    
    ---- Render ----
    GLRender::GLRender(): Unknown GPU
    OpenGL vendor:   X.Org
    OpenGL renderer: Gallium 0.4 on AMD JUNIPER
    OpenGL version:  2.1 Mesa 7.11-devel
    Found required GL_ARB_map_buffer_range
    Found required GL_ARB_vertex_array_object
    Found required GL_ARB_vertex_buffer_object
    Found required GL_ARB_half_float_vertex
    Found required GL_ARB_half_float_pixel
    Found required GL_ARB_occlusion_query
    Found required GL_EXT_texture3D
    Found required GL_EXT_texture_cube_map
    Found required GL_EXT_texture_sRGB
    Found required GL_EXT_texture_swizzle
    Found required GL_ARB_shader_object
    Found required GL_ARB_vertex_shader
    Found required GL_ARB_fragment_shader
    Found required GL_ARB_draw_buffers
    Found required GL_ARB_framebuffer_object
    Found required GL_EXT_framebuffer_blit
    Found required GL_EXT_framebuffer_multisample
    Found optional GL_ARB_draw_instanced
    Found optional GL_ARB_draw_elements_base_vertex
    Found optional GL_EXT_draw_buffers2
    Found optional GL_ARB_texture_rg
    Found optional GL_ARB_texture_compression
    Shading language:      1.20
    Maximum texture size:  16384
    Maximum texture units: 16
    Maximum draw buffers:  8
    
    ---- Physics ----
    Physics: Multi-threaded
    
    ---- PathFind ----
    PathFind: Multi-threaded

    Comment


    • #3
      That's impressive. Are you using the floating branch? That would probably explain the different extensions. Also my tests were done on an HD4200, so this may be the reason why it says that there is no support for 4 buffers?
      Thanks

      Comment


      • #4
        No I'm using master. Maybe it's a kernel difference or because my card is an evergreen.

        But there's a bug in the demo (version 2.5): It checks for GL_ARB_draw_instanced but actually uses GL_EXT_draw_instanced or a mix of both. This seems to work with nvidia blobs but it's wrong.
        Nevertheless even if the check would be right, there's a different problems with mesa drivers. They claim to support GL_EXT_draw_instanced, but they don't and if you're trying to use it, you're getting in trouble.

        Comment


        • #5
          Originally posted by kbios View Post
          Today I tried Unigine Heaven (2.0 and 2.5) with the latest opensource stack (r600g), and I was happy to find out that the list of missing extensions is now reduced to:
          GL_ARB_map_buffer_range
          GL_ARB_vertex_array_object
          GL_ARB_half_float_vertex
          GL_ARB_half_float_pixel
          GL_EXT_texture_swizzle
          GL_ARB_framebuffer_object
          GL_EXT_framebuffer_blit
          GL_EXT_framebuffer_multisample
          2.5 complained also that it couldn't get 4 buffers (mesa limitation?), while with 2.0 forcing them with MESA_EXTENSION_OVERRIDE allowed the demo to start, but it crashed after displaying a black window. Nevertheless, it's getting there.
          All the extensions you mention are fully supported by r600g. You are simply not running the driver. (or you are missing the 32-bit driver if Unigine Heaven is a 32-bit application)

          Comment


          • #6
            Just dl heaven and you will see that it has 32+64 bit versions included.

            Comment


            • #7
              Indeed, a *##* update reverted the system to r600c. With actual r600g, the intro splash screen appears and loads, but at the end of the loading it crashes with

              Code:
              Heaven_x64: program/ir_to_mesa.cpp:2281: prog_src_register mesa_src_reg_from_ir_src_reg(ir_to_mesa_src_reg): Assertion `reg.index < (1 << 11)' failed.

              Comment


              • #8
                I can Confirm Unigine Sanctuary close to work too

                Unigine sanctuary is almost there too, ofc still fails to render so i include the full output of the run so maybe is helpful for anyone

                Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

                Comment


                • #9
                  That's weird, it works here (apart from S3TC -> Black textures).

                  Comment


                  • #10
                    If by black textures, you mean no wireframe either, then I'm in the same case.

                    But it isn't S3TC related, since I had mesa nightly and ENABLE_S3TC=1

                    David

                    Comment

                    Working...
                    X