From 5bb5eeea008a01f5bc44570915ea4b7ac432cef9 Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Fri, 24 Apr 2015 07:02:19 +0200 Subject: [PATCH] i965/wm: surfaces should have the API buffer size, not the drm buffer size MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The returned drm buffer object has a size multiple of 4096 but that should not be exposed to the API user, which is working with a different size. As far as I can see this problem is only visible in the calculation of the length of unsized arrays used in SSBOs, as the implementation of this needs to query the underlying buffer size via a message. Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen Reviewed-by: Kristian Høgsberg --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 61031d2..f2aaa0b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -948,7 +948,7 @@ brw_upload_ubo_surfaces(struct brw_context *brw, binding->Offset, binding->BufferObject->Size - binding->Offset); brw_create_constant_surface(brw, bo, binding->Offset, - bo->size - binding->Offset, + binding->BufferObject->Size - binding->Offset, &surf_offsets[i], dword_pitch); } @@ -965,7 +965,7 @@ brw_upload_ubo_surfaces(struct brw_context *brw, binding->Offset, binding->BufferObject->Size - binding->Offset); brw_create_buffer_surface(brw, bo, binding->Offset, - bo->size - binding->Offset, + binding->BufferObject->Size - binding->Offset, &surf_offsets[i], dword_pitch); } -- 2.7.4