aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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-294-0/+57
| | | | | | | | | 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>
* panfrost: Preload gl_FragCoord on BifrostAlyssa Rosenzweig2020-05-291-1/+4
| | | | | | | | It's a precoloured register but we do need to specify in the cmdstream that we want the preloading to happen. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267>
* panfrost: Set reads_frag_coord as a sysvalAlyssa Rosenzweig2020-05-291-0/+3
| | | | | | | | In addition to parsing out the varying. This is needed so it works on Bifrost as well. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267>
* panfrost: Don't generate gl_FragCoord varying on BifrostAlyssa Rosenzweig2020-05-291-5/+7
| | | | | | | It's treated as a sysval there, so that's silly. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5267>
* freedreno/a6xx: fix vsc assertRob Clark2020-05-291-2/+1
| | | | | | | | | Fixes a debug build assert seeing with an android app. Not quite sure which path was passing us draw_info w/ instance_count==0. But we should just treat non-instanced draws as having a single instance. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5091>
* freedreno/a6xx: Program VFD_DEST_CNTL from program stateobjKristian H. Kristensen2020-05-292-19/+14
| | | | | | This only depends on the generated shader. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140>
* freedreno/a6xx: Create stateobj for VFD_DECODEKristian H. Kristensen2020-05-295-23/+71
| | | | | | | This now only depends on vertex state and we can create it once up front in pctx->create_vertex_elements_state(). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140>
* freedreno/a6xx: Decouple VFD_FETCH and VFD_DECODEKristian H. Kristensen2020-05-291-22/+14
| | | | | | | | | | | We used to output a VFD_FETCH entry for each VFD_DECODE, but we can instead output just one VFD_FETCH per VBO and point multiple VFD_DECODE entries at the same VFD_FETCH entry. There's typically fewer VBOs than vertex elements so this is a small win in itselfs, but more importantly, the VFD_DECODE state now only depends on program state. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140>
* freedreno/a6xx: Move per element offset to VFD_DECODEKristian H. Kristensen2020-05-291-1/+2
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5140>
* ci: Rename x86_cross_arm_test to just arm_test.Eric Anholt2020-05-292-8/+8
| | | | | | | | | This gets us back to the behavior we used to have for freedreno: clicking play on arm_test gets you testing of the ARM platforms that aren't under arm-build (the LAVA runners). Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* ci: Don't build an arm_test container now that the last user is gone.Eric Anholt2020-05-292-88/+0
| | | | | | | db410c and cheza used to use it, and now both are on baremetal. Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* ci: Switch cheza (freedreno a630) testing to baremetal.Eric Anholt2020-05-291-22/+40
| | | | | | | | | | | | | | | | | | | | | | | | Now that we have scripts in place to do baremetal testing of cheza, switch it over. As of this writing, we have 5 chezas for baremetal and 4 for the old docker CI setup (just 2 fewer than we originally had before this work, since some had had filesystem failures and I switched those first), and once we are sure of this we can backport to stable branch CI and move the rest of them to baremetal. I've run a lot of jobs through the baremetal scripts as I worked on sorting out vulkan CTS stability, so I feel good about the stability of the GLES CTS here. The options job is now split out to separate jobs, as we don't currently have a way to stack multiple sets deqp runs with different env vars in a single baremetal run, and just chaining cros_servo.sh invocations runs into a lack of cleanup of the serial-watching scripts which we rely on container exit sorting out for us. This means a little less than 2x the artifacts downloads we had before for a630 and a few more container instantiations. Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* ci: Add scripts for controlling bare-metal chezas.Eric Anholt2020-05-295-73/+232
| | | | | | | | | | | | This will let us: - deploy kernels for testing code depending on new kernel featuers - Ensure a pristine state in the HW before starting our tests - Avoid disk rot on the chezas taking them out (we'd lost 3/9 in a few months). Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* ci: Build a cheza kernel.Eric Anholt2020-05-294-6/+50
| | | | | | | | | | | | | | | | | | This is a set of kernel options I've come up with mostly cribbing from chrome os's kernel config snippet. We also build an lzma kernel, as uncompressed kernel is big but lzma is the only compression supported by the bootloader. With that image, we have to pack it into a FIT formatted image+dtb blob. CONFIG_SUNRPC_DEBUG is added so that you can set "nfsrootdebug" to figure out what's going wrong with your nfs mount (mine were "both the tcp and nfsvers options were required, and don't try to use 'default' as the root path to defer to DHCP's answer because otherwise you get /tftpboot/default, just use an empty root path which doesn't prepend /tftpboot.") Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* ci: Disable the firmware loader user helper option in arm64 kernels.Eric Anholt2020-05-292-2/+3
| | | | | | | | We won't have a user helper, so don't block for 60 seconds for it to show up. Speeds up debug of new kernel builds. Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5247>
* radv/aco: enable VK_KHR_subgroup_extended_types on GFX8+Samuel Pitoiset2020-05-293-2/+3
| | | | | | | | Should be working now. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5148>