diff --git a/docs/drivers/zink.rst b/docs/drivers/zink.rst index 722bce37ffd..fbbcbe63ab8 100644 --- a/docs/drivers/zink.rst +++ b/docs/drivers/zink.rst @@ -179,11 +179,17 @@ supported: OpenGL 4.4 ^^^^^^^^^^ -For OpenGL 4.4 support, the following additional format needs to support -``VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT``: +For OpenGL 4.4 support, the following additional requirements needs to be +supported: + +* Formats requiring ``VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT``: * ``VK_FORMAT_B10G11R11_UFLOAT_PACK32`` +* Device extensions: + + * `VK_KHR_sampler_mirror_clamp_to_edge`_ + OpenGL 4.5 ^^^^^^^^^^ @@ -258,3 +264,4 @@ questions, don't hesitate to visit `#zink on FreeNode .. _VK_KHR_vulkan_memory_model: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_vulkan_memory_model.html .. _VK_KHR_shader_draw_parameters: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_draw_parameters.html .. _VK_KHR_draw_indirect_count: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_draw_indirect_count.html +.. _VK_KHR_sampler_mirror_clamp_to_edge: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_sampler_mirror_clamp_to_edge.html diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 95008e5be53..a0f69f6c69b 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -72,6 +72,7 @@ EXTENSIONS = [ properties=True), Extension("VK_KHR_draw_indirect_count"), Extension("VK_KHR_shader_draw_parameters"), + Extension("VK_KHR_sampler_mirror_clamp_to_edge"), Extension("VK_EXT_conditional_rendering", alias="cond_render", features=True, diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 206194de637..a3e6248e557 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -235,7 +235,6 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS: case PIPE_CAP_FORCE_PERSAMPLE_INTERP: case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT: - case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT: case PIPE_CAP_TGSI_ARRAY_COMPONENTS: case PIPE_CAP_QUERY_BUFFER_OBJECT: @@ -251,6 +250,9 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_INVALIDATE_BUFFER: return 1; + case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: + return screen->info.have_KHR_sampler_mirror_clamp_to_edge; + case PIPE_CAP_POLYGON_OFFSET_CLAMP: return screen->info.feats.features.depthBiasClamp;