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.