broadcom: fix scheduling dependencies for SETMSF instruction
What does this MR do and why?
We use SETMSF to implement discard, so we need to ensure that any TMU writes after a SETMSF don't actually execute. We emit a TMU flush before a discard but we also need to ensure that the QPU scheduler honors this.
Fixes some tests in dEQP-VK.spirv_assembly.instruction.terminate_invocation.* when we expose the extension that would otherwise fail because the QPU scheduler would incorrectly move some image writes emitted after a SETMSF before the SETMSF instruction.