diff options
author | Brian Paul <[email protected]> | 2010-03-22 09:07:46 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-03-22 09:07:46 -0600 |
commit | 182c42c8da6edfa66819eef02f4dea310c1f68d7 (patch) | |
tree | f49df694eae81c9db3c8fe2123bb30ef5a556891 /src/gallium/drivers/cell/ppu | |
parent | 5cb4a3524b54480418b4c4717c4a0f0a8669939c (diff) | |
parent | ca97f8b9bab80844be613a9253643b7da8e738c7 (diff) |
Merge branch '7.8'
Conflicts:
src/gallium/drivers/cell/ppu/cell_screen.c
src/mesa/state_tracker/st_cb_drawpixels.c
Diffstat (limited to 'src/gallium/drivers/cell/ppu')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_screen.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index f5528a7ec6b..42045744060 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -97,6 +97,8 @@ cell_get_param(struct pipe_screen *screen, int param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 0; + case PIPE_CAP_BLEND_EQUATION_SEPARATE: + return 1; default: return 0; } @@ -136,12 +138,6 @@ cell_is_format_supported( struct pipe_screen *screen, unsigned tex_usage, unsigned geom_flags ) { - struct sw_winsys *winsys = cell_screen(screen)->winsys; - - if (format == PIPE_FORMAT_DXT5_RGBA || - format == PIPE_FORMAT_A8B8G8R8_SRGB) - return FALSE; - if (tex_usage & (PIPE_TEXTURE_USAGE_DISPLAY_TARGET | PIPE_TEXTURE_USAGE_SCANOUT | PIPE_TEXTURE_USAGE_SHARED)) { @@ -149,9 +145,16 @@ cell_is_format_supported( struct pipe_screen *screen, return FALSE; } - /* This is often a lie. Pull in logic from llvmpipe to fix. - */ - return TRUE; + /* only a few formats are known to work at this time */ + switch (format) { + case PIPE_FORMAT_Z24S8_UNORM: + case PIPE_FORMAT_Z24X8_UNORM: + case PIPE_FORMAT_B8G8R8A8_UNORM: + case PIPE_FORMAT_I8_UNORM: + return TRUE; + default: + return FALSE; + } } |