1. A computer system, comprising: a central processing unit; a graphics processing unit; memory configured to be accessed by the graphics processing unit during execution of commands; the central processing unit configured to execute an operating system that is configured to manage access by applications running on the central processing unit to resources in the computer system including the graphics processing unit and memory, the operating system configured to support an application programming interface that is configured to manage execution of commands by the graphics processing unit and through which the applications specify commands to the graphics processing unit, the commands including specifying shaders to be executed by the graphics processing unit and resources to be used by the shaders, the resources being configured to be accessed using root arguments having a structured defined by the application using a root signature, wherein the shader accesses resources specified by the root arguments.