Find a file
Jason Ekstrand cc2a4ff880 anv: Fix coverage masks for VK_EXT_conservative_rasterization
Earlier, I just tried to copy what iris was doing and, as it turns out,
copied it wrong.  Also, Vulkan doesn't have a concept of getting the
conservative coverage in the shader.  The spec for SampleMask says:

    "Decorating a variable with the SampleMask built-in decoration will
    make any variable contain the coverage mask for the current fragment
    shader invocation."

And the spec for conservative rasterization says

    "When overestimate conservative rasterization is enabled, rather
    than evaluating coverage at individual sample locations, a
    determination is made of whether any portion of the pixel (including
    its edges and corners) is covered by the primitive. If any portion
    of the pixel is covered, then all bits of the coverage mask for the
    fragment corresponding to that pixel are enabled."

Putting these two together and you get what the Intel HW docs say for
ICMS_NORMAL:

    "Input Coverage masks based on inner conservatism and factors in
    SAMPLE_MASKs. If Pixel is conservatively fully covered all samples
    are enabled."

So I'm pretty sure based on this that the right thing to do here is to
ignore conservative rasterization and leave it set to ICMS_NORMAL
whenever we're not in the post-depth-coverage special case.

While we're here, fix the silly indentation.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4565
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: d5b56debde "anv: Implement VK_EXT_conservative_rasterization"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10017>
2021-04-04 17:39:32 +00:00
.gitlab/issue_templates gitlab: rename RADV bug report template 2021-04-01 10:02:39 +00:00
.gitlab-ci ci/bare-metal: no need to use tee 2021-04-03 18:56:13 +00:00
bin bin/gen_release_notes.py: more robust rST escaping 2021-04-01 19:53:03 +00:00
build-support configure: commit test files 2017-10-16 16:32:43 -07:00
docs features: mark off GL_OES_viewport_array for zink 2021-04-02 11:35:44 -04:00
doxygen doxygen: Plumb through gallium/ to automated documentation 2016-05-30 17:53:45 +01:00
include Remove Scons leftovers 2021-03-30 20:17:19 +00:00
src anv: Fix coverage masks for VK_EXT_conservative_rasterization 2021-04-04 17:39:32 +00:00
subprojects d3d12: Use DirectX-Headers wrap for d3d12.h 2020-12-16 16:25:54 +00:00
.dir-locals.el dir-locals.el: Adds White Space support 2016-11-14 19:17:49 +02:00
.editorconfig docs: fixup indentation 2020-01-18 11:39:32 +01:00
.gitignore intel/tools: Add unit tests for assembler 2019-05-07 14:33:48 -07:00
.gitlab-ci.yml ci: Uprev piglit to 6a4be9e9946d ("piglit: NOTE! Default branch is now main") 2021-04-02 18:42:04 +00:00
.mailmap .mailmap: fix email for Daniel Schürmann 2021-03-22 18:56:22 +00:00
.travis.yml scons: Remove. 2021-03-20 10:38:55 +00:00
Android.common.mk meson, util: Make zlib optional again 2021-03-19 19:33:59 +00:00
Android.mk meson/gallium: Add an option to not use LLVM for gallium draw module 2021-02-25 17:48:16 +00:00
CleanSpec.mk CleanSpec.mk: Remove HOST_OUT_release 2018-08-02 15:42:40 -06:00
meson.build wgl: Add unit test infrastructure for OpenGL32.dll on Windows 2021-04-01 16:19:41 +00:00
meson_options.txt intel: Add null hw layer 2021-03-25 19:10:03 +00:00
README.rst README: update references to internal docs 2020-06-13 10:42:01 +00:00
REVIEWERS scons: Remove. 2021-03-20 10:38:55 +00:00
VERSION VERSION: bump for 21.1.0 cycle 2021-01-13 09:46:19 -08:00

`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library
======================================================


Source
------

This repository lives at https://gitlab.freedesktop.org/mesa/mesa.
Other repositories are likely forks, and code found there is not supported.


Build & install
---------------

You can find more information in our documentation (`docs/install.rst
<https://mesa3d.org/install.html>`_), but the recommended way is to use
Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_):

.. code-block:: sh

  $ mkdir build
  $ cd build
  $ meson ..
  $ sudo ninja install


Support
-------

Many Mesa devs hang on IRC; if you're not sure which channel is
appropriate, you should ask your question on `Freenode's #dri-devel
<irc://chat.freenode.net#dri-devel>`_, someone will redirect you if
necessary.
Remember that not everyone is in the same timezone as you, so it might
take a while before someone qualified sees your question.
To figure out who you're talking to, or which nick to ping for your
question, check out `Who's Who on IRC
<https://dri.freedesktop.org/wiki/WhosWho/>`_.

The next best option is to ask your question in an email to the
mailing lists: `mesa-dev\@lists.freedesktop.org
<https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_


Bug reports
-----------

If you think something isn't working properly, please file a bug report
(`docs/bugs.rst <https://mesa3d.org/bugs.html>`_).


Contributing
------------

Contributions are welcome, and step-by-step instructions can be found in our
documentation (`docs/submittingpatches.rst
<https://mesa3d.org/submittingpatches.html>`_).

Note that Mesa uses gitlab for patches submission, review and discussions.