summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_gs_surface_state.c
diff options
context:
space:
mode:
authorTimothy Arceri <timothy.arceri@collabora.com>2015-10-27 06:58:15 +1100
committerTimothy Arceri <timothy.arceri@collabora.com>2015-10-27 07:03:05 +1100
commita3d0359aff7a9be90149c416844f330b4f9a15ed (patch)
tree8223f873bd216747a5df731094b7793efe341049 /src/mesa/drivers/dri/i965/brw_gs_surface_state.c
parent711489648bcce5cd8fcf14e73e5affe069010c01 (diff)
downloadexternal_mesa3d-a3d0359aff7a9be90149c416844f330b4f9a15ed.zip
external_mesa3d-a3d0359aff7a9be90149c416844f330b4f9a15ed.tar.gz
external_mesa3d-a3d0359aff7a9be90149c416844f330b4f9a15ed.tar.bz2
glsl: keep track of intra-stage indices for atomics
This is more optimal as it means we no longer have to upload the same set of ABO surfaces to all stages in the program. This also fixes a bug where since commit c0cd5b var->data.binding was being used as a replacement for atomic buffer index, but they don't have to be the same value they just happened to end up the same when binding is 0. Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Cc: Ilia Mirkin <imirkin@alum.mit.edu> Cc: Alejandro Piñeiro <apinheiro@igalia.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90175
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_gs_surface_state.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_gs_surface_state.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_gs_surface_state.c b/src/mesa/drivers/dri/i965/brw_gs_surface_state.c
index 00125c0..76ed237 100644
--- a/src/mesa/drivers/dri/i965/brw_gs_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_gs_surface_state.c
@@ -105,8 +105,8 @@ brw_upload_gs_abo_surfaces(struct brw_context *brw)
if (prog) {
/* BRW_NEW_GS_PROG_DATA */
- brw_upload_abo_surfaces(brw, prog, &brw->gs.base,
- &brw->gs.prog_data->base.base);
+ brw_upload_abo_surfaces(brw, prog->_LinkedShaders[MESA_SHADER_GEOMETRY],
+ &brw->gs.base, &brw->gs.prog_data->base.base);
}
}