diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2019-12-12 22:41:17 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2019-12-12 22:41:17 +0000 |
| commit | 80bfa52139976bd51b43c58e9576d379fe9f8a14 (patch) | |
| tree | 3d7663ef18296eb5cc6de7fedeb8a1fc1e4d372f /Tests/TestApp/assets/BlendStateTest.lua | |
| parent | Updated core & tools. Fixed https://github.com/DiligentGraphics/DiligentEngin... (diff) | |
| download | DiligentEngine-80bfa52139976bd51b43c58e9576d379fe9f8a14.tar.gz DiligentEngine-80bfa52139976bd51b43c58e9576d379fe9f8a14.zip | |
Updated submodules (added unit tests). Reworked TestApp
Diffstat (limited to 'Tests/TestApp/assets/BlendStateTest.lua')
| -rw-r--r-- | Tests/TestApp/assets/BlendStateTest.lua | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/Tests/TestApp/assets/BlendStateTest.lua b/Tests/TestApp/assets/BlendStateTest.lua deleted file mode 100644 index f450da1..0000000 --- a/Tests/TestApp/assets/BlendStateTest.lua +++ /dev/null @@ -1,259 +0,0 @@ --- Test script file - -TestGlobalBS = TestGlobalPSO.GraphicsPipeline.BlendDesc - -assert( TestGlobalPSO.Name == "PSO-TestBlendStates"); - -assert( TestGlobalBS.IndependentBlendEnable == true); -assert( TestGlobalBS.AlphaToCoverageEnable == false); -assert( TestGlobalBS.RenderTargets[1].BlendEnable == true); -assert( TestGlobalBS.RenderTargets[1].SrcBlend == "BLEND_FACTOR_ZERO"); -assert( TestGlobalBS.RenderTargets[1].DestBlend == "BLEND_FACTOR_ONE"); -assert( TestGlobalBS.RenderTargets[1].BlendOp == "BLEND_OPERATION_ADD"); -assert( TestGlobalBS.RenderTargets[1].SrcBlendAlpha == "BLEND_FACTOR_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[1].DestBlendAlpha == "BLEND_FACTOR_INV_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[1].BlendOpAlpha == "BLEND_OPERATION_SUBTRACT"); -assert( TestGlobalBS.RenderTargets[1].RenderTargetWriteMask[1] == "COLOR_MASK_RED"); - -assert( TestGlobalBS.RenderTargets[2].BlendEnable == true); -assert( TestGlobalBS.RenderTargets[2].SrcBlend == "BLEND_FACTOR_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[2].DestBlend == "BLEND_FACTOR_INV_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[2].BlendOp == "BLEND_OPERATION_REV_SUBTRACT"); -assert( TestGlobalBS.RenderTargets[2].SrcBlendAlpha == "BLEND_FACTOR_DEST_ALPHA"); -assert( TestGlobalBS.RenderTargets[2].DestBlendAlpha == "BLEND_FACTOR_INV_DEST_ALPHA"); -assert( TestGlobalBS.RenderTargets[2].BlendOpAlpha == "BLEND_OPERATION_MIN"); -assert( TestGlobalBS.RenderTargets[2].RenderTargetWriteMask[1] == "COLOR_MASK_GREEN"); - -assert( TestGlobalBS.RenderTargets[3].BlendEnable == true); -assert( TestGlobalBS.RenderTargets[3].SrcBlend == "BLEND_FACTOR_DEST_COLOR"); -assert( TestGlobalBS.RenderTargets[3].DestBlend == "BLEND_FACTOR_INV_DEST_COLOR"); -assert( TestGlobalBS.RenderTargets[3].BlendOp == "BLEND_OPERATION_MAX"); -assert( TestGlobalBS.RenderTargets[3].SrcBlendAlpha == "BLEND_FACTOR_SRC_ALPHA_SAT"); -assert( TestGlobalBS.RenderTargets[3].DestBlendAlpha == "BLEND_FACTOR_BLEND_FACTOR"); -assert( TestGlobalBS.RenderTargets[3].BlendOpAlpha == "BLEND_OPERATION_ADD"); -assert( TestGlobalBS.RenderTargets[3].RenderTargetWriteMask[1] == "COLOR_MASK_BLUE"); - -assert( TestGlobalBS.RenderTargets[4].BlendEnable == true); -assert( TestGlobalBS.RenderTargets[4].SrcBlend == "BLEND_FACTOR_INV_BLEND_FACTOR"); -assert( TestGlobalBS.RenderTargets[4].DestBlend == "BLEND_FACTOR_SRC_COLOR"); -assert( TestGlobalBS.RenderTargets[4].BlendOp == "BLEND_OPERATION_MAX"); -assert( TestGlobalBS.RenderTargets[4].SrcBlendAlpha == "BLEND_FACTOR_INV_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[4].DestBlendAlpha == "BLEND_FACTOR_SRC_ALPHA"); -assert( TestGlobalBS.RenderTargets[4].BlendOpAlpha == "BLEND_OPERATION_ADD"); -assert( TestGlobalBS.RenderTargets[4].RenderTargetWriteMask[1] == "COLOR_MASK_ALPHA"); - -BSDesc = -{ - IndependentBlendEnable = true, - AlphaToCoverageEnable = false, - RenderTargets = - { - { - BlendEnable = true, - SrcBlend = "BLEND_FACTOR_ZERO", DestBlend = "BLEND_FACTOR_SRC_COLOR", BlendOp = "BLEND_OPERATION_ADD", - SrcBlendAlpha = "BLEND_FACTOR_SRC_ALPHA", DestBlendAlpha = "BLEND_FACTOR_INV_SRC_ALPHA", BlendOpAlpha = "BLEND_OPERATION_SUBTRACT", - RenderTargetWriteMask = {"COLOR_MASK_GREEN", "COLOR_MASK_RED"} - }, - - [3] = { - BlendEnable = true, - SrcBlend = "BLEND_FACTOR_INV_DEST_ALPHA", DestBlend = "BLEND_FACTOR_INV_DEST_COLOR", BlendOp = "BLEND_OPERATION_ADD", - SrcBlendAlpha = "BLEND_FACTOR_BLEND_FACTOR", DestBlendAlpha = "BLEND_FACTOR_INV_SRC_ALPHA", BlendOpAlpha = "BLEND_OPERATION_SUBTRACT", - RenderTargetWriteMask = {"COLOR_MASK_BLUE", "COLOR_MASK_ALPHA"} - }, - } -} - - -TrivialVS = Shader.Create{ - Source = -[[void VSMain(out float4 pos : SV_Position) -{ - pos = float4(0.0, 0.0, 0.0, 0.0); -}]], - EntryPoint = "VSMain", - SourceLanguage = "SHADER_SOURCE_LANGUAGE_HLSL", - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = "SHADER_TYPE_VERTEX", - Name = "TrivialVS (BlendStateTest.lua)" - } -} - -TrivialPS = Shader.Create{ - Source = -[[void PSMain(out float4 col0 : SV_TARGET, - out float4 col1 : SV_TARGET1, - out float4 col2 : SV_TARGET2, - out float4 col3 : SV_TARGET3) -{ - col0 = float4(0.0, 0.0, 0.0, 0.0); - col1 = float4(0.0, 0.0, 0.0, 0.0); - col2 = float4(0.0, 0.0, 0.0, 0.0); - col3 = float4(0.0, 0.0, 0.0, 0.0); -}]], - EntryPoint = "PSMain", - SourceLanguage = "SHADER_SOURCE_LANGUAGE_HLSL", - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = "SHADER_TYPE_PIXEL", - Name = "TrivialPS (BlendStateTest.lua)" - } -} - -PSODesc = -{ - Name = "TestPSO_FromScript", - GraphicsPipeline = - { - pVS = TrivialVS, - pPS = TrivialPS, - BlendDesc = BSDesc, - RTVFormats = {"TEX_FORMAT_RGBA8_UNORM", "TEX_FORMAT_RGBA8_UNORM", "TEX_FORMAT_RGBA8_UNORM", "TEX_FORMAT_RGBA8_UNORM"}, - DSVFormat = "TEX_FORMAT_D32_FLOAT", - PrimitiveTopology = "PRIMITIVE_TOPOLOGY_TRIANGLE_LIST", - SmplDesc = {Count = 1, Quality = 0 } - } -} -PSO_TestBlendState = PipelineState.Create(PSODesc) -Context.SetBlendFactors() -Context.SetBlendFactors(1) -Context.SetBlendFactors(1,2) -Context.SetBlendFactors(1,2,3) -Context.SetBlendFactors(1,2,3,4) - ---TestBS2 = BlendState.Create(BSDesc) - -TestBS = PSO_TestBlendState.GraphicsPipeline.BlendDesc - -assert( PSO_TestBlendState.Name == "TestPSO_FromScript" ) -assert( TestBS.IndependentBlendEnable == true ) -assert( TestBS.AlphaToCoverageEnable == false ) -RT1 = TestBS.RenderTargets[1] -assert( RT1.BlendEnable == true) -assert( RT1.SrcBlend == "BLEND_FACTOR_ZERO") -assert( RT1.DestBlend == "BLEND_FACTOR_SRC_COLOR") -assert( RT1.BlendOp == "BLEND_OPERATION_ADD") -assert( RT1.SrcBlendAlpha == "BLEND_FACTOR_SRC_ALPHA") -assert( RT1.DestBlendAlpha == "BLEND_FACTOR_INV_SRC_ALPHA") -assert( RT1.BlendOpAlpha == "BLEND_OPERATION_SUBTRACT") -assert( RT1.RenderTargetWriteMask[1] == "COLOR_MASK_GREEN" and RT1.RenderTargetWriteMask[2] == "COLOR_MASK_RED" or - RT1.RenderTargetWriteMask[2] == "COLOR_MASK_GREEN" and RT1.RenderTargetWriteMask[1] == "COLOR_MASK_RED" ) - -RT3 = TestBS.RenderTargets[3] -assert(RT3.BlendEnable == true) -assert(RT3.SrcBlend == "BLEND_FACTOR_INV_DEST_ALPHA") -assert(RT3.DestBlend == "BLEND_FACTOR_INV_DEST_COLOR") -assert(RT3.BlendOp == "BLEND_OPERATION_ADD") -assert(RT3.SrcBlendAlpha == "BLEND_FACTOR_BLEND_FACTOR") -assert(RT3.DestBlendAlpha == "BLEND_FACTOR_INV_SRC_ALPHA") -assert(RT3.BlendOpAlpha == "BLEND_OPERATION_SUBTRACT") -assert(RT3.RenderTargetWriteMask[1] == "COLOR_MASK_BLUE" and RT3.RenderTargetWriteMask[2] == "COLOR_MASK_ALPHA" or - RT3.RenderTargetWriteMask[2] == "COLOR_MASK_BLUE" and RT3.RenderTargetWriteMask[1] == "COLOR_MASK_ALPHA" ) - -Context.SetPipelineState(PSO_TestBlendState) - - -BlendFactors = -{ - "BLEND_FACTOR_ZERO", - "BLEND_FACTOR_ONE", - "BLEND_FACTOR_SRC_COLOR", - "BLEND_FACTOR_INV_SRC_COLOR", - "BLEND_FACTOR_SRC_ALPHA", - "BLEND_FACTOR_INV_SRC_ALPHA", - "BLEND_FACTOR_DEST_ALPHA", - "BLEND_FACTOR_INV_DEST_ALPHA", - "BLEND_FACTOR_DEST_COLOR", - "BLEND_FACTOR_INV_DEST_COLOR", - "BLEND_FACTOR_SRC_ALPHA_SAT", - "BLEND_FACTOR_BLEND_FACTOR", - "BLEND_FACTOR_INV_BLEND_FACTOR" -} - -AlphaBlendFactors = -{ - "BLEND_FACTOR_ZERO", - "BLEND_FACTOR_ONE", - "BLEND_FACTOR_SRC_ALPHA", - "BLEND_FACTOR_INV_SRC_ALPHA", - "BLEND_FACTOR_DEST_ALPHA", - "BLEND_FACTOR_INV_DEST_ALPHA", - "BLEND_FACTOR_SRC_ALPHA_SAT", - "BLEND_FACTOR_BLEND_FACTOR", - "BLEND_FACTOR_INV_BLEND_FACTOR" -} - -BlendOps = -{ - "BLEND_OPERATION_ADD", - "BLEND_OPERATION_SUBTRACT", - "BLEND_OPERATION_REV_SUBTRACT", - "BLEND_OPERATION_MIN", - "BLEND_OPERATION_MAX" -} - -for rt = 1, 4 do - BSDesc.RenderTargets[rt] = BSDesc.RenderTargets[rt] or {} - - RT = BSDesc.RenderTargets[rt] - RT.BlendEnable = true - for i,v in ipairs(BlendFactors) do - RT.SrcBlend = v - RT.DestBlend = v - PSODesc.GraphicsPipeline.BlendDesc = BSDesc - local TestPSO = PipelineState.Create(PSODesc) - assert(TestPSO:IsCompatibleWith(PSO_TestBlendState) == true) - assert(PSO_TestBlendState:IsCompatibleWith(TestPSO) == true) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].SrcBlend == v) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].DestBlend == v) - Context.SetPipelineState(TestPSO) - end - - for i,v in ipairs(AlphaBlendFactors) do - RT.SrcBlendAlpha = v - RT.DestBlendAlpha = v - PSODesc.GraphicsPipeline.BlendDesc = BSDesc - local TestPSO = PipelineState.Create(PSODesc) - assert(TestPSO:IsCompatibleWith(PSO_TestBlendState) == true) - assert(PSO_TestBlendState:IsCompatibleWith(TestPSO) == true) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].SrcBlendAlpha == v) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].DestBlendAlpha == v) - Context.SetPipelineState(TestPSO) - end - - RT.SrcBlend = "BLEND_FACTOR_SRC_COLOR" - RT.DestBlend = "BLEND_FACTOR_INV_SRC_COLOR" - RT.SrcBlendAlpha = "BLEND_FACTOR_SRC_ALPHA" - RT.DestBlendAlpha = "BLEND_FACTOR_INV_SRC_ALPHA" - for i,v in ipairs(BlendOps) do - RT.BlendOp = v - RT.BlendOpAlpha = v - PSODesc.GraphicsPipeline.BlendDesc = BSDesc - local TestPSO = PipelineState.Create(PSODesc) - assert(TestPSO:IsCompatibleWith(PSO_TestBlendState) == true) - assert(PSO_TestBlendState:IsCompatibleWith(TestPSO) == true) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].BlendOp == v) - assert(TestPSO.GraphicsPipeline.BlendDesc.RenderTargets[rt].BlendOpAlpha == v) - Context.SetPipelineState(TestPSO) - end -end - -function TestPSOArg(PSOArg) - assert(PSOArg.Name == "PSO-TestBlendStates" ) - local BSDesc = PSOArg.GraphicsPipeline.BlendDesc - assert(BSDesc.AlphaToCoverageEnable == false) - assert(BSDesc.IndependentBlendEnable == false) - - for rt = 1, 8 do - local RT = BSDesc.RenderTargets[rt] - assert( RT.BlendEnable == false ) - assert( RT.SrcBlend == "BLEND_FACTOR_ONE" ) - assert( RT.SrcBlend == "BLEND_FACTOR_ONE" ) - assert( RT.DestBlend == "BLEND_FACTOR_ZERO" ) - assert( RT.BlendOp == "BLEND_OPERATION_ADD" ) - assert( RT.SrcBlendAlpha == "BLEND_FACTOR_ONE" ) - assert( RT.DestBlendAlpha == "BLEND_FACTOR_ZERO" ) - assert( RT.BlendOpAlpha == "BLEND_OPERATION_ADD" ) - end -end |
