Ejemplo n.º 1
0
static void
upload_sol_state(struct brw_context *brw)
{
   struct gl_context *ctx = &brw->ctx;
   /* BRW_NEW_TRANSFORM_FEEDBACK */
   bool active = _mesa_is_xfb_active_and_unpaused(ctx);

   if (active) {
      gen8_upload_3dstate_so_buffers(brw);
      /* BRW_NEW_VUE_MAP_GEOM_OUT */
      gen7_upload_3dstate_so_decl_list(brw, &brw->vue_map_geom_out);
   }

   gen8_upload_3dstate_streamout(brw, active, &brw->vue_map_geom_out);
}
Ejemplo n.º 2
0
static void
upload_sol_state(struct brw_context *brw)
{
    struct gl_context *ctx = &brw->ctx;
    /* BRW_NEW_TRANSFORM_FEEDBACK */
    bool active = _mesa_is_xfb_active_and_unpaused(ctx);

    if (active) {
        upload_3dstate_so_buffers(brw);
        /* BRW_NEW_VUE_MAP_GEOM_OUT */
        gen7_upload_3dstate_so_decl_list(brw, &brw->vue_map_geom_out);
    }

    /* Finally, set up the SOL stage.  This command must always follow updates to
     * the nonpipelined SOL state (3DSTATE_SO_BUFFER, 3DSTATE_SO_DECL_LIST) or
     * MMIO register updates (current performed by the kernel at each batch
     * emit).
     */
    upload_3dstate_streamout(brw, active, &brw->vue_map_geom_out);
}