cogl-pango-display-list: Don't use VBOs if the texture can't handle it
If the texture can't be hardware repeated (ie, if it is sliced or it has waste) then Cogl will reject the layer when rendering with a VBO. In this case we should always fall back to rendering with cogl_rectangle. This commit is only needed temporarily because Cogl will end up putting atlas textures in the display list. A later commit in the series will make it so that the display list always has primitive textures in it so this commit can be reverted.
This commit is contained in:
parent
12b751a8e1
commit
a2d9ad21ef
@ -27,6 +27,7 @@
|
||||
|
||||
#include <glib.h>
|
||||
#include <cogl/cogl.h>
|
||||
#include <cogl/cogl-texture-private.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "cogl-pango-display-list.h"
|
||||
@ -325,7 +326,10 @@ _cogl_pango_display_list_render_texture (CoglMaterial *material,
|
||||
* with other geometry. */
|
||||
/* FIXME: 100 is a number I plucked out of thin air; it would be good
|
||||
* to determine this empirically! */
|
||||
if (node->d.texture.verts->len < 100)
|
||||
if (node->d.texture.verts->len < 100 ||
|
||||
/* We can't use a VBO if the texture can't be hardware repeated
|
||||
because Cogl will reject it */
|
||||
!_cogl_texture_can_hardware_repeat (node->d.texture.texture))
|
||||
emit_rectangles_through_journal (node);
|
||||
else
|
||||
emit_vertex_buffer_geometry (node);
|
||||
|
Loading…
Reference in New Issue
Block a user