On 11/16/2011 12:52 AM, Kenneth Graunke wrote: > On 11/15/2011 05:55 PM, Eric Anholt wrote: >> This is currently duplicated with intel_context.c's setup of the >> formats table, and sets true for exactly the same set of formats on >> gen6. >> --- >> src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 13 ++++++++++++- >> 1 files changed, 12 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 28a40a2..e29a1dc 100644 >> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c >> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c >> @@ -364,6 +364,7 @@ void >> brw_init_surface_formats(struct brw_context *brw) >> { >> struct intel_context *intel = &brw->intel; >> + struct gl_context *ctx = &intel->ctx; >> int gen; >> gl_format format; >> >> @@ -373,10 +374,11 @@ brw_init_surface_formats(struct brw_context *brw) >> >> for (format = MESA_FORMAT_NONE + 1; format < MESA_FORMAT_COUNT; >> format++) { >> uint32_t texture, render; >> - const struct surface_format_info *rinfo; >> + const struct surface_format_info *rinfo, *tinfo; >> bool is_integer = _mesa_is_format_integer_color(format); >> >> render = texture = brw_format_for_mesa_format(format); >> + tinfo = &surface_formats[texture]; >> >> /* The value of BRW_SURFACEFORMAT_R32G32B32A32_FLOAT is 0, so don't >> skip >> * it. >> @@ -384,6 +386,9 @@ brw_init_surface_formats(struct brw_context *brw) >> if (texture == 0 && format != MESA_FORMAT_RGBA_FLOAT32) >> continue; >> >> + if (gen >= tinfo->sampling && (gen >= tinfo->filtering || is_integer)) >> + ctx->TextureFormatSupported[format] = true; >> + >> /* Re-map some render target formats to make them supported when they >> * wouldn't be using their format for texturing. >> */ >> @@ -434,6 +439,12 @@ brw_init_surface_formats(struct brw_context *brw) >> brw->format_supported_as_render_target[MESA_FORMAT_X8_Z24] = true; >> brw->format_supported_as_render_target[MESA_FORMAT_S8] = true; >> brw->format_supported_as_render_target[MESA_FORMAT_Z16] = true; >> + >> + /* We remap depth formats to a supported texturing format in >> + * translate_tex_format(). >> + */ >> + ctx->TextureFormatSupported[MESA_FORMAT_S8_Z24] = true; >> + ctx->TextureFormatSupported[MESA_FORMAT_X8_Z24] = true; >> } >> >> bool > > I think we can actually support MESA_FORMAT_Z16 as well, no? Though > enabling that should definitely be a separate patch, in case it breaks > things. (I'm a little wary about it because the Windows team apparently > had some issues with Z16 in GLBenchmark, but they weren't sure if it was > a hardware or software issue.)
Nevermind. :) I somehow missed the other message: [PATCH 4/4] intel: Support native Z16 depth textures (including as renderbuffer) on i965. Which is especially amusing since I reviewed it. Too much email. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev