gpu
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| gpu [2026/10/09 17:31] – gecko | gpu [2026/10/15 15:02] (текущий) – gecko | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== GPU ====== | ====== GPU ====== | ||
| - | Графический процессор PlayStation (GPU) - это специализированный 32-битный чип от Sony, отвечающий за отрисовку графических примитивов (полигонов, | + | Графический процессор PlayStation (GPU) - это специализированный 32-битный чип от Sony, отвечающий за отрисовку графических примитивов (полигонов, |
| У GPU нет фиксированного набора разрешений. Возможные разрешения определяются стандартами PAL/NTSC и пятью доступными делителями частоты видеосигнала. Типичные разрешения имеют ширину 256, 320, 368, 384, 512 или 640 пикселей и высоту 224, 240, 256, 480 или 512 строк. | У GPU нет фиксированного набора разрешений. Возможные разрешения определяются стандартами PAL/NTSC и пятью доступными делителями частоты видеосигнала. Типичные разрешения имеют ширину 256, 320, 368, 384, 512 или 640 пикселей и высоту 224, 240, 256, 480 или 512 строк. | ||
| - | ===== Прозрачность и смешивание ===== | + | ===== Полупрозрачность и смешивание ===== |
| GPU аппаратно поддерживает четыре режима смешивания цветов (где A - цвет пикселя, | GPU аппаратно поддерживает четыре режима смешивания цветов (где A - цвет пикселя, | ||
| Строка 11: | Строка 11: | ||
| * Режим 1 - аддитивное смешивание: | * Режим 1 - аддитивное смешивание: | ||
| * Режим 2 - субтрактивное смешивание: | * Режим 2 - субтрактивное смешивание: | ||
| - | * Режим 3 - четверть нового цвета плюс полный цвет фона: A + 0.25 * B | + | * Режим 3 - полный цвет фона плюс |
| - | Попиксельное смешивание не поддерживается. В текстуре можно задать лишь бит прозрачности, | + | Альфа-канал (попиксельная полупрозрачность) |
| + | |||
| + | ===== Дизеринг ===== | ||
| + | |||
| + | При включенном дизеринге GPU чередует соседние цвета для повышения визуального качества градиентов. Вся математика внутренне осуществляется в 24-битном режиме, | ||
| ===== Текстурный кэш ===== | ===== Текстурный кэш ===== | ||
| Строка 21: | Строка 25: | ||
| ===== Кодирование команд ===== | ===== Кодирование команд ===== | ||
| - | GPU управляется посредством команд, | + | GPU управляется посредством команд, |
| Заголовок команды кодируется по следующей схеме: | Заголовок команды кодируется по следующей схеме: | ||
| Строка 32: | Строка 36: | ||
| * Биты 23..0: 24-битный цвет (0x00RRGGBB), | * Биты 23..0: 24-битный цвет (0x00RRGGBB), | ||
| - | За заголовком могут следовать данные, | + | За заголовком могут следовать данные, |
| Для рисования текстурированного полигона в команду GPU отправляется значение tpage, 16-битное поле, которое кодирует положение страницы и параметры ее использования: | Для рисования текстурированного полигона в команду GPU отправляется значение tpage, 16-битное поле, которое кодирует положение страницы и параметры ее использования: | ||
| - | * Биты 0-3: pageX, горизонтальная позиция | + | * Биты 0-3: pageX, горизонтальный индекс текстурной |
| - | * Бит 4: pageY, вертикальная позиция | + | * Бит 4: pageY, вертикальный индекс текстурной |
| * Биты 5-6: ABR, режим полупрозрачности (0, 1, 2 или 3) | * Биты 5-6: ABR, режим полупрозрачности (0, 1, 2 или 3) | ||
| - | * Биты 7-8: TP, цветовой режим текстуры (0, 1, 2 или | + | * Биты 7-8: TP, цветовой режим текстуры (0, 1, или |
| - | + | ||
| - | Значение формируется следующим образом: | + | |
| - | + | ||
| - | < | + | |
| - | tpage = pageX | (pageY << 4) | (ABR << 5) | (TP << 7) | + | |
| - | </ | + | |
| ===== Отправка команд ===== | ===== Отправка команд ===== | ||
| - | Команды передаются через [[MMIO|порты ввода-вывода]] или посредством [[DMA]]. При передаче через порт, переданные слова накапливаются в 64-байтном FIFO-буфере (командной очереди). GPU считывает данные из FIFO и начинает выполнение команды автоматически, | + | Команды передаются через [[MMIO|порты ввода-вывода]] или посредством |
| Порты ввода-вывода: | Порты ввода-вывода: | ||
gpu.1791567064.txt.gz · Последнее изменение: — gecko
