Войти
ПрограммированиеФорумГрафика

Directx 12 вопросы.

Страницы: 1 2 321 22 Следующая »
#0
(Правка: 22:01) 22:00, 14 ноя. 2019

Темя для обсуждения DX12 траблесов и проблемсов.


#1
(Правка: 22:03) 22:03, 14 ноя. 2019

Это для всех, кто хочет задать вопрос по DX12.

#2
22:09, 14 ноя. 2019

https://gamedev.ru/code/forum/?id=199862&page=18&m=5074535#m256

#3
22:33, 14 ноя. 2019

у меня не создается ID3D12Device на Windows 10 X64/AMD R7 240, дрова свежие, но создается на Windows 7 X64/AMD R7 240. Везде дрова свежие.
Не работает любой пример, в томи числе официальные от Microsoft.
dxdiag рапортует о поддержке Direct3D12 с максимальным D3D_FEATURE_LEVEL_11_1.

ошибка E_INVALIDARG One or more arguments are invalid.:

HRESULT hr =D3D12CreateDevice(hardwareAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)));

Что делать где копать?

#4
(Правка: 22:59) 22:54, 14 ноя. 2019

innuendo

Не судьба

Как же так ?!
Ты же агитировал ставить Windows 10
Так как он рулит, а Win 7 отстой.
#5
23:04, 14 ноя. 2019

ronniko
> Ты же агитировал ставить Windows 10
пропагандировал

#6
22:50, 15 ноя. 2019

Если не инициализировать ID3D12Debug, ID3D12Debug1 то устройство создается. Странно...

#7
23:13, 15 ноя. 2019

Andrey
У меня похожая фигня была, когда пытался создавать отладочный девайс XAudio2,
но не помню, как решил проблему.

#8
8:44, 16 ноя. 2019

Andrey
> Если не инициализировать ID3D12Debug, ID3D12Debug1 то устройство создается.
> Странно...

Я не понял о чем идет речь.  ID3D12Debug создается для отладки, в частности для вывода сообщений о не удаленных ресурсах (pDebug->ReportLiveObjects) при закрытии аппликации и для довольно глючного валидатора шейдеров (SetEnableGPUBasedValidation). Более никакой практической пользы от этого интерфейса (кроме двух описанных случаев) я не обнаружил. Разумеется все работает и без дебаг-интерфейса, если ты к нему явно не обращаешься. Создание устройства к этому никакого отношения не имеет, устройство создается после инициализации интерфейса, поскольку он в частности контролирует этот процесс, но если его нет, то и фиг с ним.

#9
9:30, 16 ноя. 2019

san

тот самый случай, когда с тобой согласен, да

#10
11:24, 16 ноя. 2019

san
Да, ты все правильно пишешь. Но позавчера действительно убрав инициализацию ID3D12Debug, ID3D12Debug1(остальные интерфейсы не поддерживаются) У меня создавался ID3D12Device.

Вчера я обновил Windows 10 и дрова, все заработало. Я думаю проблема была в обновлении Windows 10.

#11
11:37, 16 ноя. 2019

По сравнению с OpenGL (и возможно даже Vulkan) DirectX действительно швейцарские часы.

#12
11:42, 16 ноя. 2019

prowkan

тоже мнение

#13
(Правка: 19:23) 19:03, 18 ноя. 2019

Не всегда успевает залиться текстура картинкой и видны баги.
В виде частичной картинки , а не вся полностью.

При том что картинки 64х64 !
Не ужели 800 миллисекунд не хватает , что бы GPU скопировал ?!

Как надо правильно ждать копирование на GPU ?

В место 1 стоит больше число ставить ?

m_fenceEvent = CreateEvent(0,0,0,0);
command_queCopy->Signal(dx12_fence, 1);
dx12_fence->SetEventOnCompletion(1,m_fenceEvent);
WaitForSingleObject(m_fenceEvent,800); 

#14
19:08, 18 ноя. 2019
WaitForSingleObject(m_fenceEvent,0xFFFFFFFF); 
Страницы: 1 2 321 22 Следующая »
ПрограммированиеФорумГрафика