• Lionel Landwerlin's avatar
    anv: don't do partial resolve on layer > 0 · e2ae5f2f
    Lionel Landwerlin authored
    We've made the choice not to use fast clears on layer > 0 with
    multilayer images. This is partly because we would need to store
    multiple clear colors for each layer, making the existing memory
    layout, already including aux surfaces, fast clear color, image state,
    etc... even more complex.
    
    Partial resolves are the operations transfering the clear colors into
    the auxiliary buffers. This operation is currently implemented in
    Blorp by loading the clear color from the image's BO, into a shader
    that then samples from the auxiliary buffer and writes the color only
    if it isn't there already.
    
    The problem here is that because we store only one clear color for all
    layers and it is used for partial resolves. If you trigger a partial
    clear on a layer > 0, then you're likely to deal with a color that is
    not what you actually want. In the particular issues below, we have
    multiple layers, each cleared with a different color but the partial
    resolve just writes the wrong color into the auxiliary buffers for
    layers > 0.
    Signed-off-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108910
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108911
    Cc: mesa-stable@lists.freedesktop.org
    e2ae5f2f
Name
Last commit
Last update
..
blorp Loading commit data...
common Loading commit data...
compiler Loading commit data...
dev Loading commit data...
genxml Loading commit data...
isl Loading commit data...
tools Loading commit data...
vulkan Loading commit data...
Android.blorp.mk Loading commit data...
Android.common.mk Loading commit data...
Android.compiler.mk Loading commit data...
Android.dev.mk Loading commit data...
Android.genxml.mk Loading commit data...
Android.isl.mk Loading commit data...
Android.mk Loading commit data...
Android.vulkan.mk Loading commit data...
Makefile.am Loading commit data...
Makefile.blorp.am Loading commit data...
Makefile.common.am Loading commit data...
Makefile.compiler.am Loading commit data...
Makefile.dev.am Loading commit data...
Makefile.genxml.am Loading commit data...
Makefile.isl.am Loading commit data...
Makefile.sources Loading commit data...
Makefile.tools.am Loading commit data...
Makefile.vulkan.am Loading commit data...
meson.build Loading commit data...