This patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 05/13/2016 07:57 AM, Alejandro Piñeiro wrote: > Right now the implementation only checks if the internalformat is > supported or not. But that implementation is wrong, returning > unsupported for some internalformats. Additionally, checking if > the internalformat is supported or not is already done at mesa/main > before calling the driver hook, so this new check is not needed. > > Acked-by: Eduardo Lima <el...@igalia.com> > Acked-by: Antia Puentes <apuen...@igalia.com> > --- > src/mesa/drivers/dri/i965/brw_formatquery.c | 71 > ----------------------------- > 1 file changed, 71 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_formatquery.c > b/src/mesa/drivers/dri/i965/brw_formatquery.c > index 210109b..8f7a910 100644 > --- a/src/mesa/drivers/dri/i965/brw_formatquery.c > +++ b/src/mesa/drivers/dri/i965/brw_formatquery.c > @@ -65,46 +65,6 @@ brw_query_samples_for_format(struct gl_context *ctx, > GLenum target, > } > } > > -/** > - * Returns a generic GL type from an internal format, so that it can be used > - * together with the base format to obtain a mesa_format by calling > - * mesa_format_from_format_and_type(). > - */ > -static GLenum > -get_generic_type_for_internal_format(GLenum internalFormat) > -{ > - if (_mesa_is_color_format(internalFormat)) { > - if (_mesa_is_enum_format_unsigned_int(internalFormat)) > - return GL_UNSIGNED_BYTE; > - else if (_mesa_is_enum_format_signed_int(internalFormat)) > - return GL_BYTE; > - } else { > - switch (internalFormat) { > - case GL_STENCIL_INDEX: > - case GL_STENCIL_INDEX8: > - return GL_UNSIGNED_BYTE; > - case GL_DEPTH_COMPONENT: > - case GL_DEPTH_COMPONENT16: > - return GL_UNSIGNED_SHORT; > - case GL_DEPTH_COMPONENT24: > - case GL_DEPTH_COMPONENT32: > - return GL_UNSIGNED_INT; > - case GL_DEPTH_COMPONENT32F: > - return GL_FLOAT; > - case GL_DEPTH_STENCIL: > - case GL_DEPTH24_STENCIL8: > - return GL_UNSIGNED_INT_24_8; > - case GL_DEPTH32F_STENCIL8: > - return GL_FLOAT_32_UNSIGNED_INT_24_8_REV; > - default: > - /* fall-through */ > - break; > - } > - } > - > - return GL_FLOAT; > -} > - > void > brw_query_internal_format(struct gl_context *ctx, GLenum target, > GLenum internalFormat, GLenum pname, GLint *params) > @@ -129,37 +89,6 @@ brw_query_internal_format(struct gl_context *ctx, GLenum > target, > break; > } > > - case GL_INTERNALFORMAT_PREFERRED: { > - params[0] = GL_NONE; > - > - /* We need to resolve an internal format that is compatible with > - * the passed internal format, and optimal to the driver. By now, > - * we just validate that the passed internal format is supported by > - * the driver, and if so return the same internal format, otherwise > - * return GL_NONE. > - * > - * For validating the internal format, we use the > - * ctx->TextureFormatSupported map to check that a BRW surface format > - * exists, that can be derived from the internal format. But this > - * expects a mesa_format, not an internal format. So we need to "come > up" > - * with a type that is generic enough, to resolve the mesa_format > first. > - */ > - GLenum type = get_generic_type_for_internal_format(internalFormat); > - > - /* Get a mesa_format from the internal format and type. */ > - GLint base_format = _mesa_base_tex_format(ctx, internalFormat); > - if (base_format != -1) { > - mesa_format mesa_format = > - _mesa_format_from_format_and_type(base_format, type); > - > - if (mesa_format < MESA_FORMAT_COUNT && > - ctx->TextureFormatSupported[mesa_format]) { > - params[0] = internalFormat; > - } > - } > - break; > - } > - > default: > /* By default, we call the driver hook's fallback function from the > frontend, > * which has generic implementation for all pnames. > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev