Skip to content

r300: disable PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF

We can't do uniform buffer objects and from the hardware perspective constants (uniforms) and immediates are treated in the same way. They are uploaded together and fit together into the (rather low) total constant limit. Therefore, there is actually no advantage in converting immediates to uniforms, and a whole lot of disadvantages (less possible optimizations and no inlining).

Fixes the dEQP regressions from !16770 (merged)

The tests failed because when there is an indirect array access the compiler inserts a big if ladder and converting the temp to a uniform means more instructions because the ifs cant be lowered at least partially to selects. It is particularly visible, because the code NIR currently emits for the indirect access doesn't really fit the hardware, see: #6366 (closed)

No change in my shader-db, so this concerns the tests only.

Signed-off-by: Pavel Ondračka pavel.ondracka@gmail.com

Merge request reports