[Mesa-dev] [PATCH 1/7] i965/fs_surface_builder: Explicitly handle FORMAT_NONE in num_image_coordinates

Jason Ekstrand jason at jlekstrand.net
Fri Nov 20 08:32:00 PST 2015


On Fri, Nov 20, 2015 at 5:49 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> Chad Versace <chad.versace at intel.com> writes:
>
>> On Wed 04 Nov 2015, Jason Ekstrand wrote:
>>> Previously, we were relying on has_matching_typed_format returning true for
>>> MESA_FORMAT_NONE which, in turn, relied on _mesa_get_format_bytes returning
>>> 1 for MESA_FORMAT_NONE.  All of this is extremely non-obvious.  Instead,
>>> this commit makes us handle it explicitly.
>>> ---
>>>  src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> index 534d849..31ecb5b 100644
>>> --- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> +++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
>>> @@ -409,6 +409,7 @@ namespace {
>>>            * reads want the array index to be at the Z component.
>>>            */
>>>           const bool array_index_at_z =
>>> +            format != MESA_FORMAT_NONE &&
>>>              !image_format_info::has_matching_typed_format(
>>>                 bld.shader->devinfo, format);
>>>           const unsigned zero_dims =
>>
>>
>> Knowing nothing about the implicit assumptions you discovered that
>> relied on _mesa_get_format_bytes(MESA_FORMAT_NONE) => 1, the patch is
>> still looks like an improvement to me.
>>
> It didn't.  It relied on _mesa_get_format_bytes(MESA_FORMAT_NONE) not
> being greater than 4, which seems sensible anyway.

I can change the commit message to say

Previously, we were relying on has_matching_typed_format returning true for
MESA_FORMAT_NONE which, in turn, relied on _mesa_get_format_bytes returning
a value <= 4 for MESA_FORMAT_NONE.  While reliable, this is extremely
non-obvious.  Instead,
this commit makes us handle it explicitly.

>> Acked-by: Chad Versace <chad.versace at intel.com>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list