memset(&clip, 0, sizeof(clip));
+ clip.thread0.grf_reg_count = align(key->total_grf, 16) / 16 - 1;
/* reloc */
clip.thread0.kernel_start_pointer = 0;
memset(&gs, 0, sizeof(gs));
- /* maybe-reloc: populate the background */
+ /* reloc */
gs.thread0.grf_reg_count = align(key->total_grf, 16) / 16 - 1;
gs.thread0.kernel_start_pointer = 0;
int chipset_max_threads;
memset(&sf, 0, sizeof(sf));
-
- sf.thread0.grf_reg_count = 0;
+ sf.thread0.grf_reg_count = align(key->total_grf, 16) / 16 - 1;
/* reloc */
sf.thread0.kernel_start_pointer = 0;
/* CACHE_NEW_SF_VP */
/* reloc */
+ sf.sf5.sf_viewport_state_offset = 0;
+
+ sf.sf5.viewport_transform = 1;
if (key->scissor)
sf.sf6.scissor = 1;
+ if (key->front_face == PIPE_WINDING_CCW)
+ sf.sf5.front_winding = BRW_FRONTWINDING_CCW;
+ else
+ sf.sf5.front_winding = BRW_FRONTWINDING_CW;
+
switch (key->cull_mode) {
case PIPE_WINDING_CCW:
case PIPE_WINDING_CW: