Revert "i965/wm: use proper API buffer size for the surfaces."
This reverts commit 8cf2e892fc
. It's
entirely bogus to attempt to store anything about the binding in the
buffer object itself, which might be bound any number of times.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: Marta Lofstedt <marta.lofstedt@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
This commit is contained in:
@@ -946,14 +946,12 @@ brw_upload_ubo_surfaces(struct brw_context *brw,
|
|||||||
} else {
|
} else {
|
||||||
struct intel_buffer_object *intel_bo =
|
struct intel_buffer_object *intel_bo =
|
||||||
intel_buffer_object(binding->BufferObject);
|
intel_buffer_object(binding->BufferObject);
|
||||||
GLsizeiptrARB size = MIN2(binding->BufferObject->BufferRangeSize,
|
|
||||||
binding->BufferObject->Size - binding->Offset);
|
|
||||||
drm_intel_bo *bo =
|
drm_intel_bo *bo =
|
||||||
intel_bufferobj_buffer(brw, intel_bo,
|
intel_bufferobj_buffer(brw, intel_bo,
|
||||||
binding->Offset,
|
binding->Offset,
|
||||||
size);
|
binding->BufferObject->Size - binding->Offset);
|
||||||
brw_create_constant_surface(brw, bo, binding->Offset,
|
brw_create_constant_surface(brw, bo, binding->Offset,
|
||||||
size,
|
binding->BufferObject->Size - binding->Offset,
|
||||||
&ubo_surf_offsets[i]);
|
&ubo_surf_offsets[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -970,14 +968,12 @@ brw_upload_ubo_surfaces(struct brw_context *brw,
|
|||||||
} else {
|
} else {
|
||||||
struct intel_buffer_object *intel_bo =
|
struct intel_buffer_object *intel_bo =
|
||||||
intel_buffer_object(binding->BufferObject);
|
intel_buffer_object(binding->BufferObject);
|
||||||
GLsizeiptrARB size = MIN2(binding->BufferObject->BufferRangeSize,
|
|
||||||
binding->BufferObject->Size - binding->Offset);
|
|
||||||
drm_intel_bo *bo =
|
drm_intel_bo *bo =
|
||||||
intel_bufferobj_buffer(brw, intel_bo,
|
intel_bufferobj_buffer(brw, intel_bo,
|
||||||
binding->Offset,
|
binding->Offset,
|
||||||
size);
|
binding->BufferObject->Size - binding->Offset);
|
||||||
brw_create_buffer_surface(brw, bo, binding->Offset,
|
brw_create_buffer_surface(brw, bo, binding->Offset,
|
||||||
size,
|
binding->BufferObject->Size - binding->Offset,
|
||||||
&ssbo_surf_offsets[i]);
|
&ssbo_surf_offsets[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -198,7 +198,6 @@ brw_buffer_data(struct gl_context *ctx,
|
|||||||
(void) target;
|
(void) target;
|
||||||
|
|
||||||
intel_obj->Base.Size = size;
|
intel_obj->Base.Size = size;
|
||||||
intel_obj->Base.BufferRangeSize = size;
|
|
||||||
intel_obj->Base.Usage = usage;
|
intel_obj->Base.Usage = usage;
|
||||||
intel_obj->Base.StorageFlags = storageFlags;
|
intel_obj->Base.StorageFlags = storageFlags;
|
||||||
|
|
||||||
|
@@ -43,7 +43,7 @@
|
|||||||
#include "glformats.h"
|
#include "glformats.h"
|
||||||
#include "texstore.h"
|
#include "texstore.h"
|
||||||
#include "transformfeedback.h"
|
#include "transformfeedback.h"
|
||||||
#include "macros.h"
|
|
||||||
|
|
||||||
/* Debug flags */
|
/* Debug flags */
|
||||||
/*#define VBO_DEBUG*/
|
/*#define VBO_DEBUG*/
|
||||||
@@ -2840,7 +2840,6 @@ bind_buffer_range_uniform_buffer(struct gl_context *ctx,
|
|||||||
|
|
||||||
_mesa_reference_buffer_object(ctx, &ctx->UniformBuffer, bufObj);
|
_mesa_reference_buffer_object(ctx, &ctx->UniformBuffer, bufObj);
|
||||||
bind_uniform_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
|
bind_uniform_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
|
||||||
bufObj->BufferRangeSize = MIN2(size, bufObj->Size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2876,7 +2875,6 @@ bind_buffer_range_shader_storage_buffer(struct gl_context *ctx,
|
|||||||
|
|
||||||
_mesa_reference_buffer_object(ctx, &ctx->ShaderStorageBuffer, bufObj);
|
_mesa_reference_buffer_object(ctx, &ctx->ShaderStorageBuffer, bufObj);
|
||||||
bind_shader_storage_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
|
bind_shader_storage_buffer(ctx, index, bufObj, offset, size, GL_FALSE);
|
||||||
bufObj->BufferRangeSize = MIN2(size, bufObj->Size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1268,7 +1268,6 @@ struct gl_buffer_object
|
|||||||
GLenum Usage; /**< GL_STREAM_DRAW_ARB, GL_STREAM_READ_ARB, etc. */
|
GLenum Usage; /**< GL_STREAM_DRAW_ARB, GL_STREAM_READ_ARB, etc. */
|
||||||
GLbitfield StorageFlags; /**< GL_MAP_PERSISTENT_BIT, etc. */
|
GLbitfield StorageFlags; /**< GL_MAP_PERSISTENT_BIT, etc. */
|
||||||
GLsizeiptrARB Size; /**< Size of buffer storage in bytes */
|
GLsizeiptrARB Size; /**< Size of buffer storage in bytes */
|
||||||
GLsizeiptrARB BufferRangeSize; /**< Amount of data that can be read from or written to, in bytes */
|
|
||||||
GLubyte *Data; /**< Location of storage either in RAM or VRAM. */
|
GLubyte *Data; /**< Location of storage either in RAM or VRAM. */
|
||||||
GLboolean DeletePending; /**< true if buffer object is removed from the hash */
|
GLboolean DeletePending; /**< true if buffer object is removed from the hash */
|
||||||
GLboolean Written; /**< Ever written to? (for debugging) */
|
GLboolean Written; /**< Ever written to? (for debugging) */
|
||||||
|
Reference in New Issue
Block a user