Patent ID: 8711159

Claim:
A method for emulating a graphics processing unit (GPU), the method comprising: executing a graphics application on a host computing system to generate commands for a target GPU, wherein the host computing system comprises host system memory, a host central processing unit (CPU), and a host GPU; converting the generated commands into intermediate commands at a command processor of a virtual GPU emulator, the virtual GPU emulator emulates the target GPU through communication with the host GPU and the host CPU, the intermediate commands providing calls to a shader manager and a resource manager of the virtual GPU emulator; based on one or more calls to the shader manager that call for one or more shaders, caching one or more corresponding shaders in a shader cache in the host system memory; based on one or more calls to the resource manager that call for one or more resources, caching one or more corresponding resources in a resource cache in the host system memory; based on the intermediate commands, generating output commands for the host GPU; and based on the output commands for the host GPU, rendering graphics using the host GPU, wherein a first group of output commands that call for one or more shaders access the one or more corresponding shaders in the shader cache, and wherein a second group of output commands that call for one or more resources access the one or more corresponding resources in the resource cache.