<div dir="ltr">I think I've now reviewed everything except 2 patches.  For the "Update a few assertions" patch, you said you would run a test but never reported back the results.  The other is the patch for re-enabling sRGB fast-clears.  That one isn't needed for enabling and I'm not yet convinced that it's removing enough code.  I need to understand Sky lake sRGB myself before I can really review anything.  Also, at Chad's request, I'll probably be adjusting the way that code works to be based on the ISL table at which point, re-enabling sRGB will just naturally fall out as a result of the ISL format table update.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 5, 2017 at 10:04 AM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For your reference, here is a list of patches pending review in this series:<br>
3, 18, 19, 22, 23, 24.5.<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Anuj<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Fri, Jun 2, 2017 at 5:48 PM, Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>> wrote:<br>
> On Fri, Jun 2, 2017 at 4:48 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
>> On Mon, May 22, 2017 at 9:32 AM, Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>> wrote:<br>
>>><br>
>>> On Fri, May 12, 2017 at 4:38 PM, Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br>
>>> wrote:<br>
>>> > This series adds support for Cannonlake.<br>
>>> ><br>
>>> > Changes from V1 to V2:<br>
>>> > - Incorporated the review comments from V1.<br>
>>> > - Rebased 8 months old CNL branch on top of master<br>
>>> > - Wired up Linux and Android build files for gen10<br>
>>> > - Replaced the use of few gen9 functions with gen10 specific functions.<br>
>>> > - Squashed few patches, dropped few and created new patches.<br>
>>> ><br>
>>> Thanks to Jason and Ken who have reviewed few patches in this series.<br>
>>> Rest of them are still waiting for the review. I really want to land this<br>
>>> series<br>
>>> (at least first 15-16 patches) soon. There are some very easy patches any<br>
>>> one can review like enabling Mesa to build for gen10 etc. Please take a<br>
>>> look at them. Thanks :).<br>
>><br>
>><br>
>> Finally got around to looking at these again...<br>
>><br>
>> Now that we're switching everything over to genxml, I think it's a good idea<br>
>> to be a bit more intentional in the way we write new platform patches.<br>
>> There are a number of patches in this series that are much harder to review<br>
>> than they need to be because they're written more-or-less in order of code<br>
>> development and not in a logical reviewable order.  In particular, there's a<br>
>> patch which updates a pile of switch statements to get rid of asserts but it<br>
>> just moves them all over to gen9.  Moving stuff to gen10 is in a different<br>
>> patch.  The result is that it's very hard, without squashing things<br>
>> together, to tell whether or not we missed anything when we switched them<br>
>> over to actual gen10 functions.  This isn't really a criticism of Anuj and<br>
>> Ben.  They've done a lot of rebasaing on top of a lot of driver architecture<br>
>> changes.  I think this will be much easier to do better in the future.<br>
>><br>
>> In my view, the ideal platform enabling patch series would look something<br>
>> like this:<br>
>><br>
>>  1) Add genN.xml<br>
> Does it make sense to break it down in to few patches based on manual<br>
> changes we make to an auto generated genN.xml ? or send out just one<br>
> patch and reviewer can diff it with previous gen and verify the changes ?<br>
><br>
>>  2) Add the #defines and #includes to genxml and the build system stuff to<br>
>> generate the packing headers<br>
>>  3) Update stuff in src/intel/common such as URB configuration changes<br>
>>  4) Update ISL:<br>
>>     a) Any needed generic ISL changes such as adding new layaouts.  (Cannon<br>
>> lake doesn't add anything, so nothing to do here).  This may be multiple<br>
>> patches.<br>
>>     b) Get ISL surface state emit code building for the new hardware.  This<br>
>> includes updating the autotools and Android makefiles, adding function<br>
>> prototypes, updating switch statements, etc.  If changes are needed in<br>
>> isl_surface_state.c or isl_depth_stencil.c, they should be minimal bug still<br>
>> enough that the end result is correct.<br>
>> 5) Update BLORP as needed for the new platform.  Sadly, there's no way to<br>
>> build-test this without the next step since BLORP doesn't build its own genX<br>
>> files.<br>
>> 6) Get GL driver genxml state-upload and blorp code building and hooked in.<br>
>> Core blorp changes should go in their own patch (above) but this will<br>
>> include the build system changes for blorp as well.  This also includes<br>
>> updating switch statements.<br>
>> 8) Implement workarounds, features, etc.<br>
>><br>
>> The important part is that we keep related changes together.  In order to<br>
>> review this series, I had to squash patches 6, 9, 14, and 15 together.<br>
>> Again, I'm not casting any blame here.  The series makes a lot of historical<br>
>> sense.  It's just hard to review as-is.<br>
>><br>
> I agree with you that the series could have been structured better for ease<br>
> of review. Thanks for the reviews and all the great suggestions above. I'll<br>
> keep them in mind for future h/w enabling patches.<br>
><br>
>> --Jason<br>
>><br>
>>><br>
>>> > What's remaining:<br>
>>> > - Add missing gen10 bits in Vulkan driver.<br>
>>> > - Fix failing piglit, cts tests for GL and Vulkan.<br>
>>> ><br>
>>> > You can also find this series at:<br>
>>> > <a href="https://github.com/aphogat/mesa.git" rel="noreferrer" target="_blank">https://github.com/aphogat/<wbr>mesa.git</a><br>
>>> > branch: reviews<br>
>>> ><br>
>>> > Anuj Phogat (18):<br>
>>> >   i965/cnl: Define genX(x) and GENX(x) for gen10<br>
>>> >   i965/cnl: Include gen10_pack.h<br>
>>><br>
>>> >   i965/cnl: Add gen10 specific function declarations<br>
>>> >   i965/cnl: Update the script generating genX_bits.h<br>
>>> >   i965/cnl: Add isl_gen10 header and source files<br>
>>> >   i965/cnl: Wire up Mesa build files for gen10<br>
>>> >   i965/cnl: Wire up android Mesa build files for gen10<br>
>>> >   i965/cnl: Add pci id for INTEL_DEVID_OVERRIDE<br>
>>> >   i965/cnl: Add cnl bits in aubinator<br>
>>> >   i965/cnl: Update few assertions<br>
>>> >   i965/cnl: Handle gen10 in switch cases across the driver<br>
>>> >   i965/cnl: Start using CNL MOCS defines<br>
>>> >   i965/cnl: Start using gen10 specific functions<br>
>>> >   i965/cnl: Don't resolve single sampled color rb in case of sRGB<br>
>>> > formats<br>
>>> >   i965/cnl: Make URB {VS, GS, HS, DS} sizes non multiple of 3<br>
>>> >   i965/cnl: Reformat surface_format_info table to accomodate gen10+<br>
>>> >   i965/cnl: Enable CCS_E and RT support for few formats<br>
>>> >   i965: Simplify get_l3_way_size() function<br>
>>> ><br>
>>> > Ben Widawsky (5):<br>
>>> >   i965: Make feature macros gen8 based<br>
>>> >   i965/cnl: Add a preliminary device for Cannonlake<br>
>>> >   i965/cnl: Implement new pipe control workaround<br>
>>> >   i965/cnl: Implement depth count workaround<br>
>>> >   i965/cnl: Restore lossless compression for sRGB formats<br>
>>> ><br>
>>> > Jason Ekstrand (1):<br>
>>> >   i965/cnl: Add gen10.xml<br>
>>> ><br>
>>> >  include/pci_ids/i965_pci_ids.h                   |   12 +<br>
>>> >  src/intel/<a href="http://Android.genxml.mk" rel="noreferrer" target="_blank">Android.genxml.mk</a>                      |    5 +<br>
>>> >  src/intel/<a href="http://Android.isl.mk" rel="noreferrer" target="_blank">Android.isl.mk</a>                         |   20 +<br>
>>> >  src/intel/<a href="http://Android.vulkan.mk" rel="noreferrer" target="_blank">Android.vulkan.mk</a>                      |   21 +<br>
>>> >  src/intel/<a href="http://Makefile.isl.am" rel="noreferrer" target="_blank">Makefile.isl.am</a>                        |    4 +<br>
>>> >  src/intel/Makefile.sources                       |   12 +-<br>
>>> >  src/intel/<a href="http://Makefile.vulkan.am" rel="noreferrer" target="_blank">Makefile.vulkan.am</a>                     |    7 +-<br>
>>> >  src/intel/common/gen_device_<wbr>info.c               |   71 +-<br>
>>> >  src/intel/common/gen_device_<wbr>info.h               |    1 +<br>
>>> >  src/intel/common/gen_l3_<wbr>config.c                 |   11 +-<br>
>>> >  src/intel/compiler/brw_<wbr>compiler.h                |    2 +-<br>
>>> >  src/intel/compiler/brw_eu.c                      |    2 +<br>
>>> >  src/intel/compiler/brw_eu_<wbr>compact.c              |    1 +<br>
>>> >  src/intel/genxml/gen10.xml                       | 3563<br>
>>> > ++++++++++++++++++++++<br>
>>> >  src/intel/genxml/genX_pack.h                     |    2 +<br>
>>> >  src/intel/genxml/gen_bits_<wbr>header.py              |    6 +-<br>
>>> >  src/intel/genxml/gen_macros.h                    |    3 +<br>
>>> >  src/intel/isl/isl.c                              |    9 +<br>
>>> >  src/intel/isl/isl_format.c                       |  498 +--<br>
>>> >  src/intel/isl/isl_gen10.c                        |   41 +<br>
>>> >  src/intel/isl/isl_gen10.h                        |   45 +<br>
>>> >  src/intel/isl/isl_priv.h                         |   12 +<br>
>>> >  src/intel/tools/aubinator.c                      |    8 +-<br>
>>> >  src/intel/vulkan/anv_cmd_<wbr>buffer.c                |    1 +<br>
>>> >  src/intel/vulkan/anv_device.c                    |    1 +<br>
>>> >  src/intel/vulkan/anv_<wbr>entrypoints_gen.py          |    1 +<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>Android.mk             |   24 +-<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>Makefile.am            |    6 +-<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>Makefile.sources       |    4 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>blorp.c            |    6 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>blorp.h            |    2 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>context.c          |    2 +-<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>formatquery.c      |    1 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>pipe_control.c     |   11 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>program.c          |    2 +-<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>queryobj.c         |    8 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>state.h            |    9 +<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>state_upload.c     |    4 +-<br>
>>> >  src/mesa/drivers/dri/i965/brw_<wbr>wm_surface_state.c |    2 +<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>gen7_urb.c             |   12 +<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>genX_state_upload.c    |    4 +-<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>intel_mipmap_tree.c    |    2 +-<br>
>>> >  src/mesa/drivers/dri/i965/<wbr>intel_screen.c         |    2 +<br>
>>> >  43 files changed, 4180 insertions(+), 280 deletions(-)<br>
>>> >  create mode 100644 src/intel/genxml/gen10.xml<br>
>>> >  create mode 100644 src/intel/isl/isl_gen10.c<br>
>>> >  create mode 100644 src/intel/isl/isl_gen10.h<br>
>>> ><br>
>>> > --<br>
>>> > 2.9.3<br>
>>> ><br>
>>> ______________________________<wbr>_________________<br>
>>> mesa-dev mailing list<br>
>>> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
>>> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
>><br>
>><br>
</div></div></blockquote></div><br></div>