[Mesa-dev] [PATCH 1/2 v3] i965: add XRGB to tiled_memcpy
Chad Versace
chad.versace at linux.intel.com
Mon Nov 11 13:19:58 PST 2013
On 11/07/2013 01:59 PM, Courtney Goeltzenleuchter wrote:
> MESA_FORMAT_XRGB8888 is equivalent to MESA_FORMAT_ARGB8888 in terms
> of storage on the device, so okay to use this optimized copy routine.
>
> This series builds on work from Frank Henigman to optimize the
> process of uploading a texture to the GPU. This series adds support for
> MESA_XRGB_8888 and full miptrees where were found to be common activities
> in the Smokin' Guns game. The issue was found while profiling the app
> but that part is not benchmarked. Smokin-Guns uses mipmap textures with
> an internal format of GL_RGB (MESA_XRGB_8888 in the driver).
>
> These changes need a performance tool to run against to show how they
> improve execution performance for specific texture formats. Using this
> benchmark I've measured the following improvement on my Ivybridge
> Intel(R) Xeon(R) CPU E3-1225 V2 @ 3.20GHz.
>
> Using 1024x1024, RGBA 8888 source, mipmap
> <<THIS PATCH>>
I don't understand. What do you mean by ``<<THIS PATCH>>``? That all these
numbers were obtained with this patch? But that doesn't make sense, because
these are before-and-after numbers. And it can't be just this patch, because
these numbers are identical to the numbers quoted in patch 2.
> internal-format Before (MB/sec) XRGB (MB/sec) mipmap (MB/sec)
> GL_RGBA 628.15 627.15 615.90
> GL_RGB 265.95 456.35 611.53
> 512x512
> GL_RGBA 600.23 597.00 619.95
> GL_RGB 255.50 440.62 611.28
> 256x256
> GL_RGBA 489.08 487.80 587.42
> GL_RGB 229.03 376.63 585.00
>
> Test shows similar pattern for 512x512 and 256x256.
The above table confuses me. There is a column named "Before", but no column
named "After". There 'internal-format' exists in the same location as '512x512'
and '256x256', but 'internal-format' is not a size.
> Benchmark has been sent to mesa-dev list: teximage_enh
---- -8<- ----
> Courtney Goeltzenleuchter (2):
> i965: add XRGB to tiled_memcpy
> i965: Enhance tiled_memcpy to support all levels
>
> src/mesa/drivers/dri/i965/intel_tex_subimage.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> --
> 1.8.1.2
---- ->8- ----
Commit messages should not contain coverletter metadata, such
as the above snippet. This also applies to patch 2.
> Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
> ---
> src/mesa/drivers/dri/i965/intel_tex_subimage.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> index 0384bcc..b1826fa 100644
> --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> @@ -571,7 +571,8 @@ intel_texsubimage_tiled_memcpy(struct gl_context * ctx,
> (texImage->TexFormat == MESA_FORMAT_A8 && format == GL_ALPHA)) {
> cpp = 1;
> mem_copy = memcpy;
> - } else if (texImage->TexFormat == MESA_FORMAT_ARGB8888) {
> + } else if ((texImage->TexFormat == MESA_FORMAT_ARGB8888)
> + || (texImage->TexFormat == MESA_FORMAT_XRGB8888)) {
> cpp = 4;
> if (format == GL_BGRA) {
> mem_copy = memcpy;
>
The code change itself looks good. I'm just having a hard time making sense
out of the commit message.
More information about the mesa-dev
mailing list