diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2017-10-13 16:17:40 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2018-03-29 14:16:13 -0700 |
commit | b70a82cf9c7ab02be0487668aa471eef05fc6134 (patch) | |
tree | 48a97c48d435132291d10243e3eeda37c606d078 | |
parent | a255ec0f4fedefe2c20e5dd4b7a73bae73f98268 (diff) |
glsl/spirv: Emit ir_emit_vertex and ir_end_primitiveemit-spirv
-rw-r--r-- | src/compiler/glsl/spirv_visitor.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/compiler/glsl/spirv_visitor.cpp b/src/compiler/glsl/spirv_visitor.cpp index 3773c5aa38e..c229eee3869 100644 --- a/src/compiler/glsl/spirv_visitor.cpp +++ b/src/compiler/glsl/spirv_visitor.cpp @@ -915,17 +915,21 @@ spirv_visitor::visit(ir_loop_jump *ir) } void -spirv_visitor::visit(ir_emit_vertex *) +spirv_visitor::visit(ir_emit_vertex *ir) { - printf("can't handle some %s\n", __PRETTY_FUNCTION__); - success = false; + if (ir->stream != NULL) + emit_SpvOpEmitStreamVertex(&prog->functions, get_result(ir->stream)); + else + emit_SpvOpEmitVertex(&prog->functions); } void -spirv_visitor::visit(ir_end_primitive *) +spirv_visitor::visit(ir_end_primitive *ir) { - printf("can't handle some %s\n", __PRETTY_FUNCTION__); - success = false; + if (ir->stream != NULL) + emit_SpvOpEndStreamPrimitive(&prog->functions, get_result(ir->stream)); + else + emit_SpvOpEndPrimitive(&prog->functions); } void |