Page 2 of 2
Re: SysFn73:Blit
Posted: Tue Dec 06, 2016 3:12 pm
by 0CodErr
А зачем в
blit32 сохраняются и восстанавливаются регистры?
Code: Select all
push ebp
push edi
push esi
push ebx
..................
pop ebx
pop esi
pop edi
pop ebp
Re: SysFn73:Blit
Posted: Tue Dec 06, 2016 5:44 pm
by Serge
На тот случай, если будет вызываться из ядра ?
Re: SysFn73:Blit
Posted: Tue Dec 06, 2016 5:49 pm
by 0CodErr
А, так оно StdCall что ли?
Re: SysFn73:Blit
Posted: Tue Dec 06, 2016 9:56 pm
by 0CodErr
А нет, оно не StdCall. Параметры передаются в ebx и ecx. Тогда это странно.
Re: SysFn73:Blit
Posted: Wed Dec 07, 2016 9:33 pm
by 0CodErr
#6790 При установке флага BLIT_CLIENT_RELATIVE equ 0x20000000 вывод происходит относительно клиентской области.
Re: SysFn73:Blit
Posted: Thu Dec 08, 2016 6:24 am
by Serge
Code: Select all
31 30 29 28 6 5 4 3 0
[reserved][CR][reserved][T][B][ROP]
А чем бит 7 не угодил? Добил бы байт, а так дефрагментация пошла.
Re: SysFn73:Blit
Posted: Sat Dec 10, 2016 3:51 pm
by 0CodErr
Serge wrote:А чем бит 7 не угодил?
Значение 0x20000000 совпадает со значением CLIENT_RELATIVE для DrawWindow. Для единообразия решил использовать тот же самый бит.
Re: SysFn73:Blit
Posted: Wed Oct 17, 2018 5:26 pm
by Leency
Блиттер не работает при глубине цвета 24 бита.
(16 бит и 32 бита - все ок)
Re: SysFn73:Blit
Posted: Wed Oct 17, 2018 5:39 pm
by 0CodErr
А в #4048 оно ещё работало(в #5188 уже нет). "Прогресс" однако.
Re: SysFn73:Blit
Posted: Wed Oct 17, 2018 5:55 pm
by Leency
Re: SysFn73:Blit
Posted: Wed Oct 17, 2018 7:45 pm
by Leency
Leency wrote:Блиттер не работает при глубине цвета 24 бита.
(16 бит и 32 бита - все ок)
C подачи
0CodErr оказалось что функция раньше работала нормально.
Так что я перелопатил тонну сборок прежде чем нашел ту, где появился баг.
Fixed r7474.
Коммичу в ядро