[Mesa-dev] [PATCH 3/4] anv: workaround border colors gen7/gen75
Lionel Landwerlin
llandwerlin at gmail.com
Wed Oct 19 15:50:20 UTC 2016
This replicates the following commit from our GL driver :
commit c25e5300cba7628b58df93ead14ebc3cc32f338c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Jan 20 03:33:40 2012 -0800
i965: Fix border color on Sandybridge and Ivybridge.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/vulkan/genX_cmd_buffer.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 24e0012..5ea7c5f 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -105,6 +105,15 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
sba.IndirectObjectBufferSizeModifyEnable = true;
sba.InstructionBufferSize = 0xfffff;
sba.InstructionBuffersizeModifyEnable = true;
+# else
+ /* Dynamic state upper bound. Although the documentation says that
+ * programming it to zero will cause it to be ignored, that is a lie. If
+ * this isn't programmed to a real bound, the sampler border color
+ * pointer is rejected, causing border color to mysteriously fail.
+ */
+ sba.DynamicStateAccessUpperBound =
+ (struct anv_address) { NULL, 0xfffff000 };
+ sba.DynamicStateAccessUpperBoundModifyEnable = true;
# endif
}
--
2.9.3
More information about the mesa-dev
mailing list