URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=537994bb3289deb29cb6a5ccad0e0eeba4ec5f33
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri May 19 13:00:57 2023 -0400

    asahi: Remove stale comments
    
    Trivial.
    
    It is now later and I have confirmed with Piglit.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6ff4733a63c4ca3e968db4896a8724c95ef1c1c
Author: Asahi Lina <[email protected]>
Date:   Fri Jun 2 17:25:49 2023 +0900

    asahi: Do not leak meta shader NIR
    
    Signed-off-by: Asahi Lina <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6016486f4a89bb86639338831563e2250f5c0b0
Author: Asahi Lina <[email protected]>
Date:   Fri Jun 2 17:20:44 2023 +0900

    asahi: Fix memory leak in agx_nir_lower_sysvals()
    
    We need to free the dynarray.
    
    Signed-off-by: Asahi Lina <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb27e3f69c37cacfe49fad363a05a3b2854c15e4
Author: Asahi Lina <[email protected]>
Date:   Fri Jun 2 16:51:07 2023 +0900

    asahi: Use os_dupfd_cloexec() instead of dup()
    
    This fixes file descriptor leaks in konsole/etc.
    
    Signed-off-by: Asahi Lina <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=35d849025ba99227e2528e56b74538fc22f83ac9
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon May 29 19:51:21 2023 -0400

    asahi: Decompress with format reinterpretation
    
    The internal layout used with compression partially depends on the pixel 
format.
    Some limited reinterpretation is definitely allowed (linear vs sRGB views 
of the
    same physical format are documented by Apple as allowed). Some 
reinterpretations
    are definitely forbidden (R8G8B8A8 vs R32, I think). At some point we'll 
need to
    work out the exact rule. I suspect the answer is that "you can reinterpret 
iff
    the Channels field matches". Meaning that R8G8B8A8_UNORM and B8G8R8A8_SINT 
would
    be compatible, but not R16G16_UNORM. But I haven't tested that.
    
    Fixes all fails in:
    
       dEQP-GLES31.functional.image_load_store.*.format_reinterpret.*
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d499bf10a342f9d89a0f7b0809a21a5375e6510c
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri May 19 16:00:34 2023 -0400

    asahi: Decompress writable images
    
    We can't write to compressed images. Decompress on the fly if needed. 
mesa/st
    doesn't bother to do this for us.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=531247cf31a440643df066769d184e5f8274f043
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri May 19 15:59:54 2023 -0400

    asahi: Extract transition_resource helper
    
    We'll reuse this logic for images. Extract it out and generalize it.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=389c0fdc7c71c634ca35cef6cb4d0c018358f974
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri May 12 08:13:22 2023 -0400

    asahi: Add ASAHI_MESA_DEBUG=nowc flag
    
    Add a debug flag to disable write-combining as a performance hack. This may 
help
    diagnose slowness with glReadPixels() heavy workloads like screen capture.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a0d1f83d57db303b85ab281b161a34229484d5a
Author: Alyssa Rosenzweig <[email protected]>
Date:   Mon May 15 16:48:14 2023 -0400

    agx: Stop bit-inexact conversion propagation
    
    Despite being mathematically equivalent, the following code sequences are 
not
    bit-identical under IEEE 754 rules due to differing internal precision:
    
       fadd16 r0l, r2, 0.0              z = f2f16 x
       fadd16 r1h, r0l, r0h             w = fadd z, y
    
    versus
    
       fadd32 r1h, r2, r0h              f2f16(w) = fadd x, f2f32(y)
    
    This is probably fine under GL's relaxed floating point precision rules, but
    it's definitely not ok with the more strict OpenCL or Vulkan. It also is a
    potential problem with GL invariance rules, if we get different results for 
the
    same shader depending whether we did a monolithic compile or a fast link. 
The
    place for doing inexact transformations is NIR, when we have the information
    available to do so correctly. By the time we get to the backend, everything 
we
    do needs to be bit-exact to preserve sanity.
    
    Fixes dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_vertex. We believe 
that
    this is a CTS bug, but it's a useful one since it uncovered a serious 
