A method of graphics processing, comprising: determining a state for each graphics state group of a plurality of graphics state groups; determining whether at least one graphics state group of the plurality of graphics state groups includes a changed state based on a previous draw call and a current draw call; and communicating state information for the at least one graphics state group of the plurality of graphics state groups when the at least one graphics state group includes a changed state, wherein the state information includes information regarding the state of the at least one graphics state group, wherein: communicating the state information for the at least one graphics state group of the plurality of graphics state groups further comprises transmitting, by a central processing unit, CPU, the state information for the at least one graphics state group of the plurality of graphics state groups to a graphics processing unit, GPU, the method further comprising: determining whether one or more graphics state groups of the plurality of graphics state groups include an unchanged state; and copying the state for each of the one or more graphics state groups of the plurality of graphics state groups from the previous draw call to the current draw call when the one or more graphics state groups include an unchanged state, wherein the state for each of the one or more graphics state groups including the unchanged state is copied by a command processor, CP, of the GPU, during a visibility pass. determining a state for each graphics state group of a plurality of graphics state groups; determining whether at least one graphics state group of the plurality of graphics state groups includes a changed state based on a previous draw call and a current draw call; and communicating state information for the at least one graphics state group of the plurality of graphics state groups when the at least one graphics state group includes a changed state, wherein the state information includes information regarding the state of the at least one graphics state group, wherein: communicating the state information for the at least one graphics state group of the plurality of graphics state groups further comprises transmitting, by a central processing unit, CPU, the state information for the at least one graphics state group of the plurality of graphics state groups to a graphics processing unit, GPU, the method further comprising: determining whether one or more graphics state groups of the plurality of graphics state groups include an unchanged state; and copying the state for each of the one or more graphics state groups of the plurality of graphics state groups from the previous draw call to the current draw call when the one or more graphics state groups include an unchanged state, wherein the state for each of the one or more graphics state groups including the unchanged state is copied by a command processor, CP, of the GPU, during a visibility pass. determining whether one or more graphics state groups of the plurality of graphics state groups include an unchanged state; and copying the state for each of the one or more graphics state groups of the plurality of graphics state groups from the previous draw call to the current draw call when the one or more graphics state groups include an unchanged state, wherein the state for each of the one or more graphics state groups including the unchanged state is copied by a command processor, CP, of the GPU, during a visibility pass.