From cfba7d8781b0897e0f5415e5fafca4268955bc06 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Mon, 29 Oct 2018 19:50:11 -0700 Subject: Updated core (using glslang to compile HLSL directly to SPIRV) --- DiligentCore | 2 +- Tests/TestApp/assets/Shaders/ConverterTest.fx | 27 +++++++++++----------- .../assets/Shaders/ShaderResLayoutTestGL.psh | 16 +++++++++++++ .../assets/Shaders/ShaderResLayoutTestGL.vsh | 16 +++++++++++++ Tests/TestApp/src/ShaderConverterTest.cpp | 2 +- Tests/TestApp/src/TestShaderResourceLayout.cpp | 2 +- appveyor.yml | 2 +- 7 files changed, 50 insertions(+), 17 deletions(-) diff --git a/DiligentCore b/DiligentCore index e8e03d3..89fe937 160000 --- a/DiligentCore +++ b/DiligentCore @@ -1 +1 @@ -Subproject commit e8e03d32bdc26273dbec24e21c920505a1fab734 +Subproject commit 89fe9372b2915212a43a70822ef12f46309289c9 diff --git a/Tests/TestApp/assets/Shaders/ConverterTest.fx b/Tests/TestApp/assets/Shaders/ConverterTest.fx index 906480d..2bdbe3b 100644 --- a/Tests/TestApp/assets/Shaders/ConverterTest.fx +++ b/Tests/TestApp/assets/Shaders/ConverterTest.fx @@ -356,22 +356,22 @@ void TestGetDimensions() TexCS1.GetDimensions(0, uWidth, uHeight, uMipLevels); TexCS1.GetDimensions(uWidth, uHeight); - TexC_F1.GetDimensions(0, iWidth, iHeight, uMipLevels); + TexC_F1.GetDimensions(0, iWidth, iHeight, iMipLevels); TexC_F1.GetDimensions(iWidth, iHeight); - TexC_I.GetDimensions(0, iWidth, iHeight, uMipLevels); + TexC_I.GetDimensions(0, iWidth, iHeight, iMipLevels); TexC_I.GetDimensions(iWidth, iHeight); - TexC_U.GetDimensions(0, iWidth, iHeight, uMipLevels); + TexC_U.GetDimensions(0, iWidth, iHeight, iMipLevels); TexC_U.GetDimensions(iWidth, iHeight); - TexCS1.GetDimensions(0, iWidth, iHeight, uMipLevels); + TexCS1.GetDimensions(0, iWidth, iHeight, iMipLevels); TexCS1.GetDimensions(iWidth, iHeight); - TexC_F1.GetDimensions(0, fWidth, fHeight, uMipLevels); + TexC_F1.GetDimensions(0, fWidth, fHeight, fMipLevels); TexC_F1.GetDimensions(fWidth, fHeight); - TexC_I.GetDimensions(0, fWidth, fHeight, uMipLevels); + TexC_I.GetDimensions(0, fWidth, fHeight, fMipLevels); TexC_I.GetDimensions(fWidth, fHeight); - TexC_U.GetDimensions(0, fWidth, fHeight, uMipLevels); + TexC_U.GetDimensions(0, fWidth, fHeight, fMipLevels); TexC_U.GetDimensions(fWidth, fHeight); - TexCS1.GetDimensions(0, fWidth, fHeight, uMipLevels); + TexCS1.GetDimensions(0, fWidth, fHeight, fMipLevels); TexCS1.GetDimensions(fWidth, fHeight); } @@ -1177,10 +1177,10 @@ void TestPS ( in VSOutput In, f2 = float2(1.0, 2.0); f3 = float3(1.0, 2.0, 3.0); f4 = float4(1.0,2.0,3.0,4.0); - f1 = normalize(f1); f2 = normalize(f2); f3 = normalize(f3); f4 = normalize(f4); - f1 = reflect(f1,f1); f2 = reflect(f2,f2); f3 = reflect(f3,f3); f4 = reflect(f4,f4); - f1 = refract(f1,f1,1.0); f2 = refract(f2,f2,1.0); f3 = refract(f3,f3,1.0); f4 = refract(f4,f4,1.0); - f1 = faceforward(f1,f1,f1); f2 = faceforward(f2,f2,f2); f3 = faceforward(f3,f3,f3); f4 = faceforward(f4,f4,f4); + f2 = normalize(f2); f3 = normalize(f3); f4 = normalize(f4); + f2 = reflect(f2,f2); f3 = reflect(f3,f3); f4 = reflect(f4,f4); + f2 = refract(f2,f2,1.0); f3 = refract(f3,f3,1.0); f4 = refract(f4,f4,1.0); + f2 = faceforward(f2,f2,f2); f3 = faceforward(f3,f3,f3); f4 = faceforward(f4,f4,f4); //f1 = dst(f1,f1); f1 = dst(f2,f2); f1 = dst(f3,f3); f1 = dst(f4,f4); f1 = rcp(f1); f2 = rcp(f2); f3 = rcp(f3); f4 = rcp(f4); @@ -1200,10 +1200,11 @@ void TestPS ( in VSOutput In, sincos(f1,f1,f1_); sincos(f2,f2,f2_); sincos(f3,f3,f3_); sincos(f4,f4,f4_); #if !GLES30 - f1 = frexp(f1_, i1); f2 = frexp(f2_, i2); f3 = frexp(f3_, i3); f4 = frexp(f4_, i4); + f1 = frexp(f1_, f1); f2 = frexp(f2_, f2); f3 = frexp(f3_, f3); f4 = frexp(f4_, f4); f1 = ldexp(f1, i1); f2 = ldexp(f2, i2); f3 = ldexp(f3, i3); f4 = ldexp(f4, i4); #endif + float4x4 f4x4; f4x4[0] = float4(0.0, 1.0/Pos.x, 2.0/Pos.y, 3.0); f4x4[1] = float4(0.0, 1.0/Pos.x, 2.0/Pos.y, 3.0); diff --git a/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.psh b/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.psh index 015a7f8..2440c74 100644 --- a/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.psh +++ b/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.psh @@ -114,6 +114,22 @@ void main(void) out_Color += textureLod(g_tex2DArr_Dyn[2], g_UniformBuffArr_Dyn[2].UV + g_StorageBuffArr_Dyn[2].UV[0].xy, 0.0); out_Color += textureLod(g_tex2DArr_Dyn[3], g_UniformBuffArr_Dyn[3].UV + g_StorageBuffArr_Dyn[3].UV[0].xy, 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_static, g_Sam_static), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_static[0], g_SamArr_static[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_static[1], g_SamArr_static[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_mut, g_Sam_mut), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[0], g_SamArr_mut[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[1], g_SamArr_mut[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[2], g_SamArr_mut[2]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[2]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[3]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[0], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[1], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[2], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[3], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + imageStore(g_tex2DStorageImg_Stat, ivec2(0, 0), vec4(1.0, 2.0, 3.0, 4.0)); imageStore(g_tex2DStorageImgArr_Mut[0], ivec2(0, 0), vec4(1.0, 2.0, 3.0, 4.0)); imageStore(g_tex2DStorageImgArr_Mut[1], ivec2(0, 0), vec4(1.0, 2.0, 3.0, 4.0)); diff --git a/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.vsh b/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.vsh index f763429..18870d7 100644 --- a/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.vsh +++ b/Tests/TestApp/assets/Shaders/ShaderResLayoutTestGL.vsh @@ -130,6 +130,22 @@ void main(void) out_Color += textureLod(g_tex2DArr_Mut[1], g_UniformBuffArr_Mut[1].UV + g_StorageBuffArr_Mut[1].UV[0].xy, 0.0); out_Color += textureLod(g_tex2DArr_Mut[2], g_UniformBuffArr_Mut[2].UV + g_StorageBuffArr_Mut[2].UV[0].xy, 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_static, g_Sam_static), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_static[0], g_SamArr_static[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_static[1], g_SamArr_static[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_mut, g_Sam_mut), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[0], g_SamArr_mut[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[1], g_SamArr_mut[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_mut[2], g_SamArr_mut[2]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[0]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[1]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[2]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2D_dyn, g_SamArr_dyn[3]), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[0], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[1], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[2], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + out_Color += textureLod(sampler2D(g_sepTex2DArr_dyn[3], g_Sam_dyn), vec2(0.5, 0.5), 0.0); + imageStore(g_tex2DStorageImg_Stat, ivec2(0,0), vec4(1.0, 2.0, 3.0, 4.0)); imageStore(g_tex2DStorageImgArr_Mut[0], ivec2(0, 0), vec4(1.0, 2.0, 3.0, 4.0)); imageStore(g_tex2DStorageImgArr_Mut[1], ivec2(0, 0), vec4(1.0, 2.0, 3.0, 4.0)); diff --git a/Tests/TestApp/src/ShaderConverterTest.cpp b/Tests/TestApp/src/ShaderConverterTest.cpp index 51ee397..8fbe0b4 100644 --- a/Tests/TestApp/src/ShaderConverterTest.cpp +++ b/Tests/TestApp/src/ShaderConverterTest.cpp @@ -44,7 +44,7 @@ ShaderConverterTest::ShaderConverterTest( IRenderDevice *pRenderDevice, IDeviceC CreationAttrs.pShaderSourceStreamFactory = &BasicSSSFactory; CreationAttrs.SourceLanguage = SHADER_SOURCE_LANGUAGE_HLSL; CreationAttrs.Desc.Name = "Test converted shader"; - CreationAttrs.UseCombinedTextureSamplers = true; + CreationAttrs.UseCombinedTextureSamplers = pRenderDevice->GetDeviceCaps().IsGLDevice(); RefCntAutoPtr pStream; CreationAttrs.ppConversionStream = pStream.GetRawDblPtr(); diff --git a/Tests/TestApp/src/TestShaderResourceLayout.cpp b/Tests/TestApp/src/TestShaderResourceLayout.cpp index 8bb4d3b..37f958a 100644 --- a/Tests/TestApp/src/TestShaderResourceLayout.cpp +++ b/Tests/TestApp/src/TestShaderResourceLayout.cpp @@ -43,7 +43,7 @@ TestShaderResourceLayout::TestShaderResourceLayout( IRenderDevice *pDevice, IDev BasicShaderSourceStreamFactory BasicSSSFactory("Shaders"); CreationAttrs.pShaderSourceStreamFactory = &BasicSSSFactory; CreationAttrs.EntryPoint = "main"; - CreationAttrs.UseCombinedTextureSamplers = true; + CreationAttrs.UseCombinedTextureSamplers = false; RefCntAutoPtr pSamplers[4]; IDeviceObject *pSams[4]; diff --git a/appveyor.yml b/appveyor.yml index 440d6f5..ee605a1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: '2.1.{build}' +version: '2.3.{build}' # branches to build branches: -- cgit v1.2.3