Mesa (master): anv/blit: Use CLAMP_TO_EDGE for scaled blits
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Sat Jun 4 02:29:49 UTC 2016
Module: Mesa
Branch: master
Commit: 441194edd91c2ca9d2b219f7e16ba2c7783396df
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=441194edd91c2ca9d2b219f7e16ba2c7783396df
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Thu Jun 2 16:34:11 2016 -0700
anv/blit: Use CLAMP_TO_EDGE for scaled blits
When upscaling you can end up interpolating between the edge pixel and one
past the edge. Using CLAMP_TO_EDGE seems like the most reasonable thing to
do in this case. This fixes two of the new Vulkan CTS tests in
dEQP-VK.api.copy_and_blit.blit_image.*
Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: "12.0" <mesa-stable at lists.freedesktop.org>
---
src/intel/vulkan/anv_meta_blit.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/intel/vulkan/anv_meta_blit.c b/src/intel/vulkan/anv_meta_blit.c
index 3c54ef4..dc098ef 100644
--- a/src/intel/vulkan/anv_meta_blit.c
+++ b/src/intel/vulkan/anv_meta_blit.c
@@ -211,6 +211,9 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer,
.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
.magFilter = blit_filter,
.minFilter = blit_filter,
+ .addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
+ .addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
+ .addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
}, &cmd_buffer->pool->alloc, &sampler);
VkDescriptorPool desc_pool;
More information about the mesa-commit
mailing list