From 71cc1dc3f1c32c9d30a38dee0a1d0414f154f258 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 11 Mar 2018 20:44:01 -0700 Subject: Implemened PSO compatibility: updated tests and submodules --- Tests/TestApp/assets/DepthStencilStateTest.lua | 42 +++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'Tests/TestApp/assets/DepthStencilStateTest.lua') diff --git a/Tests/TestApp/assets/DepthStencilStateTest.lua b/Tests/TestApp/assets/DepthStencilStateTest.lua index c0697ba..b099b31 100644 --- a/Tests/TestApp/assets/DepthStencilStateTest.lua +++ b/Tests/TestApp/assets/DepthStencilStateTest.lua @@ -122,42 +122,50 @@ StencilOps = for i,v in ipairs(ComparisonFuncs) do PSODesc.GraphicsPipeline.DepthStencilDesc.DepthFunc = v - local TestPSO = PipelineState.Create(PSODesc) - assert(TestPSO.GraphicsPipeline.DepthStencilDesc.DepthFunc == v) - Context.SetPipelineState(TestPSO) + local TestPSO2 = PipelineState.Create(PSODesc) + assert(TestPSO:IsCompatibleWith(TestPSO2)) + assert(TestPSO2:IsCompatibleWith(TestPSO)) + assert(TestPSO2.GraphicsPipeline.DepthStencilDesc.DepthFunc == v) + Context.SetPipelineState(TestPSO2) end for i,v in ipairs(StencilOps) do PSODesc.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFailOp = v PSODesc.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilDepthFailOp = v PSODesc.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilPassOp = v - local TestPSO = PipelineState.Create(PSODesc) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFailOp == v ) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilDepthFailOp == v ) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilPassOp == v ) - Context.SetPipelineState(TestPSO) + local TestPSO2 = PipelineState.Create(PSODesc) + assert(TestPSO:IsCompatibleWith(TestPSO2)) + assert(TestPSO2:IsCompatibleWith(TestPSO)) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFailOp == v ) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilDepthFailOp == v ) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilPassOp == v ) + Context.SetPipelineState(TestPSO2) end for i,v in ipairs(StencilOps) do PSODesc.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFailOp = v PSODesc.GraphicsPipeline.DepthStencilDesc.BackFace.StencilDepthFailOp = v PSODesc.GraphicsPipeline.DepthStencilDesc.BackFace.StencilPassOp = v - local TestPSO = PipelineState.Create(PSODesc) + local TestPSO2 = PipelineState.Create(PSODesc) + assert(TestPSO:IsCompatibleWith(TestPSO2)) + assert(TestPSO2:IsCompatibleWith(TestPSO)) --local TestDSS2 = DepthStencilState.Create(DSSDesc) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFailOp == v ) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.BackFace.StencilDepthFailOp == v ) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.BackFace.StencilPassOp == v ) - Context.SetPipelineState(TestPSO) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFailOp == v ) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.BackFace.StencilDepthFailOp == v ) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.BackFace.StencilPassOp == v ) + Context.SetPipelineState(TestPSO2) end for i,v in ipairs(ComparisonFuncs) do PSODesc.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFunc = v PSODesc.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFunc = v - local TestPSO = PipelineState.Create(PSODesc) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFunc == v ) - assert( TestPSO.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFunc == v ) - Context.SetPipelineState(TestPSO) + local TestPSO2 = PipelineState.Create(PSODesc) + assert(TestPSO:IsCompatibleWith(TestPSO2)) + assert(TestPSO2:IsCompatibleWith(TestPSO)) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.FrontFace.StencilFunc == v ) + assert( TestPSO2.GraphicsPipeline.DepthStencilDesc.BackFace.StencilFunc == v ) + Context.SetPipelineState(TestPSO2) end function TestDSSDesc(PSOArg) -- cgit v1.2.3