{"id":541,"date":"2016-07-29T11:02:41","date_gmt":"2016-07-29T09:02:41","guid":{"rendered":"http:\/\/blogs.igalia.com\/apinheiro\/?p=541"},"modified":"2016-07-29T11:02:41","modified_gmt":"2016-07-29T09:02:41","slug":"one-year-of-mesa","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/apinheiro\/2016\/07\/one-year-of-mesa\/","title":{"rendered":"One year of Mesa"},"content":{"rendered":"<h6>Changes<\/h6>\n<p>During the last year and something, my work at Igalia was focused on the Intel i965 driver for Mesa, the open source OpenGL implementation. <a href=\"https:\/\/blogs.igalia.com\/itoral\/\">Iago<\/a> and <a href=\"http:\/\/blog.samuelig.es\/\">Samuel<\/a> were working for some time, then joined Edu and Ant\u00eda, and then I joined myself, as the fifth igalian.<\/p>\n<p>One of the reasons I will always remember working on this project is that I was also being a father for a year and something, so it will be always easy to relate one and the other. Changes! A project change plus a total life change.<\/p>\n<p>In fact the parenthood affected a little how I joined the project. We (as Igalia) decided that I would be a good candidate to join the project around April. But as my leave of absence was estimated to be around the last weeks of May, and it would be strange to start a project and suddenly disappear, we decided to postpone the joining just after the parental leave. So I spent some time closing and transferring the stuff I was doing at Igalia at that moment, and starting to get into the specifics of Intel driver, and then at the end of May, my parental leave started. Pedro is here!<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_545\" aria-describedby=\"caption-attachment-545\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/day-zero.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-545 size-medium\" src=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/day-zero-300x225.jpg\" width=\"300\" height=\"225\" srcset=\"https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/day-zero-300x225.jpg 300w, https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/day-zero.jpg 640w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-545\" class=\"wp-caption-text\">Pedro&#8217;s day zero<\/figcaption><\/figure>\n<h6>Parenthood<\/h6>\n<p>Mesa can be a challenging project, but nothing compared to how to parent. A lot of changes. In Spain the more usual parental leave for the father is 15 days, where the only\u00a0 flexibility is that you need to take 2 just after the child has born, and chose when take the other 13. But those 13 needs to be taken in a row. So I decided to took 15 days in a row. Igalia gives you 15 extra days. In fact, the equivalent to 15 days, as they gives you flexibility of how to take them. So instead of took them as 15 full-day, I decided to take 30 part-time days. Additionally Pedro&#8217;s grandmother (maternal) came to live with us for a month. That allowed us to do a step by step go back to work. So it was something like:<\/p>\n<ul>\n<li>Pedro was born, I am in full parental leave, plus grandmother living at our house helping.<\/li>\n<li>I start to work part-time<\/li>\n<li>Grandmother goes back to Brazil<\/li>\n<li>I start to work full-time.<\/li>\n<li>Pedro&#8217;s mother goes back to work part-time<\/li>\n<\/ul>\n<p>And probably the more complicated moment was when Pedro&#8217;s mother went back to work. More or less at that time we switched the usual grandparents (paternal) weekend visits to in-week visits. So what it is my usual timetable? Three days per week I work 8:00-14:30 at my home, and I take care of Pedro on the afternoon, when his mother goes to work. Two days per week is 8:00-12:30 at my home, and 15:00-20:00 at my parents home. And that is more or less, as no day is the same that the other \ud83d\ude09 And now I go more to the parks!<\/p>\n<figure id=\"attachment_548\" aria-describedby=\"caption-attachment-548\" style=\"width: 225px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-park.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-548\" src=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-park-225x300.jpg\" alt=\"Pedro playing on a park\" width=\"225\" height=\"300\" srcset=\"https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-park-225x300.jpg 225w, https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-park.jpg 480w\" sizes=\"auto, (max-width: 225px) 85vw, 225px\" \/><\/a><figcaption id=\"caption-attachment-548\" class=\"wp-caption-text\">Pedro playing on a park<\/figcaption><\/figure>\n<p>There were other changes. For example switched from being one of the usual suspects at <a href=\"https:\/\/www.google.es\/maps\/place\/Igalia\/@43.3460702,-8.4117203,17z\/data=!4m12!1m6!3m5!1s0xd2e7cbd0d88c7c7:0xb76166cb691fbb4f!2sIgalia!8m2!3d43.3460663!4d-8.4095316!3m4!1s0xd2e7cbd0d88c7c7:0xb76166cb691fbb4f!8m2!3d43.3460663!4d-8.4095316\">Igalia office<\/a> to start to work mostly from home. In any case the experience is totally worthing, and it is incredible how fast the time passed. Pedro is one year old already!<\/p>\n<figure id=\"attachment_547\" aria-describedby=\"caption-attachment-547\" style=\"width: 200px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-year-one.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-547 size-medium\" src=\"http:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-year-one-200x300.jpg\" width=\"200\" height=\"300\" srcset=\"https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-year-one-200x300.jpg 200w, https:\/\/blogs.igalia.com\/apinheiro\/files\/2016\/07\/pedro-year-one.jpg 480w\" sizes=\"auto, (max-width: 200px) 85vw, 200px\" \/><\/a><figcaption id=\"caption-attachment-547\" class=\"wp-caption-text\">Pedro destroying his birthday cake<\/figcaption><\/figure>\n<h6>Mesa tasks<\/h6>\n<p>I almost forgot that this blog post started to talk about my work on Mesa. So many photos! During this year, I have participated (although not alone, specially on spec implementations) in the following tasks (and except last one, in chronological order):<\/p>\n<ul>\n<li><a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=89580\">Implement a NIR -&gt; vec4 pass on i965<\/a>: a really good task to start get used to NIR, as we had as reference the IR to vec4 pass, and the NIR to fs pass.<\/li>\n<li>Work on optimize the NIR-vec4 pass, focusing on instruction count, using shader-db as guide. I wrote two posts (<a href=\"https:\/\/blogs.igalia.com\/apinheiro\/2015\/09\/14\/optimizing-shader-assembly-instruction-on-mesa-using-shader-db\/\">one<\/a> and <a href=\"https:\/\/blogs.igalia.com\/apinheiro\/2015\/09\/18\/optimizing-shader-assembly-instruction-on-mesa-using-shader-db-ii\/\">two<\/a>) about this work.<\/li>\n<li><a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=92687\"><span id=\"summary_container\"><span id=\"short_desc_nonedit_display\">Add support for ARB_internalformat_query2<\/span><\/span><\/a>: this included the general Mesa support, and the specifics about the i965 driver. Having said so, after this work all Mesa drivers got a default implementation for this extension.<\/li>\n<li><a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=94442\"><span id=\"summary_container\"><span id=\"short_desc_nonedit_display\">Add ARB_vertex_attrib_64bit support for the i965 backen<\/span><\/span>d<\/a>: although the support for Broadwell and Skylake already landed, it is worth to note that most of my patches for this task are for Haswell, that is on hold because the fp64 support for that GPU needed to be re-implemented. This reimplementation <a href=\"https:\/\/lists.freedesktop.org\/archives\/mesa-dev\/2016-July\/123685.html\">was sent to review recently<\/a>.<\/li>\n<li>Bugfixing: between &#8220;big tasks&#8221; I went to bugzilla in order to work on any of the open bugs. The only one worth to be mentioned explicitly is <a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=94129\">&#8220;<span id=\"summary_container\"><span id=\"short_desc_nonedit_display\">Mesa&#8217;s compiler should warn about undefined values<\/span><\/span>&#8220;<\/a>. Working on that bug lead to <a href=\"https:\/\/blogs.igalia.com\/apinheiro\/2016\/06\/02\/introducing-mesa-intermediate-representations-on-intel-drivers-with-a-practical-example\/\">this blog post<\/a>.<\/li>\n<\/ul>\n<p>About which task I liked the most, I think that it was the work done on optimizing the NIR to vec4 pass. And not forget that the work done by Igalia to implement internalformat_query2 and vertex_attrib_64bit, plus the work done by Iago and Samuel with fp64, helped to <a href=\"https:\/\/twitter.com\/IanRomanick\/status\/732684762385551361\">get Mesa 12.0 exposing OpenGL 4.2 support on Broadwell and later.<\/a><\/p>\n<h6>What happens with accessibility?<\/h6>\n<p>Being working full time for the same project for a full year, plus learning how to parent, means that I didn&#8217;t have too much spare time for accessibility development. Having said so, I have been reviewing ATK patches, doing the ATK releases regularly and keeping an eye on the GNOME accessibility mailing lists, so I&#8217;m still around. And we have Joanmarie Diggs, also fellow igalian, still rocking on <a href=\"https:\/\/blog.grain-of-salt.com\/index.php\/2015\/09\/23\/new-in-orca-3-18-firefox-support-rewrite-and-mathml\/\">improving Orca<\/a>, <a href=\"https:\/\/twitter.com\/igalia\/status\/718352776057720832\">WebKitGTK<\/a> and <a href=\"https:\/\/twitter.com\/regocas\/status\/600590635129827328\">WAI-ARIA<\/a>.<\/p>\n<h6>Thanks<\/h6>\n<p>Finally, I\u2019d like to thank both Intel and Igalia for supporting my work on Mesa and i965 all this time. Specially on allowing me so flexible timetable, where the important is what you deliver, and not when you do the work, allowing me to enjoy parenthood. I also want to thanks the igalian colleagues I has been working during this year, Iago, Samuel, Ant\u00eda, Edu, Andr\u00e9s, and Juan, and all those at Intel who have been helping and reviewing my work during all this year, like Jason Ekstrand, Kenneth Graunke, Matt Turner and Francisco Jerez.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Changes During the last year and something, my work at Igalia was focused on the Intel i965 driver for Mesa, the open source OpenGL implementation. Iago and Samuel were working for some time, then joined Edu and Ant\u00eda, and then I joined myself, as the fifth igalian. One of the reasons I will always remember &hellip; <a href=\"https:\/\/blogs.igalia.com\/apinheiro\/2016\/07\/one-year-of-mesa\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;One year of Mesa&#8221;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4,9,13,21,15],"tags":[],"class_list":["post-541","post","type-post","status-publish","format-standard","hentry","category-a11y","category-atk","category-gnome","category-igalia","category-mesa","category-opengl"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/posts\/541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/comments?post=541"}],"version-history":[{"count":15,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/posts\/541\/revisions"}],"predecessor-version":[{"id":560,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/posts\/541\/revisions\/560"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/media?parent=541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/categories?post=541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/apinheiro\/wp-json\/wp\/v2\/tags?post=541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}