Computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLS)
A computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLs), and including one or more CPUs, in communication with a memory space, and a parallel graphics processing subsystem (PGPS) supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition. The PGPS includes a plurality of graphic processing pipelines (GPPLs), wherein each GPPL includes a color frame buffer and Z depth buffer. Within each GPPL, a partial complementary-type color image of the 3 D scene is rendered and buffered in its color frame buffer. A complete color image of the 3 D scene is recomposited by (i) merging the partial complementary-type color images within the GPPLs using a depthless method of image recomposition not involving the comparison of depth values stored in the Z depth buffers, and (ii) buffering the complete color image in the color frame buffer of the primary GPPL for display on a display device.
1 . A computing system capable of parallelizing the operation of multiple graphics processing pipelines (GPPLs), said computing system comprising:
memory space for storing one or more graphics-based applications, and a graphics library for generating a stream of graphics commands and data (GCAD) during the execution of the graphics-based applications;
one or more CPUs, in communication with said memory space, for (i) executing said graphics-based applications, (ii) generating said stream of graphics commands and data, and (iii) segmenting said stream of graphics commands into frames for rendering pixel-based images of a 3D scene generated by at least one said graphics-based application, and wherein objects within said 3D scene are generated by processing said frames of graphics commands and data along said stream; and
a parallel graphics processing subsystem (PGPS) supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition;
wherein said PGPS includes:
(i) a plurality of graphic processing pipelines (GPPLs), including a primary GPPL, wherein each said GPPL includes a color frame buffer and Z depth buffer; and
(ii) a parallel mode control module (PMCM) for automatically controlling said object-division mode of parallel operation during the run-time of said graphics-based application, during which said GPPLs are driven in a parallelized manner and performing the following graphics processing operations:
(i) decomposing objects in each frame of said stream of graphics commands and data, assigning the objects to particular GPPLs for use in rendering operations;
(ii) distributing objects to said GPPLs;
(iii) rendering a partial complementary-type color image of the 3D scene within each GPPL, and buffering the partial complementary-type color image within the color frame buffer in said GPPL; and
(iv) recompositing a complete color image of the 3D scene, by merging the partial complementary-type color images within said GPPLs employing a depthless method of image recomposition not involving the comparison of depth values stored in said Z depth buffers, and buffering said complete color image in the color frame buffer of said primary GPPL for display on a display device.
2 . The computing system of claim 1 , wherein said PGPS further includes:
(i) a decomposition module for supporting the decomposition stage of parallel operation;
(ii) a distribution module for supporting the distribution stage of parallel operation;
(iii) a recomposition module for supporting the recomposition stage of parallel operation; and
(iv) a rendering module for supporting the rendering stage of parallel operation.
3 . The computing system of claim 3 , wherein during operation,
(i) said decomposition module divides the stream of graphic commands and data (GCAD) according to said object-division mode of parallel operation;
(ii) said distribution module distributes graphic commands and data (to said GPPLs;
(iii) said rendering module generates complementary-type partial color images according to a parallel multi-pass graphics processing method; and
(iv) said recomposition module uses inter-GPU communication to transfer the pixel data of said complementary-type partial images among said GPPLs, and a depthless image merging process to generate said complete color image of the 3D scene for display on said display device.
4 . The computing system of claim 1 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler and a vertex shader, (2) a set up engine, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.
5 . The computing system of claim 1 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler, a vertex shader and a geometry shader, (2) a rasterizer, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.
6 . The computing system of claim 1 , wherein each said GPPL is a CPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer including stencil, depth and color buffers, and (ii) a graphics processing pipeline realized by a cell of a multi-core CPU chip, including a plurality of in-order SIMD processors, and optionally, a GPPL-specific extension, namely, a texture sampler that loads texture maps from memory, filters them for level-of-detail, and feeds to pixel processing portion of the pipeline.
7 . The computing system of claim 3 , wherein the decomposition module supports the scanning of commands, the control of commands, the tracking of objects, the balancing of loads, and the assignment of objects to said GPPLs,
8 . The computing system of claim 3 , wherein said distribution module supports transmission of graphics data in various modes including CPU-to/from-GPPL, inter-GPPL, broadcast, hub-to/from-CPU, and hub-to/from-CPU and hub-to/from-GPPL.
9 . The computing system of claim 2 wherein said graphics data includes data selected from the group consisting of FB data, commands, textures, geometric data and other data.
10 . The computing system of claim 2 , wherein said recomposition module supports a variety of modes the merging of partial complementary-type images in the color frame buffers of said GPPLs.
11 . The computing system of claim 2 , wherein said variety of modes of merging said partial complementary-type images includes: merging color frame buffers without z buffers, and merging color buffers using stencil-assisted processing.
12 . A parallel graphics processing system (PGPS) for embodying in a PC-based host computing system, and supporting an object-division mode of parallel operation including at least four stages, namely, decomposition, distribution, rendering and recomposition, said PGPS comprising:
a plurality of graphic processing pipelines (GPPLs), including a primary GPPL, wherein each said GPPL includes a color frame buffer and Z depth buffer; and
a parallel mode control module (PMCM) for automatically controlling said object-division mode of parallel operation during the run-time of said graphics-based application, during which said GPPLs are driven in a parallelized manner and performing the following graphics processing operations:
(i) decomposing objects in each frame of said stream of graphics commands and data, assigning the objects to particular GPPLs for use in rendering operations;
(ii) distributing objects to said GPPLs;
(iii) rendering a partial complementary-type color image of the 3D scene within each GPPL, and buffering the partial complementary-type color image within the color frame buffer in said GPPL; and
(iv) recompositing a complete color image of the 3D scene, by merging the partial complementary-type color images within said GPPLs employing a depthless method of image recomposition not involving the comparison of depth values stored in said Z depth buffers, and buffering said complete color image in the color frame buffer of said primary GPPL for display on a display device.
13 . The parallel graphics processing system of claim 12 , which further includes:
(i) a decomposition module for supporting the decomposition stage of parallel operation;
(ii) a distribution module for supporting the distribution stage of parallel operation;
(iii) a recomposition module for supporting the recomposition stage of parallel operation; and
(iv) a rendering module for supporting the rendering stage of parallel operation.
14 . The parallel graphics processing system of claim 13 , wherein said decomposition module and distribution module resides as a software package in said memory space; and said GPPLs on said external graphics cards are (i) connected to said bridge circuit, (ii) implement said rendering and recomposition modules, and (iii) driven in a parallelized manner under the control of said PMCM.
15 . The parallel graphics processing system of claim 13 , wherein during operation,
(i) said decomposition module divides the stream of graphic commands and data (GCAD) according to said object-division mode of parallel operation;
(ii) said distribution module uses said bridge circuit to distribute graphic commands and data to said GPPLs;
(iii) said rendering module generates complementary-type partial color images according to a parallel multi-pass graphics processing method; and
(iv) said recomposition module uses inter-GPU communication to transfer the pixel data of said complementary-type partial images among said GPPLs, and a depthless image merging process to generate a complete color image of the 3D scene for display on said display device.
16 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler and a vertex shader, (2) a set up engine, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.
17 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a GPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer (FB) including stencil, depth and color buffers, and (ii) a graphics processing unit (GPU) supporting (1) a geometry subsystem having an input assembler, a vertex shader and a geometry shader, (2) a rasterizer, and (3) a pixel subsystem including a pixel shader receiving pixel data from the frame buffer and a raster operators operating on pixel data in the frame buffers.
18 . The parallel graphics processing system of claim 12 , wherein each said GPPL is a CPU-based graphics processing pipeline which comprises (i) a video memory structure supporting a frame buffer including stencil, depth and color buffers, and (ii) a graphics processing pipeline realized by one cell of a multi-core CPU chip, consisting of 16 in-order SIMD processors, and further including a GPU-specific extension, namely, a texture sampler that loads texture maps from memory, filters them for level-of-detail, and feeds to pixel processing portion of the pipeline.
19 . The parallel graphics processing system of claim 13 , wherein the decomposition module supports the scanning of commands, the control of commands, the tracking of objects, the balancing of loads, and the assignment of objects to said GPPLs,
20 . The parallel graphics processing system of claim 13 , wherein said distribution module supports transmission of graphics data in various modes including CPU-to/from-GPPL, inter-GPPL, broadcast, hub-to/from-CPU, and hub-to/from-CPU and hub-to/from-GPPL.
21 . The parallel graphics processing system of claim 12 , wherein said graphics data includes data selected from the group consisting of FB data, commands, textures, geometric data and other data.
22 . The parallel graphics processing system of claim 13 , wherein said recomposition module supports a variety of modes the merging of partial complementary-type images in the color frame buffers of said GPPLs.
23 . The parallel graphics processing system of claim 12 , wherein said variety of modes of merging said partial complementary-type images includes: merging color frame buffers without z buffers, and merging color buffers using stencil-assisted processing.