zink: check for mirror-clamp extension

This cap depends on a device extension.

Fixes: b59d98ae5f ("zink: enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803>
This commit is contained in:
Erik Faye-Lund 2021-03-24 17:11:19 +01:00 committed by Marge Bot
parent 2644835f03
commit a95912e9af
3 changed files with 13 additions and 3 deletions

View File

@ -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

View File

@ -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,

View File

@ -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;