소스 검색

Fix memory leak related to vertex/pixel/compute shader functions (#18998) (#19007)

Signed-off-by: Sidharth Moudgil <[email protected]>
Co-authored-by: moudgils <[email protected]>
Nicholas Lawson 3 달 전
부모
커밋
fb950ddf22
1개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineState.cpp

+ 12 - 0
Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineState.cpp

@@ -419,6 +419,14 @@ namespace AZ
         {
         {
             if (m_graphicsPipelineState)
             if (m_graphicsPipelineState)
             {
             {
+                if (m_renderPipelineDesc.vertexFunction)
+                {
+                    [m_renderPipelineDesc.vertexFunction release];
+                }
+                if (m_renderPipelineDesc.fragmentFunction)
+                {
+                    [m_renderPipelineDesc.fragmentFunction release];
+                }
                 [m_renderPipelineDesc release];
                 [m_renderPipelineDesc release];
                 m_renderPipelineDesc = nil;
                 m_renderPipelineDesc = nil;
                 [m_graphicsPipelineState release];
                 [m_graphicsPipelineState release];
@@ -427,6 +435,10 @@ namespace AZ
             
             
             if (m_computePipelineState)
             if (m_computePipelineState)
             {
             {
+                if (m_computePipelineDesc.computeFunction)
+                {
+                    [m_computePipelineDesc.computeFunction release];
+                }
                 [m_computePipelineDesc release];
                 [m_computePipelineDesc release];
                 m_computePipelineDesc = nil;
                 m_computePipelineDesc = nil;
                 [m_computePipelineState release];
                 [m_computePipelineState release];