mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
freedreno/ir3: disable cp for indirect src's
The variable-indexing tests always had a few random fails, which I usually couldn't reproduce when running tests manually. Somehow recently this got a lot worse. I ported a couple of the shaders to GLES to see what blob does, and it also seems to be avoiding to cp indirect srcs. So I guess indirect w/ instructions other than cat1 (mov) are not totally reliable. Let's just switch that off until this is better understood. Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
parent
c3c4370299
commit
46ff17559b
1 changed files with 9 additions and 0 deletions
|
|
@ -102,6 +102,15 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
|
|||
(flags & IR3_REG_RELATIV))
|
||||
return false;
|
||||
|
||||
/* TODO it seems to *mostly* work to cp RELATIV, except we get some
|
||||
* intermittent piglit variable-indexing fails. Newer blob driver
|
||||
* doesn't seem to cp these. Possibly this is hw workaround? Not
|
||||
* sure, but until that is understood better, lets just switch off
|
||||
* cp for indirect src's:
|
||||
*/
|
||||
if (flags & IR3_REG_RELATIV)
|
||||
return false;
|
||||
|
||||
/* clear flags that are 'ok' */
|
||||
switch (opc_cat(instr->opc)) {
|
||||
case 1:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue