Commit 46ff1755 authored by Rob Clark's avatar Rob Clark

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: default avatarRob Clark <robclark@freedesktop.org>
parent c3c43702
......@@ -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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment