summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/vc4/vc4_qir_validate.c
AgeCommit message (Collapse)AuthorFilesLines
2016-11-29vc4: Restructure texture insts as ALU ops with tex_[strb] as the dst.Eric Anholt1-0/+24
For now we're still just generating MOVs, but this will let us fold into other ops in the future. No difference on shader-db.
2016-11-29vc4: Refactor qir_get_op_nsrc(enum qop) to qir_get_nsrc(struct qinst *).Eric Anholt1-1/+1
Every caller was dereffing the qinst, and this will let us make the number of sources vary depending on the destination of the qinst so that we can have general ALU ops that store to tex_[strb] and get an implicit uniform.
2016-08-25vc4: Add a QIR value for the QPU element register.Eric Anholt1-0/+2
This will be used in the ddx/ddy support for "Am I the top half?" or "Am I the left half?" checks.
2016-07-12vc4: Add a "qir_for_each_inst_inorder" macro and use it in many places.Eric Anholt1-1/+1
We have the prior list_foreach() all over the code, but I need to move where instructions live as part of adding support for control flow. Start by just converting to a helper iterator macro. (The simpler "qir_for_each_inst()" will be used for the for-each-inst-in-a-block iterator macro later)
2016-05-31vc4: Fix compiler warnings in fail_instr path of QIR validate passRhys Kidd1-10/+10
Introduced in 8e2d0843c02daf5280184f179ae8ed440ac90d7f. Signed-off-by: Rhys Kidd <rhyskidd@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2016-05-06vc4: Add support for loading immediate values in QIR.Eric Anholt1-0/+2
This will be used for resetting the uniform stream in the presence of branching, but may also be useful as an optimization to reduce how many uniforms we have to copy out per draw call (in exchange for increasing icache pressure).
2016-05-06vc4: Add a small QIR validate pass.Eric Anholt1-0/+123
This has caught a couple of bugs during loop development so far, and I should probably have written it long ago.