Merge remote-tracking branch 'anholt/glamor-fixes'
This commit is contained in:
commit
ea47341792
|
@ -316,6 +316,7 @@ glamor_init(ScreenPtr screen, unsigned int flags)
|
||||||
{
|
{
|
||||||
glamor_screen_private *glamor_priv;
|
glamor_screen_private *glamor_priv;
|
||||||
int gl_version;
|
int gl_version;
|
||||||
|
int max_viewport_size;
|
||||||
|
|
||||||
#ifdef RENDER
|
#ifdef RENDER
|
||||||
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
||||||
|
@ -406,7 +407,9 @@ glamor_init(ScreenPtr screen, unsigned int flags)
|
||||||
epoxy_has_gl_extension("GL_ARB_map_buffer_range");
|
epoxy_has_gl_extension("GL_ARB_map_buffer_range");
|
||||||
glamor_priv->has_buffer_storage =
|
glamor_priv->has_buffer_storage =
|
||||||
epoxy_has_gl_extension("GL_ARB_buffer_storage");
|
epoxy_has_gl_extension("GL_ARB_buffer_storage");
|
||||||
glGetIntegerv(GL_MAX_RENDERBUFFER_SIZE, &glamor_priv->max_fbo_size);
|
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glamor_priv->max_fbo_size);
|
||||||
|
glGetIntegerv(GL_MAX_VIEWPORT_DIMS, &max_viewport_size);
|
||||||
|
glamor_priv->max_fbo_size = MIN(glamor_priv->max_fbo_size, max_viewport_size);
|
||||||
#ifdef MAX_FBO_SIZE
|
#ifdef MAX_FBO_SIZE
|
||||||
glamor_priv->max_fbo_size = MAX_FBO_SIZE;
|
glamor_priv->max_fbo_size = MAX_FBO_SIZE;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -347,6 +347,7 @@ _glamor_create_tex(glamor_screen_private *glamor_priv,
|
||||||
glamor_make_current(glamor_priv);
|
glamor_make_current(glamor_priv);
|
||||||
glGenTextures(1, &tex);
|
glGenTextures(1, &tex);
|
||||||
glBindTexture(GL_TEXTURE_2D, tex);
|
glBindTexture(GL_TEXTURE_2D, tex);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0,
|
glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0,
|
||||||
|
|
|
@ -95,6 +95,7 @@ glamor_font_get(ScreenPtr screen, FontPtr font)
|
||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glBindTexture(GL_TEXTURE_2D, glamor_font->texture_id);
|
glBindTexture(GL_TEXTURE_2D, glamor_font->texture_id);
|
||||||
|
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
|
|
|
@ -88,8 +88,7 @@ static void
|
||||||
glamor_put_image_bail(DrawablePtr drawable, GCPtr gc, int depth, int x, int y,
|
glamor_put_image_bail(DrawablePtr drawable, GCPtr gc, int depth, int x, int y,
|
||||||
int w, int h, int leftPad, int format, char *bits)
|
int w, int h, int leftPad, int format, char *bits)
|
||||||
{
|
{
|
||||||
if (glamor_prepare_access(drawable, GLAMOR_ACCESS_RW) &&
|
if (glamor_prepare_access(drawable, GLAMOR_ACCESS_RW))
|
||||||
glamor_prepare_access_gc(gc))
|
|
||||||
fbPutImage(drawable, gc, depth, x, y, w, h, leftPad, format, bits);
|
fbPutImage(drawable, gc, depth, x, y, w, h, leftPad, format, bits);
|
||||||
glamor_finish_access(drawable);
|
glamor_finish_access(drawable);
|
||||||
}
|
}
|
||||||
|
|
|
@ -717,6 +717,7 @@ __glamor_upload_pixmap_to_texture(PixmapPtr pixmap, unsigned int *tex,
|
||||||
}
|
}
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, *tex);
|
glBindTexture(GL_TEXTURE_2D, *tex);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user