diff options
author | José Fonseca <[email protected]> | 2008-07-19 12:04:37 +0900 |
---|---|---|
committer | José Fonseca <[email protected]> | 2008-07-19 12:32:29 +0900 |
commit | 8aafc03b260ab8923f1b373f7effa75bcdb40a72 (patch) | |
tree | 0274cc6cad2d6993ba8ea3fdd34c49254c532d47 /src/gallium/drivers/i915simple | |
parent | ff26c50153b3a348b35843262ceb27062ab37214 (diff) |
gallium: Finer grained is_format_supported.
Diffstat (limited to 'src/gallium/drivers/i915simple')
-rw-r--r-- | src/gallium/drivers/i915simple/i915_screen.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/gallium/drivers/i915simple/i915_screen.c b/src/gallium/drivers/i915simple/i915_screen.c index ba8f183bdf0..4b1b8af7da8 100644 --- a/src/gallium/drivers/i915simple/i915_screen.c +++ b/src/gallium/drivers/i915simple/i915_screen.c @@ -148,7 +148,10 @@ i915_get_paramf(struct pipe_screen *screen, int param) static boolean i915_is_format_supported( struct pipe_screen *screen, - enum pipe_format format, uint type ) + enum pipe_format format, + enum pipe_texture_target target, + unsigned tex_usage, + unsigned geom_flags ) { static const enum pipe_format tex_supported[] = { PIPE_FORMAT_R8G8B8A8_UNORM, @@ -173,17 +176,10 @@ i915_is_format_supported( struct pipe_screen *screen, const enum pipe_format *list; uint i; - switch (type) { - case PIPE_TEXTURE: - list = tex_supported; - break; - case PIPE_SURFACE: + if(tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) list = surface_supported; - break; - default: - assert(0); - return FALSE; - } + else + list = tex_supported; for (i = 0; list[i] != PIPE_FORMAT_NONE; i++) { if (list[i] == format) |