On Wed, Sep 26, 2018 at 04:31:11PM -0700, Nanley Chery wrote: > Effectively revert 710b1d2e665ed654fb8d52b146fa22469e1dc3a7. > > This function was created to perform the ASTC void-extent workaround. > Now that the workaround is handled prior to sampling, this function is > no longer necessary.
Adding to the commit message: Makes the following piglit test pass: spec@khr_texture_compression_astc@void-extent-dl-bug In hopes that the test makes it upstream. -Nanley > --- > src/mesa/drivers/dri/i965/intel_tex_image.c | 87 --------------------- > 1 file changed, 87 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c > b/src/mesa/drivers/dri/i965/intel_tex_image.c > index 9775f788788..31ff08217ac 100644 > --- a/src/mesa/drivers/dri/i965/intel_tex_image.c > +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c > @@ -843,98 +843,11 @@ intel_get_tex_sub_image(struct gl_context *ctx, > DBG("%s - DONE\n", __func__); > } > > -static void > -flush_astc_denorms(struct gl_context *ctx, GLuint dims, > - struct gl_texture_image *texImage, > - GLint xoffset, GLint yoffset, GLint zoffset, > - GLsizei width, GLsizei height, GLsizei depth) > -{ > - struct compressed_pixelstore store; > - _mesa_compute_compressed_pixelstore(dims, texImage->TexFormat, > - width, height, depth, > - &ctx->Unpack, &store); > - > - for (int slice = 0; slice < store.CopySlices; slice++) { > - > - /* Map dest texture buffer */ > - GLubyte *dstMap; > - GLint dstRowStride; > - ctx->Driver.MapTextureImage(ctx, texImage, slice + zoffset, > - xoffset, yoffset, width, height, > - GL_MAP_READ_BIT | GL_MAP_WRITE_BIT, > - &dstMap, &dstRowStride); > - if (!dstMap) > - continue; > - > - for (int i = 0; i < store.CopyRowsPerSlice; i++) { > - > - /* An ASTC block is stored in little endian mode. The byte that > - * contains bits 0..7 is stored at the lower address in memory. > - */ > - struct astc_void_extent { > - uint16_t header : 12; > - uint16_t dontcare[3]; > - uint16_t R; > - uint16_t G; > - uint16_t B; > - uint16_t A; > - } *blocks = (struct astc_void_extent*) dstMap; > - > - /* Iterate over every copied block in the row */ > - for (int j = 0; j < store.CopyBytesPerRow / 16; j++) { > - > - /* Check if the header matches that of an LDR void-extent block > */ > - if (blocks[j].header == 0xDFC) { > - > - /* Flush UNORM16 values that would be denormalized */ > - if (blocks[j].A < 4) blocks[j].A = 0; > - if (blocks[j].B < 4) blocks[j].B = 0; > - if (blocks[j].G < 4) blocks[j].G = 0; > - if (blocks[j].R < 4) blocks[j].R = 0; > - } > - } > - > - dstMap += dstRowStride; > - } > - > - ctx->Driver.UnmapTextureImage(ctx, texImage, slice + zoffset); > - } > -} > - > - > -static void > -intelCompressedTexSubImage(struct gl_context *ctx, GLuint dims, > - struct gl_texture_image *texImage, > - GLint xoffset, GLint yoffset, GLint zoffset, > - GLsizei width, GLsizei height, GLsizei depth, > - GLenum format, > - GLsizei imageSize, const GLvoid *data) > -{ > - /* Upload the compressed data blocks */ > - _mesa_store_compressed_texsubimage(ctx, dims, texImage, > - xoffset, yoffset, zoffset, > - width, height, depth, > - format, imageSize, data); > - > - /* Fix up copied ASTC blocks if necessary */ > - GLenum gl_format = _mesa_compressed_format_to_glenum(ctx, > - texImage->TexFormat); > - bool is_linear_astc = _mesa_is_astc_format(gl_format) && > - !_mesa_is_srgb_format(gl_format); > - struct brw_context *brw = (struct brw_context*) ctx; > - const struct gen_device_info *devinfo = &brw->screen->devinfo; > - if (devinfo->gen == 9 && !gen_device_info_is_9lp(devinfo) && > is_linear_astc) > - flush_astc_denorms(ctx, dims, texImage, > - xoffset, yoffset, zoffset, > - width, height, depth); > -} > - > void > intelInitTextureImageFuncs(struct dd_function_table *functions) > { > functions->TexImage = intelTexImage; > functions->TexSubImage = intelTexSubImage; > - functions->CompressedTexSubImage = intelCompressedTexSubImage; > functions->EGLImageTargetTexture2D = intel_image_target_texture_2d; > functions->BindRenderbufferTexImage = intel_bind_renderbuffer_tex_image; > functions->GetTexSubImage = intel_get_tex_sub_image; > -- > 2.19.0 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev