Проблемы с D3D11 VP на видеокартах ATI/AMD [Исправлено]

Автор Evgeniy1990, 26 марта 2021, 08:50:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978,
ЦитироватьНу или тупо сделать так для "красных",
Естественно, сделать. Какие тут могут быть еще вопросы? Уже все перепроверили сотню раз, а то и больше.
Ну, хорошо, подождем тогда ответа от V0lt, как скажете. Хотя, с другой стороны, опять же, чего ждать?
Видно же, что по другому работать это не будет, только так, используя дополнительное копирование во "временную" текстуру.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978,
Цитата: Aleksoid1978 от 26 марта 2021, 13:59:44
Вот еще "перепроверь" на Flip/Discard - https://disk.yandex.ru/d/ZY8JfDJ1_8RYZA
Проверил второй тестовый билд.
Аналогично - полный порядок, есть нормальная картинка при конфигурации: D3D11 VP + Discard + DXVA2/Software Decoder. :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

wanezhiling


V0lt

Цитата: Evgeniy1990 от 26 марта 2021, 08:53:40
Итак, был найден первый виновник - это commit 4aa1750 (build 1656)
Начиная с него, пропала нормальная картинка в режимах FSW/FSE, которая была ранее.
Надо попробовать убрать все изменения в CDX11VideoProcessor::Process после 1655. Все равно там только "оптимизация для 8k", которую никто полноценно не тестировал (потому что очень долго и муторно), и без которой можно жить.

Aleksoid1978

AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Aleksoid1978

Цитата: V0lt от 26 марта 2021, 18:51:54
Цитата: Evgeniy1990 от 26 марта 2021, 08:53:40
Итак, был найден первый виновник - это commit 4aa1750 (build 1656)
Начиная с него, пропала нормальная картинка в режимах FSW/FSE, которая была ранее.
Надо попробовать убрать все изменения в CDX11VideoProcessor::Process после 1655. Все равно там только "оптимизация для 8k", которую никто полноценно не тестировал (потому что очень долго и муторно), и без которой можно жить.
Все теперь нормально, все я долго тестировал. Но что поделать если на "некоторых" вендорах косяки в драйверах и они не могут правильно все делать :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Цитата: Aleksoid1978 от 27 марта 2021, 04:11:27Все теперь нормально, все я долго тестировал. Но что поделать если на "некоторых" вендорах косяки в драйверах и они не могут правильно все делать :)
О тестировании
DX11VideoProcessor.cpp
22.01.2021 - f4bbdf1b5358d823f3e840bb74133882cace6e4c
Убрано лишнее копирование для случая, когда используется DXVA2 или D3D11 VP и не требуются какая-либо доп. обработка.
...
08.02.2021 - cf590093f9732c77b417a1f4a5def828015eb5c2
Если выходной кадр вылезает за границы окна или полного экрана, то добавляем дополнительную операцию копирования после DXVA2 VP и D3D11 VP. Пока нет лучшего решения.


В итоге мне потребовалось 17 дней, чтобы учесть все последствия оптимизации. Что было исправлено, можно увидеть в истории DX11VideoProcessor.cpp для указанного интервала. Тестировал много чего: корректность картинки после ресайза, поворота, отражения; правильность вызова дитеринга, адекватность статистики (проверял ли субтитры, не помню). Корректность картинки часто определяется рассматриванием пикселей на специальных видео - это требует много времени. Для тестирования у меня есть все три вендора. Полную отладку делал на Nvidia, а  на остальных делал быстрые проверки.

Именно по причине сложности и объема тестирования Я не стал заниматься очередным ускорением. Если ты учел все указанное - молодец. Я так не смогу, времени нет.

wanezhiling


Evgeniy1990

wanezhiling,
ЦитироватьTo be honest you needn't fix this for intel, i think it's better let intel official fix this issue.
If Intel makes the change on our side, then it will be possible to remove the change on our side. :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Evgeniy1990

wanezhiling,
ЦитироватьIntel Tigerlake also has an issue with d3d11 vp + discard mode...
Not only Intel has a damaged picture, ATI / AMD video cards are also guilty of this.
NVIDIA, as usual, holds the lead in terms of video capabilities and video support.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.