summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-07-30 16:11:50 +0200
committerMarek Olšák <[email protected]>2015-08-06 20:11:43 +0200
commit7d3939f0de7dcb5e68eca638d5832c683a124775 (patch)
tree5fa464693e64579134582201a02b9839910f4707
parentc63e8b1193fd380e999b8ef258a20e57884820f4 (diff)
mesa: save which transform feedback buffer is associated with which stream
Reviewed-by: Dave Airlie <[email protected]>
-rw-r--r--src/glsl/link_varyings.cpp1
-rw-r--r--src/mesa/main/mtypes.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp
index 1c52ff35f44..f7a7b8c4c5b 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 a252bf46606..4e00fb6645d 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];
};