r600g: check for PIPE_BIND_BLENDABLE in is_format_supported

v2: added !util_format_is_depth_or_stencil(format)

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Christoph Bumiller 2014-05-17 01:20:14 +02:00 committed by Marek Olšák
parent 04de3234ee
commit 04eb8b85ea
2 changed files with 18 additions and 0 deletions

View File

@ -227,6 +227,11 @@ static bool r600_is_zs_format_supported(enum pipe_format format)
return r600_translate_dbformat(format) != ~0U;
}
static inline bool r600_is_blending_supported(enum pipe_format format)
{
return !(util_format_is_pure_integer(format) || util_format_is_depth_or_stencil(format));
}
boolean evergreen_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
enum pipe_texture_target target,
@ -295,6 +300,10 @@ boolean evergreen_is_format_supported(struct pipe_screen *screen,
if (usage & PIPE_BIND_TRANSFER_WRITE)
retval |= PIPE_BIND_TRANSFER_WRITE;
if ((usage & PIPE_BIND_BLENDABLE) &&
r600_is_blending_supported(format))
retval |= PIPE_BIND_BLENDABLE;
return retval == usage;
}

View File

@ -157,6 +157,11 @@ static bool r600_is_zs_format_supported(enum pipe_format format)
return r600_translate_dbformat(format) != ~0U;
}
static inline bool r600_is_blending_supported(enum pipe_format format)
{
return !(util_format_is_pure_integer(format) || util_format_is_depth_or_stencil(format));
}
boolean r600_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
enum pipe_texture_target target,
@ -235,6 +240,10 @@ boolean r600_is_format_supported(struct pipe_screen *screen,
if (usage & PIPE_BIND_TRANSFER_WRITE)
retval |= PIPE_BIND_TRANSFER_WRITE;
if ((usage & PIPE_BIND_BLENDABLE) &&
r600_is_blending_supported(format))
retval |= PIPE_BIND_BLENDABLE;
return retval == usage;
}