diff options
author | Miodrag Milanović <mmicko@gmail.com> | 2018-10-26 17:27:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-26 17:27:47 +0200 |
commit | 757dcd2a5277ef65d9ce4ff7b118e6072edbb71a (patch) | |
tree | 27c31559c02d6fb8e57d032f54daf190591e61e0 /3rdparty/imgui/examples/imgui_impl_dx12.h | |
parent | 40a8e17db63ec0fea417f6fc1b1711ddbdec5330 (diff) | |
parent | 62a615a17d9b69f3b727d59ed13e297ace610778 (diff) | |
download | nextpnr-757dcd2a5277ef65d9ce4ff7b118e6072edbb71a.tar.gz nextpnr-757dcd2a5277ef65d9ce4ff7b118e6072edbb71a.tar.bz2 nextpnr-757dcd2a5277ef65d9ce4ff7b118e6072edbb71a.zip |
Merge pull request #96 from YosysHQ/imgui
Imgui integration
Diffstat (limited to '3rdparty/imgui/examples/imgui_impl_dx12.h')
-rw-r--r-- | 3rdparty/imgui/examples/imgui_impl_dx12.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/3rdparty/imgui/examples/imgui_impl_dx12.h b/3rdparty/imgui/examples/imgui_impl_dx12.h new file mode 100644 index 00000000..8c462547 --- /dev/null +++ b/3rdparty/imgui/examples/imgui_impl_dx12.h @@ -0,0 +1,31 @@ +// dear imgui: Renderer for DirectX12 +// This needs to be used along with a Platform Binding (e.g. Win32) + +// Implemented features: +// [X] Renderer: User texture binding. Use 'D3D12_GPU_DESCRIPTOR_HANDLE' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. +// Issues: +// [ ] 64-bit only for now! (Because sizeof(ImTextureId) == sizeof(void*)). See github.com/ocornut/imgui/pull/301 + +// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. +// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp. +// https://github.com/ocornut/imgui + +enum DXGI_FORMAT; +struct ID3D12Device; +struct ID3D12GraphicsCommandList; +struct D3D12_CPU_DESCRIPTOR_HANDLE; +struct D3D12_GPU_DESCRIPTOR_HANDLE; + +// cmd_list is the command list that the implementation will use to render imgui draw lists. +// Before calling the render function, caller must prepare cmd_list by resetting it and setting the appropriate +// render target and descriptor heap that contains font_srv_cpu_desc_handle/font_srv_gpu_desc_handle. +// font_srv_cpu_desc_handle and font_srv_gpu_desc_handle are handles to a single SRV descriptor to use for the internal font texture. +IMGUI_IMPL_API bool ImGui_ImplDX12_Init(ID3D12Device* device, int num_frames_in_flight, DXGI_FORMAT rtv_format, + D3D12_CPU_DESCRIPTOR_HANDLE font_srv_cpu_desc_handle, D3D12_GPU_DESCRIPTOR_HANDLE font_srv_gpu_desc_handle); +IMGUI_IMPL_API void ImGui_ImplDX12_Shutdown(); +IMGUI_IMPL_API void ImGui_ImplDX12_NewFrame(); +IMGUI_IMPL_API void ImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandList* graphics_command_list); + +// Use if you want to reset your rendering device without losing ImGui state. +IMGUI_IMPL_API void ImGui_ImplDX12_InvalidateDeviceObjects(); +IMGUI_IMPL_API bool ImGui_ImplDX12_CreateDeviceObjects(); |