|
@@ -137,8 +137,7 @@ static void ImGui_ImplDX12_SetupRenderState(ImDrawData* draw_data, ID3D12Graphic
|
|
}
|
|
}
|
|
|
|
|
|
// Setup viewport
|
|
// Setup viewport
|
|
- D3D12_VIEWPORT vp;
|
|
|
|
- memset(&vp, 0, sizeof(D3D12_VIEWPORT));
|
|
|
|
|
|
+ D3D12_VIEWPORT vp = {};
|
|
vp.Width = draw_data->DisplaySize.x;
|
|
vp.Width = draw_data->DisplaySize.x;
|
|
vp.Height = draw_data->DisplaySize.y;
|
|
vp.Height = draw_data->DisplaySize.y;
|
|
vp.MinDepth = 0.0f;
|
|
vp.MinDepth = 0.0f;
|
|
@@ -149,14 +148,12 @@ static void ImGui_ImplDX12_SetupRenderState(ImDrawData* draw_data, ID3D12Graphic
|
|
// Bind shader and vertex buffers
|
|
// Bind shader and vertex buffers
|
|
unsigned int stride = sizeof(ImDrawVert);
|
|
unsigned int stride = sizeof(ImDrawVert);
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
- D3D12_VERTEX_BUFFER_VIEW vbv;
|
|
|
|
- memset(&vbv, 0, sizeof(D3D12_VERTEX_BUFFER_VIEW));
|
|
|
|
|
|
+ D3D12_VERTEX_BUFFER_VIEW vbv = {};
|
|
vbv.BufferLocation = fr->VertexBuffer->GetGPUVirtualAddress() + offset;
|
|
vbv.BufferLocation = fr->VertexBuffer->GetGPUVirtualAddress() + offset;
|
|
vbv.SizeInBytes = fr->VertexBufferSize * stride;
|
|
vbv.SizeInBytes = fr->VertexBufferSize * stride;
|
|
vbv.StrideInBytes = stride;
|
|
vbv.StrideInBytes = stride;
|
|
command_list->IASetVertexBuffers(0, 1, &vbv);
|
|
command_list->IASetVertexBuffers(0, 1, &vbv);
|
|
- D3D12_INDEX_BUFFER_VIEW ibv;
|
|
|
|
- memset(&ibv, 0, sizeof(D3D12_INDEX_BUFFER_VIEW));
|
|
|
|
|
|
+ D3D12_INDEX_BUFFER_VIEW ibv = {};
|
|
ibv.BufferLocation = fr->IndexBuffer->GetGPUVirtualAddress();
|
|
ibv.BufferLocation = fr->IndexBuffer->GetGPUVirtualAddress();
|
|
ibv.SizeInBytes = fr->IndexBufferSize * sizeof(ImDrawIdx);
|
|
ibv.SizeInBytes = fr->IndexBufferSize * sizeof(ImDrawIdx);
|
|
ibv.Format = sizeof(ImDrawIdx) == 2 ? DXGI_FORMAT_R16_UINT : DXGI_FORMAT_R32_UINT;
|
|
ibv.Format = sizeof(ImDrawIdx) == 2 ? DXGI_FORMAT_R16_UINT : DXGI_FORMAT_R32_UINT;
|
|
@@ -196,13 +193,11 @@ void ImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandL
|
|
{
|
|
{
|
|
SafeRelease(fr->VertexBuffer);
|
|
SafeRelease(fr->VertexBuffer);
|
|
fr->VertexBufferSize = draw_data->TotalVtxCount + 5000;
|
|
fr->VertexBufferSize = draw_data->TotalVtxCount + 5000;
|
|
- D3D12_HEAP_PROPERTIES props;
|
|
|
|
- memset(&props, 0, sizeof(D3D12_HEAP_PROPERTIES));
|
|
|
|
|
|
+ D3D12_HEAP_PROPERTIES props = {};
|
|
props.Type = D3D12_HEAP_TYPE_UPLOAD;
|
|
props.Type = D3D12_HEAP_TYPE_UPLOAD;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
- D3D12_RESOURCE_DESC desc;
|
|
|
|
- memset(&desc, 0, sizeof(D3D12_RESOURCE_DESC));
|
|
|
|
|
|
+ D3D12_RESOURCE_DESC desc = {};
|
|
desc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
|
desc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
|
desc.Width = fr->VertexBufferSize * sizeof(ImDrawVert);
|
|
desc.Width = fr->VertexBufferSize * sizeof(ImDrawVert);
|
|
desc.Height = 1;
|
|
desc.Height = 1;
|
|
@@ -219,13 +214,11 @@ void ImGui_ImplDX12_RenderDrawData(ImDrawData* draw_data, ID3D12GraphicsCommandL
|
|
{
|
|
{
|
|
SafeRelease(fr->IndexBuffer);
|
|
SafeRelease(fr->IndexBuffer);
|
|
fr->IndexBufferSize = draw_data->TotalIdxCount + 10000;
|
|
fr->IndexBufferSize = draw_data->TotalIdxCount + 10000;
|
|
- D3D12_HEAP_PROPERTIES props;
|
|
|
|
- memset(&props, 0, sizeof(D3D12_HEAP_PROPERTIES));
|
|
|
|
|
|
+ D3D12_HEAP_PROPERTIES props = {};
|
|
props.Type = D3D12_HEAP_TYPE_UPLOAD;
|
|
props.Type = D3D12_HEAP_TYPE_UPLOAD;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
- D3D12_RESOURCE_DESC desc;
|
|
|
|
- memset(&desc, 0, sizeof(D3D12_RESOURCE_DESC));
|
|
|
|
|
|
+ D3D12_RESOURCE_DESC desc = {};
|
|
desc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
|
desc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
|
desc.Width = fr->IndexBufferSize * sizeof(ImDrawIdx);
|
|
desc.Width = fr->IndexBufferSize * sizeof(ImDrawIdx);
|
|
desc.Height = 1;
|
|
desc.Height = 1;
|
|
@@ -333,8 +326,7 @@ static void ImGui_ImplDX12_CreateFontsTexture()
|
|
// Upload texture to graphics system
|
|
// Upload texture to graphics system
|
|
ImGui_ImplDX12_Texture* font_tex = &bd->FontTexture;
|
|
ImGui_ImplDX12_Texture* font_tex = &bd->FontTexture;
|
|
{
|
|
{
|
|
- D3D12_HEAP_PROPERTIES props;
|
|
|
|
- memset(&props, 0, sizeof(D3D12_HEAP_PROPERTIES));
|
|
|
|
|
|
+ D3D12_HEAP_PROPERTIES props = {};
|
|
props.Type = D3D12_HEAP_TYPE_DEFAULT;
|
|
props.Type = D3D12_HEAP_TYPE_DEFAULT;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
props.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
|
|
@@ -561,8 +553,7 @@ bool ImGui_ImplDX12_CreateDeviceObjects()
|
|
// 2) use code to detect any version of the DLL and grab a pointer to D3DCompile from the DLL.
|
|
// 2) use code to detect any version of the DLL and grab a pointer to D3DCompile from the DLL.
|
|
// See https://github.com/ocornut/imgui/pull/638 for sources and details.
|
|
// See https://github.com/ocornut/imgui/pull/638 for sources and details.
|
|
|
|
|
|
- D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc;
|
|
|
|
- memset(&psoDesc, 0, sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC));
|
|
|
|
|
|
+ D3D12_GRAPHICS_PIPELINE_STATE_DESC psoDesc = {};
|
|
psoDesc.NodeMask = 1;
|
|
psoDesc.NodeMask = 1;
|
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
|
psoDesc.pRootSignature = bd->pRootSignature;
|
|
psoDesc.pRootSignature = bd->pRootSignature;
|