8bb50b98fecd96818ddd79407085de1b2b78f76d
1 /**************************************************************************
3 * Copyright 2007 VMware, Inc.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21 * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 **************************************************************************/
31 struct softpipe_context
;
33 struct sp_setup_info
{
36 unsigned interp
:8; /**< INTERP_X */
38 } attrib
[PIPE_MAX_SHADER_OUTPUTS
];
42 sp_setup_tri(struct setup_context
*setup
,
45 const float (*v2
)[4]);
48 sp_setup_line(struct setup_context
*setup
,
50 const float (*v1
)[4]);
53 sp_setup_point( struct setup_context
*setup
,
54 const float (*v0
)[4] );
56 static inline unsigned
57 sp_clamp_viewport_idx(int idx
)
59 return (PIPE_MAX_VIEWPORTS
> idx
&& idx
>= 0) ? idx
: 0;
62 struct setup_context
*sp_setup_create_context( struct softpipe_context
*softpipe
);
63 void sp_setup_prepare( struct setup_context
*setup
);
64 void sp_setup_destroy_context( struct setup_context
*setup
);