At a computer system including one or more processors and system memory, the computer system also including a physical graphics processing unit, GPU, a method for providing a programmable GPU pipeline to a guest application executing in a child partition of a para-virtualized execution environment, the method comprising: an act of instantiating a virtual machine session, including instantiating a hypervisor that provides a root partition having access to the physical GPU, and the child partition which executes the guest application; an act of presenting a virtualized graphics processing unit, vGPU, to the guest application, the vGPU executing within the child partition, the vGPU including a legacy user mode driver and a user mode driver, UMD, executing in a user mode of said child partition of the para-virtualized execution environment, each user mode driver exposing device driver interfaces, DDIs, the legacy user mode driver exposing legacy DDIs corresponding to GPU functionality that is supported by a legacy rendering framework, the user mode driver exposing a plurality of DDIs corresponding to GPU functionality that is supported by a first rendering framework, and that is not supported by the legacy rendering framework, the vGPU further including a kernel-mode driver executing in a kernel-mode of the child partition of the para-virtualized execution environment, said kernel-mode driver including a processing component which is configured to process command buffers from the user mode driver, and a legacy processing component, which is configured to process command buffers from said legacy user mode driver, the plurality of DDIs providing an application programming interface that enables the guest application to send commands to the vGPU for programming a GPU pipeline of the physical GPU to utilize one or more features of the first rendering framework, including utilizing at least one of: a domain shader, a hull shader, or a geometric shader; an act of a render component executing within the root partition receiving at least one physical GPU-specific command from the vGPU for using one or more of a domain shader, a hull shader, or a geometric shader at the physical GPU; and an act of the render component scheduling the at least one physical GPU-specific command for execution at the physical GPU. an act of instantiating a virtual machine session, including instantiating a hypervisor that provides a root partition having access to the physical GPU, and the child partition which executes the guest application; an act of presenting a virtualized graphics processing unit, vGPU, to the guest application, the vGPU executing within the child partition, the vGPU including a legacy user mode driver and a user mode driver, UMD, executing in a user mode of said child partition of the para-virtualized execution environment, each user mode driver exposing device driver interfaces, DDIs, the legacy user mode driver exposing legacy DDIs corresponding to GPU functionality that is supported by a legacy rendering framework, the user mode driver exposing a plurality of DDIs corresponding to GPU functionality that is supported by a first rendering framework, and that is not supported by the legacy rendering framework, the vGPU further including a kernel-mode driver executing in a kernel-mode of the child partition of the para-virtualized execution environment, said kernel-mode driver including a processing component which is configured to process command buffers from the user mode driver, and a legacy processing component, which is configured to process command buffers from said legacy user mode driver, the vGPU including a legacy user mode driver and a user mode driver, UMD, executing in a user mode of said child partition of the para-virtualized execution environment, each user mode driver exposing device driver interfaces, DDIs, the legacy user mode driver exposing legacy DDIs corresponding to GPU functionality that is supported by a legacy rendering framework, the user mode driver exposing a plurality of DDIs corresponding to GPU functionality that is supported by a first rendering framework, and that is not supported by the legacy rendering framework, the legacy user mode driver exposing legacy DDIs corresponding to GPU functionality that is supported by a legacy rendering framework, the user mode driver exposing a plurality of DDIs corresponding to GPU functionality that is supported by a first rendering framework, and that is not supported by the legacy rendering framework, the vGPU further including a kernel-mode driver executing in a kernel-mode of the child partition of the para-virtualized execution environment, said kernel-mode driver including a processing component which is configured to process command buffers from the user mode driver, and a legacy processing component, which is configured to process command buffers from said legacy user mode driver, the plurality of DDIs providing an application programming interface that enables the guest application to send commands to the vGPU for programming a GPU pipeline of the physical GPU to utilize one or more features of the first rendering framework, including utilizing at least one of: a domain shader, a hull shader, or a geometric shader; an act of a render component executing within the root partition receiving at least one physical GPU-specific command from the vGPU for using one or more of a domain shader, a hull shader, or a geometric shader at the physical GPU; and an act of the render component scheduling the at least one physical GPU-specific command for execution at the physical GPU.