Multi-mode parallel graphics rendering and display system supporting real-time detection of scene profile indices programmed within pre-profiled scenes of the graphics-based application
A multi-mode parallel graphics rendering and display system supporting real-time detection of scene profile indices programmed within pre-profiled scenes of the graphics-based application. The system includes a multi-mode parallel graphics rendering subsystem (MMPGRS) having multiple graphics processing pipelines (GPPLs) and supporting multiple modes of parallel operation selected from the group consisting of object division, image division, and time division. The GPPLs support a parallel graphics rendering process that employs one or more of the object division, image division and/or time division modes of parallel operation in order to execute graphic commands and process graphics data, and render pixel-composited images containing graphics for display on a display device during the run-time of the graphics-based application. During run-time, an automatic mode controller automatically detects the scene profile indices and uses the detected scene profile indices to access corresponding mode control parameters (MCPs) from an application/scene profile database so as to determine how to dynamically control the modes of parallel operation of the MMPGRS to optimize system performance.
1 . A multi-mode parallel graphics rendering and display system for running a graphics-based application that generates pre-profiled scenes programmed with scene profile indices, said multi-mode parallel graphics rendering and display system comprising:
CPU memory space for storing one or more graphics-based applications and a graphics library for generating graphics commands and data (GCAD) during the run-time of said graphics-based application;
one or more CPUs for executing said graphics-based applications;
a multi-mode parallel graphics rendering subsystem (MMPGRS) supporting multiple modes of parallel operation selected from the group consisting of object division, image division, and time division, and including
(i) a plurality of graphic processing pipelines (GPPLs) supporting a parallel graphics rendering process that employs one of said object division, image division and/or time division modes of parallel operation in order to execute graphic commands and process graphics data and render pixel-composited images containing graphics for display on a display device during the run-time of said graphics-based application, and
(ii) an automatic mode controller for automatically controlling the mode of parallel operation of said MMPGRS during the run-time of said graphics-based application, by employing real-time detection of scene profile indices programmed within pre-profiled scenes generated by said graphics-based application;
wherein said pre-profiled scenes are analyzed prior to run-time, and indexed with said scene profile indices; and
wherein mode control parameters (MCPs) corresponding to said scene profile indices are stored within a application/scene profile database accessible to said automatic mode control module during application run-time; and
wherein during run-time, said automatic mode controller automatically detects said scene profile indices and uses said detected scene profile indices to access corresponding MCPs from said application/scene profile database so as to determine how to dynamically control the modes of parallel operation of said MMPGRS to optimize system performance.
2 . The multi-mode parallel graphics rendering and display system of claim 1 , wherein each mode of parallel operation includes at least three stages, namely, decomposition, distribution and recomposition, and wherein said multi-mode parallel graphics rendering subsystem comprises:
a decomposition module for supporting the decomposition stage of parallel operation;
a distribution module for supporting the distribution stage of parallel operation; and
a recomposition module for supporting the recomposition stage of parallel operation; and
wherein said decomposition, distribution and recomposition modules cooperate to carry out the decomposition, distribution and recomposition stages, respectively, of the different modes of parallel operation supported on said MMPGRS.
3 . The multi-mode parallel graphics rendering and display system of claim 2 ,
wherein said decomposition module divides up the stream of graphic commands and data (GCAD) according to the required mode of parallel operation determined by said automatic mode control module;
wherein said distribution module physically distributes the streams of graphics commands and data to said plurality of GPPLs;
wherein said GPPLs execute said graphics commands using said graphics data and generate partial pixel data sets associated with frames of images to be composited, within the frame buffer, by the primary GPPL in said MMPGRS; and
wherein said recomposition module merges together the partial pixel data sets from produced from said GPPLs, according to mode of parallel operation at any instant in time, and producing a final pixel data set within the frame buffer of the primary GPPL, which is sent into said display device for display.
4 . The multi-mode parallel graphics rendering and display system of claim 1 , which further comprises said display device for displaying said pixel-composited images during the run-time of said graphics-based application.
5 . The multi-mode parallel graphics rendering and display system of claim 4 , wherein said display device is a device selected from the group consisting of an flat-type display panel, a projection-type display panel, and other image display devices.
6 . The multi-mode parallel graphics rendering and display system of claim 1 , which is a machine selected from the group consisting of a PC-level computer, information server, laptop, game console system, portable computing system, and any computational-based machine supporting the real-time generation and display of 3D graphics.
7 . The multi-mode parallel graphics rendering and display system of claim 1 , wherein each said GPPL is a GPU-based GPPL which comprises:
(i) a video memory structure supporting a frame buffer 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 said frame buffer and raster operators operating on pixel data in said frame buffer.
8 . The multi-mode parallel graphics rendering and display system of claim 1 , wherein each said GPPL is a CPU-based GPPL 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 a plurality of processors.
9 . The multi-mode parallel graphics rendering and display system of claim 8 , wherein said plurality of processors comprises a plurality of in-order SIMD processors.
10 . The multi-mode parallel graphics rendering and display system of claim 1 , wherein said CPU-based GPPL further comprises:
(iii) a texture sampler for loading texture maps from memory, filtering said texture maps for level-of-detail, and feeding said texture maps to the pixel processing portion of said CPU-based GPPL.