~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/mesa/drivers/dri/i965/brw_clip.h

  • Committer: Package Import Robot
  • Author(s): Robert Hooker
  • Date: 2012-02-02 12:05:48 UTC
  • mfrom: (1.7.1) (3.3.27 sid)
  • Revision ID: package-import@ubuntu.com-20120202120548-nvkma85jq0h4coix
Tags: 8.0~rc2-0ubuntu4
Drop drisearchdir handling, it is no longer needed with multiarch
and dri-alternates being removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
struct brw_clip_prog_key {
45
45
   GLbitfield64 attrs;
46
46
   GLuint primitive:4;
47
 
   GLuint nr_userclip:3;
 
47
   GLuint nr_userclip:4;
48
48
   GLuint do_flat_shading:1;
49
49
   GLuint pv_first:1;
50
50
   GLuint do_unfilled:1;
55
55
   GLuint copy_bfc_cw:1;
56
56
   GLuint copy_bfc_ccw:1;
57
57
   GLuint clip_mode:3;
58
 
   GLuint pad0:11;
59
58
 
60
59
   GLfloat offset_factor;
61
60
   GLfloat offset_units;
103
102
      struct brw_reg ff_sync;
104
103
   } reg;
105
104
 
106
 
   /* 3 different ways of expressing vertex size:
107
 
    */
108
 
   GLuint nr_attrs;
 
105
   /* Number of registers storing VUE data */
109
106
   GLuint nr_regs;
110
 
   GLuint nr_bytes;
111
107
 
112
108
   GLuint first_tmp;
113
109
   GLuint last_tmp;
114
110
 
115
 
   GLboolean need_direction;
 
111
   bool need_direction;
116
112
 
117
 
   GLuint header_position_offset;
118
 
   /** Mapping from VERT_RESULT_* to offset within the VUE. */
119
 
   GLuint offset[VERT_RESULT_MAX];
120
 
   /** Mapping from attribute index to VERT_RESULT_* */
121
 
   GLuint idx_to_attr[VERT_RESULT_MAX];
 
113
   struct brw_vue_map vue_map;
122
114
};
123
115
 
124
116
#define ATTR_SIZE  (4*4)
125
117
 
 
118
/**
 
119
 * True if the given vert_result is one of the outputs of the vertex shader.
 
120
 */
 
121
static inline bool brw_clip_have_vert_result(struct brw_clip_compile *c,
 
122
                                             GLuint vert_result)
 
123
{
 
124
   return (c->key.attrs & BITFIELD64_BIT(vert_result)) ? 1 : 0;
 
125
}
 
126
 
126
127
/* Points are only culled, so no need for a clip routine, however it
127
128
 * works out easier to have a dummy one.
128
129
 */
149
150
                             struct brw_indirect v0_ptr, /* from */
150
151
                             struct brw_indirect v1_ptr, /* to */
151
152
                             struct brw_reg t0,
152
 
                             GLboolean force_edgeflag );
 
153
                             bool force_edgeflag );
153
154
 
154
155
void brw_clip_init_planes( struct brw_clip_compile *c );
155
156
 
156
157
void brw_clip_emit_vue(struct brw_clip_compile *c, 
157
158
                       struct brw_indirect vert,
158
 
                       GLboolean allocate,
159
 
                       GLboolean eot,
 
159
                       bool allocate,
 
160
                       bool eot,
160
161
                       GLuint header);
161
162
 
162
163
void brw_clip_kill_thread(struct brw_clip_compile *c);