1. A method for task scheduling on an accelerated processing device (APD), comprising: on a condition that the APD determines to enqueue one or more tasks, enqueuing, by enqueuing circuitry based on the APD, the one or more tasks in a memory storage device; and on a condition that the APD requests dequeuing by command processor circuitry based on the APD, dequeuing, by the command processor circuitry, the one or more queued tasks from the memory storage device; wherein the command processor circuitry retrieves the one or more queued tasks from the memory storage device and forwards the retrieved one or more queued tasks to a shader core of the APD for execution of the retrieved one or more tasks by the shader core.