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 mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev