On 21/06/17 20:24, Timothy Arceri wrote:
On 21/06/17 18:13, Juan A. Suarez Romero wrote:
link_xfb_stride_layout_qualifiers() can be called multiple times, and
each time we call prog->TransformFeedback.BufferStride is reset to 0.
Thus it is loosing the values set in previous call.
Do not perform such reset.
Fixes:
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
Signed-off-by: Juan A. Suarez Romero <jasua...@igalia.com>
---
src/compiler/glsl/linker.cpp | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index adfa3b7b1d..1fe0ccc496 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -1623,10 +1623,6 @@ link_xfb_stride_layout_qualifiers(struct
gl_context *ctx,
struct gl_shader **shader_list,
unsigned num_shaders)
{
- for (unsigned i = 0; i < MAX_FEEDBACK_BUFFERS; i++) {
- prog->TransformFeedback.BufferStride[i] = 0;
- }
I think this probably needs to be moved rather than just deleted. I
think the idea is to reset things to 0 in case we are re-linking an
existing program with different shaders attached.
Actually you could also probably fix this by simply skipping calling
link_xfb_stride_layout_qualifiers() if we are processing the fragment
shader.
-
for (unsigned i = 0; i < num_shaders; i++) {
struct gl_shader *shader = shader_list[i];
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev