URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fb8ba0eb8b7a1ab59ca4dfa13b78f8ab98086dd
Author: antonino <[email protected]>
Date:   Mon Mar 20 17:43:29 2023 +0100

    zink/ci: remove `primitive-id-no-gs-quads` from radv-vangogh-fails
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c3a4ab896265414bee2a654defe09c717c71154
Author: antonino <[email protected]>
Date:   Thu Mar 9 16:24:54 2023 +0100

    zink: unbind generated gs in `bind_last_vertex_stage`
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=303e06b19df75c2801ad22055ec638a9ad51e0fc
Author: antonino <[email protected]>
Date:   Wed Mar 8 17:30:10 2023 +0100

    zink: improve generated gs unbinding
    
    Avoid looping by using the new `parent` field to check if a generaetd gs
    is bound and use `bind_gs_state` insted of `bind_gfx_stage` so that
    `bind_last_vertex_stage` is automatically called
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=431795b9b912ea47db75669984ac76d9f5e74922
Author: antonino <[email protected]>
Date:   Wed Mar 8 16:13:47 2023 +0100

    zink: zink: add `parent` to `zink_shader::non_fs`
    
    For a generated gs this field will store a pointer to the shader that
    "owns" it.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d80a35a7f760f8ac9a10a1f715859f4db37f883e
Author: antonino <[email protected]>
Date:   Wed Mar 8 18:25:02 2023 +0100

    zink: unified `zink_set_primitive_emulation_keys` and 
`zink_create_primitive_emulation_gs`
    
    Those two functions shared most of the code
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d786f52f1ff10fba42e87530933a2a4c68de49a8
Author: antonino <[email protected]>
Date:   Wed Feb 22 17:24:57 2023 +0100

    zink: prevent crash when freeing
    
    If the same vertex shader is used for more than one pipeline where for some 
a gs
    is generated but not for others then the logic to free pipeline
    libraries might use the incorrect stage_mask and try to free a non
    existing gs.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2748301a09dc2d5c9e31366bbc42335e49b56750
Author: antonino <[email protected]>
Date:   Mon Feb 13 12:50:16 2023 +0100

    zink: advertise support for the quad primitive
    
    Zink now exposes the `PIPE_PRIM_QUADS` among supported primitives and
    handles them with geometry shaders.
    
    Previously, while not exposing this capability, gallium would internally
    generate an index buffer to draw them with triangles.
    
    However the information necessary to avoid drawing the diagonal line
    when using the line primitive was not preserved.
    
    fails are added for wireframe xfb quads tests
    
    xfb is expected to output tessellatated quads while showing a quad
    without a diagonal, however there is no sane way of achieving this.
    
    As part of the test quads will be rendered with and without xfb and the
    results compared.
    
    Now to avoid breaking xfb zink has to always split quads into triangles
    when xfb is enabled. This means that the test will fail.
    
    Previously the diagonal was always present so the test passed
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=49329b890451297798f9ac9d44fa1fd063177e7e
Author: antonino <[email protected]>
Date:   Thu Feb 16 16:57:02 2023 +0100

    zink: keep xfb properties in quad emulation gs
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bd72a4101d233cde9eec8c1fc4e6fddbc52a2c2
Author: antonino <[email protected]>
Date:   Thu Feb 16 16:56:40 2023 +0100

    nir: keep xfb properties in nir_create_passthrough_gs
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c7d846bccb9890a049ba250c8e74afc46e39ba4
Author: antonino <[email protected]>
Date:   Mon Feb 20 19:52:50 2023 +0100

    zink: handle provoking vertex mode for filled quads
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6551477595aeb8e4a4aae5753a592dd77afe96
Author: antonino <[email protected]>
Date:   Mon Feb 20 19:49:25 2023 +0100

    nir/zink: handle provoking vertex mode in `nir_create_passthrough_gs`
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a5bdca2dda1ad4a6cc2ec86a9fc59c724d831a7
Author: antonino <[email protected]>
Date:   Thu Feb 9 14:12:43 2023 +0100

    zink: implement flat shading using inlined uniforms
    
    Zink will now handle flat interpolation correctly when line loops
    are generated from primitives.
    
    The flat shading information is passed to the emulation gs using constant
    uniforms which get inlined.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=009ba806c9bdbed0dd507d3f0c7425a4f780aaed
Author: antonino <[email protected]>
Date:   Tue Feb 21 18:03:08 2023 +0100

    zink: add `needs_inlining` to `zink_shader`
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6de15eff5630e60122ebea6b5318009e1bbaffa
Author: antonino <[email protected]>
Date:   Tue Feb 21 10:29:25 2023 +0100

    zink: add flags to `zink_gfx_program` and `zink_context`
    
    Adds `optimal_keys` and `needs_inlining` to `zink_gfx_program` and
    `is_generated_gs_bound` to `zink_context`
    
    Those will be needed for shaders that rely on some uniforms to be
    inlined
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=027ba4ccefbefe468ca6c198b7a3404b3a0c3f23
Author: antonino <[email protected]>
Date:   Tue Feb 7 17:01:52 2023 +0100

    zink: fix flat shading on filled quads
    
    Quads emulated by zink will now have the correct provoking vertex.
    
    Also outputs of the previous shader stage that would normally
    not be passed down to the FS (when no GS is bound) will now be skipped.
    
    Different provoking vertex modes are not handled yet.
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7eab64f1c66f24e0b054c024940c9513c4b9a298
Author: antonino <[email protected]>
Date:   Fri Feb 3 18:35:42 2023 +0100

    zink: handle quads
    
    Zink can now handle the quad primitive by emulating it in a gs
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f48b699654ff2e3448afd38b2461463d24fc3e1a
Author: antonino <[email protected]>
Date:   Tue Feb 21 10:37:57 2023 +0100

    zink: add `zink_rast_prim` enum
    
    Adds an enum with primitives that are natively by vulkan
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2220ee55e40ec5e1ef0d8f74ff6e7d7bb5db16a
Author: antonino <[email protected]>
Date:   Fri Feb 3 18:12:54 2023 +0100

    zink: filled quad emulation gs generation function
    
    This change adds a function to generate a geometry shader that will take a 
quad
    as an input (passed as a line strip with adjacency because quads are not
    available as an input primitives for GS) and generate a triangle strip.
    
    This can be used to emulate the quad primitive.
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0cb81ac38c20edf40c4aa0edcff4633d0bb6b767
Author: antonino <[email protected]>
Date:   Fri Feb 3 15:43:09 2023 +0100

    zink: force line strip out when emulating stipple
    
    Fixes a bug where, whenever a primtiive that has more than 2 vertices is 
rendered
    with line stipple, the edge between the first and last vertex will have
    stretched out stipple.
    
    This happens because interpolation will occur between two non consecutive
    stipple counters for the last edge
    (which is between the last and first vertices).
    
    Forcing `nir_create_passthrough_gs` to generate a line strip avoids
    this because the last vertex will be duplicated and will have
    the correct stipple counter for each edge.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b5fb8b0607e1e8e0916ab8f6acaf01f061e94f8
Author: antonino <[email protected]>
Date:   Fri Feb 3 15:42:20 2023 +0100

    nir: allow to force line strip out in nir_create_passthrough_gs
    
    `nir_create_passthrough_gs` now allows the user to force the generated GS
    to always output a line strip from the primitive
    regardless of whether edgeflags are present.
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=90a8525d703330b9d198ddf9579c560d0e5cadaa
Author: antonino <[email protected]>
Date:   Fri Feb 3 11:44:39 2023 +0100

    zink: handle edgeflags
    
    Vulkan has no support for edgeflags.
    
    If the user has a geometry shader bound nothing needs to be done as 
edgeflags
    don't work with them, otherwise a geometry shader that emulates them
    is generated.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a93685ef5577219a08c28470b25b622eef63d4ed
Author: antonino <[email protected]>
Date:   Tue Feb 21 10:27:54 2023 +0100

    zink: add `has_edgeflags` flag to zink_shader and zink_gfx_program
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=24535ffb3d50b8c2245366e2ca9857fd38879cff
Author: antonino <[email protected]>
Date:   Thu Feb 2 17:30:05 2023 +0100

    nir: handle edge flags in nir_create_passthrough_gs
    
    `nir_create_passthrough_gs` will now take a boolean argument to decide
    whether it needs to handle edgeflags.
    
    When true is passed it will output a line strip where edges that
    shouldn't be visible are not emitted.
    
    This is usefull because geometry shaders will generally throw away
    edgeflags so for a passthrough GS to act transparently it needs to emulate 
them.
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0751e8088d85bd13237e715715f4a0a08ad4175
Author: antonino <[email protected]>
Date:   Fri Feb 3 11:23:09 2023 +0100

    nir: calculate number of vertices in nir_create_passthrough_gs
    
    `nir_create_passthrough_gs` has been changed to take the type of primitive
    as opposed to the number of vertices as an argument.
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=edecb66b01849effdf859f3cfaeebb9af5e1c1da
Author: antonino <[email protected]>
Date:   Mon Feb 20 19:26:20 2023 +0100

    nir: avoid generating conflicting output variables
    
    Because not all vertex outputs can have corresponding fragment inputs
    (eg. edgeflags) some logic is needed to correctly generate variables in
    a passthough gs.
    
    Before this change some output variables ened up with the same location.
    
    Fixes: d0342e28b32 ("nir: Add helper to create passthrough GS shader")
    
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea14579f3dc3144541c6e5944d14e0e257115b15
Author: antonino <[email protected]>
Date:   Mon Feb 13 12:57:38 2023 +0100

    nir: handle primitives with adjacency
    
    `nir_create_passthrough_gs` can now handle primitives with adjacency where 
some
    vertices need to be skipped.
    
    Fixes: d0342e28b32 ("nir: Add helper to create passthrough GS shader")
    Acked-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eedbf9046e72d253b39e7065424ec6d1f2dbf598
Author: antonino <[email protected]>
Date:   Fri Feb 3 11:43:04 2023 +0100

    zink: handle switching between primitives
    
    Zink will generate geometry shaders to emulate certain features, however 
there
    might be different variants of those depending on the primitive type.
    
    This commits adds the logic to generate or bind the correct emulation GS
    in the case where nothing changes except the primitive type.
    
    Reviewed-by: Mike Blumenkrantz <[email protected]>
    Reviewed-by: Erik Faye-Lund <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>

Reply via email to