  Fault-tolerant logic gates will consume a large proportion of the resources
of a two-dimensional quantum computing architecture. Here we show how to
perform a fault-tolerant non-Clifford gate with the surface code; a quantum
error-correcting code now under intensive development. This alleviates the need
for distillation or higher-dimensional components to complete a universal gate
set. The operation uses both local transversal gates and code deformations over
a time that scales with the size of the qubit array. An important component of
the gate is a just-in-time decoder. These decoding algorithms allow us to draw
upon the advantages of three-dimensional models using only a two-dimensional
array of live qubits. Our gate is completed using parity checks of weight no
greater than four. We therefore expect it to be amenable with near-future
technology. As the gate circumvents the need for magic-state distillation, it
may reduce the resource overhead of surface-code quantum computation
considerably.
