🦥Alex Fails
Я видел статью про модификацию age of empires 2
🦥Alex Fails
Блядь, это какой-то пиздец
🦥Alex Fails
хотел тут поковырять OpenCL
🦥Alex Fails
собрал сэмпл из sdk
🦥Alex Fails
и runtime error
🦥Alex Fails
Сначала меня упорол тот факт, что функции передается 5 параметров, а на стек кладется 6:
🦥Alex Fails
// Create the OpenCL context on a GPU device cxGPUContext = clCreateContextFromType(0, CL_DEVICE_TYPE_GPU, NULL, NULL, &ciErr1); 00CF3CDF mov esi,esp 00CF3CE1 push offset ciErr1 (0D632E0h) 00CF3CE6 push 0 00CF3CE8 push 0 00CF3CEA push 0 00CF3CEC push 4 00CF3CEE push 0 00CF3CF0 call dword ptr [__imp__clCreateContextFromType (0D66224h)] 00CF3CF6 add esp,18h 00CF3CF9 cmp esi,esp 00CF3CFB call _RTC_CheckEsp (0C93F10h)
🦥Alex Fails
потом меня упороло то, что в дизассемблированном коде opencl.dll тоже 6 параметров
🦥Alex Fails
потом я посмотрел на типы, и выяснилось, что один тип там uint64_t
🦥Alex Fails
Проблема такая возникает: The value of ESP is not saved correctly
🦥Alex Fails
ида показывает, что функция в dll'ке имеет соглашение __stdcall
🦥Alex Fails
а в заголовке cl_platform.h функция объявлена как extern CL_API_ENTRY cl_context CL_API_CALL clCreateContextFromType(cl_context_properties * /* properties */, cl_device_type /* device_type */, void (*pfn_notify)(const char *, const void *, size_t, void *) /* pfn_notify */, void * /* user_data */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
🦥Alex Fails
CL_API_ENTRY раскрывается в __declspec(dllimport), CL_API_SUFFIX_VERSION_1_0 - пустой, а вот CL_API_CALL - тоже пустой
🦥Alex Fails
блядь, вот оно
🦥Alex Fails
компилятор считает, что там функции имеют соглашение о вызове как __cdecl
🦥Alex Fails
а в длл-ке __stdcall
🦥Alex Fails
сука. Бессит
Pavel 🕷
нифига себе тебя таращит в пол 5ого))
🦥Alex Fails
в общем, пропатчил хедеры опенцля на нужный дефайн
🦥Alex Fails
сначала долго парился с одной херней, решил переключиться на вещь "попроще"
Pavel 🕷
а нафига?) по работе дедлайн чтоли?)
🦥Alex Fails
нет
🦥Alex Fails
просто время свободное появилось
🦥Alex Fails
от прогулок и пр. хери
🦥Alex Fails
в общем, готово
🦥Alex Fails
доброй ночи
🦥Alex Fails
аби блядское
🦥Alex Fails
Алсо надо бы отреверсить Nvidia Geforce Experience
Square
Хуя ты здравый :)
🦥Alex Fails
через какую жопу оно может сразу запускаться на нормальном gpu
🦥Alex Fails
не то у них баги в этой грёбанной переключалке карт
Square
Тру детектив :)
🦥Alex Fails
)
🦥Alex Fails
еще тут на днях вирус ковырял
🦥Alex Fails
шифратор
🦥Alex Fails
потом как-нибудь расскажу
Pavel 🕷
тебе надо пилить в оракл и пилить этот сраный jvm))
🦥Alex Fails
гуд идея, но я слишком нуб
🦥Alex Fails
хотя если покурю конкаренси и книгу дракона получше
🦥Alex Fails
и седжвика
🦥Alex Fails
то можно рискнуть)
Pavel 🕷
регистры знаешь и хорошо)) а как там на микроволновке запуститься научат)
🦥Alex Fails
хм.. покурить их вакансии, что ль))
🦥Alex Fails
да!
🦥Alex Fails
😄
Pavel 🕷
покури)) правда там собес долгие)
🦥Alex Fails
да, в про.жвм слышал
🦥Alex Fails
шипилев веселый мужик
Pavel 🕷
так я там и рассказывал))
🦥Alex Fails
я его слайды про баги в конкаренси на одном дыхании прочитал)
🦥Alex Fails
ща, короч, напишу lzw на opencl
Pavel 🕷
про реордер и хеппенс?)
🦥Alex Fails
как PoC
🦥Alex Fails
ага
🦥Alex Fails
там первый слайд эпичен был
🦥Alex Fails
"Доклад содержит ТЕСТИРОВАНИЕ JVM и БОЛЬ (Уходите)."
Pavel 🕷
парням тяжело)) потомучто там не просто программировать надо)) там надо следовать сраной спецификации))) что нам...жвм кодерам было заебись))) гыгыггыгыгы)))
🦥Alex Fails
эт да
🦥Alex Fails
следовать спеке сложно
Pavel 🕷
особенно этой) jvm же на любой архитектуре должна одинакого работать))) и при разной битности)) вот и прикидывай) при этом не у всех архитектур есть касы....а в некоторых есть вик касы)))
🦥Alex Fails
VAX вроде грешит этим дерьмом
Pavel 🕷
короче как они там еще не поехали, мне не понятно)
🦥Alex Fails
эт да
🦥Alex Fails
я вот думал еще на асме Денди писать
🦥Alex Fails
написать простенький ROM и играться в него 😂
Pavel 🕷
так пацаны из меньшинств вродеж на яваскрипте нафигачили)))
🦥Alex Fails
лол)
🦥Alex Fails
еще эта тема с 1с.js
🦥Alex Fails
упорола
Pavel 🕷
вот они туда потоки запилят и придет пиздец)))
🦥Alex Fails
это Threads?
🦥Alex Fails
нам пиздец тогда будет
🦥Alex Fails
дедлоки - now in your browser (in your website)
Pavel 🕷
я думаю они сначало туда gil зафигачат, чтоб не так больно)))
Pavel 🕷
а вот потом))))
🦥Alex Fails
а потом - привет Питухон
🦥Alex Fails
2.7/3.x
Pavel 🕷
мене интересен вопрос что будет с айти через 100 лет)