[Mesa-dev] [PATCH 1/4] mesa: add support for nvidia conservative rasterization extensions

Ilia Mirkin imirkin at alum.mit.edu
Wed Mar 21 23:40:56 UTC 2018


On Wed, Mar 21, 2018 at 7:11 PM, pendingchaos <pendingchaos02 at gmail.com> wrote:
> Although the specs write it against compatibility GL 4.3 and allows core
> profile and GLES2+, it is exposed for GL 1.0+ and GLES1 and GLES2+.
> ---
>  src/mapi/glapi/gen/gl_API.xml           |  47 +++++++++++
>  src/mapi/glapi/gen/gl_genexec.py        |   1 +
>  src/mesa/Makefile.sources               |   2 +
>  src/mesa/main/attrib.c                  |  60 +++++++++++---
>  src/mesa/main/conservativeraster.c      | 138 ++++++++++++++++++++++++++++++++
>  src/mesa/main/conservativeraster.h      |  48 +++++++++++
>  src/mesa/main/context.c                 |  10 +++
>  src/mesa/main/dlist.c                   |  86 ++++++++++++++++++++
>  src/mesa/main/enable.c                  |  14 ++++
>  src/mesa/main/extensions_table.h        |   4 +
>  src/mesa/main/get.c                     |   3 +
>  src/mesa/main/get_hash_params.py        |  13 +++
>  src/mesa/main/mtypes.h                  |  29 ++++++-
>  src/mesa/main/tests/dispatch_sanity.cpp |  27 +++++++
>  src/mesa/main/viewport.c                |  57 +++++++++++++
>  src/mesa/main/viewport.h                |   6 ++
>  src/mesa/meson.build                    |   2 +
>  17 files changed, 535 insertions(+), 12 deletions(-)
>  create mode 100644 src/mesa/main/conservativeraster.c
>  create mode 100644 src/mesa/main/conservativeraster.h
>
> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
> index 38c1921047..0098e6e425 100644
> --- a/src/mapi/glapi/gen/gl_API.xml
> +++ b/src/mapi/glapi/gen/gl_API.xml
> @@ -12871,6 +12871,53 @@
>    <enum name="CONSERVATIVE_RASTERIZATION_INTEL" value="0x83FE"/>
>  </category>
>
> +<category name="GL_NV_conservative_raster" number="465">
> +    <enum name="CONSERVATIVE_RASTERIZATION_NV"       value="0x9346">
> +        <size name="Get" mode="get"/>
> +    </enum>
> +    <enum name="SUBPIXEL_PRECISION_BIAS_X_BITS_NV"   value="0x9347">
> +        <size name="Get" mode="get"/>
> +    </enum>
> +    <enum name="SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"   value="0x9348">
> +        <size name="Get" mode="get"/>
> +    </enum>
> +    <enum name="MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV" value="0x9349">
> +        <size name="Get" mode="get"/>
> +    </enum>
> +    <function name="SubpixelPrecisionBiasNV" es1="1.0" es2="2.0" no_error="true">
> +    <param name="xbits" type="GLuint"/>
> +    <param name="ybits" type="GLuint"/>

Indent, both here and below (i.e. param should be indented by 1).

Not 100% sure I remember what no_error="true" means, but IIRC it means
there's separate dispatch in a no-error context. Doesn't seem
worthwhile here (and I don't think you added the _no_error variants of
the functions).

  -ilia


More information about the mesa-dev mailing list