freedreno/a6xx: Remove shader key from fd6_emit
authorRob Clark <robdclark@chromium.org>
Mon, 2 Jan 2023 21:36:55 +0000 (13:36 -0800)
committerMarge Bot <emma+marge@anholt.net>
Wed, 11 Jan 2023 19:06:17 +0000 (19:06 +0000)
commit1b8bed38eb40c71a9973d6ea7c9294fa077bee7a
treeeb081c2b81e48304f099cd7511e2e3a0ca96481d
parent7b734cc6683fc1dbd1338a37555861f5f8cd9680
freedreno/a6xx: Remove shader key from fd6_emit

Only construct the key on-demand if the PROG state is dirty.  The newly
added "virtual" PROG_KEY state is used to know when other state that the
shader key depends on changes.  Worth ~13% at drawoverhead test 0.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20572>
src/gallium/drivers/freedreno/a6xx/fd6_const.c
src/gallium/drivers/freedreno/a6xx/fd6_context.c
src/gallium/drivers/freedreno/a6xx/fd6_draw.c
src/gallium/drivers/freedreno/a6xx/fd6_emit.c
src/gallium/drivers/freedreno/a6xx/fd6_emit.h