driver bug
    that would bite us in the much less friendly Vulkan (or god forbid OpenCL) 
CTS
    later. It also seems like a magnet for GL app bugs, the fp16 support we do 
now
    is uncovering bad enough bugs as it is.
    
    shader-db results are pretty abysmal, though :|
    
    total instructions in shared programs: 1537964 -> 1571328 (2.17%)
    instructions in affected programs: 670231 -> 703595 (4.98%)
    
    total bytes in shared programs: 10533984 -> 10732316 (1.88%)
    bytes in affected programs: 4662414 -> 4860746 (4.25%)
    
    total halfregs in shared programs: 483448 -> 474541 (-1.84%)
    halfregs in affected programs: 58867 -> 49960 (-15.13%)
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=be5004691cd2ac273fc50ac6d1356e780cd8c878
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:53 2023 -0400

    asahi: Advertise GL 3.1
    
    We now have support for baseline MSAA, except for support for eMRT. But hey,
    this gets us 99% of the way there, so it's worth flipping on at least in
    agx/next.
    
    We can also advertise dual-source blending again. It was reverted since 
Chromium
    freaks out with dual-source blending on a GL 2.1 driver, but since we're
    advertising GL 3.1 now, it's ok.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d019125a0165d007333a2180dfb68a03d442495
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:53 2023 -0400

    agx: Emit shader info late
    
    So we can take into account program transformations for the final info. This
    reports more accurate metadata.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b1d6204c81cd7b374696f88420336ba8d9f9bc9
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:52 2023 -0400

    asahi: Use nonempty tib for MSAA
    
    Affects
    dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d. 
This
    needs tests, but whatever, 70% of the YouTube chat said to land the hack.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    HackHackHacked-by: Faith Ekstrand <[email protected]>
    Acked-by: YouTube Viewers
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3919bead6ea555eed687da979bdd43f703606c2
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:52 2023 -0400

    asahi: Lower MSAA
    
    Use the shiny new passes to lower fragment shaders. Monolithic only right 
now.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dd513727db238066f65240cc65f83ed0aaa6f4e
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:51 2023 -0400

    agx: Handle centroid and sample interpolation
    
    Works great now that all the infrastructure is wired up.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7f130fbbc1e3417aabd3993703a90bde6152230
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:51 2023 -0400

    agx: Model interpolation for iter instructions
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2548293e8b557b30dc69875d62e880124126fbf3
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:50 2023 -0400

    agx: Split iter and iterproj instructions
    
    These are different (though related) instructions. I've split them in 
applegpu,
    let's mirror that here. This simplifies the IR a bit.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b71bcae685dba5da066a769e5ea0ab53110f3c
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:50 2023 -0400

    asahi,agx: Call lower_discard_zs_emit in the driver
    
    The driver needs to lower MSAA (because only it knows the sample count). 
MSAA
    lowering depends on discards getting lowered (in order to get sample masks 
on the
    discards for sample shading to work properly). Discard lowering depends on 
all
    discards emitted. But the driver needs to lower clip planes which generates
    discards. To break the circular dependency, we have the driver call the
    discard lowering pass itself (in between lowering clip planes and lowering
    MSAA). Technically, this is probably a layering violation but it's the least
    gross solution I see.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=398851ca53dcd0ce4f7ed4d379034d1a63da1b79
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:49 2023 -0400

    agx: Lower discard in NIR
    
    We already lower discard in NIR when depth/stencil writes are used in the
    shader. In this patch, we extend that lowering for when depth/stencil 
writes are
    not used, in which case the discard is lowered to a sample_mask instruction.
    This is a step towards multisampling, since the old lowering assumed
    single-sample and there's no way to express a sample mask with a standard 
NIR
    discard instructions so we need to lower in NIR anyway for sample shading 
(i.e.
    if a discard_if diverges between samples in a pixel).
    
    This changes the lowering for discard_if to be free of control flow (instead
    executing a sample mask instruction unconditionally). This seems to be 
slightly
    faster in SuperTuxKart and slightly slower in Dolphin, but I'm not too 
