summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-11-02 13:51:38 -0700
committerEric Anholt <[email protected]>2011-11-09 12:59:20 -0800
commit42c5552b0eef9c06898d29bb3f5c985f31316250 (patch)
tree073da10549d96d9cab4613cad900c6b6452670bf /src/mesa
parent6d874d0ee18b3694c49e0206fa519bd8b746ec24 (diff)
i965: Claim to support rendering to integer FBOs.
We're missing support for the software paths still, but basic rendering is working. v2: Override RGB_INT32/UINT32 to not be renderable, since the hardware can't do it but we do allow texturing from it now. Drop the DataType override, since the _mesa_problem() isn't in that path any more. Reviewed-by: Kenneth Graunke <[email protected]> (v1)
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm_surface_state.c7
-rw-r--r--src/mesa/drivers/dri/intel/intel_span.c7
2 files changed, 13 insertions, 1 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 335962217a9..0a00ab9b166 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -174,6 +174,13 @@ brw_render_target_supported(gl_format format)
if (format == MESA_FORMAT_RGBA_FLOAT32)
return true;
+ /* While we can texture from these formats, they're not actually supported
+ * for rendering.
+ */
+ if (format == MESA_FORMAT_RGB_UINT32 ||
+ format == MESA_FORMAT_RGB_INT32)
+ return false;
+
/* Not exactly true, as some of those formats are not renderable.
* But at least we know how to translate them.
*/
diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c
index 191f7761d97..478aec86a02 100644
--- a/src/mesa/drivers/dri/intel/intel_span.c
+++ b/src/mesa/drivers/dri/intel/intel_span.c
@@ -421,7 +421,12 @@ static span_init_func intel_span_init_funcs[MESA_FORMAT_COUNT] =
bool
intel_span_supports_format(gl_format format)
{
- return intel_span_init_funcs[format] != NULL;
+ /* Rendering to/from integer textures will be done using MapRenderbuffer,
+ * rather than coding up new paths through GetRow/PutRow(), so claim support
+ * for those formats in here for now.
+ */
+ return (intel_span_init_funcs[format] != NULL ||
+ _mesa_is_format_integer_color(format));
}
/**