diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2019-12-25 03:23:32 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2019-12-25 03:23:32 +0000 |
| commit | 040e4cb7e454d532d249d2a5de6f2aba0c902baa (patch) | |
| tree | c89a3a009e2d145c3c3cfdb053ad7392eedf6d98 /Tests/TestApp/assets/LuaTest.lua | |
| parent | Added codacy bages (diff) | |
| download | DiligentEngine-040e4cb7e454d532d249d2a5de6f2aba0c902baa.tar.gz DiligentEngine-040e4cb7e454d532d249d2a5de6f2aba0c902baa.zip | |
Updated submodules; removed tests folder (tests are now part of every submodule)
Diffstat (limited to 'Tests/TestApp/assets/LuaTest.lua')
| -rw-r--r-- | Tests/TestApp/assets/LuaTest.lua | 708 |
1 files changed, 0 insertions, 708 deletions
diff --git a/Tests/TestApp/assets/LuaTest.lua b/Tests/TestApp/assets/LuaTest.lua deleted file mode 100644 index b4ffc48..0000000 --- a/Tests/TestApp/assets/LuaTest.lua +++ /dev/null @@ -1,708 +0,0 @@ --- Test script file - -assert( TestGlobalBool == true ) -assert( TestGlobalInt == 19 ) -assert( TestGlobalFloat == 139.25 ) -assert( TestGlobalString == "Test Global String" ) - -assert(TestGlobalBuffer.uiSizeInBytes == 256) -assert(TestGlobalBuffer.Name == "TestGlobalBuff") -assert(TestGlobalBuffer.Usage == "USAGE_DYNAMIC") -assert(TestGlobalBuffer.BindFlags[1] == "BIND_UNIFORM_BUFFER") -assert(TestGlobalBuffer.CPUAccessFlags[1] == "CPU_ACCESS_WRITE") - - -assert( TestGlobalSampler.Name == "Test Sampler" ) -assert( TestGlobalSampler.MinFilter == "FILTER_TYPE_COMPARISON_POINT" ) -assert( TestGlobalSampler.MagFilter == "FILTER_TYPE_COMPARISON_LINEAR" ) -assert( TestGlobalSampler.MipFilter == "FILTER_TYPE_COMPARISON_LINEAR" ) -assert( TestGlobalSampler.AddressU == "TEXTURE_ADDRESS_WRAP" ) -assert( TestGlobalSampler.AddressV == "TEXTURE_ADDRESS_MIRROR" ) -assert( TestGlobalSampler.AddressW == "TEXTURE_ADDRESS_CLAMP" ) -assert( TestGlobalSampler.MipLODBias == 4 ) -assert( TestGlobalSampler.MinLOD == 1.5 ) -assert( TestGlobalSampler.MaxLOD == 4 ) -assert( TestGlobalSampler.MaxAnisotropy == 2 ) -assert( TestGlobalSampler.ComparisonFunc == "COMPARISON_FUNC_LESS" ) -assert( TestGlobalSampler.BorderColor.r == 0.0 ) -assert( TestGlobalSampler.BorderColor.g == 0.0 ) -assert( TestGlobalSampler.BorderColor.b == 0.0 ) -assert( TestGlobalSampler.BorderColor.a == 1.0 ) - -assert( TestGlobalBuffer2UAV.ViewType == "BUFFER_VIEW_UNORDERED_ACCESS" ) -assert( TestGlobalBuffer2UAV.ByteOffset == 0 ) -assert( TestGlobalBuffer2UAV.ByteWidth == 64 ) - -function CheckTextureAttribs(Texture) - assert( Texture.Type == "RESOURCE_DIM_TEX_2D" ) - assert( Texture.Name == "Test Global Texture 2D" ) - assert( Texture.Width == 1024 ) - assert( Texture.Height == 512 ) - assert( Texture.MipLevels == 1 ) - assert( Texture.Format == "TEX_FORMAT_RGBA8_UNORM" ) - assert( Texture.Usage == "USAGE_DYNAMIC" ) - assert( Texture.BindFlags[1] == "BIND_SHADER_RESOURCE" ) - assert( Texture.CPUAccessFlags[1] == "CPU_ACCESS_WRITE" ) -end -CheckTextureAttribs( TestGlobalTexture ) - -TestSampler = Sampler.Create{ - Name = "Test Sampler", - MinFilter = "FILTER_TYPE_POINT", - MagFilter = "FILTER_TYPE_LINEAR", - MipFilter = "FILTER_TYPE_POINT", - AddressU = "TEXTURE_ADDRESS_WRAP", - AddressV = "TEXTURE_ADDRESS_MIRROR", - AddressW = "TEXTURE_ADDRESS_CLAMP", - MipLODBias = 2, - MinLOD = 0.5, - MaxLOD = 10, - MaxAnisotropy = 6, - ComparisonFunc = "COMPARISON_FUNC_GREATER_EQUAL", - BorderColor = {r = 0.0, g = 0.0, b=0.0, a=1.0}, -} -assert( TestSampler.Name == "Test Sampler" ) -assert( TestSampler.MinFilter == "FILTER_TYPE_POINT" ) -assert( TestSampler.MagFilter == "FILTER_TYPE_LINEAR" ) -assert( TestSampler.MipFilter == "FILTER_TYPE_POINT" ) -assert( TestSampler.AddressU == "TEXTURE_ADDRESS_WRAP" ) -assert( TestSampler.AddressV == "TEXTURE_ADDRESS_MIRROR" ) -assert( TestSampler.AddressW == "TEXTURE_ADDRESS_CLAMP" ) -assert( TestSampler.MipLODBias == 2 ) -assert( TestSampler.MinLOD == 0.5 ) -assert( TestSampler.MaxLOD == 10 ) -assert( TestSampler.MaxAnisotropy == 6 ) -assert( TestSampler.ComparisonFunc == "COMPARISON_FUNC_GREATER_EQUAL" ) -assert( TestSampler.BorderColor.r == 0.0 ) -assert( TestSampler.BorderColor.g == 0.0 ) -assert( TestSampler.BorderColor.b == 0.0 ) -assert( TestSampler.BorderColor.a == 1.0 ) - - - -TestSampler2 = Sampler.Create{ - Name = TestSampler.Name, - MinFilter = TestSampler.MinFilter, - MagFilter = TestSampler.MagFilter, - MipFilter = TestSampler.MipFilter, - AddressU = TestSampler.AddressU, - AddressV = TestSampler.AddressV, - AddressW = TestSampler.AddressW, - MipLODBias = TestSampler.MipLODBias, - MinLOD = TestSampler.MinLOD, - MaxLOD = TestSampler.MaxLOD, - MaxAnisotropy = TestSampler.MaxAnisotropy, - ComparisonFunc = TestSampler.ComparisonFunc, - BorderColor = TestSampler.BorderColor, -} -assert( TestSampler2.Name == "Test Sampler" ) -assert( TestSampler2.MinFilter == "FILTER_TYPE_POINT" ) -assert( TestSampler2.MagFilter == "FILTER_TYPE_LINEAR" ) -assert( TestSampler2.MipFilter == "FILTER_TYPE_POINT" ) -assert( TestSampler2.AddressU == "TEXTURE_ADDRESS_WRAP" ) -assert( TestSampler2.AddressV == "TEXTURE_ADDRESS_MIRROR" ) -assert( TestSampler2.AddressW == "TEXTURE_ADDRESS_CLAMP" ) -assert( TestSampler2.MipLODBias == 2 ) -assert( TestSampler2.MinLOD == 0.5 ) -assert( TestSampler2.MaxLOD == 10 ) -assert( TestSampler2.MaxAnisotropy == 6 ) -assert( TestSampler2.ComparisonFunc == "COMPARISON_FUNC_GREATER_EQUAL" ) -assert( TestSampler2.BorderColor.r == 0.0 ) -assert( TestSampler2.BorderColor.g == 0.0 ) -assert( TestSampler2.BorderColor.b == 0.0 ) -assert( TestSampler2.BorderColor.a == 1.0 ) - - - -TestSampler3 = Sampler.Create{ - BorderColor = - {r = TestSampler2.BorderColor.r, - g = TestSampler2.BorderColor.g, - b = TestSampler2.BorderColor.b, - a = TestSampler2.BorderColor.a - } -} -assert( TestSampler3.BorderColor.r == 0.0 ) -assert( TestSampler3.BorderColor.g == 0.0 ) -assert( TestSampler3.BorderColor.b == 0.0 ) -assert( TestSampler3.BorderColor.a == 1.0 ) - --- TestSampler3.MaxLOD = 0 -TestSampler3.BorderColor.a = 1 -assert( TestSampler3.BorderColor.a ==1.0 ) - -function Func1() - local TestSampler = Sampler.Create{ - MinFilter = "FILTER_TYPE_POINT" - } -end - -function Func2() - Func1() -end - -Func2() - - -TestSampler4 = Sampler.Create{} - - -ErrorTestSampler = Sampler.Create -{ - SomeUndefinedMember = Undefined, - MinFilter = Undefined2 -} - -function GetShaderPath( ShaderName, ShaderExt ) - - local ProcessedShaderPath = "" - if Constants.DeviceType == "D3D11" or Constants.DeviceType == "D3D12" then - ProcessedShaderPath = "Shaders\\" .. ShaderName .. "DX." .. ShaderExt - else - ProcessedShaderPath = "Shaders\\" .. ShaderName .. "GL." .. ShaderExt - end - - return ProcessedShaderPath -end - -TestVS = Shader.Create{ - FilePath = GetShaderPath("minimalInst", "vsh"), - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = "SHADER_TYPE_VERTEX", - Name = "TestVS" - } -} -assert(TestVS.Desc.ShaderType == "SHADER_TYPE_VERTEX") -assert(TestVS.Desc.Name == "TestVS") - -TestPS = Shader.Create{ - FilePath = GetShaderPath("minimal", "psh"), - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = "SHADER_TYPE_PIXEL", - Name = "TestPS", - } -} -assert(TestPS.Desc.ShaderType == "SHADER_TYPE_PIXEL") -assert(TestPS.Desc.Name == "TestPS") - -TestPS2 = Shader.Create{ - FilePath = GetShaderPath("minimal", "psh"), - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = TestPS.Desc.ShaderType, - Name = TestPS.Desc.Name .. "2" - } -} -assert(TestPS2.Desc.ShaderType == "SHADER_TYPE_PIXEL") -assert(TestPS2.Desc.Name == "TestPS2") - -UniformBuffPS = Shader.Create{ - FilePath = GetShaderPath("UniformBuffer", "psh"), - UseCombinedTextureSamplers = true, - Desc = { - ShaderType = "SHADER_TYPE_PIXEL", - Name = "Unifrom buffer PS" - } -} - ---svTestBlock = UniformBuffPS:GetShaderVariable("cbTestBlock") ---svTestBlock2 = ShaderVariable.Create(UniformBuffPS, "cbTestBlock2") ---svTestBlock2:Set(nil) ---Test = svTestBlock2["Error"] ---svTestBlock2["Error"] = 0 - -function TestShaderVariable(inVar) - inVar:Set(nil) -end - -TestVertexLayoutPSO = PipelineState.Create -{ - Name = "Test Vertex Layout PSO", - GraphicsPipeline = - { - InputLayout = - { - { InputIndex = 0, BufferSlot = 0, NumComponents = 3, ValueType = "VT_FLOAT32", IsNormalized = false}, - { InputIndex = 1, BufferSlot = 1, NumComponents = 4, ValueType = "VT_UINT8", IsNormalized = true}, - { InputIndex = 2, BufferSlot = 2, NumComponents = 2, ValueType = "VT_FLOAT32", IsNormalized = false, Frequency = "FREQUENCY_PER_INSTANCE", InstanceDataStepRate = 1}, - }, - pVS = TestVS, - pPS = TestPS, - RTVFormats = "TEX_FORMAT_RGBA8_UNORM_SRGB", - DSVFormat = "TEX_FORMAT_D32_FLOAT", - } -} - - -function CheckVertexDescription(VD) - assert(VD[1].InputIndex == 0) - assert(VD[1].BufferSlot == 0) - assert(VD[1].NumComponents == 3) - assert(VD[1].ValueType == "VT_FLOAT32") - assert(VD[1].IsNormalized == false) - assert(VD[2].InputIndex == 1) - assert(VD[2].BufferSlot == 1) - assert(VD[2].NumComponents == 4) - assert(VD[2].ValueType == "VT_UINT8") - assert(VD[2].IsNormalized == true) - assert(VD[3].InputIndex == 2) - assert(VD[3].BufferSlot == 2) - assert(VD[3].NumComponents == 2) - assert(VD[3].ValueType == "VT_FLOAT32") - assert(VD[3].IsNormalized == false) - assert(VD[3].Frequency == "FREQUENCY_PER_INSTANCE") - assert(VD[3].InstanceDataStepRate == 1) -end - -CheckVertexDescription(TestVertexLayoutPSO.GraphicsPipeline.InputLayout) - -TestVertexLayoutPSO2 = PipelineState.Create -{ - Name = "Test Vertex Layout PSO", - GraphicsPipeline = - { - InputLayout = TestVertexLayoutPSO.GraphicsPipeline.InputLayout, - pVS = TestVS, - pPS = TestPS, - RTVFormats = "TEX_FORMAT_RGBA8_UNORM_SRGB", - DSVFormat = "TEX_FORMAT_D32_FLOAT", - } -} - -CheckVertexDescription(TestVertexLayoutPSO2.GraphicsPipeline.InputLayout) - - -TestVertexLayoutPSO3 = PipelineState.Create -{ - Name = "Test Vertex Layout PSO", - GraphicsPipeline = - { - InputLayout = - { - TestVertexLayoutPSO.GraphicsPipeline.InputLayout[1], - { - InputIndex = TestVertexLayoutPSO.GraphicsPipeline.InputLayout[2].InputIndex, - BufferSlot = TestVertexLayoutPSO.GraphicsPipeline.InputLayout[2].BufferSlot, - NumComponents = TestVertexLayoutPSO.GraphicsPipeline.InputLayout[2].NumComponents, - ValueType = TestVertexLayoutPSO.GraphicsPipeline.InputLayout[2].ValueType, - IsNormalized = TestVertexLayoutPSO.GraphicsPipeline.InputLayout[2].IsNormalized - }, - { - InputIndex = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].InputIndex, - BufferSlot = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].BufferSlot, - NumComponents = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].NumComponents, - ValueType = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].ValueType, - IsNormalized = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].IsNormalized, - Frequency = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].Frequency, - InstanceDataStepRate = TestVertexLayoutPSO2.GraphicsPipeline.InputLayout[3].InstanceDataStepRate, - } - }, - pVS = TestVS, - pPS = TestPS, - RTVFormats = "TEX_FORMAT_RGBA8_UNORM_SRGB", - DSVFormat = "TEX_FORMAT_D32_FLOAT", - } -} - -assert(TestVertexLayoutPSO:IsCompatibleWith(TestVertexLayoutPSO)) -assert(TestVertexLayoutPSO:IsCompatibleWith(TestVertexLayoutPSO2)) -assert(TestVertexLayoutPSO:IsCompatibleWith(TestVertexLayoutPSO3)) -assert(TestVertexLayoutPSO2:IsCompatibleWith(TestVertexLayoutPSO)) -assert(TestVertexLayoutPSO2:IsCompatibleWith(TestVertexLayoutPSO2)) -assert(TestVertexLayoutPSO2:IsCompatibleWith(TestVertexLayoutPSO3)) -assert(TestVertexLayoutPSO3:IsCompatibleWith(TestVertexLayoutPSO)) -assert(TestVertexLayoutPSO3:IsCompatibleWith(TestVertexLayoutPSO2)) -assert(TestVertexLayoutPSO3:IsCompatibleWith(TestVertexLayoutPSO3)) - -CheckVertexDescription(TestVertexLayoutPSO3.GraphicsPipeline.InputLayout) - - - -function TestRenderScript () - Context.SetShaders(TestVS, TestPS) -end - -function TestRenderScriptParams (Bool1, MagicNumber1, MagicNumber2, Bool2, MagicString) - assert(Bool1 == true) - assert(MagicNumber1 == 123) - assert(MagicNumber2 == 345.5) - assert(Bool2 == false) - assert(MagicString == "Magic String") -end - - -function TestSamplerArg(Sampler) - assert( Sampler.Name == "Test Sampler" ) - assert( Sampler.MinFilter == "FILTER_TYPE_POINT" ) - assert( Sampler.MagFilter == "FILTER_TYPE_LINEAR" ) - assert( Sampler.MipFilter == "FILTER_TYPE_POINT" ) - assert( Sampler.AddressU == "TEXTURE_ADDRESS_WRAP" ) - assert( Sampler.AddressV == "TEXTURE_ADDRESS_MIRROR" ) - assert( Sampler.AddressW == "TEXTURE_ADDRESS_CLAMP" ) - assert( Sampler.MipLODBias == 2 ) - assert( Sampler.MinLOD == 0.5 ) - assert( Sampler.MaxLOD == 10 ) - assert( Sampler.MaxAnisotropy == 6 ) - assert( Sampler.ComparisonFunc == "COMPARISON_FUNC_GREATER_EQUAL" ) - assert( Sampler.BorderColor.r == 0.0 ) - assert( Sampler.BorderColor.g == 0.0 ) - assert( Sampler.BorderColor.b == 0.0 ) - assert( Sampler.BorderColor.a == 1.0 ) - Sampler = nil - collectgarbage() -end - - -function TestVertexDescInPSO(VertexDescPSO) - CheckVertexDescription(VertexDescPSO.GraphicsPipeline.InputLayout) - VertexDescPSO = nil - collectgarbage() -end - - -function TestShaderArg(Shader) - assert(Shader.Desc.ShaderType == "SHADER_TYPE_VERTEX") - assert(Shader.Desc.Name == "TestVS") - Shader = nil - collectgarbage() -end - - -TestBuffer = Buffer.Create( - { - Name = "Test Buffer", - Usage = "USAGE_DEFAULT", - BindFlags = {"BIND_VERTEX_BUFFER", "BIND_SHADER_RESOURCE"}, - uiSizeInBytes = 64, - Mode = "BUFFER_MODE_FORMATTED", - ElementByteStride = 4 - }, - "VT_FLOAT32", - {1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16} -) -assert(TestBuffer.Name == "Test Buffer") -assert(TestBuffer.Usage == "USAGE_DEFAULT") -assert(TestBuffer.BindFlags[1] == "BIND_VERTEX_BUFFER" and TestBuffer.BindFlags[2] == "BIND_SHADER_RESOURCE" or - TestBuffer.BindFlags[2] == "BIND_VERTEX_BUFFER" and TestBuffer.BindFlags[1] == "BIND_SHADER_RESOURCE") -assert(TestBuffer.Mode == "BUFFER_MODE_FORMATTED") - -TestBufferSRV = TestBuffer:CreateView{ - Name = "TestBuffer SRV", - ViewType = "BUFFER_VIEW_SHADER_RESOURCE", - ByteOffset = 16, - ByteWidth = 32, - Format = {ValueType = "VT_FLOAT32", NumComponents = 1, IsNormalized = false} -} - -assert(TestBufferSRV.ViewType == "BUFFER_VIEW_SHADER_RESOURCE" ) -assert(TestBufferSRV.ByteOffset == 16) -assert(TestBufferSRV.ByteWidth == 32) -assert(TestBufferSRV.Format.ValueType == "VT_FLOAT32" ) -assert(TestBufferSRV.Format.NumComponents == 1 ) -assert(TestBufferSRV.Format.IsNormalized == false ) - - -function TestBufferArg (Buffer) - assert(TestBuffer.Name == "Test Buffer") - assert(TestBuffer.Usage == "USAGE_DEFAULT") - assert(TestBuffer.BindFlags[1] == "BIND_VERTEX_BUFFER" and TestBuffer.BindFlags[2] == "BIND_SHADER_RESOURCE" or - TestBuffer.BindFlags[2] == "BIND_VERTEX_BUFFER" and TestBuffer.BindFlags[1] == "BIND_SHADER_RESOURCE") - Buffer = nil - collectgarbage() -end - - -TestBuffer2 = Buffer.Create({ - Name = "Test Buffer2", - Usage = "USAGE_STAGING", - CPUAccessFlags = {"CPU_ACCESS_WRITE"}, - uiSizeInBytes = 256 -}) -assert(TestBuffer2.Name == "Test Buffer2") -assert(TestBuffer2.Usage == "USAGE_STAGING") -assert(TestBuffer2.Mode == "BUFFER_MODE_UNDEFINED") -assert(TestBuffer2.CPUAccessFlags[1] == "CPU_ACCESS_WRITE") - -TestBuffer3 = Buffer.Create( - { - Name = "Test Buffer", - Usage = "USAGE_DEFAULT", - BindFlags = {"BIND_VERTEX_BUFFER", "BIND_SHADER_RESOURCE"}, - uiSizeInBytes = 64, - Mode = "BUFFER_MODE_FORMATTED", - ElementByteStride = 4 - } -) - -Context.SetVertexBuffers(1, TestBuffer, 0, TestBuffer3, 16, "RESOURCE_STATE_TRANSITION_MODE_TRANSITION", "SET_VERTEX_BUFFERS_FLAG_RESET") -Context.SetVertexBuffers(1, TestBuffer, 0, nil) -Context.SetVertexBuffers(nil, nil, nil, "RESOURCE_STATE_TRANSITION_MODE_NONE", {"SET_VERTEX_BUFFERS_FLAG_RESET", "SET_VERTEX_BUFFERS_FLAG_RESET"}) - -TestBuffer3 = Buffer.Create({ - Name = "Test Buffer 3", - BindFlags = {"BIND_VERTEX_BUFFER", "BIND_UNORDERED_ACCESS", "BIND_SHADER_RESOURCE"}, - Mode = "BUFFER_MODE_RAW", - uiSizeInBytes = (4+4) * 4 * 4, - ElementByteStride = 4 * 4 -}) -assert( TestBuffer3.Mode == "BUFFER_MODE_RAW" ) - -TestBuffer3SRV = TestBuffer3:CreateView{ - Name = "TestBuffer3 SRV", - ViewType = "BUFFER_VIEW_SHADER_RESOURCE", - ByteOffset = 16, - ByteWidth = 32 -} -assert(TestBuffer3SRV.ViewType == "BUFFER_VIEW_SHADER_RESOURCE" ) -assert(TestBuffer3SRV.ByteOffset == 16) -assert(TestBuffer3SRV.ByteWidth == 32) - -Buff3UAV = TestBuffer3:CreateView{ - Name = "TestBuffer3 UAV", - ViewType = "BUFFER_VIEW_UNORDERED_ACCESS", - ByteOffset = 16 -} -assert(Buff3UAV.ViewType == "BUFFER_VIEW_UNORDERED_ACCESS" ) -assert(Buff3UAV.ByteOffset == 16 ) -assert(Buff3UAV.ByteWidth == TestBuffer3.uiSizeInBytes - Buff3UAV.ByteOffset) - - -function TestBufferViewArg(BuffViewArg) - assert( BuffViewArg.Name == "TestGlobalBuff2UAV" ) - assert( BuffViewArg.ViewType == "BUFFER_VIEW_UNORDERED_ACCESS" ) - assert( BuffViewArg.ByteOffset == 0 ) - assert( BuffViewArg.ByteWidth == 32 ) -end - - -IndexBuffer = Buffer.Create( - { BindFlags = "BIND_INDEX_BUFFER" }, - "VT_UINT32", - {0,1,2} -) -Context.SetIndexBuffer(IndexBuffer, 4, "RESOURCE_STATE_TRANSITION_MODE_TRANSITION") - -TestTexture = Texture.Create{ - Name = "Test Texture 2D", - Type = "RESOURCE_DIM_TEX_2D_ARRAY", Width = 512, Height = 512, ArraySize = 16, - Format = "TEX_FORMAT_RGBA8_UNORM", - MipLevels = 8, - SampleCount = 1, - Usage = "USAGE_DEFAULT", - BindFlags = {"BIND_SHADER_RESOURCE", "BIND_UNORDERED_ACCESS"} -} - -assert( TestTexture.Name == "Test Texture 2D" ) -assert( TestTexture.Type == "RESOURCE_DIM_TEX_2D_ARRAY" ) -assert( TestTexture.Width == 512 ) -assert( TestTexture.Height == 512 ) -assert( TestTexture.ArraySize == 16 ) -assert( TestTexture.Format == "TEX_FORMAT_RGBA8_UNORM" ) -assert( TestTexture.MipLevels == 8 ) -assert( TestTexture.SampleCount == 1 ) -assert( TestTexture.Usage == "USAGE_DEFAULT" ) -assert( TestTexture.BindFlags[1] == "BIND_SHADER_RESOURCE" and TestTexture.BindFlags[2] == "BIND_UNORDERED_ACCESS" or - TestTexture.BindFlags[1] == "BIND_UNORDERED_ACCESS" and TestTexture.BindFlags[2] == "BIND_SHADER_RESOURCE" ) - -DefaultTestSRV = TestTexture:GetDefaultView("TEXTURE_VIEW_SHADER_RESOURCE") -assert( DefaultTestSRV.ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) -assert( DefaultTestSRV.Format == TestTexture.Format ) -assert( DefaultTestSRV.TextureDim == TestTexture.Type ) -assert( DefaultTestSRV.MostDetailedMip == 0 ) -assert( DefaultTestSRV.NumMipLevels == TestTexture.MipLevels ) -assert( DefaultTestSRV.FirstArraySlice == 0 ) -assert( DefaultTestSRV.NumArraySlices == TestTexture.ArraySize ) - -TestUAV1 = TestTexture:CreateView{ - ViewType = "TEXTURE_VIEW_UNORDERED_ACCESS", - TextureDim = "RESOURCE_DIM_TEX_2D", - AccessFlags = "UAV_ACCESS_FLAG_READ", - MostDetailedMip = 1, - NumMipLevels = 1, - FirstArraySlice = 0, - NumArraySlices = 1 -} - -assert(TestUAV1.AccessFlags[1] == "UAV_ACCESS_FLAG_READ") -assert( type(TestUAV1.AccessFlags[2]) == "nil") - -TestUAV2 = TestTexture:CreateView{ - ViewType = "TEXTURE_VIEW_UNORDERED_ACCESS", - TextureDim = "RESOURCE_DIM_TEX_2D_ARRAY", - AccessFlags = "UAV_ACCESS_FLAG_WRITE", - FirstArraySlice = 0, - NumArraySlices = TestTexture.ArraySize -} -assert(TestUAV2.AccessFlags[1] == "UAV_ACCESS_FLAG_WRITE") -assert( type(TestUAV2.AccessFlags[2]) == "nil") - -TestUAV3 = TestTexture:CreateView{ - ViewType = "TEXTURE_VIEW_UNORDERED_ACCESS", - TextureDim = "RESOURCE_DIM_TEX_2D_ARRAY", - AccessFlags = {"UAV_ACCESS_FLAG_READ", "UAV_ACCESS_FLAG_WRITE"}, - MostDetailedMip = 4, - NumArraySlices = TestTexture.ArraySize -} - -function Set (list) - local set = {} - for _, l in ipairs(list) do set[l] = true end - return set -end -FlagsSet = Set(TestUAV3.AccessFlags) -assert(FlagsSet["UAV_ACCESS_FLAG_READ"] and FlagsSet["UAV_ACCESS_FLAG_WRITE"] and FlagsSet["UAV_ACCESS_FLAG_READ_WRITE"]) -assert( type(TestUAV3.AccessFlags[4]) == "nil") - - -DefaultTestSRV:SetSampler(TestSampler) - -if Constants.DeviceType == "D3D11" or Constants.DeviceType == "D3D12" then - - --TestTextureView = TextureView.Create(TestTexture, - TestTextureView = TestTexture:CreateView( - { - Name = "TestTextureSRV", - ViewType = "TEXTURE_VIEW_SHADER_RESOURCE", - TextureDim = "RESOURCE_DIM_TEX_2D_ARRAY", - Format = "TEX_FORMAT_RGBA8_UNORM", - MostDetailedMip = 1, - NumMipLevels = 2, - FirstArraySlice = 3, - NumArraySlices = 4 - } - ) - assert( TestTextureView.Name == "TestTextureSRV" ) - assert( TestTextureView.ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - assert( TestTextureView.TextureDim == "RESOURCE_DIM_TEX_2D_ARRAY" ) - assert( TestTextureView.Format == "TEX_FORMAT_RGBA8_UNORM" ) - assert( TestTextureView.MostDetailedMip == 1 ) - assert( TestTextureView.NumMipLevels == 2 ) - assert( TestTextureView.FirstArraySlice == 3 ) - assert( TestTextureView.NumArraySlices == 4 ) - - assert( TestGlobalTextureView.Name == "TestTextureSRV2" ) - assert( TestGlobalTextureView.ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - assert( TestGlobalTextureView.TextureDim == "RESOURCE_DIM_TEX_2D" ) - assert( TestGlobalTextureView.Format == "TEX_FORMAT_RGBA8_UNORM" ) - assert( TestGlobalTextureView.MostDetailedMip == 0 ) - assert( TestGlobalTextureView.NumMipLevels == 1 ) - assert( TestGlobalTextureView.FirstArraySlice == 0 ) - assert( TestGlobalTextureView.NumArraySlices == 1 ) -end - -function TestTextureViewArg(TextureView) - assert( TextureView.Name == "TestTextureSRV" ) - assert( TextureView.ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - assert( TextureView.TextureDim == "RESOURCE_DIM_TEX_2D_ARRAY" ) - assert( TextureView.Format == "TEX_FORMAT_RGBA8_UNORM" ) - assert( TextureView.MostDetailedMip == 1 ) - assert( TextureView.NumMipLevels == 2 ) - assert( TextureView.FirstArraySlice == 3 ) - assert( TextureView.NumArraySlices == 4 ) -end - - -function TestTextureArg(Texture) - CheckTextureAttribs( Texture ) - collectgarbage() -end - - -TestDrawAttribs = DrawAttribs.Create{ - NumIndices = 128, - IndexType = "VT_UINT16", - NumInstances = 32, - BaseVertex = 48, - IndirectDrawArgsOffset = 1024, - StartVertexLocation = 64, - FirstInstanceLocation = 96, - pIndirectDrawAttribs = TestBuffer2, - IndirectAttribsBufferStateTransitionMode = "RESOURCE_STATE_TRANSITION_MODE_NONE", - Flags = {"DRAW_FLAG_VERIFY_STATES", "DRAW_FLAG_VERIFY_DRAW_ATTRIBS", "DRAW_FLAG_VERIFY_RENDER_TARGETS"} -} -assert( TestDrawAttribs.NumIndices == 128 ) -assert( TestDrawAttribs.IndexType == "VT_UINT16" ) -assert( TestDrawAttribs.NumInstances == 32 ) -assert( TestDrawAttribs.BaseVertex == 48 ) -assert( TestDrawAttribs.IndirectDrawArgsOffset == 1024 ) -assert( TestDrawAttribs.StartVertexLocation == 64 ) -assert( TestDrawAttribs.FirstInstanceLocation == 96 ) ---Context.Draw(TestBuffer2) - - -TestDrawAttribs.NumVertices = 92 -TestDrawAttribs.IndexType = "VT_UINT32" -TestDrawAttribs.NumInstances = 19 -TestDrawAttribs.BaseVertex = 498 -TestDrawAttribs.IndirectDrawArgsOffset = 234 -TestDrawAttribs.FirstIndexLocation = 264 -TestDrawAttribs.FirstInstanceLocation = 946 -TestDrawAttribs.pIndirectDrawAttribs = TestGlobalBuffer -TestDrawAttribs.IndirectAttribsBufferStateTransitionMode = "RESOURCE_STATE_TRANSITION_MODE_TRANSITION" - -TestDrawAttribs2 = DrawAttribs.Create{ - pIndirectDrawAttribs = TestDrawAttribs.pIndirectDrawAttribs -} -assert( TestDrawAttribs.pIndirectDrawAttribs.Name == TestDrawAttribs2.pIndirectDrawAttribs.Name ) - -assert( TestDrawAttribs.NumIndices == 92 ) -assert( TestDrawAttribs.NumVertices == 92 ) -assert( TestDrawAttribs.IndexType == "VT_UINT32" ) -assert( TestDrawAttribs.NumInstances == 19 ) -assert( TestDrawAttribs.BaseVertex == 498 ) -assert( TestDrawAttribs.IndirectDrawArgsOffset == 234 ) -assert( TestDrawAttribs.FirstIndexLocation == 264 ) -assert( TestDrawAttribs.StartVertexLocation == 264 ) -assert( TestDrawAttribs.FirstInstanceLocation == 946 ) -assert( TestDrawAttribs.IndirectAttribsBufferStateTransitionMode == "RESOURCE_STATE_TRANSITION_MODE_TRANSITION" ) - - - -assert( TestGlobalDrawAttribs.NumVertices == 123 ); -assert( TestGlobalDrawAttribs.NumIndices == 123 ); -assert( TestGlobalDrawAttribs.IndexType == "VT_UINT16" ); -assert( TestGlobalDrawAttribs.NumInstances == 19 ); -assert( TestGlobalDrawAttribs.BaseVertex == 97 ); -assert( TestGlobalDrawAttribs.IndirectDrawArgsOffset == 120 ); -assert( TestGlobalDrawAttribs.StartVertexLocation == 98 ); -assert( TestGlobalDrawAttribs.FirstIndexLocation == 98 ); - -function TestDrawAttribsArg(DrawAttrs) - assert( DrawAttrs.NumVertices == 34 ); - assert( DrawAttrs.NumIndices == 34 ); - assert( DrawAttrs.IndexType == "VT_UINT16" ); - assert( DrawAttrs.NumInstances == 139 ); - assert( DrawAttrs.BaseVertex == 937 ); - assert( DrawAttrs.IndirectDrawArgsOffset == 1205 ); - assert( DrawAttrs.StartVertexLocation == 198 ); - assert( DrawAttrs.FirstIndexLocation == 198 ); -end ---getmetatable(TestSampler).__index = {} - -TestResourceMapping = ResourceMapping.Create{ - {Name = "TestShaderName", pObject = DefaultTestSRV}, - {Name = "TestShaderName2", pObject = DefaultTestSRV}, - {Name = "TestBufferName", pObject = TestGlobalBuffer} -} - -assert( TestResourceMapping["TestShaderName"].ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) -assert( TestResourceMapping["TestBufferName"].Name == "TestGlobalBuff" ) -assert( type(TestResourceMapping["BadName"]) == "nil" ) - -TestResourceMapping["TestBufferName2"] = TestBuffer -assert( TestResourceMapping["TestBufferName2"].Name == "Test Buffer" ) - -TestResourceMapping["TestShaderName"] = DefaultTestSRV -assert( TestResourceMapping["TestShaderName"].ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - -TestResourceMapping["TestBufferName2"] = nil -assert( type(TestResourceMapping["TestBufferName2"]) == "nil" ) - -assert( TestGlobalResourceMapping["TestGlobalTextureSRV"].ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - -function TestResourceMappingArg(ResMappingArg) - assert( ResMappingArg["TestGlobalTextureSRV2"].ViewType == "TEXTURE_VIEW_SHADER_RESOURCE" ) - ResMappingArg["TestBufferName"] = TestBuffer -end |
