Mesa (10.4): st/mesa: treat resource-less xfb buffers as if they weren' t there
Emil Velikov
evelikov at kemper.freedesktop.org
Wed Feb 18 22:22:17 UTC 2015
Module: Mesa
Branch: 10.4
Commit: 89289934fce2e792b792347f946496ced461f8e2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89289934fce2e792b792347f946496ced461f8e2
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 14 01:27:19 2015 -0500
st/mesa: treat resource-less xfb buffers as if they weren't there
If a transform feedback buffer's size is 0, st_bufferobj_data doesn't
end up creating a buffer for it. There's no point in trying to write to
such a buffer, so just pretend as if it's not really there.
This fixes arb_gpu_shader5-xfb-streams-without-invocations on nvc0.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Cc: "10.4 10.5" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 80d373ed5b1d90a5e71747ee5b8951baac62f750)
---
src/mesa/state_tracker/st_cb_xformfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/state_tracker/st_cb_xformfb.c b/src/mesa/state_tracker/st_cb_xformfb.c
index 8f75eda..a2bd86a 100644
--- a/src/mesa/state_tracker/st_cb_xformfb.c
+++ b/src/mesa/state_tracker/st_cb_xformfb.c
@@ -122,7 +122,7 @@ st_begin_transform_feedback(struct gl_context *ctx, GLenum mode,
for (i = 0; i < max_num_targets; i++) {
struct st_buffer_object *bo = st_buffer_object(sobj->base.Buffers[i]);
- if (bo) {
+ if (bo && bo->buffer) {
/* Check whether we need to recreate the target. */
if (!sobj->targets[i] ||
sobj->targets[i] == sobj->draw_count ||
More information about the mesa-commit
mailing list