diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gallium/state_trackers/xorg/xorg_exa.c | 32 | ||||
| -rw-r--r-- | src/gallium/state_trackers/xorg/xorg_renderer.c | 16 | 
2 files changed, 10 insertions, 38 deletions
| diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index cbada42e0e..a22f15f64a 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -48,7 +48,6 @@  #include "util/u_debug.h"  #define DEBUG_PRINT 0 -#define ROUND_UP_TEXTURES 1  /*   * Helper functions @@ -274,18 +273,13 @@ ExaPrepareAccess(PixmapPtr pPix, int index)  	    PIPE_REFERENCED_FOR_WRITE)  	    exa->pipe->flush(exa->pipe, 0, NULL); -        assert(pPix->drawable.width <= priv->tex->width[0]); -        assert(pPix->drawable.height <= priv->tex->height[0]); -  	priv->map_transfer =  	    exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0,  #ifdef EXA_MIXED_PIXMAPS  					PIPE_TRANSFER_MAP_DIRECTLY |  #endif  					PIPE_TRANSFER_READ_WRITE, -					0, 0,  -                                        pPix->drawable.width, -                                        pPix->drawable.height ); +					0, 0, priv->tex->width[0], priv->tex->height[0]);  	if (!priv->map_transfer)  #ifdef EXA_MIXED_PIXMAPS  	    return FALSE; @@ -826,22 +820,6 @@ xorg_exa_get_pixmap_handle(PixmapPtr pPixmap, unsigned *stride_out)  }  static Bool -size_match( int width, int tex_width ) -{ -#if ROUND_UP_TEXTURES -   if (width > tex_width) -      return FALSE; - -   if (width * 2 < tex_width) -      return FALSE; - -   return TRUE; -#else -   return width == tex_width; -#endif -} - -static Bool  ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,  		      int depth, int bitsPerPixel, int devKind,  		      pointer pPixData) @@ -887,9 +865,9 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,      /* Deal with screen resize */      if ((exa->accel || priv->flags) &&          (!priv->tex || -         !size_match(priv->tex->width[0], width) || -         !size_match(priv->tex->height[0], height) || -         priv->tex_flags != priv->flags)) { +         (priv->tex->width[0] != width || +          priv->tex->height[0] != height || +          priv->tex_flags != priv->flags))) {  	struct pipe_texture *texture = NULL;  	struct pipe_texture template; @@ -897,7 +875,7 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,  	template.target = PIPE_TEXTURE_2D;  	exa_get_pipe_format(depth, &template.format, &bitsPerPixel, &priv->picture_format);  	pf_get_block(template.format, &template.block); -#if ROUND_UP_TEXTURES +#if 1  	template.width[0] = util_next_power_of_two(width);  	template.height[0] = util_next_power_of_two(height);  #else diff --git a/src/gallium/state_trackers/xorg/xorg_renderer.c b/src/gallium/state_trackers/xorg/xorg_renderer.c index 4f8985a75e..9cb65b0aac 100644 --- a/src/gallium/state_trackers/xorg/xorg_renderer.c +++ b/src/gallium/state_trackers/xorg/xorg_renderer.c @@ -313,25 +313,21 @@ setup_vertex_data_yuv(struct xorg_renderer *r,   * these concepts are linked.   */  void renderer_bind_destination(struct xorg_renderer *r, -                               struct pipe_surface *surface, -                               int width, -                               int height ) +                               struct pipe_surface *surface )  {     struct pipe_framebuffer_state fb;     struct pipe_viewport_state viewport; +   int width = surface->width; +   int height = surface->height; -   /* Framebuffer uses actual surface width/height -    */     memset(&fb, 0, sizeof fb); -   fb.width  = surface->width; -   fb.height = surface->height; +   fb.width  = width; +   fb.height = height;     fb.nr_cbufs = 1;     fb.cbufs[0] = surface;     fb.zsbuf = 0; -   /* Viewport sets us up to just touch the bit we're interested in: -    */     viewport.scale[0] =  width / 2.f;     viewport.scale[1] =  height / 2.f;     viewport.scale[2] =  1.0; @@ -341,8 +337,6 @@ void renderer_bind_destination(struct xorg_renderer *r,     viewport.translate[2] = 0.0;     viewport.translate[3] = 0.0; -   /* Constant buffer set up to match viewport dimensions: -    */     if (r->fb_width != width ||         r->fb_height != height)      { | 
