Skip to content

crocus: Fixes related to constant buffers

@airlied after trying to understand the rules for constant buffer usage with help of @kwg, I've got to these changes that I think might be applicable. Commit messages have the details of each one.

  • crocus: Only emit INSTPM for gfx8. It is not in the acceptable list of registers for gfx7, so is a noop.
  • crocus: Disable push constants for IVB. Combination of const buf0 need to be relative and the fact we can't skip it in the 3DSTATE_CONSTANT makes it tricky to get done, so disable it for now.
  • crocus: For gfx8 constant buffer 0 is not relative. Because of the INSTPM, we can now use the constant buffer 0, so tell the compiler that.

In particular, we were curious if the constants in the buffer 0 were working correctly for gfx7 (IVB), as the address needs to be relative but it isn't. Maybe we are missing something here?

Edited by Caio Oliveira

Merge request reports