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
51eec9bf53
commit
32c91793e4
@ -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