1b8e80941Smrg/********************************************************** 2b8e80941Smrg * Copyright 2014 VMware, Inc. All rights reserved. 3b8e80941Smrg * 4b8e80941Smrg * Permission is hereby granted, free of charge, to any person 5b8e80941Smrg * obtaining a copy of this software and associated documentation 6b8e80941Smrg * files (the "Software"), to deal in the Software without 7b8e80941Smrg * restriction, including without limitation the rights to use, copy, 8b8e80941Smrg * modify, merge, publish, distribute, sublicense, and/or sell copies 9b8e80941Smrg * of the Software, and to permit persons to whom the Software is 10b8e80941Smrg * furnished to do so, subject to the following conditions: 11b8e80941Smrg * 12b8e80941Smrg * The above copyright notice and this permission notice shall be 13b8e80941Smrg * included in all copies or substantial portions of the Software. 14b8e80941Smrg * 15b8e80941Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16b8e80941Smrg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17b8e80941Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18b8e80941Smrg * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19b8e80941Smrg * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20b8e80941Smrg * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21b8e80941Smrg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22b8e80941Smrg * SOFTWARE. 23b8e80941Smrg * 24b8e80941Smrg **********************************************************/ 25b8e80941Smrg 26b8e80941Smrg#ifndef SVGA_STREAMOUT_H 27b8e80941Smrg#define SVGA_STREAMOUT_H 28b8e80941Smrg 29b8e80941Smrgstruct svga_shader; 30b8e80941Smrg 31b8e80941Smrgstruct svga_stream_output { 32b8e80941Smrg struct pipe_stream_output_info info; 33b8e80941Smrg unsigned pos_out_index; // position output index 34b8e80941Smrg unsigned id; 35b8e80941Smrg}; 36b8e80941Smrg 37b8e80941Smrgstruct svga_stream_output * 38b8e80941Smrgsvga_create_stream_output(struct svga_context *svga, 39b8e80941Smrg struct svga_shader *shader, 40b8e80941Smrg const struct pipe_stream_output_info *info); 41b8e80941Smrg 42b8e80941Smrgenum pipe_error 43b8e80941Smrgsvga_set_stream_output(struct svga_context *svga, 44b8e80941Smrg struct svga_stream_output *streamout); 45b8e80941Smrg 46b8e80941Smrgvoid 47b8e80941Smrgsvga_delete_stream_output(struct svga_context *svga, 48b8e80941Smrg struct svga_stream_output *streamout); 49b8e80941Smrg 50b8e80941Smrgenum pipe_error 51b8e80941Smrgsvga_rebind_stream_output_targets(struct svga_context *svga); 52b8e80941Smrg 53b8e80941Smrg#endif /* SVGA_STREAMOUT_H */ 54