summaryrefslogtreecommitdiffstats
path: root/Tests/TestApp/assets/BlendStateTest.lua
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2019-12-12 22:41:17 +0000
committerassiduous <assiduous@diligentgraphics.com>2019-12-12 22:41:17 +0000
commit80bfa52139976bd51b43c58e9576d379fe9f8a14 (patch)
tree3d7663ef18296eb5cc6de7fedeb8a1fc1e4d372f /Tests/TestApp/assets/BlendStateTest.lua
parentUpdated core & tools. Fixed https://github.com/DiligentGraphics/DiligentEngin... (diff)
downloadDiligentEngine-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.lua259
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