lp_state.h revision 2d6b39f05edcd575b1e10d53f96a38bec848fa67
1946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/************************************************************************** 2946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 3946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. 4946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * All Rights Reserved. 5946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 6946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * Permission is hereby granted, free of charge, to any person obtaining a 7946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * copy of this software and associated documentation files (the 8946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * "Software"), to deal in the Software without restriction, including 9946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * without limitation the rights to use, copy, modify, merge, publish, 10946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * distribute, sub license, and/or sell copies of the Software, and to 11946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * permit persons to whom the Software is furnished to do so, subject to 12946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * the following conditions: 13946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 14946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * The above copyright notice and this permission notice (including the 15946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * next paragraph) shall be included in all copies or substantial portions 16946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * of the Software. 17946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 18946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 26946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca **************************************************************************/ 27946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 28946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/* Authors: Keith Whitwell <keith@tungstengraphics.com> 29946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca */ 30946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 31c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#ifndef LP_STATE_H 32c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_STATE_H 33946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 342d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca#include <llvm-c/Core.h> 352d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 36946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca#include "pipe/p_state.h" 37946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca#include "tgsi/tgsi_scan.h" 38946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 39946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 40c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VIEWPORT 0x1 41c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_RASTERIZER 0x2 42c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_FS 0x4 43c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_BLEND 0x8 44c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_CLIP 0x10 45c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_SCISSOR 0x20 46c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_STIPPLE 0x40 47c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_FRAMEBUFFER 0x80 48c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_DEPTH_STENCIL_ALPHA 0x100 49c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_CONSTANTS 0x200 50c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_SAMPLER 0x400 51c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_TEXTURE 0x800 52c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VERTEX 0x1000 53c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VS 0x2000 54c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_QUERY 0x4000 55946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 56946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 57946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct tgsi_sampler; 58946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct tgsi_exec_machine; 59946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct vertex_info; 60946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 61946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 62946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/** 63946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * Subclass of pipe_shader_state (though it doesn't really need to be). 64946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 65946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * This is starting to look an awful lot like a quad pipeline stage... 66946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca */ 67946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct lp_fragment_shader { 68946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_shader_state shader; 69946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 70946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct tgsi_shader_info info; 71946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 72946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void (*prepare)( const struct lp_fragment_shader *shader, 73946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct tgsi_exec_machine *machine, 74946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct tgsi_sampler **samplers); 75946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 76946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca /* Run the shader - this interface will get cleaned up in the 77946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * future: 78946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca */ 79946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned (*run)( const struct lp_fragment_shader *shader, 80946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct tgsi_exec_machine *machine, 81946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct quad_header *quad ); 82946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 83946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 84946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void (*delete)( struct lp_fragment_shader * ); 85946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca}; 86946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 87946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 88946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/** Subclass of pipe_shader_state */ 89946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct lp_vertex_shader { 90946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_shader_state shader; 91946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct draw_vertex_shader *draw_data; 92946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca}; 93946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 94946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 952d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonsecatypedef void 962d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca(*lp_blend_func)(float src[][4], 972d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca float dst[][4], 982d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca float con[][4], 992d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca float res[][4]); 1002d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 1012d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 1022d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonsecastruct lp_blend_state 1032d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca{ 1042d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca struct pipe_blend_state base; 1052d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 1062d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca LLVMValueRef function; 1072d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 1082d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca lp_blend_func jit_function; 1092d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca}; 1102d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 1112d6b39f05edcd575b1e10d53f96a38bec848fa67José Fonseca 112946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 113946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 114946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_blend_state(struct pipe_context *, 115946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_blend_state *); 116946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_blend_state(struct pipe_context *, 117946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void *); 118946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_blend_state(struct pipe_context *, 119946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void *); 120946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 121946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 122946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_sampler_state(struct pipe_context *, 123946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_sampler_state *); 124946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_sampler_states(struct pipe_context *, unsigned, void **); 125946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_sampler_state(struct pipe_context *, void *); 126946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 127946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 128946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_depth_stencil_state(struct pipe_context *, 129946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_depth_stencil_alpha_state *); 130946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_depth_stencil_state(struct pipe_context *, void *); 131946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_depth_stencil_state(struct pipe_context *, void *); 132946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 133946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 134946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_rasterizer_state(struct pipe_context *, 135946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_rasterizer_state *); 136946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_rasterizer_state(struct pipe_context *, void *); 137946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_rasterizer_state(struct pipe_context *, void *); 138946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 139946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_framebuffer_state( struct pipe_context *, 140946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_framebuffer_state * ); 141946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 142946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_blend_color( struct pipe_context *pipe, 143946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_blend_color *blend_color ); 144946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 145946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_clip_state( struct pipe_context *, 146946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_clip_state * ); 147946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 148946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_constant_buffer(struct pipe_context *, 149946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca uint shader, uint index, 150946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_constant_buffer *buf); 151946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 152946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid *llvmpipe_create_fs_state(struct pipe_context *, 153946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_shader_state *); 154946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_fs_state(struct pipe_context *, void *); 155946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_fs_state(struct pipe_context *, void *); 156946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid *llvmpipe_create_vs_state(struct pipe_context *, 157946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_shader_state *); 158946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_vs_state(struct pipe_context *, void *); 159946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_vs_state(struct pipe_context *, void *); 160946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 161946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_polygon_stipple( struct pipe_context *, 162946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_poly_stipple * ); 163946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 164946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_scissor_state( struct pipe_context *, 165946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_scissor_state * ); 166946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 167946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_sampler_textures( struct pipe_context *, 168946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned num, 169946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_texture ** ); 170946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 171946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_viewport_state( struct pipe_context *, 172946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_viewport_state * ); 173946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 174946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_vertex_elements(struct pipe_context *, 175946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned count, 176946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_vertex_element *); 177946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 178946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_vertex_buffers(struct pipe_context *, 179946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned count, 180946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_vertex_buffer *); 181946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 182946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 183946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_update_derived( struct llvmpipe_context *llvmpipe ); 184946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 185946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 186946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecaboolean llvmpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, 187946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned start, unsigned count); 188946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 189946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecaboolean llvmpipe_draw_elements(struct pipe_context *pipe, 190946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_buffer *indexBuffer, 191946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned indexSize, 192946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned mode, unsigned start, unsigned count); 193946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecaboolean 194946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_draw_range_elements(struct pipe_context *pipe, 195946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_buffer *indexBuffer, 196946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned indexSize, 197946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned min_index, 198946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned max_index, 199946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned mode, unsigned start, unsigned count); 200946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 201946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid 202946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_set_edgeflags(struct pipe_context *pipe, const unsigned *edgeflags); 203946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 204946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 205946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid 206946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_map_transfers(struct llvmpipe_context *lp); 207946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 208946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid 209946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_unmap_transfers(struct llvmpipe_context *lp); 210946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 211946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid 212946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_map_texture_surfaces(struct llvmpipe_context *lp); 213946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 214946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid 215946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_unmap_texture_surfaces(struct llvmpipe_context *lp); 216946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 217946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 218946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct vertex_info * 219946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_get_vertex_info(struct llvmpipe_context *llvmpipe); 220946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 221946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct vertex_info * 222946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_get_vbuf_vertex_info(struct llvmpipe_context *llvmpipe); 223946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 224946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 225946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca#endif 226