Graphics scenegraph rendering for web applications using native code modules
First Claim
1. A computer-implemented method, comprising:
- loading a validated native code module into a secure runtime environment, the secure runtime environment preventing the native code module from accessing a graphics-processor unit (GPU);
creating a scenegraph from a graphics model;
generating, by the native code module, a set of rendering commands from the scenegraph;
transmitting the rendering commands from the native code module within the secure runtime environment to a trusted code module outside the secure runtime environment to provide graphics hardware acceleration, the trusted code module configured to communicate with the GPU;
providing, by the trusted code module, the rendering commands to the GPU; and
executing, using the GPU the provided rendering commands to render an image.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment provides a system that facilitates the execution of a web application. During operation, the system loads a native code module that includes a scenegraph renderer into a secure runtime environment. Next, the system uses the scenegraph renderer to create a scenegraph from a graphics model associated with the web application and generate a set of rendering commands from the scenegraph. The system then writes the rendering commands to a command buffer and reads the rendering commands from the command buffer. Finally, the system uses the rendering commands to render, for the web application, an image corresponding to the graphics model by executing the rendering commands using a graphics-processing unit (GPU).
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
loading a validated native code module into a secure runtime environment, the secure runtime environment preventing the native code module from accessing a graphics-processor unit (GPU); creating a scenegraph from a graphics model; generating, by the native code module, a set of rendering commands from the scenegraph; transmitting the rendering commands from the native code module within the secure runtime environment to a trusted code module outside the secure runtime environment to provide graphics hardware acceleration, the trusted code module configured to communicate with the GPU; providing, by the trusted code module, the rendering commands to the GPU; and executing, using the GPU the provided rendering commands to render an image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a graphics-processor unit (GPU); one or more processors; and a memory having instructions thereon that, when executed by the one or more processors, implements a secure runtime environment configured to execute a native code module, the secure runtime environment preventing the native code module from accessing the GPU, wherein the native code module is configured to; generate a set of rendering commands from a scenegraph based on a graphics model; and transmit the rendering commands from within the secure runtime environment to a trusted code module, the trusted code module being outside the secure runtime environment; and wherein the trusted code module is configured to communicate the rendering commands to the GPU, and wherein the GPU is configured to execute rendering commands received from the trusted code module to render an image corresponding to the graphics model. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium storing instructions that when executed by a computer system cause the computer system to perform a method, the method comprising:
-
loading a validated native code module into a secure runtime environment, the secure runtime environment preventing the native code module from accessing a graphics-processor unit (GPU); creating a scenegraph from a graphics model; generating, by the native code module, a set of rendering commands from the scenegraph; transmitting the rendering commands from the native code module within the secure runtime environment to a trusted code module outside the secure runtime environment to provide graphics hardware acceleration, the trusted code module configured to communicate with the GPU; and executing, using the GPU, the provided rendering commands to render an image. - View Dependent Claims (18, 19, 20)
-
Specification