mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
i965/gen9: Support fast clears for 32b float
SKL supports the ability to do fast clears and resolves of 32b RGBA as both integer and floats. This patch only enables float color clears because we haven't yet enabled integer color clears, (HW support for that was added in BDW). v2: Remove LUMINANCE16F and INTENSITY16F special cases since they are now handled by Neil's patch to disable MSAA fast clears. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Neil Roberts <neil@linux.intel.com> Reviewed-by: Chad Versace <chad.versace@intel.com>
This commit is contained in:
parent
7c690da29c
commit
0288f92e7b
2 changed files with 6 additions and 10 deletions
|
|
@ -359,8 +359,12 @@ is_color_fast_clear_compatible(struct brw_context *brw,
|
|||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (color->f[i] != 0.0f && color->f[i] != 1.0f &&
|
||||
_mesa_format_has_color_component(format, i)) {
|
||||
if (!_mesa_format_has_color_component(format, i)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (brw->gen < 9 &&
|
||||
color->f[i] != 0.0f && color->f[i] != 1.0f) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,14 +188,6 @@ gen8_emit_fast_clear_color(struct brw_context *brw,
|
|||
uint32_t *surf)
|
||||
{
|
||||
if (brw->gen >= 9) {
|
||||
#define check_fast_clear_val(x) \
|
||||
assert(mt->gen9_fast_clear_color.f[x] == 0.0 || \
|
||||
mt->gen9_fast_clear_color.f[x] == 1.0)
|
||||
check_fast_clear_val(0);
|
||||
check_fast_clear_val(1);
|
||||
check_fast_clear_val(2);
|
||||
check_fast_clear_val(3);
|
||||
#undef check_fast_clear_val
|
||||
surf[12] = mt->gen9_fast_clear_color.ui[0];
|
||||
surf[13] = mt->gen9_fast_clear_color.ui[1];
|
||||
surf[14] = mt->gen9_fast_clear_color.ui[2];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue