The next item of business is a member's business debate on motion 1496, in the name of Angus MacDonald, on state of nature 2016 report. This debate will be concluded without any questions being put. Would those members who wish to speak in the debate please press the request-to-speak buttons now? I call on Angus MacDonald to open the debate around seven minutes, please, Mr MacDonald. First, how grateful I am to fellow members from across the chamber for supporting my motion, which has allowed the state of nature Scotland report to be debated in the chamber this evening. I am grateful to the minister for standing in for the cabinet secretary, who has been at COP 22 in Marrakesh as well. I felt that it was important to try to secure a debate in the chamber on this issue as the state of nature report features information critical to understanding the status of a natural environment, highlighting the state of biodiversity across eight different types of habitats found in Scotland. On the surface, the report is far from ideal. In the UK, overall, 56 per cent of 4,000 species in the UK declined between 1970 and 2013. That decline was 53 per cent between 2002 and 2013. In Scotland, 520 or 9 per cent of species are classified as at risk of extinction, and the report identifies the main threats to biodiversity as climate change, diminished management of farming, urbanisation and non-native invasive species. All together, those factors contribute to placing Scotland in the bottom quarter of the world for biodiversity in techness. Taking that into account is vital to recognise that measures must be taken to preserve and regrow what biodiversity we have. Good work is already going on, as we all know, so it is not through the lack of trying. The state of nature report also recognises measures that can be and have been taken to transform Scotland into a global leader in species conservation. It highlights the importance of well-planned, targeted and adequately resourced conservation action and of collaboration between the Scottish Government, NGOs and local land managers, to name just a few. There are examples all across Scotland of groups that implement actions to substantially improve biodiversity, and I am pleased to say that there are a number of examples from my constituency in Falkirk East, which involves volunteers from across Falkirk district. Communities along the Karan Association or CATCA, as they are known locally, are a group comprising mainly of volunteers committed to the regeneration of the river Karan, the communities that run along the river and the land adjacent to it. Set up in 2010, CATCA, along with several other partners and stakeholders including SNH, Falkirk Council, Central Scotland Green Network and the Scottish Government Climate Challenge Fund, have embarked on a programme of environmental improvement projects involving schools, community groups, marginalised groups and unemployed adults with various health-related issues, which include the clearing of litter and log jams to allow the river to flow freely and increase the chances of wildlife repopulating. The improvement of past networks along the river Karan corridor for access and recreation and biodiversity projects, all of which are vital to the environment of this important area. Building partnerships with those agencies to allow people who are unemployed to gain skills and experience through this work in order to get themselves back on their feet and increase their employability is important and demonstrates that our natural landscape not only supports wildlife but it supports jobs and economic development, too. Projects such as this one with CATCA, the Scottish Government and other relevant parties, are central to sustaining our extensive natural resources and our economy. In my constituency, we also have the Scottish Wildlife Trust's Jupiter Wildlife Park, which sits cheek by joil with the agrochemical and petrochemical industries in the heart of Grangemouth. It has been a tremendous success and celebrates its 25th birthday or anniversary next May. In the past two months alone, it has attracted 15 secondary school visits and often has events for children in the summer, which are so popular that they are fully booked with waiting lists. In fact, the minister will recall that the Scottish Government was so impressed with the work that was going on at Jupiter that, in his previous role as environment minister, he launched the Scottish Biodiversity Strategy in the summer of 2013, along with children from Grangemouth's Sacred Heart primary school. If the minister would not mind passing on an invitation to the cabinet secretary while she is reclimatising following her visit to Marrakesh, I and the Scottish Wildlife Trust would be delighted if she could join us in Grangemouth in May to celebrate the 25th anniversary of the Jupiter Wildlife Park. Then, of course, there is the Inner Forth Landscape Initiative, which is an exciting programme of work that is conserving, enhancing and celebrating the unique landscape and heritage of the upper reaches of the first of fourth, with 50 discrete but interrelated projects taking place around the Inner Forth area. Further afield, at least from my constituency, an example given within the State of Nature report is the actions taken by the RSPB to realign the coast of Nigbae. Nigbae lost over 35 per cent of salt marsh and mud flats between 1946 and 97, and the RSPB pioneered a project in 2003 to rectify that by reconnecting medet marsh with the sea for the first time since the 1950s. Within a year, several species of salt marsh plants and mud dwelling invertebrates had recolonised the newly reformed salt marsh, and by 2011 the marsh had been completely transformed into its original state of salt marsh and intertidal mud flats. That project is just one instance of where focused action can have a significant positive impact on biodiversity for a range of Scottish wildlife. In order to build on actions like those taken at Nigbae, we must all work together, along with the Scottish Government, NGOs and local volunteers, to see widespread change across our country, not just in isolated areas. Kenneth Gibson, stand up, please. I have been absolutely fascinated by what is happening in your constituency. Mr Gibson, your microphone is not on. Have you got your card in? It is, indeed. Give it a wee dunt. There you go. High tech. Apologies. Thank you for accepting the intervention. I have been fascinated by hearing what you have been saying about your constituency. I am sure that you will be aware that in this week's new scientist indicates that, globally, our nature is reducing by 2 per cent a year, and two thirds of all wildlife has died off over the past 40 years as a global extinction that we are facing. What can Scotland do not just locally but globally to lead the fight back for nature in order to restore some of the environment that our species has destroyed in recent years? I have not seen the new scientist report, but I will try to catch it later and get back to the member once I have had a good read of it. The report presents a number of warnings about Scotland's biodiversity, but it is important to note that it is not a hopeless case. It is still possible for Scotland to become a world leader in biodiversity and environmental protection, which addresses the point that you raised. The Scottish Government clearly recognises the importance of taking these actions, and has the 2020 route map lined out to improve biodiversity and to connect Scots with their natural heritage. That is a commitment to ensuring that the environment works together with the economy to maximise the benefits to Scotland in a sustainable way. If we are to see this plan come to fruition, however, we must act and safeguard vital funding to protect our wildlife and that we all work together to best utilise our collective talents and efforts. If action is not taken, we can see wildlife that improves the quality of our lives and our posterity to become extinct. I am well aware that I am running out of time, so, in conclusion, Scotland's biodiversity must be made a top priority. It is too valuable to act otherwise. Not only does our natural environment help to sustain 14 per cent of Scotland's jobs, but it also provides other benefits, such as cleaner air, cleaner water and local flood prevention. Protections for biodiversity go hand in hand to achieve that, and we must all do our part to work together to protect this valuable part of Scotland's natural history. I move to the open speeches. Speeches of around four minutes, please. Maurice Golden to be followed by Claudia Beamish. Thank you, Deputy Presiding Officer. I congratulate Angus MacDonald on securing this debate on the State of Nature 2016 report. The report should act as a wake-up call for Scotland, time and again. In this report, we see evidence of a decline in Scotland's biodiversity and natural heritage. We need to see leadership and a redoubling of efforts on the ground if we are to safeguard and enhance Scotland's wildlife. There is a lot to digest in this report, but one thing stands out above all others, and it makes for grim reading. Almost 10 per cent of Scotland's species are at risk of extinction. This is an alarming figure, and the detail of it is no less grim. 27 per cent of bird species were assessed as being at highest conservation risk and almost half showing long-term decline. 13 per cent of plant species are at risk of extinction, and more than half of all Scottish species studied have declined since 1970. On top of that, our native woodland fares a little better, with native Caledonian forest covering barely more than 6 per cent of its original area. Summing it all up is Scotland's rating on the biodiversity intactness index. Of the 218 countries assessed, Scotland ranks 36th from bottom, placing Scotland in the bottom fifth of all countries. That simply isn't good enough. More attention needs to be given to protected areas that not only help in preserving our biodiversity but also deliver economic and social benefits. Yet despite that, a fifth of designated natural features remain in an unfavourable condition. The message is clear. Scotland is facing a biodiversity crisis. Actions must follow, which means ensuring that the necessary capacity and resources are in place to properly manage our natural environment. That is something that has not always been evident as we can see from the Biodiversity 2020 progress report. What do we do about it? Information is the key to tackling those problems. I noted with interest that the report mentions that the RSPB's ability to measure relevant data is better at a UK level, so agencies and Governments should work together to ensure the close co-operation and share resources where possible. In Scotland, specifically, a good step would be for SNH to look at developing a monitoring system to measure the impact that conservation has on designated features. Then we can benchmark sites as we work towards moving them to a more favourable condition. We must also look to the future and beyond the Biodiversity 2020 strategy. We cannot afford to be complacent. I agree with the RSPB when they call upon the Scottish Government to set out their sites on ambitious targets for Scotland up to 2030. We must all ensure that, when it comes to our natural heritage, Scotland's reach will always exceed its grasp. Claudia Beamish, followed by Graeme Dey. I offer my thanks to Angus MacDonald for raising such an interesting and important topic for debate tonight. I just give my apologies for having to leave after speaking this evening. I welcome the publication of the State of Nature 2016 report, continuing the assessment of our wildlife. Collaborative efforts like those demonstrate the value of knowledge sharing, and it is thanks to the partnership of the 50 UK-wide organisations that we have evidence and opportunity to accurately assess the gaps in which nature is being let down. The comprehensive piece of work reveals some deeply concerning figures, which I expect may surprise many people. The unhappy headlines are that Scotland is ranked in the lowest fifth of all countries analysed in the Biodiversity and Tackness Index, and almost one in 10 Scottish species are at risk of extinction. As MSPs, we speak proudly of the natural beauty of our regions. Over the summer, I was delighted to visit Glen Lude in the Borders and the Nethan Gorge in the Clyde valley, home to greenwood peckers, otters and badgers. Scotland's nature is a right that everyone should enjoy, and it is evident that collective efforts must be heightened to protect it. Evidence suggests that the Scottish Government's Routemac to 2020 is insufficient to deliver the ACI targets. It is a shame that the Scottish Government will not be able to attend the conference of parties on the Convention on Biological Diversity next month. I am interested to know what steps the Government has taken to report progress in Scotland towards those targets and how it intends to ensure that it is in a position to implement any agreements reached there. I have spoken before about the need to apply a marine perspective to discussions and debates on biodiversity, like today's. Along with Angus MacDonald, I recognise the RSPB's work at Nick Bay and elsewhere on this. Climate change and human activity are damaging and altering the distribution and composition of marine species, both under the water and those flying above it. Over the short term, the report states that 50 per cent of marine species have declined, but more optimistically, 50 per cent have increased. However, that is a complex picture, and Scottish she birds are globally important, but climate change and mismanagement has seen a serious decline in some species, including arctic turn numbers, plummeting by around 70 per cent. Migrating food supplies, non-native species and disturbed nesting and mating areas have all taken a toll on seabird colonies. The network of marine protected areas has been a progressive step towards sustainable Scottish seeds and should be celebrated. However, gaps remain, both in the charting of areas for protection and within the 2020 route map. Biodiversity thinking should not focus on MPA sites alone, in my view. It should be applied to the other 84 per cent of Scotland's seas. Furthermore, regional marine planning is crucial to enhancing as well as maintaining biodiversity in our seas and must be adequately resourced. Effective and co-operative management on land and sea will be central towards moving towards the Aki targets and an ambitious action plan for 2030. The changing climate is one of the greatest threats to our marine ecosystems, but conversely, our oceans are one of the greatest natural tools that we have to tackle global warming. Blue carbon refers to stocks of carbon sequestrated by marine habitats, in some cases keeping out of our atmosphere for thousands of years. I know that the minister has had involvement with that in a previous role, and I hope to see that being taken forward in the new low-carbon plan. Improving understanding of the phenomenon by developing an evidence-based and monitoring system will be significant in delivering our national and global climate change targets. Graham Day, followed by John Scott. As is customary, let me begin by congratulating my friend and environment committee colleague Angus MacDonald for bringing forward this debate. Just last week in this chamber, I led members' business on the rewatch of Scottish environment-linked species champions programme. It is harming a matter of days later to see Scotland's biodiversity once again being the subject of Parliament's attention, because the health and the balance of our natural environment is hugely important. That is why earlier this month the Environment, Climate Change and Land Reform Committee brought stakeholders together to consider just what progress has been made towards meeting our protection and restoration targets and where further action is required. We reflected on the content of the State of Nature 2016 report for Scotland, setting that alongside the findings of SNH's route map to 2020 progress report, and explored possible contradictions between the findings of the two. Since I got from the session, I suspect that committee colleagues would agree, is that while progress has been made, there is so much more to be done, both in terms of having a more complete set of indicators and addressing some specific threats. A lot from the committee will be winging its way to the cabinet secretary offering its thoughts on those matters. As convener, I would not want to pre-empt its content. There were, of course, however, a number of concerns identified by stakeholders, but amidst the concerns and issues highlighted, it was harming to hear that progress is being made in at least one area of real contention, that of Muirburn. Muirburn's possible merits and demerits is a fascinating subject, I promise you. One that maybe highlights another further complication in all of this, the absence of objective and comprehensive science to inform how we best take forward efforts to improve biodiversity and, in this particular case, sequestrate carbon. Such is my own interest in the subject. I recently spent a Saturday afternoon pouring over a series of scientific papers on the issue, illustrating, perhaps, as my children said, the rock and roll lifestyle of an MSP. I wanted to get a definitive sense of the benefits that are otherwise in carbon storage and biodiversity terms, but it was left little the wiser than when I embarked upon the process. I was pleased to hear stakeholders speaking positively about the opportunity that they have had through the Muirburn forum to feed into the restructuring of the Muirburn code, which, hopefully, will see us come to a way forward, which takes appropriately balanced account of peatland, soil, vegetation and avian biodiversity. We will only make the progress that we need to on biodiversity through genuine partnership working in all its forms. If we need evidence of that, we will need to look at the hugely welcome news last week that golden eagle numbers across Scotland are at almost historic levels, with a 15 per cent increase since 2003, taking us to an estimated 500 net pairs. Many across Government agencies, charities and, yes, the land management sector have played their part in that achievement, and we should pay tribute to their efforts. However, that study also threw up some very concerning findings. The absence of golden eagles in the eastern Cairn Gorms is an issue that simply cannot be ignored, especially given the previously identified disappearance of eight tagged birds in the general area. However, let me finish on an optimistic note. Yes, it is hugely concerning that of the 6,000 species studied by the State of Nature report, 504 are deemed to be at risk of becoming extinct. However, as it is noted in the RSPB briefing for this debate, I quote many inspiring examples of conservation action that is helping to turn the tide. With such active and effective wildlife organisations as we have here in Scotland, set alongside an environment committee that, within months of being established, has already been shining a light on the biodiversity issue and will continue to do so. A Cabinet Secretary who everyone acknowledges has a knowledge and a passion for our national natural environment. I think that we can and will make the progress that we without doubt need to. Of course, running parallel to that, we look to the 59 MSPs who have signed up as species champions to play their part also. John Scott, followed by David Stewart. May I begin by declaring an interest as a farmer, a food producer and, given Graham Dazell speech, a mure burner of past as well and refer members to my register of interests? I congratulate Angus MacDonald on securing this debate. Our precious environment has been most shaped in recent times, firstly by the last ice age and then by man in more recent times. What we regard as our unique and identifiably Scottish landscape is massively the product of geology, latitude and proximity to the Atlantic, prevailing winds and climate change. Man's influence has always been secondary and will remain so, but that does not mean that it is unimportant. In recent times, since the Second World War, which we were nearly starved out of by German U-boats, the drive in the United Kingdom and Scotland was to massively increase food production. Never again should we allow ourselves to become so vulnerable and dependent on importing food, and so the dash to increase food production defined our post-war efforts in relation to our land through the 1950s, 60s and 70s until 1983, with butter mountains and milk lakes emerging across Europe, the dash for food production came to a grinding halt. Since 1983, support mechanisms have concentrated more on environmental objectives and less on food production, and rightly so. Hedges are no longer ripped out, peat bogs are no longer drained, as other considerations take precedence, that of restoring, repairing and enhancing at least some of the habitat that is damaged in the dash for food production. Of course, arguments will continue about food security, because both Scotland and the United Kingdom are still far short of self-sufficiency. In terms of food production, as for the last 40 years, our food production and environmental objectives have been driven by a collective European view, a position, though, which is about to change dramatically. So land use goals in the UK and Scotland could change again in the medium to long term here in the UK, but that is a debate for another day. Maintain, we must focus on continuing to enhance and rebuild habitats. We must note that our Biodiversity and Tachness index, which is highlighted in the State of Nature report in Scotland, is 81 per cent, which puts us in Scotland 36 from the bottom of a list of 218 countries that have been evaluated. In other words, we are on the bottom fifth of this global index, as Maurice Golden has said, not a good place to be. We have lost 44 per cent of Scotland's blanket peat bog. Broadleafed and mixed woodland has fallen by 23 and 37 per cent respectively, and natural and semi-natural grasslands cover less than 1 per cent of our land area. Those and other factors have led, as others have said, to 9 per cent of our species being at risk, which puts 18 per cent of butterflies, 15 per cent of dragonflies, and 12 per cent of our mosses, hornwats and liverwats being at risk of extinction here in Scotland. Redlisted species in recent times include the curlew, and ddotryl, as well as the kitty-weight and puffin. On the plus side, overwintering wild goose populations have more than treble since 1990, which brings its own problems for affected farmers, yet wader populations have declined by 50 per cent. However, seabirds, too, have generally declined by 38 per cent since monitoring began in 1986. What has to be done? I think that we are pursuing the right course of action, as the report suggests. We just need to do more of it. Species numbers have always risen and fallen in our land and marine environment, with extinction of species taking place long before man's influence. Of course, if we could maintain and support all of our existing species worldwide, that would be welcomed, but it would also deny the existence of the evolutionary process. So, at its simplest, we must limit where we can man's destructive influence on our different habitats, restore our replenish when we can and encourage the custodians of our seas and our landscapes of whom I am one to do the right thing where possible. I am therefore delighted to have taken part in this debate today and support Angus MacDonald's motion. David Stewart, to be followed by Mark Ruskell. Thank you, Presiding Officer. I also congratulate Angus MacDonald for securing today's debate. The State of Nature report for Scotland is, of course, significant and comprehensive piece of research by 50 leading wildlife organisations. The UK 2013 report was, of course, groundbreaking, followed up in 2016 with a more in-depth look, including a breakdown across the home nations, meaning that we can begin to understand even more about the current state of our nature. However, as substantial as this document is, what it has to say is, of course, a great wake-up call. More than half of Scottish species has declined since the 1970s, 520 species in Scotland are at risk of extinction and another 6,000, as we have heard, remain on the red list for at risk. Climate change has already had a severely damaging effect on our native species and biodiversity. Changing climates have disrupted, mating pattern, hibernation and adaptation lean to decline in population. Changing and intensifying land management and land use has led to much decline in damage of biodiversity. As the species champion of the Great Yellow Bumblebee, I spoke only last week about how intensification of farming and grazing and the decline in traditional crofting practices has meant that the species that used to be found across the whole of the UK is now found on a few of the Scottish islands, with a tiny population on the North Highland mainland. However, it is not just about declining species. More broadly, Scotland is ranked again as we have heard in the lowest fifth of countries for a biodiversity and tackness index. Our ecosystems have fallen below the point at which they can reliably meet society's needs. The maintenance and restoration of our ecosystem is vital to help the decline to support our flora, fauna and human population, but also to balance our carbon budget and enable Scotland to reach our greenhouse gas reduction targets. To do so, we need to do the following. Support the recovery of the species population, improve habitat quality and develop green corridors between fragmented areas of natural land. Creation of a national ecology network would go a long way towards improving the condition of our natural environment. Small-scale changes could be urban green roofs, where tree-lined streets and more grass left for wildflowers, to big changes like the incredibly vital restoration of peatlands, again as we have heard, and an increase in protected areas. We need to put the same amount of effort into our green planning as we do into our grey planning. Green colliders would mean increasing isolated, semi-natural landscapes, and the species that live in them could be connected, cultivating a highway for wildlife to travel and increasing resilience to climate change. The truth is that we already know how to restore and support our biodiversity and ecosystems. We also know what the main threats are. We need to ensure that the policy, regulation and firm decisive action is taken to prioritise the health of our natural environment. That is urgent. The state-of-nature report focuses mainly on the recent and on-going issues, but the sad truth, Presiding Officer, is that the damage has begun on for years, indeed, decades. Our nation is much poorer in nature. As many have said in the past, we do not own the environment, we keep it in trust for our children. The report has started at a baseline that already shows how much damage has been done. The Scottish Government has international commitment to halt the decline of our environment under the convention of the consultation of biological diversity. The report, Scotland's biodiversity, a route match to 2020, runs out in three years. We have to look at the bigger, longer picture. That will not be resolved overnight. In the words of Barack Obama, our generation may not live to see the fullisation of what we do here, but the knowledge that the next generation will be better off for what we do here. Can you imagine that we are more worthy, reward than that? It seems odd that, despite knowing how important care for environment is, we seem as a society to be reluctant to implement and take it forward. We have the knowledge, we have the tools, we need this Government and this Parliament to deliver. The last of the open speeches is Matt Ruskell. I join members in thanking Angus MacDonald for bringing forward this important debate. I congratulate over 50 organisations who have collaborated to produce this timely report, including the staggering figure that it took over 7.5 million hours of volunteer time to produce the data.  The intrinsic value of our nature is truly beyond measure, and we should never deny future generations the opportunity to witness the miracles of this garden planet. What is also clear is that the future of our human society is inextricably linked to the health of the natural world. The environment provides us in Scotland with free services worth around £20 billion a year, services to our economy, because without pollinators there is no agriculture, without peat bogs forests and wetlands there is no carbon storage, healthy habitats keep our air clean and our water stored in the landscape. Our natural backbone faces major threats in Scotland from climate change, habitat fragmentation, unsustainable grazing, diffuse pollution, polylocated developments, invasive non-native species and unsustainably managed marine resources and land management practices. However, when we think about the twin global threats that we face of climate change and biodiversity loss, it is clear that we have a monumental opportunity to rethink our exploitative relationship with nature. We can think in new ways that connect us back to the limits of the planet we live in, while recognising that a diverse, healthy environment holds carbon and cushions us all from the environmental shocks far better than a degraded one. To start this transformation, we need a better understanding of the health of nature, so a comprehensive set of ecosystem health indicators would give us the dashboard to understand the state of not just protected species but the wider environment. For example, soil erosion is an indicator on that dashboard that is clearly entering the red zone. Soil erosion undermines our ability to store carbon and to support soil biodiversity, but it also undermines our variability as a society to maintain our food production in a way that can resist the extremes of climate and weather. Farms can and should also provide some of the connecting habitats for our national ecological network, which Dave Stewart has already mentioned, allowing species to move freely across landscapes along nature's highways, adapting to changing climates and also sustaining the genetic health of their populations. We already have the central Scotland green network identified in the national planning framework as a key infrastructure priority. It is now time to expand that approach because ecological networks can do more than create space for nature. They can help to connect our urban spaces with the surrounding countryside. When green spaces are part of our urban environment, they bring all the benefits for our mental and physical health, creating spaces for reflection, walking the dog, or teaching a child to ride a bike. While they also define our local landscapes and our sense of place in so many of our communities, that is perhaps why loss of green belt is such a defining environmental issue in so many communities in Scotland today. Around Stirling where I live, green belt campaigns dominate concerns. Whether it is the campaign to prevent quarrying on the much-loved Gillies hill, Graham's Dairy's persistent attempts to build on the iconic earthy curse, to the duty Murray-fronted executive housing development at Park of Kear. Communities have been fighting green belt battles in some cases for generations to protect the integrity of their places. Councils have reflected those concerns in democratically agreed local development plans. When ecological networks such as the CSGN are reflected in those plans, they should be a hard backstop against inappropriate development. However, until our green belt and ecological networks are given the status that a national infrastructure priority should afford them in the planning system, we will always see the value of capital receipts triumph over placemaking, particularly when developments come to appeal. Let us ask the question, what can we do for nature, but also ask the question, what can nature do for us? In answering that, we may find a way forward to halt biodiversity loss, make our place as resilient to climate change and reconnect us to nature. I now invite Paul Wheelhouse to wind up this debate around seven minutes, please minister. Thank you. I congratulate Angus MacDonald on securing this debate and thank all members for their excellent and thoughtful contributions. It has been a welcome opportunity for us to debate Scotland's biodiversity and to consider the overall health of our natural environment. I do remember well launching the biodiversity strategy with Angus MacDonald at the Jupiter Centre. It is a wonderful oasis of wildlife within an otherwise industrial landscape, so I will certainly recommend that Roseanna Cunningham visits in her capacity as cabinet secretary. I am pleased to be able to contribute to this debate on behalf of the cabinet secretary who members have noted is unable to attend this debate just now. However, climate change is of course a real and present threat to biodiversity. As a number of members have mentioned today, an issue that this Scottish Government recognises is a real and pressing challenge. That is why we are making every effort to tackle climate change, the decarbonisation of energy being just one example of the difference that we can make. It is important that other ministers, including the cabinet secretary, play their role in supporting biodiversity in Scotland and clearly through the energy portfolio. I hope to do that. Claudia Beamish mentioned the positive work of the NPAs, the marine protected areas and marine planning. However, without action on climate change, we will not achieve our goals in biodiversity. I will cite one example, an article from December of 2015, in The Guardian, about the decline in seabirds in St Kilda, particularly Cittywakes and Puffins. Dr Paul Walton, who many may know, pointed out that data from St Kilda is really extremely worrying. We are losing whole colonies of those birds now and it is a very serious issue. Frankly, it breaks my heart. It really does. He goes on to say that there is a very strong climate change link here that needs to go straight to Paris. What they decide there is going to determine in the future of our seabirds, we are clear on what the science is saying, that really big ecology effects of climate change are unfolding in the marine environment around Scotland right now. It is coming, it is here now. I think that he is absolutely right to highlight that we are seeing the impacts of climate change. That is why it is so important that we maintain our commitment to Paris agreement and indeed I hope that we are doing our bit in Scotland. Dave Stewart and Mark Ruskell have mentioned green corridors. I certainly recognise the point in terms of helping species to adapt to climate change, to move to new areas to escape the effects of climate change in effect. That is very important and I am sure that the cabinet secretary will note the remarks about the importance of ecological network. Like Angus MacDonald and Mark Ruskell, I am also very grateful to the consortium of conservation and research organisations who have come together to share their knowledge and expertise in preparation of the state of nature report 2016. The report highlighted the successes that we have made and some of the challenges ahead. Scotland's natural heritage is celebrated across the world. Here in this part of the globe we are fortunate to have some stunning species and habitats and who can fail to be moved by the agility of an arctic skewia or either hen harrier or wonder at the beauty of the macher in full bloom. However, the debate is often characterised by a focus on the more charismatic larger species of fauna. It has been actually very helpful today to hear a number of members talking about the wider ecosystem impacts on biodiversity as well. We must be careful not only to think in terms of Scotland's iconic species. The health of the wider ecosystem is also of crucial importance. Without the complex colonies of plants, marine ecosystems, bryophytes and fungi, we would not have many of those iconic species in place, and all biodiversity is, of course, important. If we look at ecosystem services, the point that I think Mark Ruskell was referring to, we know that green prescriptions can be, in many cases, far more effective than conventional therapies. Of course, as Angus MacDonald put it, action and biodiversity is essential to prevent species and habitat loss entirely, and I think that in its own right that is an aim that we should all aim to achieve. Nature-based tourism is estimated to account for as much as 40 per cent of tourism spending in Scotland, so it is also very good for the economy. However, like some of the members here today, and I am indeed focusing on what Graeme Dey had last week on species champions, I am also concerned that there is a decline in some of Scotland's iconic species, too. This Scottish Government is determined that we will tackle the issue of biodiversity loss, and that is why we are committed to delivering the goals of the UN Convention of Biodiversity, as expressed in the HE targets to 2020. This international obligation underpins both the Scottish Biodiversity strategy and the route map to 2020. Claudia Beamish is unable to hear this, but I just want to outline some of the steps that we are taking to achieve the HE targets. The route map sets out the actions needed to meet those international obligations, and in September Scottish Natural Heritage published two progress reports. The first of those reports detailed the work that is underway on the actions in the route map, and nearly 80 per cent of those actions are on track to achieve or exceed their targets by 2020. The second report assesses whether Scotland is on track to meet the HE targets 2020. I am pleased to say that good progress is being made towards meeting our international obligations, although further data is awaited in order to properly assess some of the targets. I am also pleased to see that Scotland is again at the forefront of shouldering responsibility by being the only devolved administration to have yet begun to directly assess our country's progress towards meeting the HE targets. Of course, there are areas that require more work, and we have acknowledged that. One of the reasons why we commissioned the work from SNH is to give us a clear picture of the issues that require further attention or increased effort, and Maurice Golden touched on a number of concerns that he had in that respect. However, we understand that there is more work to do in some areas, and we are focusing on that challenge. I know that some, including Graham Day, have commented that there appears to be a disparity between the state of nature report and the SNH progress reports. We need to be clear that those reports are showing two different things, and I know that Graham Day is aware of that. My understanding is that the state of nature report provides us with a snapshot of the current situation set against the historical background, and in some cases, as members have said, comparing the situation now with the 1970s. There is considerable value in that type of approach, because it shows us the extent to which we are making progress or not against the historical context. I certainly noted the point that Graham Day referred to the report going to the cabinet secretary on the issue from the committee. However, the SNH progress reports are looking forward and estimating our progress towards the 2020 targets and goals that I referred to a few moments ago. The SNH reports provide an estimate of Scotland's position in 2020, and that is a very different thing. We need to be careful not to compare apples and pears. Early next year, we will be laying before this Parliament the fourth report detailing progress on the implementation of the Scottish Biodiversity Strategy. Reporting will cover the period from 2014 to 2016, and is a requirement of the Nature Conservation Scotland Act 2004. The previous report to Parliament identified ideas for further action and led to the Scottish Government and key delivery partners, including many of those organisations that have developed the state of nature report, working together to develop the route map and hope that similar collaborative effort will accompany the next stage of delivery for biodiversity. We have heard in the chamber today about a range of biodiversity matters, and I am pleased to see the enthusiasm and commitment of my colleagues across the chamber. We all have a part to play in delivering more for biodiversity. I would like to highlight the contribution that has been made by many of our land managers, as John Scott has done towards protecting and enhancing biodiversity in a world in which we require ever-increased intensity of agricultural production as well. For example, around 40 per cent of our farmland is managed under a high-nature value farming system, including crofting that Dave Stewart referred to, and many farmers in other areas of Scotland are benefiting biodiversity by participating in the agri-environment climate scheme. It is easy to focus on the negative and to ignore that we have made enormous progress for biodiversity in Scotland. I am a glass half-roll kind of person and I think we need to celebrate success and use that to motivate us all to achieve more. There were some good examples raised by Graham Day in relation to work on conservation of golden eagles and indeed changes in terms of mureburn practices. There is good work going on. We just need to do more of that to engage our energies collectively to achieve more for Scotland's biodiversity. In conclusion, we have a long and successful history of partnership working in Scotland. Indeed, we rely on many of our NGO partners to help us to deliver the route map actions and, indeed, we depend on land managers as well to help to facilitate that. Scotland has a wonderful natural heritage. It is a source of great national pride. It is also a source of natural capital for our economy, and biodiversity supports much of our food and drink industry, as John Scott referred to. It generates significant income from tourism, underpins our image abroad and some say that it actually defines our image abroad in many ways. Scotland is a breathtaking in its beauty, it is extraordinary in its complexity and it is singular in its importance to the people of Scotland's biodiversity. I urge you to support the work under way to deliver against the 2020 targets. I call on those who can make a difference for biodiversity to do just that, but it is clear from the sentiment around the chamber that we have a strong group of very committed members in this chamber trying to help support nature conservation. I very much welcome that. Thank you very much.


Yeah, so I'm here to talk today about how we've spent the last year or so building a brand new compiler inside of our OpenGL libraries. This comes as a bit of a surprise to a lot of people. They didn't know that OpenGL actually involved compiling. But it's actually most of what we do these days. So GLSL is this C-like language. For 3D modeling, you have a collection of vertex data and a bunch of operations you want to do on it to translate it into space and rotate the arm of the model and all of this sort of stuff.  These operations on vectors you want to have programmable depending on what your application actually wants to do. You want to have some sort of fixed thing that says you can only translate and scale and rotate. So how this works is that the application actually hands a source string to the OpenGL library that consists of a small program to do these operations. It gets some data in at the top that you declare and it outputs vertex position, texture coordinates, all of those things. So that's the vertex transformation side. There's also the fragment shading where once the graphics hardware has figured out where your triangle is on the screen, it actually calculates for each of these little pixels what all of your parameters were by interpolating them between the vertices.  So what does it look like? Here are some very, very simple programs. The sorts of things that our compiler used to be good at. So at the top left you see we have a matrix, 4 by 4 matrix with the model view projection that you multiply by the vertex position and you get the position in eye space, for example. At the bottom is a fragment shader for that where we just assign a constant color to it. On the right hand side we extend that a little bit, we add some texture coordinates in. So the vertex portion on the upper right instead does the model view projection still and passes through the texture coordinates as a two component vector. The bottom right we show a sample program that does texturing where we take those texture coordinates, look it up in a rectangle texture and pull that out and set that to our color. These are all very simple. These are the sorts of things that we handled well before. But the problem is that these days programs look more like this. We need something a little bit better to handle giant reams of code that people throw at us. Before we had a compiler that looked at your code, made a syntax tree and dumped it right into the existing intermediate representation that the drivers consumed. But it turns out that now we need actual optimization and it's hard to do in that form. The good news is that a lot of compiler stuff is easy for us. Compiler techniques are extremely well known. When we started this project the first thing we did is we went and bought some textbooks. Also Lex and Yak handle a lot of the really irritating parts. We're very glad to have those. Another thing working in our favor is that these programs, even that nasty looking program there, they're really short. So we can throw almost arbitrary amounts of CPU effort at optimizing these programs and nobody's going to notice. The language has no idea of memory. There's no pointers that pointed anything. We don't have to worry about aliasing. There's just these vector data types. There are some downsides though. GPUs don't really look like CPUs. We always work on vectors pretty much. There are floats in the language but generally on most GPUs those floats are in a VEC4 register. We have write masks on these registers so you can update just one component of your register which makes a lot of optimization hard. Also GPUs don't have general flow control. So write masks are one of the big things that make GPU optimization different from the way that you do compilers for CPUs. In all of these optimization passes you want to know where did the value that I'm looking at come from. So you want to look up in the program and see where was it defined. Well, and that's easy for scalers. You look at the last thing that wrote to it. For a vector though where you can update one component such as this shader right here, what does that mean? I have a color that came from a texture and then I updated the red, green and blue with a mixture of some gray color because I wanted to desaturate. This shader actually came from GNOME shell and then I set my result to that. So if I wanted to copy propagation into my result where did the color come from? Was it the first instruction, the second instruction, or both? And it turns out that there's actually two different answers depending on how your GPU is built. The way that many GPUs are is called array of structures, AOS mode. And this is where those VEC4s are packed into your registers approximately like you would think where you have XYZW and you put it in the register. And that has that data dependency issue that I just mentioned where a portion of that register got updated in one instruction and the other portion came from the definition before that. There's also a structure of arrays mode where instead of packing all of your VEC4s in one register, you instead have four separate registers and one for each component. And then your register contains multiple program flows in each of its channels. This is really nice for those channel updates just before. Now each channel update is one instruction and all of your data dependencies are easy. It's look at what updated my X channel, look at what updated my Y channel. And yes, there is quite a mix of the graphics drivers we have. The 965 changed to doing SOA instead of AOS. NVIDIA recently as of the generation before the current one changed to SOA for both vertex and fragment processing. So our compiler needs to be able to do everything both ways. Other joys of working with GPUs, they don't have flow control. You can't jump or rather you can jump but it's going to break your program because when you have everything packed so that eight different program flows are running in my register, what happens when half of them decide to jump and half of them decide not to? It's not going to work. So as of about six years ago, there was no flow control at all. No jumps, no ifs, no loops, nothing. You got a straight through execution from top to bottom of your program. Unfortunately GL cell requires ifs and loops because that's actually how people want to program. So GPUs now can do that. They can do if statements where half of your fragments take one path and only update those components for one half and then you hit else and then you switch to updating the other half of your register for the other execution path. You still don't get jumps. So on older hardware such as the 915 that we were trying to support, this meant we didn't have flow control at all. So the way we ended up handling this is that we take all of the if block and say do a conditional move of the body of the if block depending on the if condition. So every instruction gets executed for all your fragments. Array access. Another thing that GLSL added that the GPUs are pretty bad at. I said that we don't have memory and pointers but we can declare a temporary that has a size and you can do array access on it. A lot of GPUs simply don't do this. The 915 doesn't, R200 doesn't do that, I don't think. And yet we have to support this. So we used a little trick again using conditional moves where you look at the array index that was chosen and for each element of the array if the array index is equal to that do the store. And yet on this hardware where we're doing horrible things like exploding all of our if statements into a bunch of conditional moves and splitting out our array access into a bunch of moves per element of the array. We also have limitations on instruction count. Back on the 915 we only had 64 math instructions that you could execute in your program. 32 texture instructions but they had to be ordered in a very specific way. The R200 was a little more lenient. 128 instructions. The next generation 256 instructions. They're really limiting. If you're bad at code gen, you're not going to be able to fit on the hardware. You're going to fall back to software at best. Or simply tell the user no your program is too big. I'm not going to do that for you. Which GLSL actually allows you to do. You can say failed linking. Unacceptable program. Try with something simpler. And on these instruction limited pieces of hardware, registers are also quite limited. We had on 915 16 temporary VEC4 registers. That's all the data you could work on at all. There's no memory access like I mentioned so I can't spill registers.  On Radeon, things were getting a little better. And even on the 965 where we have 128 registers, each of which is 8 floats. We still have a lot of issues with register allocation. Because with 128 floats almost all programs fit into that. So they didn't spend a whole lot of time on making the memory access path really fast. So if you ever do spill registers, for example, we had a bug that we hit in Lightsmark where an optimization led to register spilling. One shader out of 10 or so that are in use reduced overall performance 50% by register spilling. So register allocation is quite important to us.  OpenGL has very lax suggestions about how math should work. The actual text is approximately one part in 10 to the fifth. Please. So we can do almost arbitrary things to your math. Which is quite nice because often people will do things, you know, ask for one over one over X and we just say, well, take the X variable. Things where you multiply by a constant do a bunch of multiplies by variables and multiply by another constant. I can look at that and say, well, I'll just take your constant over here and move it over here in my expression tree and just constant fold them. And hard math things like the sign instruction, the sign function will just approximate those with a small polynomial and it'll take four instructions instead of 60. So we went and did all this. Mesa 7.9 released in the fall gave us GLSL support on 915 which had all these limitations. You know, it can't do flow control so we had to lower all of our loops and lower all of our if statements. It has limited register space. It has no ability to do array access and it actually does these things now. So a whole class of applications can run on this hardware that wasn't able to before. In Mesa 7.10 we added native code generation for the 965. With this we got major performance improvements. No longer were we merging our GLSL into this Mesa IR that was very hard to optimize and then trying to turn that IR into our actual native code. We actually worked directly from the GLSL IR, call into our GLSL compiler to do a bunch of optimization specific to our hardware and generate code out of that. Nexu is an open source first person shooter game that I've never actually played. I just run the demo all the time. Got 20% faster overall from all of this work. So, you know, I think this is showing the results that we can really speed up OpenGL with the new compiler work. From looking at a lot of programs with the new compiler output, we're getting pretty good looking assembly out the other end which used to never be the case. I'm hitting the point where I look at programs and I can't see a way to improve them obviously. We still have work to do on some programs. I was looking at some line applications the other day and realizing that I had never finished writing an optimization path for the mid-level IR that I thought I had done. So a lot of work to do and optimization still and a lot of room for people to jump in and work on optimization. It turns out that this stuff is not really hard. You can look at the output of your GPU and, you know, see the IR that was used to produce it and say, well, you know, there's this extra move here. Why is that? Can I come up with something that would fix that and go generate a pass to do that? Generally, there are optimization passes or about 200 to 500 lines of code. So they're, you know, weekend projects more or less. We still need native code gen for other GPUs. In 965, we've only done native code gen for half of it. The 915 has no native code gen yet. R200 doesn't have it. All of the gallium stuff still goes through the Mesa IR before hitting TGSI, before hitting your driver's IR, before hitting your actual hardware. So there's a lot of room for cutting a bunch of stuff out of our stack if we do a bit of work on our other drivers. And we still need native code gen for the CPU. Right now, if your hardware doesn't do vertex or fragment processing, we compile it into the Mesa IR and then we execute that Mesa IR with a CPU side interpreter. It's rather spectacularly slow generally on the seconds per frame order or minutes per frame. So we're looking at LLVM for that hopefully. There's some code to work from on the gallium side, but we think that it ought to be done a little differently. And the LLVM guys seem to agree with us. They said basically, don't emit SSE code at us, just emit vector code at us. And if we don't generate good SSE code, come talk to us please. I think that's about it. Any questions? We have a lot of time for questions, so hopefully there's a lot of them. I'm kind of new to shader languages. How much of this applies to GLES2? So the OpenGL Shading Language has many, many revisions. Right now Mesa supports 1.0, which is the GLES version, 1.1 and 1.2. We're in the midst of working on 1.3, which adds a bunch more features. So right now you can use the GLES 2.0 drivers that come out of Mesa, which implement the GLES Shading Language. Or you can use desktop GL with the desktop GL Shading Language. Or we've just added an extension recently where with your desktop GL you can use the ES Shading Language to offer a way for people to port applications. Notably this is really important for WebGL. WebGL uses the GLES Shading Language and yet they want to target people's desktop GL drivers. So with this extension they don't have to do a bunch of processing on your shader program to try to turn the string that they were handed into a string that fits into your language.  Has anybody been working on other shading languages for writing shaders? Everybody has all these requirements now. Dx is the obvious one to compare to. Really it's that the shading languages of the time are defined according to what the hardware of the time can do. They're generally not pushing the hardware. It's, oh look, the hardware can do this now. We can go implement that. But from an open source environment perspective we would really like people to be able to use the latest shading language even on their older hardware. For example WebGL on your 915. The 915 can't do general GLSL but it can do just about everything. So that's why we went to so much work trying to lower your programs into something that can actually execute on the hardware. Have you encountered any developer resistance you're wanting to do with the way with intermediate IRs? Yeah there has been a lot. So the problem is that we've built this new IR. This entire compiler was built in C++ which was a bit contentious within the team and outside of the team too. So the IR, the way you interact with it is in C++ and it's something that's very new and different from what we had before. The previous IR looked like assembly. It actually mapped very well to our fragment program which was built as this is what one generation of hardware can do. And you just write the assembly for that hardware and everybody else gets to try to implement somebody's hardware assembly on their other hardware. So the current IR that most drivers take in is that old our fragment program assembly. Now with our expression trees and conditional assignments and all of this stuff, things look quite different. And so that new IR hasn't been plumbed down into gallium drivers for example. Gallium takes our IR, turns it into Mesa IR, turns Mesa IR into TGSI so that TGSI can actually talk to the drivers. I think we should start to see more traction on getting this plumbed more directly into gallium hopefully. If I was to be interested in gallium I would need to see this IR down into the driver because writing driver code gen from the new IR is so much better than the old stuff. Notably it has things like types which the previous IR only had floating point vectors which you tried to store your integer value in. So there's a lot of things that are better now and we would need to get that plumbed in for that to be interesting. So you said that shader language is somewhat an artifact of the GPUs of the time. Are you trying to make this implementation likely to scale as new features hit hardware? So right now we're still playing catch up. We're on GLSL 1.20. GLSL 1.30 was released years ago. The current version is 4.10. So there have been four minor versions or more that we need to catch up with. So we can look ahead and see where things are going and we're trying to architect it so that things won't be too hard. But yeah, we don't really know that much of what's in the future. We haven't implemented what we need to do today yet. More questions. There's an open source graphics engine or game engine that I sort of follow and sort of maintain called Xreel. It's based on Quake 3 and it's sort of an OpenGL4 API that uses that. And I'm sort of not the main developer working on the renderer. He's a guy from Germany, but he found that he got a massive speed up when he wrote some extra code to pass the GLSL shaders and sort of break them up into multiple shaders. So where you have the if statements in the code, instead of leaving it to the driver to optimize that, he'd break it up into two different shaders, one to sort of handle either side of the path. And yeah, that got a massive speed up on ATI in particular. So is that sort of a technique you've looked at? Yeah, that is actually something that's been the case before. My demo that I've used for a bunch of benchmarking, I actually had a hack in there to remove my if statement that was designed to skip a whole bunch of code if you're entirely in shadow and not lit at all. Massive performance improvements originally from disabling my if statement. Now with the new compiler, disabling the if statement doesn't help anymore because we actually have good code gen at the back end that doesn't throw its hands in the air when it sees an if block. That's what we did before. It's like, oh no, a new basic block. I can't handle those in my optimization. Oh well. So things are much better these days. Hopefully that has changed. It would be nice to get some of those. We have a big problem in testing the compiler that we don't actually want to run every game in the world for every change. And when you actually run every game in the world, you have to watch the entire screen to see if some pixels are flickering over here. It would be nice if we could to get some of those shaders like out of Xreel into our test suite. Because then in addition to regression testing, we can actually run the shaders, look at the output, try to improve the performance of them and see if they still render the same thing. So I would love to talk about how to get that into the Piglet Test Suite if possible. Sorry, back to intermediate representations. If you're only looking for a half day project rather than a weekend project for all of those gallium drivers, I think it would be any point in trying to cut out just the one shader step, say cut out using MECIR and keep in TGSI. Would that just be a waste of effort later on? I'm not sure. Part of my avoidance of the gallium stuff is that if I wanted to change that intermediate representation that all the drivers accept, I don't know how that impacts all of the closed source products that are built on top of gallium. And I just don't want to deal with that because I don't have any drivers in gallium. But yes, I think there could be big wins for the gallium drivers from switching from generating GLSL IR to MESA IR to TGSI to going from GLSL IR directly to TGSI. Notably, as far as I know, TGSI has sizes on its variables, which means that array access doesn't necessarily break all of your optimization on your registers. These intermediate representations, the MESA IR and the TGSI generally operate on a sort of virtual machines register space. So they don't reflect your actual hardware. They're something else that you interpret. By having sizes on those temporary variables, you know when you have an array access that you're only accessing those and you can still do copy propagation and dead code elimination on the other instructions that don't access those variables. So yes, I think that could be a big win for Code Gen on Gallium. Something I see in my code is bad performance with if I'm trying to draw into different FBOs and I've got to switch model view matrices under the hood, that's binding four by four matrices into a uniform that become your model view and projection matrices on the shader side. Is there optimizations that I should be excited about that are going to make those uniforms better? So that actually is to a significant extent a hardware problem. For example, my hardware here can only have four outstanding constant buffer changes at a time in its pipeline. So if you're constantly changing your projection matrix doing a bit of drawing, it will end up bound up doing that with a bunch of its units sitting there idle because something is blocked waiting for somebody to finish with an old set of constants before a new set of constants and rendering can come in. A common way to deal with this problem is to just do the multiply for the model view projection on your own on the CPU side. It might be cheaper than handing it off to the GPU and having the GPU try to do those few multiplies, particularly if you're rendering just some small quads or something per state change. There's not a whole lot we can do at the compiler side to improve that because it really is a hardware limitation as far as I can tell. Any more questions? We have a time for another five or so. The next talk is not till 11.30. One more in the back. So how much of Misa do you think now has been directly contributed by Intel Devs? It's hard to say. So the compiler is about 50,000 lines of code at this point and then our driver is about 50,000 for 9.65. So the compiler we wrote mostly ourselves, the 9.65 driver at this point, I think we've changed most of the lines in it from when it was originally written. Our fragment program parsers written by us. It's hard to say. I haven't done the statistics on this, but I think it would be kind of fun to. But I am pretty excited to see all of the developments going on at Misa these days. We have teams working on Radeon and NVIDIA that are actually doing the driver side code generation infrastructure that we've needed for so long. We can't just take the incoming IR and generate the obvious code out of that.  So people are actually tackling that these days. And what I'm hoping is that we can start to pull some of those people to work on the mid-level IR for things that they were doing inside of their driver that can be done at the mid-level now. People were doing their own custom loop unrolling. People were doing their own custom array access lowering. All this stuff that really we can do at the mid-level now. Intel's got some new graphics hardware coming out with the new Sandy Bridge platform. Is this going to support that as well? Are you sort of being able to keep up with the new graphics hardware as it's coming out? So we actually were building the Sandy Bridge support in Mesa as we were building this compiler. The two projects were working in parallel all in the open. So people were testing Sandy Bridge before the hardware was released on, you know, pre-release SDVs right out of the Mesa tree. So I think things are going pretty well there in terms of new hardware support. For the code gen, there are some things that we're not quite taking advantage of yet. There's some new instructions that collapse other instructions. There's some new errata that we need to work around that we have somewhat inefficient workarounds right now. There's always errata in GPU hardware. All of it, you know, there's always a huge list of things you need to do to make it actually render correctly. And we just need to polish some of the new stuff. Do you have any issues when fixing bugs that result in a change in visual rendering way you get complaints, because now you're rendering correctly? I don't think I've seen that one yet.  And, oh, now the latest example was Civilization 4 started rendering wrong again. It's like, oh, no. We really need a lot more work on our shader test cases. We're up to something like a thousand rendering tests in our continuous regression test suite that all of us developers use on every change, but that's still not enough. It's hard to generate a lot of the big programs that are going to trigger bugs and optimization that you can render in a small demo program that will just print out a solid color that you can test easily. Coming up with those is really painful. That's something we definitely need to work on. It sounds like a relatively simple language. You could kind of do random code generation to throw at it to test what happens as well. We do that with SQL, and that's a brilliant way to crash things horribly.  Apparently it works shockingly well so far in the WebGL testing that they have today. But yes, we need some fuzzing because we're going to find so much, I'm sure. Questions? So you still say you need to do native code gen for the CPU. With the Larabee project, I guess that Cayman sort of went as not quite ready. Has any work been done? Was that because, I mean, they're pretty much general purpose CPUs. So which project? The Larabee project, which was Intel's Mini Core x86 that they were going to aim at sort of graphics rendering. Yeah, I'm not sure there would be anything out of them to take advantage of much, because, you know, their IR in their OpenGL library wouldn't match ours and their target instruction set wouldn't match ours. That said, somebody just joined our team from the Larabee project, so it's fun to talk to them about some of the similar problems they've faced, what we face in terms of things like when you go to access a texture, you're not going to get results for a very, very long time. You need to work on scheduling all of your instructions into that enormous delay slot you've got. So we've done some of that work recently. Any last questions? I'll assume we're all out of questions then.