This was fixed by ef2908462d. I misremembered when writing that commit's message; we don't actually invalidate STATE_SAMPLER when binding an SRV. Hence the code was not just "fragile" but in fact already broken.
ef2908462d