diff options
author | marha <marha@users.sourceforge.net> | 2014-07-01 08:46:12 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-07-01 08:46:12 +0200 |
commit | cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8 (patch) | |
tree | 1103248fcbdd2cd7a9b6cf1d336da7b3f58d4e2b /mesalib/src/glsl/ir.h | |
parent | fba3b6d1979c1d1ad0d56d46fc2d787f111c07fb (diff) | |
download | vcxsrv-cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8.tar.gz vcxsrv-cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8.tar.bz2 vcxsrv-cfc5bafcb2db8c6e05d7be6bb7315960be08c0d8.zip |
fontconfig mesa pixman git update 1 July 2014
pixman commit 5a2edb3f2c2cfde6b25ac614e2004a9f78583d74
fontconfig commit dab60e4476ada4ad4639599ea24dd012d4a79584
mesa commit 1bfc0a11027449ae7ab7c28eb695f26de530eccf
Diffstat (limited to 'mesalib/src/glsl/ir.h')
-rw-r--r-- | mesalib/src/glsl/ir.h | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h index b4e52d3d0..d5239d4de 100644 --- a/mesalib/src/glsl/ir.h +++ b/mesalib/src/glsl/ir.h @@ -706,6 +706,11 @@ public: int location; /** + * Vertex stream output identifier. + */ + unsigned stream; + + /** * output index for dual source blending. */ int index; @@ -2154,9 +2159,11 @@ private: */ class ir_emit_vertex : public ir_instruction { public: - ir_emit_vertex() - : ir_instruction(ir_type_emit_vertex) + ir_emit_vertex(ir_rvalue *stream) + : ir_instruction(ir_type_emit_vertex), + stream(stream) { + assert(stream); } virtual void accept(ir_visitor *v) @@ -2164,12 +2171,19 @@ public: v->visit(this); } - virtual ir_emit_vertex *clone(void *mem_ctx, struct hash_table *) const + virtual ir_emit_vertex *clone(void *mem_ctx, struct hash_table *ht) const { - return new(mem_ctx) ir_emit_vertex(); + return new(mem_ctx) ir_emit_vertex(this->stream->clone(mem_ctx, ht)); } virtual ir_visitor_status accept(ir_hierarchical_visitor *); + + int stream_id() const + { + return stream->as_constant()->value.i[0]; + } + + ir_rvalue *stream; }; /** @@ -2178,9 +2192,11 @@ public: */ class ir_end_primitive : public ir_instruction { public: - ir_end_primitive() - : ir_instruction(ir_type_end_primitive) + ir_end_primitive(ir_rvalue *stream) + : ir_instruction(ir_type_end_primitive), + stream(stream) { + assert(stream); } virtual void accept(ir_visitor *v) @@ -2188,12 +2204,19 @@ public: v->visit(this); } - virtual ir_end_primitive *clone(void *mem_ctx, struct hash_table *) const + virtual ir_end_primitive *clone(void *mem_ctx, struct hash_table *ht) const { - return new(mem_ctx) ir_end_primitive(); + return new(mem_ctx) ir_end_primitive(this->stream->clone(mem_ctx, ht)); } virtual ir_visitor_status accept(ir_hierarchical_visitor *); + + int stream_id() const + { + return stream->as_constant()->value.i[0]; + } + + ir_rvalue *stream; }; /*@}*/ |