lp_state.h revision 08dd41fd6899bd6b3289d30dc31f8b2998406889
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" 3808dd41fd6899bd6b3289d30dc31f8b2998406889José Fonseca#include "lp_jit.h" 39946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 40946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 41c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VIEWPORT 0x1 42c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_RASTERIZER 0x2 43c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_FS 0x4 44c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_BLEND 0x8 45c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_CLIP 0x10 46c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_SCISSOR 0x20 47c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_STIPPLE 0x40 48c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_FRAMEBUFFER 0x80 49c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_DEPTH_STENCIL_ALPHA 0x100 50c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_CONSTANTS 0x200 51c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_SAMPLER 0x400 52c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_TEXTURE 0x800 53c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VERTEX 0x1000 54c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_VS 0x2000 55c9a5930fe45a0a0299769bd2b672ca516d1bf39eJosé Fonseca#define LP_NEW_QUERY 0x4000 56946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 57946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 58946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct tgsi_sampler; 59946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct vertex_info; 60946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 61946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 629ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonsecastruct lp_fragment_shader; 639ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 649ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 65e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonsecastruct lp_fragment_shader_variant_key 66e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca{ 67e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca struct pipe_depth_state depth; 68e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca struct pipe_alpha_state alpha; 6998971802798354cdba45c421cc340ec938143e03José Fonseca struct pipe_blend_state blend; 70e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca}; 71e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca 72e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca 739ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonsecastruct lp_fragment_shader_variant 749ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca{ 759ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca struct lp_fragment_shader *shader; 76e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca 77e3b38e5ec1ba93e3f1a1b3d5039c70ff7aa3ebe6José Fonseca struct lp_fragment_shader_variant_key key; 789ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 799ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca LLVMValueRef function; 809ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 8108dd41fd6899bd6b3289d30dc31f8b2998406889José Fonseca lp_jit_frag_func jit_function; 829ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 839ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca struct lp_fragment_shader_variant *next; 849ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca}; 859ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 869ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca 87946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/** 88946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * Subclass of pipe_shader_state (though it doesn't really need to be). 89946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * 90946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca * This is starting to look an awful lot like a quad pipeline stage... 91946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca */ 9273af91e938eb27b001404f11195fb06ff9b08903José Fonsecastruct lp_fragment_shader 9373af91e938eb27b001404f11195fb06ff9b08903José Fonseca{ 9473af91e938eb27b001404f11195fb06ff9b08903José Fonseca struct pipe_shader_state base; 95946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 96946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct tgsi_shader_info info; 97946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 989ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca struct lp_fragment_shader_variant *variants; 99946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 1009ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonseca struct lp_fragment_shader_variant *current; 101946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca}; 102946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 103946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 104946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca/** Subclass of pipe_shader_state */ 105946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecastruct lp_vertex_shader { 106946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_shader_state shader; 107946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct draw_vertex_shader *draw_data; 108946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca}; 109946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 110946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 111946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 112946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 113946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_blend_state(struct pipe_context *, 114946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_blend_state *); 115946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_blend_state(struct pipe_context *, 116946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void *); 117946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_blend_state(struct pipe_context *, 118946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca void *); 119946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 120946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 121946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_sampler_state(struct pipe_context *, 122946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_sampler_state *); 123946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_sampler_states(struct pipe_context *, unsigned, void **); 124946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_sampler_state(struct pipe_context *, void *); 125946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 126946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 127946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_depth_stencil_state(struct pipe_context *, 128946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_depth_stencil_alpha_state *); 129946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_depth_stencil_state(struct pipe_context *, void *); 130946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_depth_stencil_state(struct pipe_context *, void *); 131946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 132946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid * 133946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecallvmpipe_create_rasterizer_state(struct pipe_context *, 134946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_rasterizer_state *); 135946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_rasterizer_state(struct pipe_context *, void *); 136946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_rasterizer_state(struct pipe_context *, void *); 137946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 138946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_framebuffer_state( struct pipe_context *, 139946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_framebuffer_state * ); 140946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 141946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_blend_color( struct pipe_context *pipe, 142946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_blend_color *blend_color ); 143946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 144946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_clip_state( struct pipe_context *, 145946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_clip_state * ); 146946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 147946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_constant_buffer(struct pipe_context *, 148946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca uint shader, uint index, 149946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_constant_buffer *buf); 150946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 151946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid *llvmpipe_create_fs_state(struct pipe_context *, 152946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_shader_state *); 153946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_fs_state(struct pipe_context *, void *); 154946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_fs_state(struct pipe_context *, void *); 155946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid *llvmpipe_create_vs_state(struct pipe_context *, 156946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_shader_state *); 157946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_bind_vs_state(struct pipe_context *, void *); 158946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_delete_vs_state(struct pipe_context *, void *); 159946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 160946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_polygon_stipple( struct pipe_context *, 161946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_poly_stipple * ); 162946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 163946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_scissor_state( struct pipe_context *, 164946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_scissor_state * ); 165946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 166946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_sampler_textures( struct pipe_context *, 167946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned num, 168946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca struct pipe_texture ** ); 169946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 170946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_viewport_state( struct pipe_context *, 171946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_viewport_state * ); 172946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 173946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_vertex_elements(struct pipe_context *, 174946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned count, 175946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_vertex_element *); 176946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 177946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonsecavoid llvmpipe_set_vertex_buffers(struct pipe_context *, 178946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca unsigned count, 179946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca const struct pipe_vertex_buffer *); 180946f432a08112148d743eb9faf6b27bb8cc7fa76José Fonseca 1819ae47069b4a2b67e381b02d805f1ca74f31ea7b8José Fonsecavoid llvmpipe_update_fs(struct llvmpipe_context *lp); 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