Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vc4: Uniform lowering should insert instructions in the idom. #85

Open
anholt opened this issue Jan 16, 2018 · 0 comments
Open

vc4: Uniform lowering should insert instructions in the idom. #85

anholt opened this issue Jan 16, 2018 · 0 comments

Comments

@anholt
Copy link
Owner

anholt commented Jan 16, 2018

VC4 can't have two uniform reads in the same instruction. vc4_qir_lower_uniforms.c looks at the instructions using two uniforms and decides which uniform values should be moved to a separate MOV instruction. It tries to insert a minimal number of MOVs to get the job done, but unfortunately it inserts those MOVs at the top instead of in the idom of the instructions using them. This causes register allocation failures sometimes, particularly in conformance tests.

We should either insert into the idom, or insert separate MOVs in each basic block to reduce register pressure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant