cogl: VBOs are always available

ARB_vertex_buffer_object was promoted to core in GL 1.5 (and thus GLES
2.0).

https://gitlab.gnome.org/GNOME/mutter/merge_requests/866
This commit is contained in:
Adam Jackson 2019-10-17 16:03:25 -04:00 committed by Georges Basile Stavracas Neto
parent ba9fb16048
commit de362537c6
10 changed files with 0 additions and 27 deletions

View File

@ -137,12 +137,6 @@ _cogl_buffer_initialize (CoglBuffer *buffer,
if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_PBOS)) if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_PBOS))
use_malloc = TRUE; use_malloc = TRUE;
} }
else if (default_target == COGL_BUFFER_BIND_TARGET_ATTRIBUTE_BUFFER ||
default_target == COGL_BUFFER_BIND_TARGET_INDEX_BUFFER)
{
if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_VBOS))
use_malloc = TRUE;
}
if (use_malloc) if (use_malloc)
{ {

View File

@ -98,9 +98,6 @@ static CoglContext *_cogl_context = NULL;
static void static void
_cogl_init_feature_overrides (CoglContext *ctx) _cogl_init_feature_overrides (CoglContext *ctx)
{ {
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_VBOS)))
COGL_FLAGS_SET (ctx->private_features, COGL_PRIVATE_FEATURE_VBOS, FALSE);
if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_PBOS))) if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_DISABLE_PBOS)))
COGL_FLAGS_SET (ctx->private_features, COGL_PRIVATE_FEATURE_PBOS, FALSE); COGL_FLAGS_SET (ctx->private_features, COGL_PRIVATE_FEATURE_PBOS, FALSE);
} }

View File

@ -94,11 +94,6 @@ OPT (DISABLE_BATCHING,
"disable-batching", "disable-batching",
N_("Disable Journal batching"), N_("Disable Journal batching"),
N_("Disable batching of geometry in the Cogl Journal.")) N_("Disable batching of geometry in the Cogl Journal."))
OPT (DISABLE_VBOS,
N_("Root Cause"),
"disable-vbos",
N_("Disable GL Vertex Buffers"),
N_("Disable use of OpenGL vertex buffer objects"))
OPT (DISABLE_PBOS, OPT (DISABLE_PBOS,
N_("Root Cause"), N_("Root Cause"),
"disable-pbos", "disable-pbos",

View File

@ -70,7 +70,6 @@ static const int n_cogl_log_debug_keys =
static const GDebugKey cogl_behavioural_debug_keys[] = { static const GDebugKey cogl_behavioural_debug_keys[] = {
{ "rectangles", COGL_DEBUG_RECTANGLES }, { "rectangles", COGL_DEBUG_RECTANGLES },
{ "disable-batching", COGL_DEBUG_DISABLE_BATCHING }, { "disable-batching", COGL_DEBUG_DISABLE_BATCHING },
{ "disable-vbos", COGL_DEBUG_DISABLE_VBOS },
{ "disable-pbos", COGL_DEBUG_DISABLE_PBOS }, { "disable-pbos", COGL_DEBUG_DISABLE_PBOS },
{ "disable-software-transform", COGL_DEBUG_DISABLE_SOFTWARE_TRANSFORM }, { "disable-software-transform", COGL_DEBUG_DISABLE_SOFTWARE_TRANSFORM },
{ "dump-atlas-image", COGL_DEBUG_DUMP_ATLAS_IMAGE }, { "dump-atlas-image", COGL_DEBUG_DUMP_ATLAS_IMAGE },

View File

@ -49,7 +49,6 @@ typedef enum
COGL_DEBUG_OBJECT, COGL_DEBUG_OBJECT,
COGL_DEBUG_BLEND_STRINGS, COGL_DEBUG_BLEND_STRINGS,
COGL_DEBUG_DISABLE_BATCHING, COGL_DEBUG_DISABLE_BATCHING,
COGL_DEBUG_DISABLE_VBOS,
COGL_DEBUG_DISABLE_PBOS, COGL_DEBUG_DISABLE_PBOS,
COGL_DEBUG_JOURNAL, COGL_DEBUG_JOURNAL,
COGL_DEBUG_BATCHING, COGL_DEBUG_BATCHING,

View File

@ -1127,12 +1127,6 @@ create_attribute_buffer (CoglJournal *journal,
CoglAttributeBuffer *vbo; CoglAttributeBuffer *vbo;
CoglContext *ctx = journal->framebuffer->context; CoglContext *ctx = journal->framebuffer->context;
/* If CoglBuffers are being emulated with malloc then there's not
really any point in using the pool so we'll just allocate the
buffer directly */
if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_VBOS))
return cogl_attribute_buffer_new_with_size (ctx, n_bytes);
vbo = journal->vbo_pool[journal->next_vbo_in_pool]; vbo = journal->vbo_pool[journal->next_vbo_in_pool];
if (vbo == NULL) if (vbo == NULL)

View File

@ -44,7 +44,6 @@ typedef enum
COGL_PRIVATE_FEATURE_MESA_PACK_INVERT, COGL_PRIVATE_FEATURE_MESA_PACK_INVERT,
COGL_PRIVATE_FEATURE_BLIT_FRAMEBUFFER, COGL_PRIVATE_FEATURE_BLIT_FRAMEBUFFER,
COGL_PRIVATE_FEATURE_PBOS, COGL_PRIVATE_FEATURE_PBOS,
COGL_PRIVATE_FEATURE_VBOS,
COGL_PRIVATE_FEATURE_EXT_PACKED_DEPTH_STENCIL, COGL_PRIVATE_FEATURE_EXT_PACKED_DEPTH_STENCIL,
COGL_PRIVATE_FEATURE_OES_PACKED_DEPTH_STENCIL, COGL_PRIVATE_FEATURE_OES_PACKED_DEPTH_STENCIL,
COGL_PRIVATE_FEATURE_TEXTURE_FORMAT_BGRA8888, COGL_PRIVATE_FEATURE_TEXTURE_FORMAT_BGRA8888,

View File

@ -118,7 +118,6 @@ typedef struct _CoglTextureVertex CoglTextureVertex;
* @COGL_FEATURE_OFFSCREEN_MULTISAMPLE: Multisample support on FBOs * @COGL_FEATURE_OFFSCREEN_MULTISAMPLE: Multisample support on FBOs
* @COGL_FEATURE_FOUR_CLIP_PLANES: At least 4 clip planes available * @COGL_FEATURE_FOUR_CLIP_PLANES: At least 4 clip planes available
* @COGL_FEATURE_STENCIL_BUFFER: Stencil buffer support * @COGL_FEATURE_STENCIL_BUFFER: Stencil buffer support
* @COGL_FEATURE_VBOS: VBO support
* @COGL_FEATURE_PBOS: PBO support * @COGL_FEATURE_PBOS: PBO support
* @COGL_FEATURE_UNSIGNED_INT_INDICES: Set if * @COGL_FEATURE_UNSIGNED_INT_INDICES: Set if
* %COGL_INDICES_TYPE_UNSIGNED_INT is supported in * %COGL_INDICES_TYPE_UNSIGNED_INT is supported in
@ -145,7 +144,6 @@ typedef enum
COGL_FEATURE_OFFSCREEN_MULTISAMPLE = (1 << 7), COGL_FEATURE_OFFSCREEN_MULTISAMPLE = (1 << 7),
COGL_FEATURE_FOUR_CLIP_PLANES = (1 << 9), COGL_FEATURE_FOUR_CLIP_PLANES = (1 << 9),
COGL_FEATURE_STENCIL_BUFFER = (1 << 10), COGL_FEATURE_STENCIL_BUFFER = (1 << 10),
COGL_FEATURE_VBOS = (1 << 11),
COGL_FEATURE_PBOS = (1 << 12), COGL_FEATURE_PBOS = (1 << 12),
COGL_FEATURE_UNSIGNED_INT_INDICES = (1 << 13), COGL_FEATURE_UNSIGNED_INT_INDICES = (1 << 13),
COGL_FEATURE_DEPTH_RANGE = (1 << 14), COGL_FEATURE_DEPTH_RANGE = (1 << 14),

View File

@ -446,7 +446,6 @@ _cogl_driver_update_features (CoglContext *ctx,
if (ctx->glGenBuffers) if (ctx->glGenBuffers)
{ {
COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_VBOS, TRUE);
flags |= (COGL_FEATURE_MAP_BUFFER_FOR_READ | flags |= (COGL_FEATURE_MAP_BUFFER_FOR_READ |
COGL_FEATURE_MAP_BUFFER_FOR_WRITE); COGL_FEATURE_MAP_BUFFER_FOR_WRITE);
COGL_FLAGS_SET (ctx->features, COGL_FLAGS_SET (ctx->features,

View File

@ -315,7 +315,6 @@ _cogl_driver_update_features (CoglContext *context,
COGL_FLAGS_SET (private_features, COGL_FLAGS_SET (private_features,
COGL_PRIVATE_FEATURE_BLEND_CONSTANT, TRUE); COGL_PRIVATE_FEATURE_BLEND_CONSTANT, TRUE);
COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_VBOS, TRUE);
COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_ANY_GL, TRUE); COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_ANY_GL, TRUE);
COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES, TRUE); COGL_FLAGS_SET (private_features, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES, TRUE);