winsys/sw: use PIPE_TEXTURE_RECT if appropriate
This commit is contained in:
@@ -52,6 +52,7 @@ struct wrapper_sw_winsys
|
||||
struct sw_winsys base;
|
||||
struct pipe_screen *screen;
|
||||
struct pipe_context *pipe;
|
||||
enum pipe_texture_target target;
|
||||
};
|
||||
|
||||
struct wrapper_sw_displaytarget
|
||||
@@ -145,7 +146,7 @@ wsw_dt_create(struct sw_winsys *ws,
|
||||
* XXX Why don't we just get the template.
|
||||
*/
|
||||
memset(&templ, 0, sizeof(templ));
|
||||
templ.target = PIPE_TEXTURE_2D;
|
||||
templ.target = wsw->target;
|
||||
templ.width0 = width;
|
||||
templ.height0 = height;
|
||||
templ.format = format;
|
||||
@@ -291,6 +292,11 @@ wrapper_sw_winsys_warp_pipe_screen(struct pipe_screen *screen)
|
||||
if (!wsw->pipe)
|
||||
goto err_free;
|
||||
|
||||
if(screen->get_param(screen, PIPE_CAP_NPOT_TEXTURES))
|
||||
wsw->target = PIPE_TEXTURE_2D;
|
||||
else
|
||||
wsw->target = PIPE_TEXTURE_RECT;
|
||||
|
||||
return &wsw->base;
|
||||
|
||||
err_free:
|
||||
|
||||
Reference in New Issue
Block a user