worried
    right now.
    
    To make this work, we do need some extra lowering to ensure we always 
execute a
    sample_mask instruction, in case a discard_if is buried in other control 
flow
    (as occurs with Dolphin's ubershaders). So that's added too. We need that 
for
    MSAA anyway, so pardon the line count.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=989d6fd37887c963f730b7a9a28ec34f434dbf2c
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:49 2023 -0400

    agx: Enable tag writes when sample mask written
    
    Including indirectly via discard/demote.
    
    Fixes graphical artefacts in Chromium when API sample masks are hooked up, 
which
    will result in fragment programs that do not write colour/depth but do a 
lone
    sample mask write. These need tag writes enabled (according to a trace from
    Metal for a case constructed to test this scenario).
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f514d49ae2007360b14570cf76869da8a8c53dbb
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:49 2023 -0400

    agx: Handle sample_mask_agx
    
    1:1 translation.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=73bbf43bc0bf441cf8d711c48a23df3b384519c3
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:48 2023 -0400

    agx: Plumb in nir_intrinsic_load_sample_mask_in
    
    We have a special register for this, although this will need some lowering 
for
    glSampleMask.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fd16dd7c9e99bb2a13301555e402b033c9931af
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:47 2023 -0400

    agx: Model both sources of sample_mask
    
    We need to control both sources to implement multisampling properly. The
    semantic is something like:
    
       foreach sample in the first mask {
          if correspond bit in second bit set {
             make sample live
          } else {
             make sample dead
          }
       }
    
    But I'm reticent to document more formally until the details are really
    understood and properly tested.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=954e2eee29c5903fc9a7ebee205414b95da0133e
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:47 2023 -0400

    asahi: Plumb ppp_multisamplectl into shaders
    
    This lets us implement gl_SamplePositions in a cheap way with some ALU in 
the
    shader preamble.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=17a05884b425a1794809aa92afb62b01c9055908
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:46 2023 -0400

    asahi: Plumb API sample mask into shaders
    
    So we can lower glSampleMask() appropriately.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bffbe099df176ebf010b6e3396534340a2d239e6
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:46 2023 -0400

    asahi: Set uses_sample_shading for background program
    
    If we read gl_SampleID we need the lowering, even though we don't call into
    gather_info to set the bit for us. So set the bit manually.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b95d81150a1efc3db3237fb08ff78c12c708b64
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:46 2023 -0400

    agx: Assert that sample shading is lowered
    
    Lest someone mess this up later and then try to "implement" these 
intrinsics in
    the backend.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=46a5a99d24d569a7ec5d2bec0f3255f7576fedfa
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:45 2023 -0400

    asahi: Add alpha-to-coverage (and alpha-to-one) lowering
    
    This should probably be shared code but meh.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=51e868f3a2880453ce760c3b08a4023c601fa90e
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:45 2023 -0400

    asahi: Add passes to lower sample intrinsics
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f28962e29a53101e484ddfd433d1afe559d923db
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:44 2023 -0400

    asahi: Add passes to lower MSAA
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=70b8babe3cd14a8ce21704005a5efbbdc3e53841
Author: Alyssa Rosenzweig <[email protected]>
Date:   Thu May 25 13:22:42 2023 -0400

    agx: Use textures_used, not num_textures
    
    The latter doesn't account for holes. Fixes regression in Neverball on 
Asahi.
    
    Fixes: e607a89f ("mesa/main: ff-fragshader to nir")
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1c2ea99e2a100f14d4fcf6f59b108ec4520b312
Author: Alyssa Rosenzweig <[email protected]>
Date:   Sat May 20 23:21:57 2023 -0400

    agx: Constant fold when optimizing int64
    
    Otherwise we can get bcsel(false, ...) in the final optimized code, which 
isn't
    great.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9641fba9bab64d512a29acd97fcd8c4060427455
Author: Alyssa Rosenzweig <[email protected]>
Date:   Fri May 12 13:33:57 2023 -0400

    agx: Set support_16bit_alu
    
    Allows some more optimizations.
    
    Signed-off-by: Alyssa Rosenzweig <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23480>

Reply via email to