Home | History | Annotate | Download | only in i965

Lines Matching refs:urb

47  * Manages the division of the URB space between the various fixed-function
77 * Each unit will take the number of URB entries we give it (based on the
102 brw->urb.vs_start = 0;
103 brw->urb.gs_start = brw->urb.nr_vs_entries * brw->urb.vsize;
104 brw->urb.clip_start = brw->urb.gs_start + brw->urb.nr_gs_entries * brw->urb.vsize;
105 brw->urb.sf_start = brw->urb.clip_start + brw->urb.nr_clip_entries * brw->urb.vsize;
106 brw->urb.cs_start = brw->urb.sf_start + brw->urb.nr_sf_entries * brw->urb.sfsize;
108 return brw->urb.cs_start + brw->urb.nr_cs_entries *
109 brw->urb.csize <= brw->urb.size;
112 /* Most minimal update, forces re-emit of URB fence packet after GS
130 if (brw->urb.vsize < vsize ||
131 brw->urb.sfsize < sfsize ||
132 brw->urb.csize < csize ||
133 (brw->urb.constrained && (brw->urb.vsize > vsize ||
134 brw->urb.sfsize > sfsize ||
135 brw->urb.csize > csize))) {
138 brw->urb.csize = csize;
139 brw->urb.sfsize = sfsize;
140 brw->urb.vsize = vsize;
142 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
143 brw->urb.nr_gs_entries = limits[GS].preferred_nr_entries;
144 brw->urb.nr_clip_entries = limits[CLP].preferred_nr_entries;
145 brw->urb.nr_sf_entries = limits[SF].preferred_nr_entries;
146 brw->urb.nr_cs_entries = limits[CS].preferred_nr_entries;
148 brw->urb.constrained = 0;
151 brw->urb.nr_vs_entries = 128;
152 brw->urb.nr_sf_entries = 48;
156 brw->urb.constrained = 1;
157 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
158 brw->urb.nr_sf_entries = limits[SF].preferred_nr_entries;
161 brw->urb.nr_vs_entries = 64;
165 brw->urb.constrained = 1;
166 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
171 brw->urb.nr_vs_entries = limits[VS].min_nr_entries;
172 brw->urb.nr_gs_entries = limits[GS].min_nr_entries;
173 brw->urb.nr_clip_entries = limits[CLP].min_nr_entries;
174 brw->urb.nr_sf_entries = limits[SF].min_nr_entries;
175 brw->urb.nr_cs_entries = limits[CS].min_nr_entries;
181 brw->urb.constrained = 1;
184 /* This is impossible, given the maximal sizes of urb
188 fprintf(stderr, "couldn't calculate URB layout!\n");
193 fprintf(stderr, "URB CONSTRAINED\n");
199 "URB fence: %d ..VS.. %d ..GS.. %d ..CLP.. %d ..SF.. %d ..CS.. %d\n",
200 brw->urb.vs_start,
201 brw->urb.gs_start,
202 brw->urb.clip_start,
203 brw->urb.sf_start,
204 brw->urb.cs_start,
205 brw->urb.size);
244 * There are 256/384 urb reg pairs in total.
246 uf.bits0.vs_fence = brw->urb.gs_start;
247 uf.bits0.gs_fence = brw->urb.clip_start;
248 uf.bits0.clp_fence = brw->urb.sf_start;
249 uf.bits1.sf_fence = brw->urb.cs_start;
250 uf.bits1.cs_fence = brw->urb.size;