From 1cd1d39d842a7b324ba6792cadd4db176193a26f Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Tue, 28 Sep 2021 17:15:05 +0200 Subject: [PATCH] [#105] Fixed shaders by using extensions properly and enabled them on CPU Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- projects/indirect_draw/resources/shaders/shader.frag | 2 +- projects/indirect_draw/resources/shaders/shader.vert | 1 + projects/indirect_draw/src/main.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/indirect_draw/resources/shaders/shader.frag b/projects/indirect_draw/resources/shaders/shader.frag index 48e4e08b..f0a0b493 100644 --- a/projects/indirect_draw/resources/shaders/shader.frag +++ b/projects/indirect_draw/resources/shaders/shader.frag @@ -14,5 +14,5 @@ layout(set=0, binding=2) uniform texture2D baseColorTex[]; void main() { - outColor = texture(sampler2D(baseColorTex[passDrawIndex], standardSampler), passUV).rgb; + outColor = texture(sampler2D(baseColorTex[nonuniformEXT(passDrawIndex)], standardSampler), passUV).rgb; } \ No newline at end of file diff --git a/projects/indirect_draw/resources/shaders/shader.vert b/projects/indirect_draw/resources/shaders/shader.vert index 244cfd09..10b25076 100644 --- a/projects/indirect_draw/resources/shaders/shader.vert +++ b/projects/indirect_draw/resources/shaders/shader.vert @@ -1,5 +1,6 @@ #version 460 #extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shader_draw_parameters : enable layout(location = 0) in vec3 inPosition; layout(location = 1) in vec3 inNormal; diff --git a/projects/indirect_draw/src/main.cpp b/projects/indirect_draw/src/main.cpp index 45de9ad0..bdc280a2 100644 --- a/projects/indirect_draw/src/main.cpp +++ b/projects/indirect_draw/src/main.cpp @@ -268,6 +268,7 @@ int main(int argc, const char** argv) { features.setMultiDrawIndirect(true); }); + features.requireExtension(VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME); features.requireExtension(VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME); features.requireExtensionFeature<vk::PhysicalDeviceDescriptorIndexingFeatures>( VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, [](vk::PhysicalDeviceDescriptorIndexingFeatures &features) { -- GitLab