[Mesa-dev] [PATCH] i965: Fast texture upload now supports all levels
Courtney Goeltzenleuchter
courtney at lunarg.com
Mon Oct 14 18:00:00 CEST 2013
Does anyone know of a test that measures frame 0 time? Or texture upload
speed?
For Smokin' Guns, I tried measuring the overall time, but an improved frame
0 time has difficulty standing out of a 2607 frame test.
I may have to create something. Suggestions for an appropriate framework?
Thanks,
Courtney
On Mon, Oct 14, 2013 at 8:32 AM, Chad Versace
<chad.versace at linux.intel.com>wrote:
> On 10/13/2013 08:33 PM, Ian Romanick wrote:
>
>> On 10/13/2013 01:50 PM, Frank Henigman wrote:
>>
>>> On Fri, Oct 11, 2013 at 10:00 PM, Chad Versace
>>> <chad.versace at linux.intel.com> wrote:
>>>
>>>> On 10/11/2013 10:17 AM, Courtney Goeltzenleuchter wrote:
>>>>
>>>>>
>>>>> Support all levels of a supported texture format.
>>>>> ---
>>>>> src/mesa/drivers/dri/i965/**intel_tex_subimage.c | 13 +++++++++++--
>>>>> 1 file changed, 11 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/src/mesa/drivers/dri/i965/**intel_tex_subimage.c
>>>>> b/src/mesa/drivers/dri/i965/**intel_tex_subimage.c
>>>>> index 4aec05d..5e46760 100644
>>>>> --- a/src/mesa/drivers/dri/i965/**intel_tex_subimage.c
>>>>> +++ b/src/mesa/drivers/dri/i965/**intel_tex_subimage.c
>>>>> @@ -541,14 +541,13 @@ intel_texsubimage_tiled_**memcpy(struct
>>>>> gl_context *
>>>>> ctx,
>>>>> uint32_t cpp;
>>>>> mem_copy_fn mem_copy = NULL;
>>>>>
>>>>> - /* This fastpath is restricted to specific texture types: level 0
>>>>> of
>>>>> + /* This fastpath is restricted to specific texture types:
>>>>> * a 2D BGRA, RGBA, L8 or A8 texture. It could be generalized to
>>>>> support
>>>>> * more types.
>>>>> */
>>>>> if (!brw->has_llc ||
>>>>> type != GL_UNSIGNED_BYTE ||
>>>>> texImage->TexObject->Target != GL_TEXTURE_2D ||
>>>>> - texImage->Level != 0 ||
>>>>> pixels == NULL ||
>>>>> _mesa_is_bufferobj(packing->**BufferObj) ||
>>>>> packing->Alignment > 4 ||
>>>>> @@ -616,6 +615,16 @@ intel_texsubimage_tiled_**memcpy(struct
>>>>> gl_context *
>>>>> ctx,
>>>>> DBG("%s: level=%d offset=(%d,%d) (w,h)=(%d,%d)\n",
>>>>> __FUNCTION__, texImage->Level, xoffset, yoffset, width,
>>>>> height);
>>>>>
>>>>> + /* Adjust x and y offset based on miplevel
>>>>> + */
>>>>> + if (texImage->Level) {
>>>>> + GLuint xlevel, ylevel;
>>>>> + intel_miptree_get_image_**offset(image->mt, texImage->Level, 0,
>>>>> + &xlevel, &ylevel);
>>>>> + xoffset += xlevel;
>>>>> + yoffset += ylevel;
>>>>> + }
>>>>> +
>>>>> linear_to_tiled(
>>>>> xoffset * cpp, (xoffset + width) * cpp,
>>>>> yoffset, yoffset + height,
>>>>>
>>>>>
>>>> Usually when we commit performance patches like this, we state in the
>>>> commit message what the observed relative performance gain.
>>>>
>>>> What gain did you see? Hardware? Benchmark? Kernel version? How many
>>>> runs?
>>>>
>>>
>>> We could quote from my patch, as this is just opening more paths into
>>> that code.
>>> Or do you think this calls for different testing?
>>>
>>
>> I think what Chad is asking is whether there's some information like
>> "Improves load time of application XYZ 12.3+4.5%" or similar.
>>
>> In the past, we've had problems with patches that just make vague claims
>> of "improves performance" when we later find critical bugs in those
>> patches... can we just revert the code, or is it going to run the
>> performance of... something?
>>
>> For reference, see commit 329cd6a9b and this thread from mesa-dev:
>>
>> http://lists.freedesktop.org/**archives/mesa-dev/2013-June/**040811.html<http://lists.freedesktop.org/archives/mesa-dev/2013-June/040811.html>
>>
>
> Ian read my mind correctly. The commit message should say "Improves XYZ of
> application ABC by 10.3+-1.2%", as well as state the hardware at a minimum,
> and kernel version too if you're feeling gracious.
>
> In the future, if someone discover that this patch introduces a bug, the
> commit
> message's performance claim will prevent that someone from simply
> reverting the
> code.
>
>
--
Courtney Goeltzenleuchter
LunarG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131014/5d7835ad/attachment.html>
More information about the mesa-dev
mailing list