summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/bufferobj.c
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsálvez <[email protected]>2015-12-15 12:51:48 +0100
committerSamuel Iglesias Gonsálvez <[email protected]>2016-01-04 07:52:24 +0100
commit8cf2e892fca20c4776b4a07c39918343cb2d4e0e (patch)
treebffd4384a454c6c752adb109a1c1cc9bb2b6016a /src/mesa/main/bufferobj.c
parent86fa48426cef42d7224139603b52a7d16bd35eb5 (diff)
i965/wm: use proper API buffer size for the surfaces.
Commit 5bb5eeea fixes a bug indicating that the surfaces should have the API buffer size. Hovewer it picked the wrong value. This patch adds a new variable, which takes into account glBindBufferRange() values. This patch fixes the following CTS regressions: ES31-CTS.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-std430-vec-bindrangeOffset ES31-CTS.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-std430-vec-bindrangeSize Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Marta Lofstedt <[email protected]>
Diffstat (limited to 'src/mesa/main/bufferobj.c')
-rw-r--r--src/mesa/main/bufferobj.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 3a05cd55042..8a9f9b6a48d 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -43,7 +43,7 @@
#include "glformats.h"
#include "texstore.h"
#include "transformfeedback.h"
-
+#include "macros.h"
/* Debug flags */
/*#define VBO_DEBUG*/
@@ -2840,6 +2840,7 @@ bind_buffer_range_uniform_buffer(struct gl_context *ctx,
_mesa_reference_buffer_object(ctx, &ctx->UniformBuffer, bufObj);
bind_uniform_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
+ bufObj->BufferRangeSize = MIN2(size, bufObj->Size);
}
/**
@@ -2875,6 +2876,7 @@ bind_buffer_range_shader_storage_buffer(struct gl_context *ctx,
_mesa_reference_buffer_object(ctx, &ctx->ShaderStorageBuffer, bufObj);
bind_shader_storage_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
+ bufObj->BufferRangeSize = MIN2(size, bufObj->Size);
}
/**