Closed ertup0 closed 5 months ago
Please run:
xash3d -ref vk -dev 3 -console -log
and exitvulkaninfo --text -o vkinfo.txt
(is installed with the driver)attach engine.log and vkinfo.txt here (can be a zip file)
Judging from a combination of RT-capable HW, recent drivers, and no RT extensions exposed I'd say that you're running a 32-bit build. 32-bit drivers do not expose hardware ray tracing extensions at all. You must run an amd64 build: https://github.com/w23/xash3d-fwgs/wiki/How-to-build-a-64bit
I guess we should have a loud warning about that in the logs, so it's immediately obvious.
We also found this out the hard way. This 64-bit dependency doesn't seem to be widely advertised anywhere about hardware ray tracing.
@ertup0 were you able to run it with ray tracing?
where is the macro for checking 2^5 vs 2^6 bit? i just followed build instructions (64bit obv...)
where is the macro for checking 2^5 vs 2^6 bit? i just followed build instructions (64bit obv...)
I'm not really sure if xash has one specifically. The major part of the task here is to figure this question out. Consult google, compiler docs, etc, and present a PR together with a description why you're doing it a certain way and how/why it will work on all targets/archs/oses/compilers this renderer supports.
where is the macro for checking 2^5 vs 2^6 bit? i just followed build instructions (64bit obv...)
I'm not really sure if xash has one specifically. The major part of the task here is to figure this question out. Consult google, compiler docs, etc, and present a PR together with a description why you're doing it a certain way and how/why it will work on all targets/archs/oses/compilers this renderer supports.
Q_buildarch 228 in /public/build.c, but should i use r_speeds ie profiler to sren'k into log?
but should i use r_speeds ie profiler to sren'k into log?
speeds/profiler are irrelevant to this task
find the place in vk_core.c
where the lack of ray tracing is detected
@ils8 через vk_core.h
уже доступен XASH_64BIT
Тебе надо в vk_core.c
внутри функции enumerateDevices
(если нет места лучше, можно в теории и в R_VkInit
сделать) сделать условие (!XASH_64BIT
) с ошибкой в консоль/лог.
as per discord, public/build.c l228 :Kappa:
@ils8
public/build.c
это где я просил добавить проверку? Зачем заниматься самодурством? Это движок он к рендеру никакого отношения не имеет.#include <stdio.h>
— уже не смешно. Разберись в кодовой базе хотя бы минимально. Там же совсем рядом в vk_core.c
валяются gEngine.Con_Printf( S_ERROR "")
. printf("AYAYAYYA %s\n", is64 ? "2^6!" : "2^5 :weak:");
— кто это будет читать ты подумал? Нужно адекватное нормальное сообщения без всякого выпендрёжа (2^6 и 2^5 это нечитаемо) и чтобы было понятно что лучевые расширения неподдерживаются в 32бит, чтобы даже овощ понял это и не пытался запустить лучи в 32бит.Последний шанс сделать нормально, дальше я сделаю уже сам в 3 строчки.
дальше пришло @0x4E69676874466F78
Пришло (понимание). Ну а какой ты реакции ожидал? Ты словно назло делаешь неправильно/троллишь. Я такого ещё не встречал, поэтому тон уже стал таким, да. Можешь более ответственно относиться к проекту? Безотносительно тона в сообщении выше, все мои замечания остаются в силе, будь добр исправься.
Пришло (понимание). Ну а какой ты реакции ожидал? Ты словно назло делаешь неправильно/троллишь. Я такого ещё не встречал, поэтому тон уже стал таким, да. Можешь более ответственно относиться к проекту? Безотносительно тона в сообщении выше, все мои замечания остаются в силе, будь добр исправься.
swearing at assert(XASH_64BT) too @0x4E69676874466F78
Я же тебе написал что дефайна нет в 32бит, но есть в 64бит. Редактор ругается потому что видимо кушает с 32бит или он/его расширения туповаты. Нужно проверять на сборке и не доверять слепо редакторам. Всё что от тебя требуется:
#if !defined XASH_64BIT
gEngine.Con_Reportf(S_ERROR "32bit build is not supported in raytracing extensions\n");
#endif
Я же тебе написал что дефайна нет в 32бит, но есть в 64бит. Редактор ругается потому что видимо кушает с 32бит или он/его расширения туповаты. Нужно проверять на сборке и не доверять слепо редакторам. Всё что от тебя требуется:
#if !defined XASH_64BIT gEngine.Con_Reportf(S_ERROR "32bit build is not supported in raytracing extensions\n"); #endif
как разберусь с редактором - сообщу
Я же тебе написал что дефайна нет в 32бит, но есть в 64бит. Редактор ругается потому что видимо кушает с 32бит или он/его расширения туповаты. Нужно проверять на сборке и не доверять слепо редакторам. Всё что от тебя требуется:
#if !defined XASH_64BIT gEngine.Con_Reportf(S_ERROR "32bit build is not supported in raytracing extensions\n"); #endif
https://github.com/ils8/xash3d-fwgs/commit/d4b3b7c6e9201e6f45b7d962ad6a62d6f1bc4cc5
Можно ещё здесь строчку квара подменять с тем же сообщением: https://github.com/w23/xash3d-fwgs/blob/b06081047a0f3a21fc5f2715bdcc47e085c51bf6/ref/vk/vk_cvar.c#L44
@ils8 тебе надо создать новую чистую ветку (относительно vulkan апстрима) для этого изменения. https://github.com/w23/xash3d-fwgs/compare/vulkan...ils8:xash3d-fwgs:32vs64bit у тебя много лишнего захватило.
To reproduce
Screenshots
Moar context