Abstract:
A system and method provides a high level of system functionality in a multimedia console through the use of system applications, while reducing any corresponding lack of control that multimedia applications will have while running on the console. A predetermined amount of hardware resources of the multimedia console is reserved. The system application is executed substantially using the predetermined amount of reserved hardware resources and the multimedia application is executed substantially within the remaining unreserved hardware resources.
Abstract:
Application content and system content are composited to create composited frames for display by drawing foreground application content into an application buffer, building a reconstruction buffer, drawing system user interface content on top of the foreground application content in the application buffer, and displaying a composited frame by sending the application buffer directly to display hardware for display. The reconstruction buffer contains portions of the foreground application content copied from the application buffer. When system user interface content is being updated, the reconstruction buffer is used to recreate the original foreground application content. Updated system user interface content and original foreground application content are then used to create additional composited frames for display.
Abstract:
Facilitating performance analysis for processing includes capturing a state of a processing unit and capturing a plurality of commands submitted to the processing unit for processing. Both the captured state and the captured plurality of commands are also saved. The saved state and commands can be used for analysis, such as by processing only a subset of the commands or processing a modified set of the commands.
Abstract:
An image storage and processing method constructs, clips, fills, and combines arbitrary 2-dimensional shapes in an advanced graphics system. The method supports processing of anti-aliased images by compressing the image into a novel AlphaRegion data structure. AlphaRegion encodes into the data structure both the partially transparent as well as the fully opaque alpha values of an image according to rectangular bands. A band is a contiguous series of scan lines that have the same pattern of alpha values in a single direction. AlphaRegion encoding results in a more compact representation than possible in a conventional bitmap, but without losing the anti-aliasing features. AlphaRegion can be constructed either by supersampling sub-scan lines of an image, from the scan lines of a gray-scale image, from an existing conventional 1-bit Region or alpha mask buffer, or directly from a scan-line conversion of a geometric shape. AlphaRegion stores image data into three arrays, yInfo, xInfo and alphaData. Methods provided with AlphaRegion include rendering methods for filling or clipping the area on the drawing surface and methods for combining two AlphaRegions using boolean combination operators OR, AND, XOR, SUBTRACT, or SUBTRACT_FROM.
Abstract:
A system that includes a head mounted display device and a processing unit connected to the head mounted display device is used to fuse virtual content into real content. In one embodiment, the processing unit is in communication with a hub computing device. The processing unit and hub may collaboratively determine a map of the mixed reality environment. Further, state data may be extrapolated to predict a field of view for a user in the future at a time when the mixed reality is to be displayed to the user. This extrapolation can remove latency from the system.
Abstract:
Content is rendered for display using a plurality of rendering contexts. Rendering is performed, at least in part, using a graphics processing unit (GPU). The plurality of rendering contexts can comprise a lower priority rendering context and a higher priority rendering context. One or more components can be associated with each of the lower priority rendering context and the higher priority rendering context. Different restrictions can be imposed on each rendering context. Restrictions can include a restriction on block size, prioritization of requests for each context, and a restriction on the number of requests in a GPU queue at a time.
Abstract:
A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data. The amount of output data is greater than an amount of input data, and the ratio of the amount of input data to the amount of output data defines a decompression ratio. In one implementation, the high-level host-related task performed by the host element pertains to a high-level graphics processing task, and the data-generating task pertains to the generation of geometry data (such as triangle vertices) for use within the high-level graphics processing task. The CPU module can transfer the output data to a GPU module via at least one locked set of a cache memory. The GPU retrieves the output data from the locked set, and periodically forwards a tail pointer to a cacheable location within the data-generating elements that informs the data-generating elements of its progress in retrieving the output data.
Abstract:
A method and system are disclosed for automatic instrumentation that modifies a video game's shaders at run-time to collect detailed statistics about texture fetches such as MIP usage. The tracking may be transparent to the game application and therefore not require modifications to the application. In an embodiment, the method may be implemented in a software development kit used to record and provide texture usage data and optionally generate a report.
Abstract:
The performance of a video game is analyzed using non-intrusive capture and storage of game data. A non-linear capture format is used for capturing run-time game data. The run-time game data includes run-time parameters associated with execution of an application code as well as run-time parameters associated with hardware of a game platform upon which the application code is being executed. The captured data is stored in a storage medium using a non-contiguous storage format.
Abstract:
A method and system are disclosed for automatic instrumentation that modifies a video game's shaders at run-time to collect detailed statistics about texture fetches such as MIP usage. The tracking may be transparent to the game application and therefore not require modifications to the application. In an embodiment, the method may be implemented in a software development kit used to record and provide texture usage data and optionally generate a report.