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
131 if (brw->urb.vsize < vsize ||
132 brw->urb.sfsize < sfsize ||
133 brw->urb.csize < csize ||
134 (brw->urb.constrained && (brw->urb.vsize > vsize ||
135 brw->urb.sfsize > sfsize ||
136 brw->urb.csize > csize))) {
139 brw->urb.csize = csize;
140 brw->urb.sfsize = sfsize;
141 brw->urb.vsize = vsize;
143 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
144 brw->urb.nr_gs_entries = limits[GS].preferred_nr_entries;
145 brw->urb.nr_clip_entries = limits[CLP].preferred_nr_entries;
146 brw->urb.nr_sf_entries = limits[SF].preferred_nr_entries;
147 brw->urb.nr_cs_entries = limits[CS].preferred_nr_entries;
149 brw->urb.constrained = 0;
152 brw->urb.nr_vs_entries = 128;
153 brw->urb.nr_sf_entries = 48;
157 brw->urb.constrained = 1;
158 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
159 brw->urb.nr_sf_entries = limits[SF].preferred_nr_entries;
162 brw->urb.nr_vs_entries = 64;
166 brw->urb.constrained = 1;
167 brw->urb.nr_vs_entries = limits[VS].preferred_nr_entries;
172 brw->urb.nr_vs_entries = limits[VS].min_nr_entries;
173 brw->urb.nr_gs_entries = limits[GS].min_nr_entries;
174 brw->urb.nr_clip_entries = limits[CLP].min_nr_entries;
175 brw->urb.nr_sf_entries = limits[SF].min_nr_entries;
176 brw->urb.nr_cs_entries = limits[CS].min_nr_entries;
182 brw->urb.constrained = 1;
185 /* This is impossible, given the maximal sizes of urb
189 printf("couldn't calculate URB layout!\n");
194 printf("URB CONSTRAINED\n");
199 printf("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);
243 * There are 256/384 urb reg pairs in total.
245 uf.bits0.vs_fence = brw->urb.gs_start;
246 uf.bits0.gs_fence = brw->urb.clip_start;
247 uf.bits0.clp_fence = brw->urb.sf_start;
248 uf.bits1.sf_fence = brw->urb.cs_start;
249 uf.bits1.cs_fence = brw->urb.size;