1. A computer system, comprising: a central processing unit; a graphics processing unit; memory accessible by the graphics processing unit during execution of commands; the central processing unit executing an operating system that manages 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 supporting an application programming interface managing 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 accessed using descriptors stored in the memory, the descriptors being stored in one or more descriptor heaps referenced by one or more descriptor tables, with a descriptor table being defined as a range within a descriptor heap, wherein the shader receives an indication of a descriptor table specifying the descriptors for resources to be accessed.