* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
struct draw_geometry_shader *gs = draw->gs.geometry_shader;
const unsigned out_prim = gs ? gs->output_primitive :
u_assembled_prim(in_prim);
-
- /* Add one to num_outputs because the pipeline occasionally tags on
- * an additional texcoord, eg for AA lines.
- */
- const unsigned nr = MAX2( vs->info.num_inputs,
- vs->info.num_outputs + 1 );
+ const unsigned nr = MAX2(vs->info.num_inputs,
+ draw_total_vs_outputs(draw));
fpme->input_prim = in_prim;
fpme->opt = opt;
draw_pt_post_vs_prepare( fpme->post_vs,
- draw->clip_xy,
+ out_prim == PIPE_PRIM_POINTS ?
+ draw->clip_points_xy : draw->clip_xy,
draw->clip_z,
draw->clip_user,
draw->guard_band_xy,
unsigned i;
for (i = 0; i < Elements(fpme->llvm->jit_context.vs_constants); ++i) {
+ int num_consts =
+ draw->pt.user.vs_constants_size[i] / (sizeof(float) * 4);
fpme->llvm->jit_context.vs_constants[i] = draw->pt.user.vs_constants[i];
+ fpme->llvm->jit_context.num_vs_constants[i] = num_consts;
}
for (i = 0; i < Elements(fpme->llvm->gs_jit_context.constants); ++i) {
+ int num_consts =
+ draw->pt.user.gs_constants_size[i] / (sizeof(float) * 4);
fpme->llvm->gs_jit_context.constants[i] = draw->pt.user.gs_constants[i];
+ fpme->llvm->gs_jit_context.num_constants[i] = num_consts;
}
fpme->llvm->jit_context.planes =