A method and system for controlling the algorithmic elements in 3D
graphics systems via an improved 3D graphics API is provided. In one
aspect, in a 3D graphics system having privatized formats with privatized
drivers used to increase the efficiency of display, existing problems are
eliminated that are associated with multiple redundant copies of the
publicly formatted graphics data made in host system memory pursuant to
various graphics operations e.g., lock and unlock operations. The ability
to make a system copy of publicly formatted data is exposed to the
developer, eliminating the creation of unnecessary, and redundant copies.
Efficient switching between the privatized and public format remains
hidden from the developers so that applications execute efficiently while
removing consideration thereof from the developers. Thus, developers are
free to consider other tasks. In the event that a developer wishes to
make a copy of the data, the data is copied pursuant to an operation that
the developer calls and over which the developer has control, ensuring
that multiple redundant copies of the graphics data are not made in host
system memory.