Once these are mapped to R/RG, they would show up as renderable thanks
to the default logic above, even though we don't have fragment shader
output swizzling for them.
NOTE: This is a candidate for the 8.0 branch.
---
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 32 ++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index ef270e7..0296f25 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -536,6 +536,38 @@ brw_init_surface_formats(struct brw_context *brw)
}
}
+ /* These formats are not actually supported as render targets, because we
use
+ * a mismatched BRW_SURFACEFORMAT, and we would need to swizzle the fragment
+ * shader output colors to make up for that.
+ */
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_UINT32] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_INT32] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_UINT16] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_INT16] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_UINT8] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_ALPHA_INT8] = false;
+
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_UINT32] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_INT32] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_UINT16] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_INT16] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_UINT8] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_INT8] = false;
+
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_UINT32] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_INT32] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_UINT16] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_INT16] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_UINT8] = false;
+ brw->format_supported_as_render_target[MESA_FORMAT_INTENSITY_INT8] = false;
+
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_UINT32]
= false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_INT32] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_UINT16]
= false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_INT16] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_UINT8] =
false;
+ brw->format_supported_as_render_target[MESA_FORMAT_LUMINANCE_ALPHA_INT8] =
false;
+
/* We will check this table for FBO completeness, but the surface format
* table above only covered color rendering.
*/
--
1.7.7.3
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev