diff --git a/SurrealEngine/RenderDevice/Vulkan/FileResource.cpp b/SurrealEngine/RenderDevice/Vulkan/FileResource.cpp index 81d35f3..435c36a 100644 --- a/SurrealEngine/RenderDevice/Vulkan/FileResource.cpp +++ b/SurrealEngine/RenderDevice/Vulkan/FileResource.cpp @@ -87,10 +87,10 @@ std::string FileResource::readAllText(const std::string& filename) } #if defined(BINDLESS_TEXTURES) - vec4 textureTex(vec2 uv) { return texture(textures[textureBinds.x], uv); } - vec4 textureMacro(vec2 uv) { return texture(textures[textureBinds.y], uv); } - vec4 textureDetail(vec2 uv) { return texture(textures[textureBinds.z], uv); } - vec4 textureLightmap(vec2 uv) { return texture(textures[textureBinds.w], uv); } + vec4 textureTex(vec2 uv) { return texture(textures[nonuniformEXT(textureBinds.x)], uv); } + vec4 textureMacro(vec2 uv) { return texture(textures[nonuniformEXT(textureBinds.y)], uv); } + vec4 textureDetail(vec2 uv) { return texture(textures[nonuniformEXT(textureBinds.z)], uv); } + vec4 textureLightmap(vec2 uv) { return texture(textures[nonuniformEXT(textureBinds.w)], uv); } #else vec4 textureTex(vec2 uv) { return texture(tex, uv); } vec4 textureMacro(vec2 uv) { return texture(texMacro, uv); } diff --git a/SurrealEngine/RenderDevice/Vulkan/VulkanRenderDevice.cpp b/SurrealEngine/RenderDevice/Vulkan/VulkanRenderDevice.cpp index cac0cc0..78b7c3c 100644 --- a/SurrealEngine/RenderDevice/Vulkan/VulkanRenderDevice.cpp +++ b/SurrealEngine/RenderDevice/Vulkan/VulkanRenderDevice.cpp @@ -41,11 +41,6 @@ VulkanRenderDevice::VulkanRenderDevice(Widget* InViewport, std::shared_ptrEnabledFeatures.DescriptorIndexing.runtimeDescriptorArray && Device->EnabledFeatures.DescriptorIndexing.shaderSampledImageArrayNonUniformIndexing; - // AMD's driver produces artifacts when using bindless textures. - // This is not ideal, but can't get AMD to fix this as I'm not AAA and thus can't just call them... - if ((Device->PhysicalDevice.Properties.Properties.vendorID & 0xffff) == 0x1002) - SupportsBindless = false; - Commands.reset(new CommandBufferManager(this)); Samplers.reset(new SamplerManager(this)); Textures.reset(new TextureManager(this));