From a5022d6d5fc3118726e1df4bbe3a33e8784f50cf Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Sun, 24 Oct 2021 13:00:11 +0200 Subject: [PATCH] Fixing several validation related issues --- data/shaders/glsl/multiview/multiview.vert | 5 ----- .../shaders/glsl/multiview/multiview.vert.spv | Bin 2644 -> 2832 bytes data/shaders/glsl/multiview/viewdisplay.vert | 5 ----- .../glsl/multiview/viewdisplay.vert.spv | Bin 956 -> 1160 bytes examples/multiview/multiview.cpp | 7 +++++++ examples/tessellation/tessellation.cpp | 3 +++ examples/texturecubemap/texturecubemap.cpp | 8 ++++++++ 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/data/shaders/glsl/multiview/multiview.vert b/data/shaders/glsl/multiview/multiview.vert index 4a893296..14a6dcc5 100644 --- a/data/shaders/glsl/multiview/multiview.vert +++ b/data/shaders/glsl/multiview/multiview.vert @@ -19,11 +19,6 @@ layout (binding = 0) uniform UBO vec4 lightPos; } ubo; -out gl_PerVertex -{ - vec4 gl_Position; -}; - void main() { outColor = inColor; diff --git a/data/shaders/glsl/multiview/multiview.vert.spv b/data/shaders/glsl/multiview/multiview.vert.spv index 69fc64cd2796daec2d796b2e56d40f9eaec9fe9b..d217329b48cf41fe417b0c5d9cc27e06ec76cf97 100644 GIT binary patch delta 511 zcmX|6O-sW-6r9aAty-!cqy;HO@aRzxK~#!D_132KTM>~`7D6gCUPS28t3^EeBP4&t ztG`4F&a_DuhS@jscHY~cwfAbpdYdJ{U#~q#I(UyD09um%chP&zpNkp?f-Zqxd0u?B||Mz2`8@Js%c51@N>`z#_Q;B!}Lq z>10ckXEtyGKVLwa7RfXXmZl+@rn|HP(V`P1U$*Rxwg6v+j_Ksn+04qnA@n zp0L5bE?Kei_tIMXOH*!*d`9S~|As72Svy>xYbJmGuYEnIuue2NtWLfls)QcP+vnpI n@+BcpwL-3lZDPVO)z^f2q&KN);4Pu0ly$)Is?|5;cXx?@|0_4T delta 287 zcmbOrc147jnMs+Qfq{{Moq>ZPdLnN-W6;K_>5Pm4lm9Y`O9n7NKzdGmKz?y%NoIZ? z11keFL(t|%rf5b{m^3$3nLAJ_V6!d@H5G42r8xx zAGFAAo>ixJ7&kUYeJ>5Mo>kgkI6`%w|} zm%0gjo^$qAX%B1Gdf)Z#wbx$zv|Gz#A)E{2;X+so&6*A^m=GpHxAwiw?alR3wYUEG z$%cx_(5{7Qrr75?kA2-OO5=;zCG0lV=GVgiLfk=hRwq_FJgh$M;5(e>zAuAMJNZGC zAAKnI@}q{o)$slNph*EycZ0l(J^kURsET0;J67}dSMx<#Z5Q8ibtz|0XEUYx*7iUOK@t8=ZL!a44Y>M4_ae$8Q2$6EB`!V=Pox39>-^xJ*oFxV|n#r?=dJEv2c=d9NMBX*kFsIqq0^Xj@+n2cc#!mZ6 zZ{j&=CdghVd>0VH_g4wuuW?iV5wZ0>`zdeeeY}H9{x3`i{{q(8T*jQsZ&>kEpRY2){%cncfO~bHO=3_@t$ZK*6|4V8 Hg=g3?2mwYg delta 401 zcmXv}J!`^H6g{sorYcUQ7~@By)+$H`7ZHTEP7V&nrJFbf7boe^%|aKaLddW17j&tE zKTPO3F}dOJ&N=tx-1`oNKc{TnbR59I!7chxd11V0HLtn=HrsU&?%u=QNBBvJJU=%& z-`O@Sc=59t-0PaEbUiR*$BmEXci$AFTOoYpP~~Y6@+PVFQg1+AB(D)F={(OyqVSgK zheUt9X1aatC;3n0%GbOR?6_u~_I2_C@dKOB1Db?9QAlNG{J10Vim7m(X4IhR}ivo-#xW_6R*%4}Iaf()!`Th%xaGGx{8i diff --git a/examples/multiview/multiview.cpp b/examples/multiview/multiview.cpp index 20aa3d70..a73992f3 100644 --- a/examples/multiview/multiview.cpp +++ b/examples/multiview/multiview.cpp @@ -49,6 +49,8 @@ public: VkPipeline viewDisplayPipelines[2]; + VkPhysicalDeviceMultiviewFeaturesKHR physicalDeviceMultiviewFeatures{}; + // Camera and view properties float eyeSeparation = 0.08f; const float focalLength = 0.5f; @@ -69,6 +71,11 @@ public: // Reading device properties and features for multiview requires VK_KHR_get_physical_device_properties2 to be enabled enabledInstanceExtensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); + + // Enable required extension features + physicalDeviceMultiviewFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR; + physicalDeviceMultiviewFeatures.multiview = VK_TRUE; + deviceCreatepNextChain = &physicalDeviceMultiviewFeatures; } ~VulkanExample() diff --git a/examples/tessellation/tessellation.cpp b/examples/tessellation/tessellation.cpp index 7bec8187..444a0789 100644 --- a/examples/tessellation/tessellation.cpp +++ b/examples/tessellation/tessellation.cpp @@ -93,6 +93,9 @@ public: else { wireframe = false; } + if (deviceFeatures.samplerAnisotropy) { + enabledFeatures.samplerAnisotropy = VK_TRUE; + } } void buildCommandBuffers() diff --git a/examples/texturecubemap/texturecubemap.cpp b/examples/texturecubemap/texturecubemap.cpp index 9a6fa606..33358541 100644 --- a/examples/texturecubemap/texturecubemap.cpp +++ b/examples/texturecubemap/texturecubemap.cpp @@ -84,6 +84,14 @@ public: uniformBuffers.skybox.destroy(); } + // Enable physical device features required for this example + virtual void getEnabledFeatures() + { + if (deviceFeatures.samplerAnisotropy) { + enabledFeatures.samplerAnisotropy = VK_TRUE; + } + } + void loadCubemap(std::string filename, VkFormat format, bool forceLinearTiling) { ktxResult result;