1. A graphics processor configured to produce data for multiple output buffers, each output buffer associated with a unique output buffer identifier, comprising:
an execution pipeline configured to process graphics data to produce processed graphics data for the multiple output buffers and determine at least one output buffer identifier associated with the processed graphics data the data being stored in a buffer selected among the multiple output buffers by the unique output buffer identifier;
a read interface configured to read processed graphics data associated with an output buffer identifier from an output buffer stored in a memory;
a conflict detection unit configured to prevent position conflicts; and
a write interface configured to write processed graphics data associated with at least one output buffer identifier to an output buffer stored in the memory wherein the at least one output buffer identifier is determined by a fragment program executed in the execution pipeline, the fragment program processing first and second separated fragments within a surface, each of the fragments being written to a different one of the multiple output buffers based on a computed function within the pipeline.
2. The graphics processor of claim 1, further comprising a rasterizer configured to process graphics data to produce fragment data.
3. The graphics processor of claim 1, wherein the output buffer identifier is readable and writable by the execution pipeline.
4. The graphics processor of claim 3 including a fragment processing unit configured to process the first and second fragments in parallel pipelines, the fragment program including a flush instruction to prevent accepting new data until all pending write operations from the output buffers to a raster operations unit are complete.
5. The graphics processor of claim 1, wherein any of the multiple output buffers is selected for display.
6. The graphics processor of claim 1, wherein the execution pipeline outputs data to one or more of the multiple output buffers, the unique output buffer identifier determining a base memory address of the selected output buffer.
7. The graphics processor of claim 6 wherein a memory location within the selected output buffer is computed based on the base memory address and an x, y position within the selected output buffer.
8. The graphics processor of claim 7 including a pixel input buffer configured to receive fragments from the output buffers and providing them to the parallel pipelines for processing based on the buffer identifier associated with each of the fragments.
9. The graphics processor of claim 1, wherein the execution pipeline determines position coordinates associated with the processed fragment data, the position coordinates identifying a specific location in an output buffer.
10. The graphics processor of claim 1, wherein the graphics processor resides within a computing system including a host processor.
11. The graphics processor of claim 1 wherein the selected output buffer is associated with the unique identifier to differentiate it from another of the output buffers.
12. A method of processing graphics data for multiple output buffers the data being stored in a buffer selected among the multiple output buffers by the unique output buffer identifier, comprising:
reading data from an output buffer using the unique output buffer identifier to provide input data;
processing fragment data and the input data read from the output buffer as specified by a fragment program to produce processed fragment data for the multiple output buffers;
determining an output buffer identifier associated with each of the separate fragments of the processed fragment data; and
storing each of the fragments of the processed fragment data in an output buffer corresponding to the associated output buffer identifier wherein the at least one output buffer identifier is determined by a fragment program executed in the execution pipeline, the fragment program processing first and second separated fragments within a surface, each of the fragments being written to a different one of the multiple output buffers based on a computed function within the pipeline.
13. The method of claim 12, further comprising:
determining position coordinates corresponding to a specific location in the output buffer.
14. The method of claim 12, further comprising:
processing the graphics data to produce primitive data; and
storing the primitive data in an output buffer.
15. The method of claim 14, wherein a first portion of the fragment data is associated with a first light source and another portion of the fragment data is associated with a second light source, a separate shader map being defined for each of the first and second light sources and stored in a separate one of the output buffers associated with one of the unique buffer identifiers.
16. The method of claim 14, further comprising comparing the depth data to a portion of the processed fragment data to perform depth peeling, and storing for each of the fragments a color in one of the buffers identified by a unique identifier and depth in another of the output buffers identified by a unique identifier, the fragments and the depth and the color being accessed for further processing based on the unique identifiers.
17. The method of claim 12, wherein the data read from the output buffer is primitive data and the primitive data is processed to produce the fragment data.
18. The method of claim 12, wherein the processed fragment data stored in the output buffer includes fragment depth data, the depth data being stored in separate ones of the multiple output buffers specified by an output buffer identifier, the depth data being processed again with the fragment data so that only visible fragments are shaded and displayed.
19. The method of claim 18, wherein the processed fragment data is a shadow map.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An apparatus for handling the removable cover of an upstanding container, the apparatus comprising:
a pressing member movably mounted to apply a downward force on the cover, and
a movably mounted gripper adapted to grip the cover and dislodge it from the container.
2. An apparatus according to claim 1, wherein the pressing member is mounted for vertical movement.
3. An apparatus according to claim 2, wherein a rotary connection joins the cover to the container, and the gripper has a rotatably mounted head with a plurality of spaced gripping portions that together are adapted to grip the cover and unscrew it from the container.
4. An apparatus according to claim 3, wherein the head is adapted to move upwardly as the cover is unscrewed and moves upwardly.
5. An apparatus according to claim 3, wherein the pressing member is mounted for vertical movement between the gripping portions to press downwardly on the central portion of the cover.
6. An apparatus according to claim 5, wherein the pressing member comprises a plunger that moves vertically through a central opening in the head.
7. An apparatus according to claim 6, comprising a linear actuator for moving the plunger downwardly, and a return spring for retracting the plunger when the linear actuator is deactivated.
8. An apparatus according to claim 6, wherein the gripping portions comprise at least two depending tapered legs adapted to engage the periphery of the cover.
9. An apparatus according to claim 8, wherein the gripping portions comprise four depending tapered legs.
10. An apparatus according to claim 2, further comprising a controller coordinating movement of the gripper and the pressing member.
11. An apparatus according to claim 10, wherein the controller first causes the gripper to contact the cover, then causes the pressing member to press downwardly on the cover, and then causes the gripper to dislodge the cover from the container.
12. An apparatus according to claim 11, wherein the controller causes the pressing member to move downwardly and eject the cover from the gripper after the cover has been dislodged from the container and the container is clear of the gripper.
13. An apparatus according to claim 10, wherein the controller causes the pressing member to move downwardly and eject the cover from the gripper after the cover has been dislodged from the container and the container is clear of the gripper.
14. An apparatus according to claim 13, wherein the head is mounted for movement relative to the container, and the controller causes the head to move so that it is clear of the container before the cover is ejected from the gripper.
15. An apparatus for handling a container having a removable cover, the container having therein an internal element that is releasably coupled to the cover, the apparatus comprising:
means for applying an external force to the covered container sufficient to release the internal element from the cover, and
a movably mounted gripper adapted to grip the cover and dislodge it from the container.
16. An apparatus according to claim 15, wherein the external force applying means applies an external force directly on the cover.
17. An apparatus according to claim 16, wherein a rotary connection joins the cover to the container, and the gripper has a rotatably mounted head adapted to grip the cover and unscrew it from the container.
18. An apparatus according to claim 17, wherein the head is adapted to move away from the container as the cover is unscrewed and moves away from the container.
19. An apparatus according to claim 16, further comprising a controller coordinating movement of the gripper and the pressing member.
20. An apparatus according to claim 19, wherein the controller first causes the gripper to contact the cover, then causes the external force applying means to exert a force on the cover, and then causes the gripper to dislodge the cover from the container.
21. A method for handling a container having a removable cover, the container having therein an internal element that is releasably coupled to the cover, the method comprising the steps of applying an external force to the covered container sufficient to release the internal element from the cover, and then dislodging the cover from the container.
22. A method according to claim 21, wherein the force applying step comprises applying an acceleration force to the container.
23. A method according to claim 22, wherein the force applying step comprises applying an impact force to the bottom of the container.
24. A method according to claim 21, wherein the force applying step comprises contacting the cover directly with sufficient force to deflect the central portion of the cover inwardly.
25. A method according to claim 24, wherein a rotary connection joins the cover to the container, the cover dislodging step comprising rotating the cover to unscrew it from the container.
26. A method according to claim 21, wherein a rotary connection joins the cover to the container, the cover dislodging step comprising rotating the cover to unscrew it from the container.
27. A method for handling the cover of an upstanding container by employing a vertically movably mounted pressing member and a movably mounted gripper, the method comprising the steps of:
contacting the cover with the gripper;
moving the pressing member downwardly to press on the central portion of the cover; and then
moving the gripper to dislodge the cover from the container.
28. A method according to claim 27, comprising the further step of moving the pressing member downwardly again to eject the cover from the gripper after the cover has been dislodged from the container and the container is clear of the gripper.
29. A method according to claim 28, wherein a rotary connection joins the cover to the container and the gripper is rotatable, the cover dislodging step comprising rotating the gripper to unscrew the cover from the container.
30. A method according to claim 27, wherein a rotary connection joins the cover to the container and the gripper is rotatable, the cover dislodging step comprising rotating the gripper to unscrew the cover from the container.