[Mesa-dev] [PATCH 2/3] mesa: save which transform feedback buffer is associated with which stream

Marek Olšák maraeo at gmail.com
Thu Jul 30 07:26:07 PDT 2015


From: Marek Olšák <marek.olsak at amd.com>

---
 src/glsl/link_varyings.cpp | 1 +
 src/mesa/main/mtypes.h     | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index 1c52ff3..f7a7b8c 100644
--- a/src/glsl/link_varyings.cpp
+++ b/src/glsl/link_varyings.cpp
@@ -572,6 +572,7 @@ tfeedback_decl::store(struct gl_context *ctx, struct gl_shader_program *prog,
       info->Outputs[info->NumOutputs].DstOffset = info->BufferStride[buffer];
       ++info->NumOutputs;
       info->BufferStride[buffer] += output_size;
+      info->BufferStream[buffer] = this->stream_id;
       num_components -= output_size;
       location++;
       location_frac = 0;
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index a252bf4..4e00fb6 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1868,6 +1868,11 @@ struct gl_transform_feedback_info
     * multiple transform feedback outputs in the same buffer.
     */
    unsigned BufferStride[MAX_FEEDBACK_BUFFERS];
+
+   /**
+    * Which transform feedback stream this buffer binding is associated with.
+    */
+   unsigned BufferStream[MAX_FEEDBACK_BUFFERS];
 };
 
 
-- 
2.1.4



More information about the mesa-dev mailing list