<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Color buffer"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93094">93094</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Color buffer
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Wayland
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>wayland
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>phizhed@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Create a simple X application, fill color to empty window, then change the
window size - the color is redrawn. Chaotic drive the cursor and see the CPU
load. The same situation with empty windows when using toolkits - frequent
redrawing.

I propose to create a wayland protocol extension, which you can get the colored
wl_buffer desired size and then work with him as with the original wl_buffer.
The compositor is anyway responsible for the rendering of client buffers and
nothing prevents to fill a buffer the color chosen by the client.

So, we have 5 full-screen clients who want to fill their surfaces is black
color. Assume that the screen resolution 1920x1080, format argb8888. Each
client will create a shared memory file is size 1920*1080*4 = 8294400 B ~= 8
MB. Because clients 5, the total cost 35 MB of memory.

However, using this protocol extension would expend a total memory of 8 MB. In
addition, the compositor can fill the buffer using a variety of optimizations -
the scope for compositor developers.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>