diff --git a/projects/indirect_draw/resources/shaders/shader.frag b/projects/indirect_draw/resources/shaders/shader.frag index 48e4e08be43ad1910f5e6ecc6eebcb88a1208602..f0a0b49314926ef9195d9a145b805b55d17b8807 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 244cfd09e4f7b0548fe40b019f59d6e28b916e6e..10b250761437dce6eea01dd195e1248fc9c0bd90 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 45de9ad010cfc59cac0b9ab929a1c19e43cabc38..bdc280a28513ddb6216e6e02a769c8261ebcd506 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) {