Dynamically adjusting sample density in a graphics system
First Claim
1. A graphics system comprising:
- a frame buffer, wherein the frame buffer includes a sample buffer and a double-buffered display area;
a hardware accelerator coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area.
2 Assignments
0 Petitions
Accused Products
Abstract
A graphics system may include a frame buffer and a hardware accelerator. The frame buffer may include a sample buffer and a double-buffered display area. The hardware accelerator may be coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. A host computer may be configured (e.g., by means of stored program instructions) to dynamically update programmable registers of the graphics system to reallocate the sample buffer in the frame buffer in response to user input specifying a change in one or more window size parameters.
80 Citations
24 Claims
-
1. A graphics system comprising:
-
a frame buffer, wherein the frame buffer includes a sample buffer and a double-buffered display area;
a hardware accelerator coupled to the frame buffer, and configured (a) to receive primitives, (b) to generate samples for the primitives based on a dynamically adjustable sample density value, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for controlling a graphics accelerator, wherein the graphics accelerator is configured to render samples into an available space of a frame buffer based on a programmable sample density, to filter the samples from the sample buffer into a double-buffered display area of the frame buffer, the method comprising:
-
(a) receiving input defining width and height of a window, (b) computing a first number of memory allocation pages that cover the window horizontally based on the window width and a sample density estimate;
(c) computing a second number of memory allocation pages that cover the window vertically based on the window height and the sample density estimate;
(d) multiplying the first number and second number to determine a third number of memory allocation pages;
(e) performing (b), (c) and (d) one or more times to maximize the sample density estimate subject to the condition that the third number of memory allocation pages fit within the available space of the frame buffer;
(f) reprogramming the sample density of the graphics accelerator with maximized sample density estimate. - View Dependent Claims (7)
-
-
8. A graphics system comprising:
-
a hardware accelerator;
a frame buffer coupled to the hardware accelerator, wherein the frame buffer includes a sample buffer and a double-buffered display area;
wherein the hardware accelerator is configured (a) to receive primitives, (b) to generate samples for the primitives based on a programmable sample density value which is dynamically adjustable, (c) to write the samples into the sample buffer, (d) to read the samples from the sample buffer, (e) to filter the samples to generate pixels, (f) to store the pixels in a back buffer of the double-buffered display area. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
(a) receiving input defining width and height of an adjusted window;
(b) computing a first number of memory allocation pages that cover the adjusted window horizontally based on the adjusted window width and a sample density estimate;
(c) computing a second number of memory allocation pages that cover the adjusted window vertically based on the adjusted window height and the sample density estimate;
(d) multiplying the first number and second number to determine a third number of memory allocation pages;
(e) performing (b), (c) and (d) one or more times to maximize the sample density estimate, within a set of sample densities achievable by a graphics accelerator, subject to the condition that the third number of memory allocation pages is less than or equal to an amount of available page space;
(f) writing the maximized sample density to the graphics accelerator. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification