From 7523d01e0fcd1f4249b5ffd825f6b70a4af8499e Mon Sep 17 00:00:00 2001 From: DHrpcs3 Date: Wed, 20 Jan 2016 16:39:06 +0300 Subject: [PATCH] Code style fixes #2 --- rpcs3/Emu/RSX/D3D12/D3D12Buffer.cpp | 24 ++--- rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp | 88 +++++++++---------- rpcs3/Emu/RSX/D3D12/D3D12GSRender.h | 58 ++++++------ rpcs3/Emu/RSX/D3D12/D3D12Overlay.cpp | 28 +++--- rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp | 26 +++--- rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp | 20 ++--- rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp | 8 +- rpcs3/Emu/RSX/D3D12/D3D12Utils.cpp | 30 +++---- 8 files changed, 142 insertions(+), 140 deletions(-) diff --git a/rpcs3/Emu/RSX/D3D12/D3D12Buffer.cpp b/rpcs3/Emu/RSX/D3D12/D3D12Buffer.cpp index 56a632854a..98546e1a24 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12Buffer.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12Buffer.cpp @@ -13,7 +13,7 @@ std::vector D3D12GSRender::upload_vertex_attributes(co { std::vector vertex_buffer_views; - m_IASet.clear(); + m_ia_set.clear(); size_t input_slot = 0; size_t vertex_count = 0; @@ -55,7 +55,7 @@ std::vector D3D12GSRender::upload_vertex_attributes(co }; vertex_buffer_views.push_back(vertex_buffer_view); - m_timers.m_buffer_upload_size += buffer_size; + m_timers.buffer_upload_size += buffer_size; D3D12_INPUT_ELEMENT_DESC IAElement = {}; IAElement.SemanticName = "TEXCOORD"; @@ -65,7 +65,7 @@ std::vector D3D12GSRender::upload_vertex_attributes(co IAElement.AlignedByteOffset = 0; IAElement.InputSlotClass = D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; IAElement.InstanceDataStepRate = 0; - m_IASet.push_back(IAElement); + m_ia_set.push_back(IAElement); } else if (register_vertex_info[index].size > 0) { @@ -98,7 +98,7 @@ std::vector D3D12GSRender::upload_vertex_attributes(co IAElement.AlignedByteOffset = 0; IAElement.InputSlotClass = D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA; IAElement.InstanceDataStepRate = 1; - m_IASet.push_back(IAElement); + m_ia_set.push_back(IAElement); } } @@ -141,7 +141,7 @@ void D3D12GSRender::upload_and_bind_scale_offset_matrix(size_t descriptorIndex) }; m_device->CreateConstantBufferView(&constant_buffer_view_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)descriptorIndex, g_descriptor_stride_srv_cbv_uav)); + .Offset((INT)descriptorIndex, m_descriptor_stride_srv_cbv_uav)); } void D3D12GSRender::upload_and_bind_vertex_shader_constants(size_t descriptor_index) @@ -160,13 +160,13 @@ void D3D12GSRender::upload_and_bind_vertex_shader_constants(size_t descriptor_in }; m_device->CreateConstantBufferView(&constant_buffer_view_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)descriptor_index, g_descriptor_stride_srv_cbv_uav)); + .Offset((INT)descriptor_index, m_descriptor_stride_srv_cbv_uav)); } void D3D12GSRender::upload_and_bind_fragment_shader_constants(size_t descriptor_index) { // Get constant from fragment program - size_t buffer_size = m_pso_cache.get_fragment_constants_buffer_size(fragment_program); + size_t buffer_size = m_pso_cache.get_fragment_constants_buffer_size(m_fragment_program); // Multiple of 256 never 0 buffer_size = (buffer_size + 255) & ~255; @@ -174,7 +174,7 @@ void D3D12GSRender::upload_and_bind_fragment_shader_constants(size_t descriptor_ size_t offset = 0; float *mapped_buffer = m_buffer_data.map(CD3DX12_RANGE(heap_offset, heap_offset + buffer_size)); - m_pso_cache.fill_fragment_constans_buffer({ mapped_buffer, gsl::narrow(buffer_size) }, fragment_program); + m_pso_cache.fill_fragment_constans_buffer({ mapped_buffer, gsl::narrow(buffer_size) }, m_fragment_program); m_buffer_data.unmap(CD3DX12_RANGE(heap_offset, heap_offset + buffer_size)); D3D12_CONSTANT_BUFFER_VIEW_DESC constant_buffer_view_desc = { @@ -183,14 +183,14 @@ void D3D12GSRender::upload_and_bind_fragment_shader_constants(size_t descriptor_ }; m_device->CreateConstantBufferView(&constant_buffer_view_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)descriptor_index, g_descriptor_stride_srv_cbv_uav)); + .Offset((INT)descriptor_index, m_descriptor_stride_srv_cbv_uav)); } std::tuple D3D12GSRender::upload_inlined_vertex_array() { UINT offset = 0; - m_IASet.clear(); + m_ia_set.clear(); // Bind attributes for (int index = 0; index < rsx::limits::vertex_count; ++index) { @@ -207,7 +207,7 @@ std::tuple D3D12GSRender::upload_inlined_verte IAElement.AlignedByteOffset = offset; IAElement.InputSlotClass = D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA; IAElement.InstanceDataStepRate = 0; - m_IASet.push_back(IAElement); + m_ia_set.push_back(IAElement); offset += rsx::get_vertex_type_size_on_host(info.type, info.size); } @@ -334,7 +334,7 @@ std::tuple D3D12GSRender::upload_and_set_vertex_index_data(ID3D12G (UINT)buffer_size, get_index_type(indexed_type) }; - m_timers.m_buffer_upload_size += buffer_size; + m_timers.buffer_upload_size += buffer_size; command_list->IASetIndexBuffer(&index_buffer_view); const std::vector &vertex_buffer_views = upload_vertex_attributes({ std::make_pair(0, max_index + 1) }); diff --git a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp index f52938af25..5de07cbf37 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp @@ -58,13 +58,13 @@ void wait_for_command_queue(ID3D12Device *device, ID3D12CommandQueue *command_qu } } -void D3D12GSRender::Shader::Release() +void D3D12GSRender::shader::release() { - m_PSO->Release(); - m_rootSignature->Release(); - m_vertexBuffer->Release(); - m_textureDescriptorHeap->Release(); - m_samplerDescriptorHeap->Release(); + pso->Release(); + root_signature->Release(); + vertex_buffer->Release(); + texture_descriptor_heap->Release(); + sampler_descriptor_heap->Release(); } bool D3D12GSRender::invalidate_address(u32 addr) @@ -105,10 +105,10 @@ D3D12GSRender::D3D12GSRender() D3D12_COMMAND_QUEUE_DESC graphic_queue_desc = { D3D12_COMMAND_LIST_TYPE_DIRECT }; CHECK_HRESULT(m_device->CreateCommandQueue(&graphic_queue_desc, IID_PPV_ARGS(m_command_queue.GetAddressOf()))); - g_descriptor_stride_srv_cbv_uav = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); - g_descriptor_stride_dsv = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_DSV); - g_descriptor_stride_rtv = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV); - g_descriptor_stride_samplers = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER); + m_descriptor_stride_srv_cbv_uav = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV); + m_descriptor_stride_dsv = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_DSV); + m_descriptor_stride_rtv = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV); + m_descriptor_stride_samplers = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER); // Create swap chain and put them in a descriptor heap as rendertarget DXGI_SWAP_CHAIN_DESC swap_chain = {}; @@ -169,8 +169,8 @@ D3D12GSRender::D3D12GSRender() m_per_frame_storage[1].init(m_device.Get()); m_per_frame_storage[1].reset(); - initConvertShader(); - m_output_scaling_pass.Init(m_device.Get(), m_command_queue.Get()); + init_convert_shader(); + m_output_scaling_pass.init(m_device.Get(), m_command_queue.Get()); CHECK_HRESULT( m_device->CreateCommittedResource( @@ -197,11 +197,11 @@ D3D12GSRender::~D3D12GSRender() m_texture_cache.unprotect_all(); m_dummy_texture->Release(); - m_convertPSO->Release(); - m_convertRootSignature->Release(); + m_convert_pso->Release(); + m_convert_root_signature->Release(); m_per_frame_storage[0].release(); m_per_frame_storage[1].release(); - m_output_scaling_pass.Release(); + m_output_scaling_pass.release(); release_d2d_structures(); } @@ -237,7 +237,7 @@ void D3D12GSRender::end() prepare_render_targets(get_current_resource_storage().command_list.Get()); std::chrono::time_point rtt_duration_end = std::chrono::system_clock::now(); - m_timers.m_prepare_rtt_duration += std::chrono::duration_cast(rtt_duration_end - rtt_duration_start).count(); + m_timers.prepare_rtt_duration += std::chrono::duration_cast(rtt_duration_end - rtt_duration_start).count(); std::chrono::time_point vertex_index_duration_start = std::chrono::system_clock::now(); @@ -246,12 +246,12 @@ void D3D12GSRender::end() std::tie(indexed_draw, vertex_count) = upload_and_set_vertex_index_data(get_current_resource_storage().command_list.Get()); std::chrono::time_point vertex_index_duration_end = std::chrono::system_clock::now(); - m_timers.m_vertex_index_duration += std::chrono::duration_cast(vertex_index_duration_end - vertex_index_duration_start).count(); + m_timers.vertex_index_duration += std::chrono::duration_cast(vertex_index_duration_end - vertex_index_duration_start).count(); std::chrono::time_point program_load_start = std::chrono::system_clock::now(); load_program(); std::chrono::time_point program_load_end = std::chrono::system_clock::now(); - m_timers.m_program_load_duration += std::chrono::duration_cast(program_load_end - program_load_start).count(); + m_timers.program_load_duration += std::chrono::duration_cast(program_load_end - program_load_start).count(); get_current_resource_storage().command_list->SetGraphicsRootSignature(m_root_signatures[std::get<2>(m_current_pso)].Get()); get_current_resource_storage().command_list->OMSetStencilRef(rsx::method_registers[NV4097_SET_STENCIL_FUNC_REF]); @@ -265,7 +265,7 @@ void D3D12GSRender::end() upload_and_bind_fragment_shader_constants(currentDescriptorIndex + 2); std::chrono::time_point constants_duration_end = std::chrono::system_clock::now(); - m_timers.m_constants_duration += std::chrono::duration_cast(constants_duration_end - constants_duration_start).count(); + m_timers.constants_duration += std::chrono::duration_cast(constants_duration_end - constants_duration_start).count(); get_current_resource_storage().command_list->SetPipelineState(std::get<0>(m_current_pso).Get()); @@ -277,11 +277,11 @@ void D3D12GSRender::end() get_current_resource_storage().command_list->SetGraphicsRootDescriptorTable(0, CD3DX12_GPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetGPUDescriptorHandleForHeapStart()) - .Offset((INT)currentDescriptorIndex, g_descriptor_stride_srv_cbv_uav) + .Offset((INT)currentDescriptorIndex, m_descriptor_stride_srv_cbv_uav) ); get_current_resource_storage().command_list->SetGraphicsRootDescriptorTable(1, CD3DX12_GPU_DESCRIPTOR_HANDLE(get_current_resource_storage().sampler_descriptor_heap[get_current_resource_storage().sampler_descriptors_heap_index]->GetGPUDescriptorHandleForHeapStart()) - .Offset((INT)get_current_resource_storage().current_sampler_index, g_descriptor_stride_samplers) + .Offset((INT)get_current_resource_storage().current_sampler_index, m_descriptor_stride_samplers) ); get_current_resource_storage().current_sampler_index += std::get<2>(m_current_pso); @@ -292,13 +292,13 @@ void D3D12GSRender::end() get_current_resource_storage().command_list->SetDescriptorHeaps(1, get_current_resource_storage().descriptors_heap.GetAddressOf()); get_current_resource_storage().command_list->SetGraphicsRootDescriptorTable(0, CD3DX12_GPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetGPUDescriptorHandleForHeapStart()) - .Offset((INT)currentDescriptorIndex, g_descriptor_stride_srv_cbv_uav) + .Offset((INT)currentDescriptorIndex, m_descriptor_stride_srv_cbv_uav) ); get_current_resource_storage().descriptors_heap_index += 3; } std::chrono::time_point texture_duration_end = std::chrono::system_clock::now(); - m_timers.m_texture_duration += std::chrono::duration_cast(texture_duration_end - texture_duration_start).count(); + m_timers.texture_duration += std::chrono::duration_cast(texture_duration_end - texture_duration_start).count(); set_rtt_and_ds(get_current_resource_storage().command_list.Get()); int clip_w = rsx::method_registers[NV4097_SET_SURFACE_CLIP_HORIZONTAL] >> 16; @@ -325,8 +325,8 @@ void D3D12GSRender::end() get_current_resource_storage().command_list->DrawInstanced((UINT)vertex_count, 1, 0, 0); std::chrono::time_point end_duration = std::chrono::system_clock::now(); - m_timers.m_draw_calls_duration += std::chrono::duration_cast(end_duration - start_duration).count(); - m_timers.m_draw_calls_count++; + m_timers.draw_calls_duration += std::chrono::duration_cast(end_duration - start_duration).count(); + m_timers.draw_calls_count++; if (rpcs3::config.rsx.d3d12.debug_output.value()) { @@ -442,8 +442,8 @@ void D3D12GSRender::flip(int buffer) (LONG)m_backbuffer[m_swap_chain->GetCurrentBackBufferIndex()]->GetDesc().Height, }; get_current_resource_storage().command_list->RSSetScissorRects(1, &box); - get_current_resource_storage().command_list->SetGraphicsRootSignature(m_output_scaling_pass.m_rootSignature); - get_current_resource_storage().command_list->SetPipelineState(m_output_scaling_pass.m_PSO); + get_current_resource_storage().command_list->SetGraphicsRootSignature(m_output_scaling_pass.root_signature); + get_current_resource_storage().command_list->SetPipelineState(m_output_scaling_pass.pso); D3D12_SHADER_RESOURCE_VIEW_DESC shader_resource_view_desc = {}; // FIXME: Not always true @@ -460,7 +460,7 @@ void D3D12GSRender::flip(int buffer) D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 ); m_device->CreateShaderResourceView(resource_to_flip, &shader_resource_view_desc, - CD3DX12_CPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.m_textureDescriptorHeap->GetCPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), g_descriptor_stride_srv_cbv_uav)); + CD3DX12_CPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.texture_descriptor_heap->GetCPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), m_descriptor_stride_srv_cbv_uav)); D3D12_SAMPLER_DESC sampler_desc = {}; sampler_desc.Filter = D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT; @@ -468,24 +468,24 @@ void D3D12GSRender::flip(int buffer) sampler_desc.AddressV = D3D12_TEXTURE_ADDRESS_MODE_WRAP; sampler_desc.AddressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP; m_device->CreateSampler(&sampler_desc, - CD3DX12_CPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.m_samplerDescriptorHeap->GetCPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), g_descriptor_stride_samplers)); + CD3DX12_CPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.sampler_descriptor_heap->GetCPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), m_descriptor_stride_samplers)); ID3D12DescriptorHeap *descriptors_heaps[] = { - m_output_scaling_pass.m_textureDescriptorHeap, - m_output_scaling_pass.m_samplerDescriptorHeap + m_output_scaling_pass.texture_descriptor_heap, + m_output_scaling_pass.sampler_descriptor_heap }; get_current_resource_storage().command_list->SetDescriptorHeaps(2, descriptors_heaps); get_current_resource_storage().command_list->SetGraphicsRootDescriptorTable(0, - CD3DX12_GPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.m_textureDescriptorHeap->GetGPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), g_descriptor_stride_srv_cbv_uav)); + CD3DX12_GPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.texture_descriptor_heap->GetGPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), m_descriptor_stride_srv_cbv_uav)); get_current_resource_storage().command_list->SetGraphicsRootDescriptorTable(1, - CD3DX12_GPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.m_samplerDescriptorHeap->GetGPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), g_descriptor_stride_samplers)); + CD3DX12_GPU_DESCRIPTOR_HANDLE(m_output_scaling_pass.sampler_descriptor_heap->GetGPUDescriptorHandleForHeapStart()).Offset(m_swap_chain->GetCurrentBackBufferIndex(), m_descriptor_stride_samplers)); get_current_resource_storage().command_list->OMSetRenderTargets(1, &CD3DX12_CPU_DESCRIPTOR_HANDLE(m_backbuffer_descriptor_heap[m_swap_chain->GetCurrentBackBufferIndex()]->GetCPUDescriptorHandleForHeapStart()), true, nullptr); D3D12_VERTEX_BUFFER_VIEW vertex_buffer_view = {}; - vertex_buffer_view.BufferLocation = m_output_scaling_pass.m_vertexBuffer->GetGPUVirtualAddress(); + vertex_buffer_view.BufferLocation = m_output_scaling_pass.vertex_buffer->GetGPUVirtualAddress(); vertex_buffer_view.StrideInBytes = 4 * sizeof(float); vertex_buffer_view.SizeInBytes = 16 * sizeof(float); get_current_resource_storage().command_list->IASetVertexBuffers(0, 1, &vertex_buffer_view); @@ -540,7 +540,7 @@ void D3D12GSRender::flip(int buffer) std::chrono::time_point flip_end = std::chrono::system_clock::now(); - m_timers.m_flip_duration += std::chrono::duration_cast(flip_end - flip_start).count(); + m_timers.flip_duration += std::chrono::duration_cast(flip_end - flip_start).count(); } bool D3D12GSRender::on_access_violation(u32 address, bool is_writing) @@ -561,15 +561,15 @@ bool D3D12GSRender::on_access_violation(u32 address, bool is_writing) void D3D12GSRender::reset_timer() { - m_timers.m_draw_calls_count = 0; - m_timers.m_draw_calls_duration = 0; - m_timers.m_prepare_rtt_duration = 0; - m_timers.m_vertex_index_duration = 0; - m_timers.m_buffer_upload_size = 0; - m_timers.m_program_load_duration = 0; - m_timers.m_constants_duration = 0; - m_timers.m_texture_duration = 0; - m_timers.m_flip_duration = 0; + m_timers.draw_calls_count = 0; + m_timers.draw_calls_duration = 0; + m_timers.prepare_rtt_duration = 0; + m_timers.vertex_index_duration = 0; + m_timers.buffer_upload_size = 0; + m_timers.program_load_duration = 0; + m_timers.constants_duration = 0; + m_timers.texture_duration = 0; + m_timers.flip_duration = 0; } resource_storage& D3D12GSRender::get_current_resource_storage() diff --git a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h index 0e8a2dc1b7..2edd2d9aa9 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h +++ b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.h @@ -64,49 +64,49 @@ private: rsx::surface_info m_surface; - RSXVertexProgram vertex_program; - RSXFragmentProgram fragment_program; + RSXVertexProgram m_vertex_program; + RSXFragmentProgram m_fragment_program; PipelineStateObjectCache m_pso_cache; std::tuple, std::vector, size_t> m_current_pso; struct { - size_t m_draw_calls_duration; - size_t m_draw_calls_count; - size_t m_prepare_rtt_duration; - size_t m_vertex_index_duration; - size_t m_buffer_upload_size; - size_t m_program_load_duration; - size_t m_constants_duration; - size_t m_texture_duration; - size_t m_flip_duration; + size_t draw_calls_duration; + size_t draw_calls_count; + size_t prepare_rtt_duration; + size_t vertex_index_duration; + size_t buffer_upload_size; + size_t program_load_duration; + size_t constants_duration; + size_t texture_duration; + size_t flip_duration; } m_timers; void reset_timer(); - struct Shader + struct shader { - ID3D12PipelineState *m_PSO; - ID3D12RootSignature *m_rootSignature; - ID3D12Resource *m_vertexBuffer; - ID3D12DescriptorHeap *m_textureDescriptorHeap; - ID3D12DescriptorHeap *m_samplerDescriptorHeap; - void Init(ID3D12Device *device, ID3D12CommandQueue *gfxcommandqueue); - void Release(); + ID3D12PipelineState *pso; + ID3D12RootSignature *root_signature; + ID3D12Resource *vertex_buffer; + ID3D12DescriptorHeap *texture_descriptor_heap; + ID3D12DescriptorHeap *sampler_descriptor_heap; + void init(ID3D12Device *device, ID3D12CommandQueue *gfx_command_queue); + void release(); }; /** * Stores data related to the scaling pass that turns internal * render targets into presented buffers. */ - Shader m_output_scaling_pass; + shader m_output_scaling_pass; /** * Data used when depth buffer is converted to uchar textures. */ - ID3D12PipelineState *m_convertPSO; - ID3D12RootSignature *m_convertRootSignature; - void initConvertShader(); + ID3D12PipelineState *m_convert_pso; + ID3D12RootSignature *m_convert_root_signature; + void init_convert_shader(); resource_storage m_per_frame_storage[2]; resource_storage &get_current_resource_storage(); @@ -118,18 +118,20 @@ private: rsx::render_targets m_rtts; - std::vector m_IASet; + std::vector m_ia_set; - INT g_descriptor_stride_srv_cbv_uav; - INT g_descriptor_stride_dsv; - INT g_descriptor_stride_rtv; - INT g_descriptor_stride_samplers; + INT m_descriptor_stride_srv_cbv_uav; + INT m_descriptor_stride_dsv; + INT m_descriptor_stride_rtv; + INT m_descriptor_stride_samplers; // Used to fill unused texture slot ID3D12Resource *m_dummy_texture; + public: D3D12GSRender(); virtual ~D3D12GSRender(); + private: void init_d2d_structures(); void release_d2d_structures(); diff --git a/rpcs3/Emu/RSX/D3D12/D3D12Overlay.cpp b/rpcs3/Emu/RSX/D3D12/D3D12Overlay.cpp index 7017426392..d82978e04d 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12Overlay.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12Overlay.cpp @@ -152,21 +152,21 @@ void D3D12GSRender::release_d2d_structures() void D3D12GSRender::render_overlay() { D2D1_SIZE_F rtSize = g_d2d_render_targets[m_swap_chain->GetCurrentBackBufferIndex()]->GetSize(); - std::wstring duration = L"Draw duration : " + std::to_wstring(m_timers.m_draw_calls_duration) + L" us"; - float vtxIdxPercent = (float)m_timers.m_vertex_index_duration / (float)m_timers.m_draw_calls_duration; - std::wstring vertexIndexDuration = L"Vtx/Idx upload : " + std::to_wstring(m_timers.m_vertex_index_duration) + L" us (" + std::to_wstring(100.f * vtxIdxPercent) + L" %)"; - std::wstring size = L"Upload size : " + std::to_wstring(m_timers.m_buffer_upload_size) + L" Bytes"; - float texPercent = (float)m_timers.m_texture_duration / (float)m_timers.m_draw_calls_duration; - std::wstring texDuration = L"Textures : " + std::to_wstring(m_timers.m_texture_duration) + L" us (" + std::to_wstring(100.f * texPercent) + L" %)"; - float programPercent = (float)m_timers.m_program_load_duration / (float)m_timers.m_draw_calls_duration; - std::wstring programDuration = L"Program : " + std::to_wstring(m_timers.m_program_load_duration) + L" us (" + std::to_wstring(100.f * programPercent) + L" %)"; - float constantsPercent = (float)m_timers.m_constants_duration / (float)m_timers.m_draw_calls_duration; - std::wstring constantDuration = L"Constants : " + std::to_wstring(m_timers.m_constants_duration) + L" us (" + std::to_wstring(100.f * constantsPercent) + L" %)"; - float rttPercent = (float)m_timers.m_prepare_rtt_duration / (float)m_timers.m_draw_calls_duration; - std::wstring rttDuration = L"RTT : " + std::to_wstring(m_timers.m_prepare_rtt_duration) + L" us (" + std::to_wstring(100.f * rttPercent) + L" %)"; - std::wstring flipDuration = L"Flip : " + std::to_wstring(m_timers.m_flip_duration) + L" us"; + std::wstring duration = L"Draw duration : " + std::to_wstring(m_timers.draw_calls_duration) + L" us"; + float vtxIdxPercent = (float)m_timers.vertex_index_duration / (float)m_timers.draw_calls_duration; + std::wstring vertexIndexDuration = L"Vtx/Idx upload : " + std::to_wstring(m_timers.vertex_index_duration) + L" us (" + std::to_wstring(100.f * vtxIdxPercent) + L" %)"; + std::wstring size = L"Upload size : " + std::to_wstring(m_timers.buffer_upload_size) + L" Bytes"; + float texPercent = (float)m_timers.texture_duration / (float)m_timers.draw_calls_duration; + std::wstring texDuration = L"Textures : " + std::to_wstring(m_timers.texture_duration) + L" us (" + std::to_wstring(100.f * texPercent) + L" %)"; + float programPercent = (float)m_timers.program_load_duration / (float)m_timers.draw_calls_duration; + std::wstring programDuration = L"Program : " + std::to_wstring(m_timers.program_load_duration) + L" us (" + std::to_wstring(100.f * programPercent) + L" %)"; + float constantsPercent = (float)m_timers.constants_duration / (float)m_timers.draw_calls_duration; + std::wstring constantDuration = L"Constants : " + std::to_wstring(m_timers.constants_duration) + L" us (" + std::to_wstring(100.f * constantsPercent) + L" %)"; + float rttPercent = (float)m_timers.prepare_rtt_duration / (float)m_timers.draw_calls_duration; + std::wstring rttDuration = L"RTT : " + std::to_wstring(m_timers.prepare_rtt_duration) + L" us (" + std::to_wstring(100.f * rttPercent) + L" %)"; + std::wstring flipDuration = L"Flip : " + std::to_wstring(m_timers.flip_duration) + L" us"; - std::wstring count = L"Draw count : " + std::to_wstring(m_timers.m_draw_calls_count); + std::wstring count = L"Draw count : " + std::to_wstring(m_timers.draw_calls_count); draw_strings(rtSize, m_swap_chain->GetCurrentBackBufferIndex(), { duration, diff --git a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp index a756db8ca4..c536e93df0 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.cpp @@ -39,12 +39,12 @@ void Shader::Compile(const std::string &code, SHADER_TYPE st) void D3D12GSRender::load_program() { u32 transform_program_start = rsx::method_registers[NV4097_SET_TRANSFORM_PROGRAM_START]; - vertex_program.data.reserve((512 - transform_program_start) * 4); + m_vertex_program.data.reserve((512 - transform_program_start) * 4); for (int i = transform_program_start; i < 512; ++i) { - vertex_program.data.resize((i - transform_program_start) * 4 + 4); - memcpy(vertex_program.data.data() + (i - transform_program_start) * 4, transform_program + i * 4, 4 * sizeof(u32)); + m_vertex_program.data.resize((i - transform_program_start) * 4 + 4); + memcpy(m_vertex_program.data.data() + (i - transform_program_start) * 4, transform_program + i * 4, 4 * sizeof(u32)); D3 d3; d3.HEX = transform_program[i * 4 + 3]; @@ -54,19 +54,19 @@ void D3D12GSRender::load_program() } u32 shader_program = rsx::method_registers[NV4097_SET_SHADER_PROGRAM]; - fragment_program.offset = shader_program & ~0x3; - fragment_program.addr = rsx::get_address(fragment_program.offset, (shader_program & 0x3) - 1); - fragment_program.ctrl = rsx::method_registers[NV4097_SET_SHADER_CONTROL]; - fragment_program.texture_dimensions.clear(); + m_fragment_program.offset = shader_program & ~0x3; + m_fragment_program.addr = rsx::get_address(m_fragment_program.offset, (shader_program & 0x3) - 1); + m_fragment_program.ctrl = rsx::method_registers[NV4097_SET_SHADER_CONTROL]; + m_fragment_program.texture_dimensions.clear(); for (u32 i = 0; i < rsx::limits::textures_count; ++i) { if (!textures[i].enabled()) - fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_2d); + m_fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_2d); else if (textures[i].cubemap()) - fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_cubemap); + m_fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_cubemap); else - fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_2d); + m_fragment_program.texture_dimensions.push_back(texture_dimension::texture_dimension_2d); } D3D12PipelineProperties prop = {}; @@ -251,7 +251,7 @@ void D3D12GSRender::load_program() for (unsigned i = 0; i < prop.numMRT; i++) prop.Blend.RenderTarget[i].RenderTargetWriteMask = mask; - prop.IASet = m_IASet; + prop.IASet = m_ia_set; if (!!rsx::method_registers[NV4097_SET_RESTART_INDEX_ENABLE]) { index_array_type index_type = to_index_array_type(rsx::method_registers[NV4097_SET_INDEX_ARRAY_DMA] >> 4); @@ -265,12 +265,12 @@ void D3D12GSRender::load_program() } } - m_current_pso = m_pso_cache.getGraphicPipelineState(vertex_program, fragment_program, prop, m_device.Get(), m_root_signatures); + m_current_pso = m_pso_cache.getGraphicPipelineState(m_vertex_program, m_fragment_program, prop, m_device.Get(), m_root_signatures); return; } std::pair D3D12GSRender::get_programs() const { - return std::make_pair(m_pso_cache.get_transform_program(vertex_program).content, m_pso_cache.get_shader_program(fragment_program).content); + return std::make_pair(m_pso_cache.get_transform_program(m_vertex_program).content, m_pso_cache.get_shader_program(m_fragment_program).content); } #endif diff --git a/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp b/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp index 0616339f4f..3d3aafd529 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12RenderTargetSets.cpp @@ -126,7 +126,7 @@ void D3D12GSRender::clear_surface(u32 arg) prepare_render_targets(get_current_resource_storage().command_list.Get()); std::chrono::time_point rtt_duration_end = std::chrono::system_clock::now(); - m_timers.m_prepare_rtt_duration += std::chrono::duration_cast(rtt_duration_end - rtt_duration_start).count(); + m_timers.prepare_rtt_duration += std::chrono::duration_cast(rtt_duration_end - rtt_duration_start).count(); if (arg & 0x1 || arg & 0x2) { @@ -151,13 +151,13 @@ void D3D12GSRender::clear_surface(u32 arg) size_t rtt_index = get_num_rtt(to_surface_target(rsx::method_registers[NV4097_SET_SURFACE_COLOR_TARGET])); get_current_resource_storage().render_targets_descriptors_heap_index += rtt_index; for (unsigned i = 0; i < rtt_index; i++) - get_current_resource_storage().command_list->ClearRenderTargetView(handle.Offset(i, g_descriptor_stride_rtv), get_clear_color(rsx::method_registers[NV4097_SET_COLOR_CLEAR_VALUE]).data(), + get_current_resource_storage().command_list->ClearRenderTargetView(handle.Offset(i, m_descriptor_stride_rtv), get_clear_color(rsx::method_registers[NV4097_SET_COLOR_CLEAR_VALUE]).data(), 1, &get_scissor(rsx::method_registers[NV4097_SET_SCISSOR_HORIZONTAL], rsx::method_registers[NV4097_SET_SCISSOR_VERTICAL])); } std::chrono::time_point end_duration = std::chrono::system_clock::now(); - m_timers.m_draw_calls_duration += std::chrono::duration_cast(end_duration - start_duration).count(); - m_timers.m_draw_calls_count++; + m_timers.draw_calls_duration += std::chrono::duration_cast(end_duration - start_duration).count(); + m_timers.draw_calls_count++; if (rpcs3::config.rsx.d3d12.debug_output.value()) { @@ -196,14 +196,14 @@ void D3D12GSRender::prepare_render_targets(ID3D12GraphicsCommandList *copycmdlis rtt_view_desc.Format = dxgi_format; m_rtts.current_rtts_handle = CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().render_targets_descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)get_current_resource_storage().render_targets_descriptors_heap_index * g_descriptor_stride_rtv); + .Offset((INT)get_current_resource_storage().render_targets_descriptors_heap_index * m_descriptor_stride_rtv); size_t rtt_index = 0; for (u8 i : get_rtt_indexes(to_surface_target(rsx::method_registers[NV4097_SET_SURFACE_COLOR_TARGET]))) { if (std::get<1>(m_rtts.m_bound_render_targets[i]) == nullptr) continue; m_device->CreateRenderTargetView(std::get<1>(m_rtts.m_bound_render_targets[i]), &rtt_view_desc, - CD3DX12_CPU_DESCRIPTOR_HANDLE(m_rtts.current_rtts_handle).Offset((INT)rtt_index * g_descriptor_stride_rtv)); + CD3DX12_CPU_DESCRIPTOR_HANDLE(m_rtts.current_rtts_handle).Offset((INT)rtt_index * m_descriptor_stride_rtv)); rtt_index++; } get_current_resource_storage().render_targets_descriptors_heap_index += rtt_index; @@ -211,7 +211,7 @@ void D3D12GSRender::prepare_render_targets(ID3D12GraphicsCommandList *copycmdlis if (std::get<1>(m_rtts.m_bound_depth_stencil) == nullptr) return; m_rtts.current_ds_handle = CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().depth_stencil_descriptor_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)get_current_resource_storage().depth_stencil_descriptor_heap_index * g_descriptor_stride_dsv); + .Offset((INT)get_current_resource_storage().depth_stencil_descriptor_heap_index * m_descriptor_stride_dsv); get_current_resource_storage().depth_stencil_descriptor_heap_index += 1; D3D12_DEPTH_STENCIL_VIEW_DESC depth_stencil_view_desc = {}; depth_stencil_view_desc.Format = get_depth_stencil_surface_format(m_surface.depth_format); @@ -362,13 +362,13 @@ void D3D12GSRender::copy_render_target_to_dma_location() uav_desc.Format = DXGI_FORMAT_R8_UNORM; uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D; m_device->CreateUnorderedAccessView(depth_format_conversion_buffer.Get(), nullptr, &uav_desc, - CD3DX12_CPU_DESCRIPTOR_HANDLE(descriptor_heap->GetCPUDescriptorHandleForHeapStart()).Offset(1, g_descriptor_stride_srv_cbv_uav)); + CD3DX12_CPU_DESCRIPTOR_HANDLE(descriptor_heap->GetCPUDescriptorHandleForHeapStart()).Offset(1, m_descriptor_stride_srv_cbv_uav)); // Convert get_current_resource_storage().command_list->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(std::get<1>(m_rtts.m_bound_depth_stencil), D3D12_RESOURCE_STATE_DEPTH_WRITE, D3D12_RESOURCE_STATE_GENERIC_READ)); - get_current_resource_storage().command_list->SetPipelineState(m_convertPSO); - get_current_resource_storage().command_list->SetComputeRootSignature(m_convertRootSignature); + get_current_resource_storage().command_list->SetPipelineState(m_convert_pso); + get_current_resource_storage().command_list->SetComputeRootSignature(m_convert_root_signature); get_current_resource_storage().command_list->SetDescriptorHeaps(1, descriptor_heap.GetAddressOf()); get_current_resource_storage().command_list->SetComputeRootDescriptorTable(0, descriptor_heap->GetGPUDescriptorHandleForHeapStart()); get_current_resource_storage().command_list->Dispatch(clip_w / 8, clip_h / 8, 1); diff --git a/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp b/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp index e34780cd23..59a9674950 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp @@ -143,7 +143,7 @@ void D3D12GSRender::upload_and_bind_textures(ID3D12GraphicsCommandList *command_ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0); m_device->CreateShaderResourceView(m_dummy_texture, &shader_resource_view_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)descriptor_index + (INT)used_texture, g_descriptor_stride_srv_cbv_uav) + .Offset((INT)descriptor_index + (INT)used_texture, m_descriptor_stride_srv_cbv_uav) ); D3D12_SAMPLER_DESC sampler_desc = {}; @@ -153,7 +153,7 @@ void D3D12GSRender::upload_and_bind_textures(ID3D12GraphicsCommandList *command_ sampler_desc.AddressW = D3D12_TEXTURE_ADDRESS_MODE_WRAP; m_device->CreateSampler(&sampler_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().sampler_descriptor_heap[get_current_resource_storage().sampler_descriptors_heap_index]->GetCPUDescriptorHandleForHeapStart()) - .Offset((INT)get_current_resource_storage().current_sampler_index + (INT)used_texture, g_descriptor_stride_samplers) + .Offset((INT)get_current_resource_storage().current_sampler_index + (INT)used_texture, m_descriptor_stride_samplers) ); used_texture++; continue; @@ -320,7 +320,7 @@ void D3D12GSRender::upload_and_bind_textures(ID3D12GraphicsCommandList *command_ m_device->CreateShaderResourceView(vram_texture, &shared_resource_view_desc, CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().descriptors_heap->GetCPUDescriptorHandleForHeapStart()) - .Offset((UINT)descriptor_index + (UINT)used_texture, g_descriptor_stride_srv_cbv_uav)); + .Offset((UINT)descriptor_index + (UINT)used_texture, m_descriptor_stride_srv_cbv_uav)); if (get_current_resource_storage().current_sampler_index + 16 > 2048) { @@ -336,7 +336,7 @@ void D3D12GSRender::upload_and_bind_textures(ID3D12GraphicsCommandList *command_ } m_device->CreateSampler(&get_sampler_desc(textures[i]), CD3DX12_CPU_DESCRIPTOR_HANDLE(get_current_resource_storage().sampler_descriptor_heap[get_current_resource_storage().sampler_descriptors_heap_index]->GetCPUDescriptorHandleForHeapStart()) - .Offset((UINT)get_current_resource_storage().current_sampler_index + (UINT)used_texture, g_descriptor_stride_samplers)); + .Offset((UINT)get_current_resource_storage().current_sampler_index + (UINT)used_texture, m_descriptor_stride_samplers)); used_texture++; } diff --git a/rpcs3/Emu/RSX/D3D12/D3D12Utils.cpp b/rpcs3/Emu/RSX/D3D12/D3D12Utils.cpp index 6401525c0c..bc506139ec 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12Utils.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12Utils.cpp @@ -47,7 +47,7 @@ std::pair compileF32toU8CS() } -void D3D12GSRender::Shader::Init(ID3D12Device *device, ID3D12CommandQueue *gfxcommandqueue) +void D3D12GSRender::shader::init(ID3D12Device *device, ID3D12CommandQueue *gfx_command_queue) { const char *fsCode = STRINGIFY( Texture2D InputTexture : register(t0); \n @@ -143,21 +143,21 @@ void D3D12GSRender::Shader::Init(ID3D12Device *device, ID3D12CommandQueue *gfxco Microsoft::WRL::ComPtr rootSignatureBlob; CHECK_HRESULT(wrapD3D12SerializeRootSignature(&rootSignatureDesc, D3D_ROOT_SIGNATURE_VERSION_1, &rootSignatureBlob, &errorBlob)); - CHECK_HRESULT(device->CreateRootSignature(0, rootSignatureBlob->GetBufferPointer(), rootSignatureBlob->GetBufferSize(), IID_PPV_ARGS(&m_rootSignature))); + CHECK_HRESULT(device->CreateRootSignature(0, rootSignatureBlob->GetBufferPointer(), rootSignatureBlob->GetBufferSize(), IID_PPV_ARGS(&root_signature))); - psoDesc.pRootSignature = m_rootSignature; + psoDesc.pRootSignature = root_signature; psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE; psoDesc.BlendState.RenderTarget[0].RenderTargetWriteMask = D3D12_COLOR_WRITE_ENABLE_ALL; - CHECK_HRESULT(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&m_PSO))); + CHECK_HRESULT(device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&pso))); D3D12_DESCRIPTOR_HEAP_DESC textureHeapDesc = { D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV , 2, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE }; CHECK_HRESULT( - device->CreateDescriptorHeap(&textureHeapDesc, IID_PPV_ARGS(&m_textureDescriptorHeap)) + device->CreateDescriptorHeap(&textureHeapDesc, IID_PPV_ARGS(&texture_descriptor_heap)) ); D3D12_DESCRIPTOR_HEAP_DESC samplerHeapDesc = { D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER , 2, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE }; CHECK_HRESULT( - device->CreateDescriptorHeap(&samplerHeapDesc, IID_PPV_ARGS(&m_samplerDescriptorHeap)) + device->CreateDescriptorHeap(&samplerHeapDesc, IID_PPV_ARGS(&sampler_descriptor_heap)) ); ComPtr fence; @@ -197,37 +197,37 @@ void D3D12GSRender::Shader::Init(ID3D12Device *device, ID3D12CommandQueue *gfxco &CD3DX12_RESOURCE_DESC::Buffer(16 * sizeof(float)), D3D12_RESOURCE_STATE_COPY_DEST, nullptr, - IID_PPV_ARGS(&m_vertexBuffer) + IID_PPV_ARGS(&vertex_buffer) )); D3D12_SUBRESOURCE_DATA vertexData = { reinterpret_cast(quadVertex), 16 * sizeof(float), 1 }; - UpdateSubresources(cmdList.Get(), m_vertexBuffer, intermediateBuffer.Get(), 0, 0, 1, &vertexData); - cmdList->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(m_vertexBuffer, D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER)); + UpdateSubresources(cmdList.Get(), vertex_buffer, intermediateBuffer.Get(), 0, 0, 1, &vertexData); + cmdList->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(vertex_buffer, D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER)); CHECK_HRESULT(cmdList->Close()); - gfxcommandqueue->ExecuteCommandLists(1, CommandListCast(cmdList.GetAddressOf())); + gfx_command_queue->ExecuteCommandLists(1, CommandListCast(cmdList.GetAddressOf())); // Now wait until upload has completed - gfxcommandqueue->Signal(fence.Get(), 1); + gfx_command_queue->Signal(fence.Get(), 1); WaitForSingleObjectEx(handle, INFINITE, FALSE); CloseHandle(handle); } -void D3D12GSRender::initConvertShader() +void D3D12GSRender::init_convert_shader() { const auto &p = compileF32toU8CS(); CHECK_HRESULT( - m_device->CreateRootSignature(0, p.second->GetBufferPointer(), p.second->GetBufferSize(), IID_PPV_ARGS(&m_convertRootSignature)) + m_device->CreateRootSignature(0, p.second->GetBufferPointer(), p.second->GetBufferSize(), IID_PPV_ARGS(&m_convert_root_signature)) ); D3D12_COMPUTE_PIPELINE_STATE_DESC computePipelineStateDesc = {}; computePipelineStateDesc.CS.BytecodeLength = p.first->GetBufferSize(); computePipelineStateDesc.CS.pShaderBytecode = p.first->GetBufferPointer(); - computePipelineStateDesc.pRootSignature = m_convertRootSignature; + computePipelineStateDesc.pRootSignature = m_convert_root_signature; CHECK_HRESULT( - m_device->CreateComputePipelineState(&computePipelineStateDesc, IID_PPV_ARGS(&m_convertPSO)) + m_device->CreateComputePipelineState(&computePipelineStateDesc, IID_PPV_ARGS(&m_convert_pso)) ); p.first->Release();