An apparatus configured to process graphics data, the apparatus comprising: a fixed hardware pipeline configured to execute one or more functions on a current set of graphics data, the fixed hardware pipeline comprising a plurality of stages including a bypassable portion (304a-n) of the plurality of stages; a shortcut circuit configured to route the current set of graphics data around the bypassable portion (304a-n) of the plurality of stages; and a controller (308, 310) positioned before the bypassable portion (304a-n) of the plurality of stages, the controller (308, 310) configured to: analyze instructions for a subsequent set of graphics data that is to be processed after the current set of graphics data to determine whether the subsequent set of graphics data requires a function performed by the bypassable portion (304a-n) of the plurality of stages; and selectively route the current set of graphics data to one of the shortcut circuit or the bypassable portion (304a-n) of the plurality of stages, wherein if the current set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages and the analysis of the instructions for the subsequent set of graphics data indicates that the subsequent set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages, the current set of graphics data is routed to the shortcut circuit only if the bypassable portion (304a-n) of the plurality of stages is not currently processing data. a fixed hardware pipeline configured to execute one or more functions on a current set of graphics data, the fixed hardware pipeline comprising a plurality of stages including a bypassable portion (304a-n) of the plurality of stages; a shortcut circuit configured to route the current set of graphics data around the bypassable portion (304a-n) of the plurality of stages; and a controller (308, 310) positioned before the bypassable portion (304a-n) of the plurality of stages, the controller (308, 310) configured to: analyze instructions for a subsequent set of graphics data that is to be processed after the current set of graphics data to determine whether the subsequent set of graphics data requires a function performed by the bypassable portion (304a-n) of the plurality of stages; and selectively route the current set of graphics data to one of the shortcut circuit or the bypassable portion (304a-n) of the plurality of stages, wherein if the current set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages and the analysis of the instructions for the subsequent set of graphics data indicates that the subsequent set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages, the current set of graphics data is routed to the shortcut circuit only if the bypassable portion (304a-n) of the plurality of stages is not currently processing data. analyze instructions for a subsequent set of graphics data that is to be processed after the current set of graphics data to determine whether the subsequent set of graphics data requires a function performed by the bypassable portion (304a-n) of the plurality of stages; and selectively route the current set of graphics data to one of the shortcut circuit or the bypassable portion (304a-n) of the plurality of stages, wherein if the current set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages and the analysis of the instructions for the subsequent set of graphics data indicates that the subsequent set of graphics data does not require a function performed by the bypassable portion (304a-n) of the plurality of stages, the current set of graphics data is routed to the shortcut circuit only if the bypassable portion (304a-n) of the plurality of stages is not currently processing data.