static void brw_upload_vs_abo_surfaces(struct brw_context *brw) { /* _NEW_PROGRAM */ const struct gl_program *vp = brw->vertex_program; if (vp) { /* BRW_NEW_VS_PROG_DATA */ brw_upload_abo_surfaces(brw, vp, &brw->vs.base, brw->vs.base.prog_data); } }
static void brw_upload_tcs_abo_surfaces(struct brw_context *brw) { /* _NEW_PROGRAM */ const struct gl_program *tcp = brw->programs[MESA_SHADER_TESS_CTRL]; if (tcp) { /* BRW_NEW_TCS_PROG_DATA */ brw_upload_abo_surfaces(brw, tcp, &brw->tcs.base, brw->tcs.base.prog_data); } }
static void brw_upload_vs_abo_surfaces(struct brw_context *brw) { struct gl_context *ctx = &brw->ctx; /* _NEW_PROGRAM */ struct gl_shader_program *prog = ctx->Shader.CurrentVertexProgram; if (prog) { /* CACHE_NEW_VS_PROG */ brw_upload_abo_surfaces(brw, prog, &brw->vs.base, &brw->vs.prog_data->base.base); } }
static void brw_upload_gs_abo_surfaces(struct brw_context *brw) { struct gl_context *ctx = &brw->ctx; /* _NEW_PROGRAM */ struct gl_shader_program *prog = ctx->_Shader->CurrentProgram[MESA_SHADER_GEOMETRY]; if (prog) { /* CACHE_NEW_GS_PROG */ brw_upload_abo_surfaces(brw, prog, &brw->gs.base, &brw->gs.prog_data->base.base); } }
static void brw_upload_tes_abo_surfaces(struct brw_context *brw) { struct gl_context *ctx = &brw->ctx; /* _NEW_PROGRAM */ struct gl_shader_program *prog = ctx->_Shader->CurrentProgram[MESA_SHADER_TESS_EVAL]; if (prog) { /* BRW_NEW_TES_PROG_DATA */ brw_upload_abo_surfaces(brw, prog->_LinkedShaders[MESA_SHADER_TESS_EVAL], &brw->tes.base, brw->tes.base.prog_data); } }
static void brw_upload_vs_abo_surfaces(struct brw_context *brw) { struct gl_context *ctx = &brw->ctx; /* _NEW_PROGRAM */ struct gl_shader_program *prog = ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX]; if (prog) { /* BRW_NEW_VS_PROG_DATA */ brw_upload_abo_surfaces(brw, prog, &brw->vs.base, &brw->vs.prog_data->base.base); } }