psx.wiki

Graphics Processing Unit (GPU): Difference between revisions

Revision as of 01:40, 23 October 2026
RemmyLee
(CONTEXT.md: route images and backups)
Revision as of 02:22, 23 October 2026
RemmyLee
(Hardware and system software pages from the Sony manuals)
Line 10:Line 10:
The PlayStation has two graphics processors: the GPU and the GTE (Geometry Transformation Engine).[^hw33]The PlayStation has two graphics processors: the GPU and the GTE (Geometry Transformation Engine).[^hw33]
+The GPU and the GTE connect to the CPU as shown in [System Architecture](/hardware/system-architecture/).
+
The GPU draws polygons and sprites into the frame buffer. It also displays areas of the frame buffer on the screen.[^hw33]The GPU draws polygons and sprites into the frame buffer. It also displays areas of the frame buffer on the screen.[^hw33]
Line 89:Line 91:
The GPU clips all drawing to the current drawing area.[^hw35]The GPU clips all drawing to the current drawing area.[^hw35]
+## Sprite Drawing
+
+The GPU draws sprites of up to 256 x 256 pixels. Width and height can each vary up to that size.[^hw35]
+
+Sprite image data sits in a non-display area of the frame buffer. It must be transferred there before the sprite drawing command runs.[^hw35]
+
+### Texture Pages
+
+A 256 x 256 pixel area of sprite patterns in the frame buffer is a texture page.[^hw36]
+
+The size of a texture page in the frame buffer depends on the texture mode.[^hw36]
+
+The TSB parameter of a drawing command gives the page number. The page number of a texture page at (tx, ty) is tpage = ty/16 + tx/64.[^hw36]
+
+The actual tpage value also holds the CLUT mode (4, 8 or 16 bits) and the semi-transparency rate.[^hw36]
+
+### Sprite Pattern Color Modes
+
+Sprites have three color modes: 4-bit CLUT, 8-bit CLUT and 15-bit direct.[^hw36]
+
+A CLUT (color lookup table) is a table of RGB values. Each pixel of a CLUT sprite is an index into it.[^hw36]
+
+A 4-bit CLUT has 16 entries and an 8-bit CLUT has 256 entries. Each entry has the same structure as a 15-bit pixel.[^hw36]
+
+Each sprite can have its own CLUT.[^hw36]
+
+The CBA parameter of a drawing command gives the left coordinate of the CLUT in the frame buffer.[^hw36]
+
+## Polygon Drawing
+
+The GPU draws triangles and rectangles from the screen coordinates of each vertex.[^hw37]
+
+With Gouraud shading each vertex has its own color. The GPU interpolates the colors across the polygon.[^hw37]
+
+Texture mapping applies a 2-dimensional image to a polygon. Texture patterns sit in non-display areas of the frame buffer and are handled like sprite patterns.[^hw37]
+
+## Texture Cache
+
+The texture cache (T-cache) is a high-speed buffer memory between the GPU and the frame buffer. It speeds up drawing.[^hw37]
+
+Each pixel of a texture is likely to be read more than once.[^hw37]
+
+The GPU reads a texture pixel from the T-cache when it is there. Otherwise it reads the frame buffer.[^hw37]
+
+The T-cache holds its data from polygon to polygon. Polygons drawn in a row are faster when their textures fit in the T-cache.[^hw37]
+
+The T-cache is 2K bytes.[^hw38]
+
+The T-cache size in pixels for each pixel mode:
+
+Table: T-cache size
+
+| Pixel Mode | Size (width x length) |
+| --- | --- |
+| 4 bits/pixel | 64 x 64 pixels |
+| 8 | 64 x 32 |
+| 16 | 32 x 32 |
+
## References## References
Line 94:Line 154:
[^hw34]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-4, Table 3-1.[^hw34]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-4, Table 3-1.
[^hw35]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-5, Figure 3-2.[^hw35]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-5, Figure 3-2.
+[^hw36]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-6, Figure 3-4, Figure 3-5.
+[^hw37]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-7.
+[^hw38]: Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 3-8, Table 3-2.