Announcement

Collapse
No announcement yet.

AMD R600g Now Does TBO, UBO & Advertises GLSL 1.40

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

  • duby229
    replied
    Hi Plombo....

    I'm not a dev, but I just wanted to tell you thanks for the work you've already done. And thanks for posting here what the status is. At the very minimum at least now we know that you are tied up with something else so that this work can be completed by someone else.

    Leave a comment:


  • Plombo
    replied
    Originally posted by airlied View Post
    There is a tree on github with unproven geometry shader code for r600g, intel would need to add 965 support, it just needs a lot of piglit tests and a lot of review, the last missing bit then is GL_ARB_texture_multisample which is also under construction by another dev for 965, which could be fixed up for gallium fairly easily hopefully.

    but writing the piglit tests for geometry shaders is probably the biggest problem.

    Dave.
    Although there are no piglit tests for it yet, my geometry shader code on GitHub has had a decent amount of stress-testing; I'm not too concerned about an abundance of bugs in the existing code. Aside from piglit tests (which are, as you say, the biggest problem), though, there are a few other things that need to be done:
    • The changes will need to be rebased and reformatted into a sane patch set rather than the current haphazard mix of commits that add functionality with commits to fix mistakes in previous changes.
    • The interactions with FBOs (section "Dependencies on EXT_framebuffer_object" in the ARB_geometry_shader4 spec) need to be implemented. This might only be needed for the EXT/ARB extensions and not core, but with this much work done on the extensions it would be silly not to support them as well as the core version. It seems that doing this properly will also require changes to the softpipe driver.
    • If it hasn't already been done, the GLSL compiler will need to implement the core version of the geometry shader language. The main change is using the "gl_in[]" struct array for input/output instead of one input array per attribute. This will just require a lowering pass to lower gl_PerVertex accesses to the 2D array accesses used in the extension, which can be (and already are) sanely translated to TGSI by glsl_to_tgsi.


    Also, sorry for suddenly disappearing from the graphics world last year. Hopefully I will be able to be able to do more for Mesa in the future, but for now there's not much choice but to leave my unfinished geometry shader work to be completed by someone else.

    Leave a comment:


  • marek
    replied
    Originally posted by neatnoise View Post
    I have a question that not really fits with this thread.
    It's about MSAA for R600g. Why games like Xonotic, sauerbraten don't recognize AA support? Even though AA works with set GALLIUM_MSAA variable, games don't seem to 'see' this newly added feature.
    Setting LIBGL_DRIVERS_PATH is not enough. You must install r600g first and then restart the X server for it to pick up the MSAA visuals. glxinfo should list them.

    Leave a comment:


  • tomato
    replied
    Originally posted by Xeno View Post
    Unfrotunatelly FOSS driver pm capabilies are light-years behind catalyst. If powertop numbers from 2 mobile chipsets (radeon 4330 and 5650) are in any way meaningfull, going from high to low profile on idle/low load saves about 2watts, going from radeon low profile to catalysts gives another 5W. Also the problem is not just battery life, heat is even ore important. Fryning +1000$ laptop is way uncool. (pun kinda intended).
    If you can overheat the laptop just by running gpu-intensive applications then it's either badly engineered or has dirty fans. Either way, I'd suggest not buying consumer level crap in the future.

    Leave a comment:


  • Adarion
    replied
    Aaaah. *fans self gently resting in my throne on this Sunday morning*
    I could read this kind of news all day long.

    Well it seems the free driver stack is getting more and more into shape. And hopefully some code can be shared between generations and maybe some even for GPUs from other vendors.

    Leave a comment:


  • neatnoise
    replied
    MSAA

    I have a question that not really fits with this thread.
    It's about MSAA for R600g. Why games like Xonotic, sauerbraten don't recognize AA support? Even though AA works with set GALLIUM_MSAA variable, games don't seem to 'see' this newly added feature.

    Leave a comment:


  • lordheavy
    replied
    Originally posted by smitty3268 View Post
    I think TBOs are only enabled if GLSL 1.4 is, and i think that's only enabled if you are in a core context rather than the compatibility one glxinfo uses.
    With a patched glxinfo (patch from Dave Airlied) http://lists.freedesktop.org/archive...ry/032655.html

    OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.1-devel
    OpenGL core profile shading language version string: 1.40
    OpenGL core profile context flags: (none)
    OpenGL core profile extensions:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export,
    GL_ARB_ES2_compatibility, GL_ARB_base_instance,
    GL_ARB_blend_func_extended, GL_ARB_color_buffer_float,
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output,
    GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_draw_buffers,
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
    GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location,
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_shader,
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
    GL_ARB_instanced_arrays, GL_ARB_invalidate_subdata,
    GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range,
    GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_sprite,
    GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects,
    GL_ARB_seamless_cube_map, GL_ARB_shader_bit_encoding,
    GL_ARB_shader_objects, GL_ARB_shader_stencil_export,
    GL_ARB_shader_texture_lod, GL_ARB_sync, GL_ARB_texture_buffer_object,
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array,
    GL_ARB_texture_float, GL_ARB_texture_non_power_of_two,
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
    GL_ARB_texture_storage, GL_ARB_texture_swizzle, GL_ARB_timer_query,
    GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
    GL_ARB_transform_feedback_instanced, GL_ARB_uniform_buffer_object,
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
    GL_ARB_vertex_shader, GL_ARB_vertex_type_2_10_10_10_rev,
    GL_ATI_blend_equation_separate, GL_ATI_texture_compression_3dc,
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr,
    GL_EXT_blend_equation_separate, GL_EXT_draw_buffers2,
    GL_EXT_draw_instanced, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object,
    GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
    GL_EXT_pixel_buffer_object, GL_EXT_provoking_vertex, GL_EXT_texture_array,
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer,
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB,
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
    GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query,
    GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra,
    GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_MESA_pack_invert,
    GL_MESA_texture_signed_rgba, GL_NV_conditional_render, GL_NV_depth_clamp,
    GL_NV_packed_depth_stencil, GL_NV_texture_barrier, GL_OES_EGL_image,
    GL_OES_read_format, GL_S3_s3tc,

    Leave a comment:


  • smitty3268
    replied
    Originally posted by pejakm View Post
    Ah, that clarifies it. Thanks.

    Also, I see now draw instanced in fact is merged, but it appears GL3.txt isn't updated accordingly.

    Edit: airlied, still glxinfo doesn't report GL_ARB_texture_buffer_object extension, and it reports "shading language version string: 1.30".
    I think TBOs are only enabled if GLSL 1.4 is, and i think that's only enabled if you are in a core context rather than the compatibility one glxinfo uses.

    Leave a comment:


  • pejakm
    replied
    Originally posted by airlied View Post
    glxinfo won't report core profiles yet, nothing to do with draw instanced.

    So until we fix glxinfo it'll only show 3.0.

    Dave.
    Ah, that clarifies it. Thanks.

    Also, I see now draw instanced in fact is merged, but it appears GL3.txt isn't updated accordingly.

    Edit: airlied, still glxinfo doesn't report GL_ARB_texture_buffer_object extension, and it reports "shading language version string: 1.30".
    Last edited by pejakm; 01-12-2013, 05:07 PM.

    Leave a comment:


  • airlied
    replied
    Originally posted by pejakm View Post
    Compiled the latest code and still there's no OpenGL 3.1. Looking at GL3.txt at docs I see that for r600 GL_ARB_draw_instanced isn't yet done.
    glxinfo won't report core profiles yet, nothing to do with draw instanced.

    So until we fix glxinfo it'll only show 3.0.

    Dave.

    Leave a comment:

Working...
X