aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost
Commit message (Collapse)AuthorAgeFilesLines
* pan/bi: Disassemble gl_PointCoord reads.Alyssa Rosenzweig2020-06-031-1/+3
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5290>
* pan/bi: Handle vectorized load_constAlyssa Rosenzweig2020-06-031-4/+13
| | | | | | | In preparation for 16-bit vectors. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
* pan/bi: Passthrough second argument of F32_TO_F16Alyssa Rosenzweig2020-06-031-0/+20
| | | | | | | | At the NIR level this is a second vector source of the first (only) argument; at the BIR level this is a pair of scalars. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
* pan/bi: Pack second argument of F32_TO_F16Alyssa Rosenzweig2020-06-031-4/+6
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
* pan/bi: Fix SEL.16 swizzleAlyssa Rosenzweig2020-06-031-4/+4
| | | | | | | 2 scalar arguments, not 1 vector. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
* pan/bi: Handle SEL with vec3 16-bitAlyssa Rosenzweig2020-06-031-0/+4
| | | | | | | Otherwise we end up with a missing argument. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5307>
* meson: use gnu_symbol_visibility argumentDylan Baker2020-06-011-2/+2
| | | | | | | | | | This uses a meson builtin to handle -fvisibility=hidden. This is nice because we don't need to track which languages are used, if C++ is suddenly added meson just does the right thing. Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
* pan/bi: Passthrough deps of the branch targetAlyssa Rosenzweig2020-05-291-2/+16
| | | | | | | Now that we have the infrastructure, follow the branch. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Allow two successors in header packingAlyssa Rosenzweig2020-05-291-7/+14
| | | | | | | We need to take the union of the dependencies. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Measure backwards branches as wellAlyssa Rosenzweig2020-05-291-1/+26
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add bi_foreach_block_from_rev helperAlyssa Rosenzweig2020-05-291-0/+3
| | | | | | | Needed for next commit. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Defer block naming until after emitAlyssa Rosenzweig2020-05-292-3/+7
| | | | | | | This ensures names are meaningful. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Pack unconditional branchAlyssa Rosenzweig2020-05-291-1/+30
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Set branch conditional bitAlyssa Rosenzweig2020-05-291-1/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Set back-to-back bit more accuratelyAlyssa Rosenzweig2020-05-291-1/+35
| | | | | | | | See Connor's ISA notes. Basically set unless it's a branch (explicit or fallthrough). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Set branch_conditional if b2b is setAlyssa Rosenzweig2020-05-291-1/+1
| | | | | | | Match the blob. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Pack proper clause offsetsAlyssa Rosenzweig2020-05-291-0/+20
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Measure distance between blocksAlyssa Rosenzweig2020-05-292-0/+47
| | | | | | | For branch offset calculation. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add bi_foreach_clause_in_block_from{_rev} helpersAlyssa Rosenzweig2020-05-291-0/+6
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Link clauses back to their blocksAlyssa Rosenzweig2020-05-292-0/+6
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Preliminary branch packingAlyssa Rosenzweig2020-05-292-1/+37
| | | | | | | Simple == 0 branch packing. Offset is still to-do. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Assign constant port for branch offsetsAlyssa Rosenzweig2020-05-291-0/+18
| | | | | | | By convention. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Set branch_constant if there is a branchAlyssa Rosenzweig2020-05-291-0/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Pack branch offset constantsAlyssa Rosenzweig2020-05-291-1/+22
| | | | | | | | This is not fully generic but for a single constant it will do. Extensions left for future work. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add branch constant field to IRAlyssa Rosenzweig2020-05-292-0/+9
| | | | | | | | | The offsets used for branches need some extra bits twiddled, so add a field to the clause to indicate this is happening. This is not ambiguous since a clause can only have a single branch. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Passthrough ZERO in branch packingAlyssa Rosenzweig2020-05-291-0/+1
| | | | | | | There's a special mode for it. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Fix branch condition typesizeAlyssa Rosenzweig2020-05-291-1/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Fix CONVERT component countingAlyssa Rosenzweig2020-05-291-1/+10
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Only rewrite COMBINE dest if not SSAAlyssa Rosenzweig2020-05-291-2/+4
| | | | | | | | | | | | | | If it's already a register, there's no point in rewriting and it will disturb the existing register, i.e. for if (..) { r0 = vecN .. } else { r0 = vecN .. } Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Fix emit_if successor assignmentAlyssa Rosenzweig2020-05-291-4/+2
| | | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Fixes: 9a00cf3d1ef ("pan/bi: Add support for if-else blocks") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Allow printing branches without targetsAlyssa Rosenzweig2020-05-291-2/+5
| | | | | | | Useful for debugging codegen. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Remove schedule_barrierAlyssa Rosenzweig2020-05-291-15/+0
| | | | | | | Legacy from Midgard. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add helper to measure clause sizeAlyssa Rosenzweig2020-05-292-0/+41
| | | | | | | Useful for branching. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add bi_layout.c for clause layout helpersAlyssa Rosenzweig2020-05-293-0/+56
| | | | | | | | | Figuring out what "shapes" of clauses are kosher happens during scheduling, not packing, but shouldn't distract the scheduler. So let's add a new file for these sorts of questions. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Remove more artefacts of 2-pass schedulingAlyssa Rosenzweig2020-05-292-20/+4
| | | | | | | A clause is, by definition, already scheduled. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add MUL.i32 to disasmAlyssa Rosenzweig2020-05-291-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Disassemble pos=0xeAlyssa Rosenzweig2020-05-291-0/+3
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Document constant count invariantAlyssa Rosenzweig2020-05-291-1/+7
| | | | | | | constants + instructions <= 13 Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Move bi_flip_ports out of port assignmentAlyssa Rosenzweig2020-05-291-8/+16
| | | | | | | | It's more of a packing fixup than anything scheduler-y, and port assignment will soon be the domain of the scheduler. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Add FILE* argument to bi_print_registersAlyssa Rosenzweig2020-05-293-6/+6
| | | | | | | In case we need it in general IR printing. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Drop `struct` from bi_registersAlyssa Rosenzweig2020-05-294-53/+53
| | | | | | | It's a full-fledged part of the IR now. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Move bi_registers to bi_bundleAlyssa Rosenzweig2020-05-292-35/+35
| | | | | | | Make it a part of the IR itself. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Move bi_registers to common IR structuresAlyssa Rosenzweig2020-05-294-44/+45
| | | | | | | | Port assignments are critical to scheduling, this can't just live in bi_pack. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Remove comment about old scheduler designAlyssa Rosenzweig2020-05-291-5/+1
| | | | | | | I've realized it really has to be 1-pass to be sane. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Remove FMA? parameter from get_srcAlyssa Rosenzweig2020-05-291-66/+66
| | | | | | | We can lower away zeroes a bit earlier. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260>
* pan/bi: Initialize struct fma_op_info member extended.Vinson Lee2020-05-271-0/+1
| | | | | | | | | | | | | Fix warning reported by Coverity Scan. Uninitialized scalar variable (UNINIT) uninit_use: Using uninitialized value info. Field info.extended is uninitialized. Fixes: 8c79c710d4e1 ("pan/bi: Identify extended FMA opcodes") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5224>
* pan/bi: Suppress inf/nan for nowAlyssa Rosenzweig2020-05-271-0/+2
| | | | | | | | This is a (hopefully temporary) hack. The blob does it for ES2 at any rate. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232>
* pan/bi: Add CSEL.16 packing testsAlyssa Rosenzweig2020-05-272-4/+18
| | | | | | | Passing but let's increase coverage. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232>
* pan/bi: Pack compact vertex texturingAlyssa Rosenzweig2020-05-272-14/+15
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232>
* pan/bi: Add f16 TEXC.vtx opAlyssa Rosenzweig2020-05-272-1/+7
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5232>