[Mesa-dev] [RFC] intel/isl: Rewrite gen7_choose_image_alignment_el
Kenneth Graunke
kenneth at whitecape.org
Thu May 11 05:30:46 UTC 2017
On Wednesday, May 10, 2017 10:19:46 AM PDT Emil Velikov wrote:
> On 10 May 2017 at 16:38, Jason Ekstrand <jason at jlekstrand.net> wrote:
> > On Wed, May 10, 2017 at 8:26 AM, Emil Velikov <emil.l.velikov at gmail.com>
> > wrote:
> >>
> >> Hi Jason,
> >>
> >> Humble unrelated question.
> >>
> >> On 9 May 2017 at 18:00, Jason Ekstrand <jason at jlekstrand.net> wrote:
> >>
> >> > + if (isl_surf_usage_is_depth(info->usage)) {
> >> > + if (info->format == ISL_FORMAT_R16_UNORM) {
> >> > + return isl_extent3d(8, 4, 1);
> >> > + } else {
> >> > + return isl_extent3d(4, 4, 1);
> >> > + }
> >> > + } else if (isl_surf_usage_is_stencil(info->usage)) {
> >> > + return isl_extent3d(8, 8, 1);
> >> > + } else if (isl_format_is_compressed(info->format)) {
> >> > + /* Compressed formats all have alignment equal to block size. */
> >> > + return isl_extent3d(1, 1, 1);
> >> > + }
> >>
> >> I've seen a handful of constructs like the above.. Is there any reason
> >> to keep the extra else/curly brackets?
> >> Something like the following reads a bit easier yet admittedly I'm not
> >> the person to set the coding style in isl.
> >
> >
> > Does it?
> >
> Indeed it does, I would not have bothered otherwise ;-)
> It's a subjective topic and my contributions here are, ahem, limited,
> so feel do ignore me.
>
> Thanks
> Emil
I see Jason's point here - the depth/stencil/compressed blocks are
kind of like cases in a switch. It's one of the three, and we're
choosing between them. I think the code reads fine as is here.
That said, I almost always prefer Emil's style, FWIW.
if (blah)
return foo;
return bar;
makes it obvious that something will be returned, as there's an
clear unconditional return at the top-level. I especially like this
style when "foo" is for a special case, and "bar" is the general case.
if (blah)
return foo;
else
return bar;
is a little less clear IMO - you have to recognize that the control flow
in the inner block will happen, because one of the two blocks will
always be hit.
But it's largely a matter of taste, so...*shrug*.
If I were writing this, I would probably handle the R16 case as:
if (info->format == ISL_FORMAT_R16_UNORM) {
return isl_extent3d(8, 4, 1);
return isl_extent3d(4, 4, 1);
but leave the rest as is. Totally up to you though, Jason.
--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170510/14507a4b/attachment.sig>
More information about the mesa-dev
mailing list