Mesa (master): 21 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 14 13:14:51 UTC 2020


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f978e0e516c11df19573662844e2b39d89276813
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Dec 13 16:17:21 2019 +0000

    aco: add integer min/max to can_swap_operands
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f92a89a9798399e0641a319b543b426b0a2e9766
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Dec 11 16:10:26 2019 +0000

    aco: improve readfirstlane after uniform LDS loads
    
    Totals from affected shaders:
    SGPRS: 976 -> 968 (-0.82 %)
    VGPRS: 580 -> 584 (0.69 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 106032 -> 103076 (-2.79 %) bytes
    Max Waves: 237 -> 237 (0.00 %)
    Instructions: 19452 -> 18740 (-3.66 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92ace0bb31b782ac9ac9592bb62992169337fe22
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Mon Dec 9 21:20:10 2019 +0000

    aco: replace extract_vector with copies
    
    Helps a small number of small shaders with situations like this:
    a = p_create_vector ...
    b = p_extract_vector a, 3
    and copy propagation can't be done
    
    Totals from affected shaders:
    SGPRS: 14304 -> 14416 (0.78 %)
    VGPRS: 8716 -> 6592 (-24.37 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 184664 -> 176888 (-4.21 %) bytes
    Max Waves: 6260 -> 6260 (0.00 %)
    Instructions: 35561 -> 33617 (-5.47 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20d869079de085369eb269489b9b84d3ba8cc3b1
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Tue Dec 10 19:03:42 2019 +0000

    aco: allow input modifiers on v_cndmask_b32
    
    Totals from affected shaders:
    SGPRS: 594099 -> 594019 (-0.01 %)
    VGPRS: 441016 -> 441124 (0.02 %)
    Spilled SGPRs: 101 -> 101 (0.00 %)
    Spilled VGPRs: 18 -> 18 (0.00 %)
    Code Size: 30266652 -> 30125256 (-0.47 %) bytes
    Max Waves: 67044 -> 67057 (0.02 %)
    Instructions: 5753097 -> 5726607 (-0.46 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9405ceb8a73a1dda1ea00619d86427bd62b020c
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Dec 4 19:28:43 2019 +0000

    aco: don't move literal to reg when making an instruction VOP3 on GFX10
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 163398 -> 163398 (0.00 %)
    VGPRS: 143820 -> 143820 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 13065744 -> 13044308 (-0.16 %) bytes
    Max Waves: 18921 -> 18921 (0.00 %)
    Instructions: 2514644 -> 2509285 (-0.21 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e686e4765e15ede0119d2dba973666604acfe284
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 20:32:11 2019 +0000

    aco: add min(-max(), ) and max(-min(), ) optimization
    
    No pipeline-db changes.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa8357eb7008115413a9f3219e98a0f718687223
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 17:50:29 2019 +0000

    aco: improve clamp optimization
    
    Not sure why it checked the use count, it doesn't apply the constants.
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 269409 -> 269745 (0.12 %)
    VGPRS: 238120 -> 238132 (0.01 %)
    Spilled SGPRs: 305 -> 305 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 22908584 -> 22904672 (-0.02 %) bytes
    Max Waves: 20217 -> 20217 (0.00 %)
    Instructions: 4275312 -> 4263869 (-0.27 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 155409 -> 155233 (-0.11 %)
    VGPRS: 153072 -> 153072 (0.00 %)
    Spilled SGPRs: 269 -> 269 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 14650824 -> 14650396 (-0.00 %) bytes
    Max Waves: 9609 -> 9609 (0.00 %)
    Instructions: 2762802 -> 2755517 (-0.26 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=edc888ccb1177401a0592b37d822fea98a9905ce
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 20:58:59 2019 +0000

    aco: fix clamp optimization
    
    We can't do the optimization if there are neg/abs in-between.
    
    No pipeline-db changes.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f664cb01ecef34c6bc92d316b1bb4954ee362e84
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 15:18:38 2019 +0000

    aco: improve creation of v_madmk_f32/v_madak_f32
    
    Using needs_vop3 check was flawed because it would only combine the
    literal if the first operand is the literal. If the second or third
    operand is the literal, then needs_vop3 will be true and the literal will
    not be combined.
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 782051 -> 782051 (0.00 %)
    VGPRS: 630048 -> 630048 (0.00 %)
    Spilled SGPRs: 195 -> 195 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 54743740 -> 54585548 (-0.29 %) bytes
    Max Waves: 67340 -> 67340 (0.00 %)
    Instructions: 10182030 -> 10182030 (0.00 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 701990 -> 699590 (-0.34 %)
    VGPRS: 566632 -> 566784 (0.03 %)
    Spilled SGPRs: 218 -> 218 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 49173564 -> 49007856 (-0.34 %) bytes
    Max Waves: 59650 -> 59612 (-0.06 %)
    Instructions: 9315135 -> 9293330 (-0.23 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15e25da3e577745f5269f941d34da79a60cd144e
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Nov 20 16:42:17 2019 +0000

    aco: take advantage of GFX10's constant bus limit and VOP3 literals
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 2397159 -> 2392494 (-0.19 %)
    VGPRS: 1756036 -> 1753920 (-0.12 %)
    Spilled SGPRs: 461 -> 470 (1.95 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 110287304 -> 109946304 (-0.31 %) bytes
    Max Waves: 318341 -> 318475 (0.04 %)
    Instructions: 21019327 -> 20533618 (-2.31 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 0 -> 0 (0.00 %)
    VGPRS: 0 -> 0 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 0 -> 0 (0.00 %) bytes
    Max Waves: 0 -> 0 (0.00 %)
    Instructions: 0 -> 0 (0.00 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c2d37308fdd50586e746235b8c6a8e08cf6ffa3
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 13:47:54 2019 +0000

    aco: allow an extra SGPR with multiple uses to be applied to VOP3
    
    This is in a separate patch from the apply_sgprs() rewrite so that the
    rewrite can be more easily tested.
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 3056 -> 3056 (0.00 %)
    VGPRS: 1632 -> 1632 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 156468 -> 156304 (-0.10 %) bytes
    Max Waves: 288 -> 288 (0.00 %)
    Instructions: 29510 -> 29469 (-0.14 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 2984 -> 2984 (0.00 %)
    VGPRS: 1616 -> 1616 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 156132 -> 155968 (-0.11 %) bytes
    Max Waves: 289 -> 289 (0.00 %)
    Instructions: 29426 -> 29385 (-0.14 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4c2c90e1a227cb1a7a3d2f414f0bcc82b0cfa12
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 13:47:08 2019 +0000

    aco: allow applying two sgprs to an instruction
    
    We could create VALU instructions which read two sgprs, but only if isel
    created an instruction which already read one of them.
    
    This change is in a separate patch from the apply_sgprs() rewrite so that
    it can be tested if the rewrite affected anything.
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 216 -> 216 (0.00 %)
    VGPRS: 64 -> 64 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 1756 -> 1708 (-2.73 %) bytes
    Max Waves: 120 -> 120 (0.00 %)
    Instructions: 312 -> 300 (-3.85 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 216 -> 216 (0.00 %)
    VGPRS: 64 -> 64 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 1784 -> 1736 (-2.69 %) bytes
    Max Waves: 120 -> 120 (0.00 %)
    Instructions: 319 -> 307 (-3.76 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7da07ca3e43b92852715ab1c9b3848cb49bac567
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 14:17:27 2019 +0000

    aco: follow through temporary when merging tests into constant comparisons
    
    This can happen with v_mov_b32(s_mov_b32(literal))
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 632 -> 632 (0.00 %)
    VGPRS: 492 -> 492 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 77488 -> 76928 (-0.72 %) bytes
    Max Waves: 67 -> 67 (0.00 %)
    Instructions: 14426 -> 14332 (-0.65 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 632 -> 632 (0.00 %)
    VGPRS: 492 -> 492 (0.00 %)
    Spilled SGPRs: 0 -> 0 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 77512 -> 76952 (-0.72 %) bytes
    Max Waves: 67 -> 67 (0.00 %)
    Instructions: 14432 -> 14338 (-0.65 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc6c35e1c328f3f2db87d9ebd55f892527071683
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 14:34:24 2019 +0000

    aco: be more careful with literals in combine_salu_{n2,lshl_add}
    
    No pipeline-db changes.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcf52eb42d9b3b67a5b455b8146da10314077db7
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 14:50:41 2019 +0000

    aco: add check_vop3_operands()
    
    This will be useful when taking advantage of GFX10 features.
    
    No pipeline-db changes.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cef78797191a9200b8a616b096c41c11007772a9
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 14:55:25 2019 +0000

    aco: rewrite apply_sgprs()
    
    This will make it easier to apply two different sgprs (for GFX10) or apply
    the same sgpr twice (just remove the break).
    
    No pipeline-db changes.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0be7409069678016252fa0b29813c897adaf40fd
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 13:43:39 2019 +0000

    aco: rewrite literal combining
    
    Should make taking advantage of GFX10's increased constant bus limit and
    VOP3 literals easier.
    
    No pipeline-db changes
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84b9f3786b949c3a2b81d03687550a7530d4f71b
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri Nov 22 15:00:04 2019 +0000

    aco: improve can_use_VOP3()
    
    No pipeline-db changes
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3cb98ed939e0607b6342301e20f42e66d36879a6
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Nov 20 16:31:43 2019 +0000

    aco: combine two sgprs into a VALU if they're the same
    
    This was supposed to be done before but it wasn't done correctly and
    everywhere.
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 784680 -> 786128 (0.18 %)
    VGPRS: 574012 -> 573892 (-0.02 %)
    Spilled SGPRs: 461 -> 461 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 45477088 -> 45478172 (0.00 %) bytes
    Max Waves: 81294 -> 81277 (-0.02 %)
    Instructions: 8657970 -> 8622483 (-0.41 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 780664 -> 782072 (0.18 %)
    VGPRS: 573880 -> 573760 (-0.02 %)
    Spilled SGPRs: 629 -> 629 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 45445244 -> 45448340 (0.01 %) bytes
    Max Waves: 81178 -> 81161 (-0.02 %)
    Instructions: 8649902 -> 8614918 (-0.40 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c240c1aecfdf46f6bb9b0956df6f4ab8a609dfdf
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Wed Nov 20 19:09:25 2019 +0000

    aco: apply literals to split mads
    
    Removing the return is also needed to apply literals to mads (which can be
    done on GFX10).
    
    pipeline-db (Navi):
    Totals from affected shaders:
    SGPRS: 368787 -> 367555 (-0.33 %)
    VGPRS: 312436 -> 312448 (0.00 %)
    Spilled SGPRs: 461 -> 461 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 26113388 -> 26098260 (-0.06 %) bytes
    Max Waves: 35982 -> 35982 (0.00 %)
    Instructions: 5038670 -> 5028941 (-0.19 %)
    
    pipeline-db (Vega):
    Totals from affected shaders:
    SGPRS: 369843 -> 368659 (-0.32 %)
    VGPRS: 317224 -> 317196 (-0.01 %)
    Spilled SGPRs: 629 -> 629 (0.00 %)
    Spilled VGPRs: 0 -> 0 (0.00 %)
    Code Size: 26310540 -> 26295156 (-0.06 %) bytes
    Max Waves: 36324 -> 36326 (0.01 %)
    Instructions: 5073957 -> 5064164 (-0.19 %)
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f10e48745e730137d1231a6b6754d2efe803247
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Mon Nov 25 16:12:44 2019 +0000

    aco: update IR validator
    
    GFX10 increased the constant bus limit and allowed literals on VOP3
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2883>



More information about the mesa-commit mailing list