Mesa (master): 32 new commits

Nicolai Hähnle nh at kemper.freedesktop.org
Thu Nov 3 09:15:06 UTC 2016


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=908f92ad1f8562490468716d789f4d78b543399c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 12:50:09 2016 +0100

    radeonsi: generate GS prolog to (partially) fix triangle strip adjacency rotation
    
    Fixes GL45-CTS.geometry_shader.adjacency.adjacency_indiced_triangle_strip and
    others.
    
    This leaves the case of triangle strips with adjacency and primitive restarts
    open. It seems that the only thing that cares about that is a piglit test.
    Fixing this efficiently would be really involved, and I don't want to use the
    hammer of degrading to software handling of indices because there may well
    be software that uses this draw mode (without caring about the precise
    rotation of triangles).
    
    v2:
    - skip the GS prolog entirely if workaround is not needed
    - only check for TES (TES is always non-null when tessellation is used)
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe4e829b0da8484ecc98ca4d31bfdbb8d667643
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 21:13:12 2016 +0100

    radeonsi: remove si_shader_context::is_gs_copy_shader
    
    It has become redundant.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b2516721b91165936a25d1cfd88c65104ca04b1
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 21:10:37 2016 +0100

    radeonsi: make the GS copy shader owned by the GS selector
    
    The copy shader only depends on the selector. This change avoids creating
    separate code paths for monolithic vs. non-monolithic geometry shaders.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c6f7d66dc758300e46943ad07da8c3f5d394a03
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 21:09:20 2016 +0100

    radeonsi: si_shader_vs only depends on the GS selector
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=693435d846b1208bb962eaf830f10649e56af2bc
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 21:07:53 2016 +0100

    radeonsi: si_vgt_gs_mode only depends on the selector
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e1fb7e7fc5d2851debc3138bbc9b71131630bba
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 20:53:37 2016 +0100

    radeonsi: make si_generate_gs_copy_shader usable as a standalone function
    
    It really only depends on the shader selector.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba5de0d034abdcf072fb1fbb0cd1cbce06d41e7b
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 22:26:33 2016 +0200

    radeonsi: unify the si_compile_* functions for prologs and epilogs
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa9583b0dae64767501299dd4c5b686dc09b54a7
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 16:30:17 2016 +0100

    radeonsi: get rid of no_{prolog,epilog}
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=75503b190496d9b7276e43802cec1c4adf18189d
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 22:10:00 2016 +0200

    radeonsi: get rid of si_llvm_emit_fs_epilogue
    
    It is no longer used.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=611510038a203dc528515dcbbdd72f01c6f326a2
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 22:09:26 2016 +0200

    radeonsi: get rid of get_interp_param
    
    Replace by a simple LLVMGetParam, since ctx->no_prolog is always false.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f4439b6bab14016b40dd08cf2dc2585645cd076
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 22:08:10 2016 +0200

    radeonsi: get rid of select_interp_param
    
    The condition !ctx->no_prolog is now always true.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=858ac2228f9ef4712ba9bf26dcd4ddf87f104b0c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 21:49:32 2016 +0200

    radeonsi: use TCS epilog for monolithic shaders
    
    For fixed function TCS, we keep the copying of VS outputs to TES inputs inside
    the main function; the call to si_copy_tcs_inputs is moved accordingly.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f1be54e53535cda8e8f918bd171dedb20ad677c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 21:47:02 2016 +0200

    radeonsi: extract si_build_tcs_epilog_function
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=be6e31c6a012c9cac9d3ee192a2b48a72deb172a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 21:42:47 2016 +0200

    radeonsi: use VS epilog for monolithic TES
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=06dcb2d2a946bf83a27c8f9efb5f0a210606fe2d
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 21:31:27 2016 +0200

    radeonsi: use VS prolog and epilog for monolithic shaders
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9daa2f470b323d3803e729ca42c08c49f608504
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 21:24:35 2016 +0200

    radeonsi: extract si_build_vs_{prolog,epilog}_function
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f37e992a3ab1ae0fa77f3b9d67c1fd99da47de7
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 15:38:47 2016 +0200

    radeonsi: use PS prolog for monolithic shaders
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15dd332e6ab59cfcf4f53e77f5a882f983630a38
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 15:36:43 2016 +0200

    radeonsi: set num_input_vgprs for fragment shaders in create_function
    
    So that the prolog generated for monolithic fragment shaders will have the
    right signature.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fec7ced211fcf5c626eb6657ac2b8532b256a07c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 14:57:27 2016 +0200

    radeonsi: extract si_build_ps_prolog_function
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7115e56c21ace07cf04f5073ba73a533e2182099
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 14:45:59 2016 +0200

    radeonsi: use PS epilog for monolithic shaders
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf86c565946cdfd0b0f4a83f20fd8196eefedeb0
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 18:48:16 2016 +0200

    radeonsi: extract si_build_ps_epilog_function
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b9bba7f6c0fe5b456e7464005063dff8e217847
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 18:57:34 2016 +0200

    radeonsi: pass the function name to si_llvm_create_func
    
    We will use multiple functions in one module, so they should have
    different names.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=96d60dd9ee6a394671debe60b96db703d9ecd674
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 17:33:22 2016 +0200

    radeonsi: split is_monolithic into no_prolog and no_epilog
    
    This helps to achieve a gradual transition towards building monolithic shaders
    via inlining.
    
    no_prolog and no_epilog will be removed by the end of the series,
    separate_prolog remains in use to control the PS input mapping.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8db9d915cd771985609370f1d3bdda63eba687b2
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 17:22:10 2016 +0200

    radeonsi: free data structures when shader compiles fail
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c1504af6a21793873c330bb6b1c24edf833336c
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 17:21:25 2016 +0200

    radeonsi: move main TGSI translation into its own function
    
    The idea is that adding prolog and epilog code will be pulled out into the
    caller.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23dfb688ba3b7be0feb2a178e65e419fe2678379
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 14:42:46 2016 +0200

    radeonsi: add always-inline pass to si_llvm_finalize_module
    
    Change the pass manager as well, since this is a module-level pass. No
    noticeable run-time difference on shader-db.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ada1dabc4792918ce59224d27bef29c106ca0ca
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 11:36:35 2016 +0100

    radeonsi: fix signature of export intrinsic in VS epilog
    
    The incompatible signature becomes an issue when the VS epilog gets merged
    with the main vertex shader at the IR level.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=899b2f24a4a6e1a8845e9b9000e51b8857706413
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 14:41:10 2016 +0200

    radeonsi: link against amd_common
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=908100cfae88a9e83560919018fc8a8a3a7bf745
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Oct 28 14:40:24 2016 +0200

    amd/common: add ac_is_sgpr_param helper
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ff5df8f5097d25899996ea344d09be5c76de323
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 11:56:09 2016 +0100

    amd/common: build also for gallium drivers
    
    At least when LLVM is used, which is basically always (unless you're only
    building r600 without OpenCL).
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8eabee9ec0c164bd18babfe15311db14040ad337
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Thu Oct 27 16:48:42 2016 +0200

    amd/common: move llvm helper prototype to ac_llvm_util.h
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=37d646c1b3626ad54ed93a784824af7b5abe8a99
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Oct 31 14:03:10 2016 +0100

    glsl: fix lowering of UBO references of named blocks
    
    When a UBO reference has the form block_name.foo where block_name refers
    to a block where the first member has a non-zero offset, the base offset
    was incorrectly added to the reference.
    
    Fixes an assertion triggered in debug builds by
    GL45-CTS.enhanced_layouts.uniform_block_layout_qualifier_conflict. That test
    doesn't properly check for correct execution in this case, so I am also
    going to send out a piglit test.
    
    Cc: 13.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>




More information about the mesa-commit mailing list