Immediate-Mode-UI / Immediate-Mode-UI/Nuklear

DX12 Backend runtime failure with VS 2022

Open
#455 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
11.4k
Forks
686
Avg merge
4d 1h
Merged PRs (30d)
3

Description

This implementation may be utilizing an obsolete DirectX12 method,
the compilation is successful, however the window appears white and then shuts after a second.

build log:
```
compilation header save succeeded; see d3d12\nuklear_d3d12_vertex_shader.h
compilation header save succeeded; see d3d12\nuklear_d3d12_pixel_shader.h
main.c
d3d12\nuklear_d3d12.h(517): warning C4244: 'function': conversion from 'SIZE_T' to 'int', possible loss of data
d3d12\nuklear_d3d12.h(523): warning C4244: 'function': conversion from 'SIZE_T' to 'int', possible loss of data
d3d12\nuklear_d3d12.h(680): warning C4002: too many arguments for function-like macro invocation 'ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart'
d3d12\nuklear_d3d12.h(681): warning C4002: too many arguments for function-like macro invocation 'ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart'
main.c(135): warning C4002: too many arguments for function-like macro invocation 'ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart'
d3d12\main.c(136) : warning C4700: uninitialized local variable 'descriptor_handle' used
```
I don't know what is the cause.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with VS 2022 and reviewing d3d12/nuklear_d3d12.h around lines 517, 523, 680, and 681, then compare the related calls in d3d12/main.c around lines 135-136. Investigate the reported conversion, macro-argument, and uninitialized-variable warnings. Done means the sample window remains functional without these runtime warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.