On 08/08/2018 07:12 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.ol...@amd.com>
> 
> because the closed driver exposes it.
> 
> It's equivalent to ARB_gpu_shader_int64.
> In this patch, I did everything the same as we do for ARB_gpu_shader_int64.

The closed driver only exposes this on core profile?  That's unexpected.

Either way, this patch is

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

> ---
>  docs/relnotes/18.3.0.html                   |   1 +
>  src/compiler/glsl/builtin_functions.cpp     |   3 +-
>  src/compiler/glsl/builtin_types.cpp         |   3 +-
>  src/compiler/glsl/glsl_lexer.ll             |  18 +-
>  src/compiler/glsl/glsl_parser_extras.cpp    |   1 +
>  src/compiler/glsl/glsl_parser_extras.h      |   5 +-
>  src/mapi/glapi/gen/AMD_gpu_shader_int64.xml | 239 ++++++++++++++++++++
>  src/mapi/glapi/gen/gl_API.xml               |   2 +
>  src/mesa/main/extensions_table.h            |   1 +
>  9 files changed, 261 insertions(+), 12 deletions(-)
>  create mode 100644 src/mapi/glapi/gen/AMD_gpu_shader_int64.xml
> 
> diff --git a/docs/relnotes/18.3.0.html b/docs/relnotes/18.3.0.html
> index ac2cc1e893b..840a336d41a 100644
> --- a/docs/relnotes/18.3.0.html
> +++ b/docs/relnotes/18.3.0.html
> @@ -45,20 +45,21 @@ TBD.
>  
>  
>  <h2>New features</h2>
>  
>  <p>
>  Note: some of the new features are only available with certain drivers.
>  </p>
>  
>  <ul>
>  <li>GL_AMD_framebuffer_multisample_advanced on radeonsi.</li>
> +<li>GL_AMD_gpu_shader_int64 on i965, nvc0, radeonsi.</li>
>  <li>GL_EXT_window_rectangles on radeonsi.</li>
>  </ul>
>  
>  <h2>Bug fixes</h2>
>  
>  <ul>
>  <li>TBD</li>
>  </ul>
>  
>  <h2>Changes</h2>
> diff --git a/src/compiler/glsl/builtin_functions.cpp 
> b/src/compiler/glsl/builtin_functions.cpp
> index 7119903795f..e37d96c4636 100644
> --- a/src/compiler/glsl/builtin_functions.cpp
> +++ b/src/compiler/glsl/builtin_functions.cpp
> @@ -522,21 +522,22 @@ supports_arb_fragment_shader_interlock(const 
> _mesa_glsl_parse_state *state)
>  static bool
>  shader_clock(const _mesa_glsl_parse_state *state)
>  {
>     return state->ARB_shader_clock_enable;
>  }
>  
>  static bool
>  shader_clock_int64(const _mesa_glsl_parse_state *state)
>  {
>     return state->ARB_shader_clock_enable &&
> -          state->ARB_gpu_shader_int64_enable;
> +          (state->ARB_gpu_shader_int64_enable ||
> +           state->AMD_gpu_shader_int64_enable);
>  }
>  
>  static bool
>  shader_storage_buffer_object(const _mesa_glsl_parse_state *state)
>  {
>     return state->has_shader_storage_buffer_objects();
>  }
>  
>  static bool
>  shader_trinary_minmax(const _mesa_glsl_parse_state *state)
> diff --git a/src/compiler/glsl/builtin_types.cpp 
> b/src/compiler/glsl/builtin_types.cpp
> index 7a01cb48bc8..d2bcdd68138 100644
> --- a/src/compiler/glsl/builtin_types.cpp
> +++ b/src/compiler/glsl/builtin_types.cpp
> @@ -404,21 +404,22 @@ _mesa_glsl_initialize_types(struct 
> _mesa_glsl_parse_state *state)
>        add_type(symbols, glsl_type::dmat3_type);
>        add_type(symbols, glsl_type::dmat4_type);
>        add_type(symbols, glsl_type::dmat2x3_type);
>        add_type(symbols, glsl_type::dmat2x4_type);
>        add_type(symbols, glsl_type::dmat3x2_type);
>        add_type(symbols, glsl_type::dmat3x4_type);
>        add_type(symbols, glsl_type::dmat4x2_type);
>        add_type(symbols, glsl_type::dmat4x3_type);
>     }
>  
> -   if (state->ARB_gpu_shader_int64_enable) {
> +   if (state->ARB_gpu_shader_int64_enable ||
> +       state->AMD_gpu_shader_int64_enable) {
>        add_type(symbols, glsl_type::int64_t_type);
>        add_type(symbols, glsl_type::i64vec2_type);
>        add_type(symbols, glsl_type::i64vec3_type);
>        add_type(symbols, glsl_type::i64vec4_type);
>  
>        add_type(symbols, glsl_type::uint64_t_type);
>        add_type(symbols, glsl_type::u64vec2_type);
>        add_type(symbols, glsl_type::u64vec3_type);
>        add_type(symbols, glsl_type::u64vec4_type);
>     }
> diff --git a/src/compiler/glsl/glsl_lexer.ll b/src/compiler/glsl/glsl_lexer.ll
> index 87b64e09c16..74d4acca61f 100644
> --- a/src/compiler/glsl/glsl_lexer.ll
> +++ b/src/compiler/glsl/glsl_lexer.ll
> @@ -656,29 +656,29 @@ isampler2DRect  TYPE(140, 300, 140, 0, 
> glsl_type::isampler2DRect_type);
>  usampler2DRect       TYPE(140, 300, 140, 0, glsl_type::usampler2DRect_type);
>  isamplerBuffer       TYPE_WITH_ALT(140, 300, 140, 320, 
> yyextra->EXT_texture_buffer_enable || yyextra->OES_texture_buffer_enable, 
> glsl_type::isamplerBuffer_type);
>  usamplerBuffer       TYPE_WITH_ALT(140, 300, 140, 320, 
> yyextra->EXT_texture_buffer_enable || yyextra->OES_texture_buffer_enable, 
> glsl_type::usamplerBuffer_type);
>  
>      /* Additional reserved words in GLSL ES 3.00 */
>  resource     KEYWORD(420, 300, 0, 0, RESOURCE);
>  sample               KEYWORD_WITH_ALT(400, 300, 400, 320, 
> yyextra->ARB_gpu_shader5_enable || 
> yyextra->OES_shader_multisample_interpolation_enable, SAMPLE);
>  subroutine   KEYWORD_WITH_ALT(400, 300, 400, 0, 
> yyextra->ARB_shader_subroutine_enable, SUBROUTINE);
>  
>      /* Additional words for ARB_gpu_shader_int64 */
> -int64_t              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::int64_t_type);
> -i64vec2              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::i64vec2_type);
> -i64vec3              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::i64vec3_type);
> -i64vec4              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::i64vec4_type);
> -
> -uint64_t     TYPE_WITH_ALT(0, 0, 0, 0, yyextra->ARB_gpu_shader_int64_enable, 
> glsl_type::uint64_t_type);
> -u64vec2              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::u64vec2_type);
> -u64vec3              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::u64vec3_type);
> -u64vec4              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable, glsl_type::u64vec4_type);
> +int64_t              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::int64_t_type);
> +i64vec2              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::i64vec2_type);
> +i64vec3              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::i64vec3_type);
> +i64vec4              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::i64vec4_type);
> +
> +uint64_t     TYPE_WITH_ALT(0, 0, 0, 0, yyextra->ARB_gpu_shader_int64_enable 
> || yyextra->AMD_gpu_shader_int64_enable, glsl_type::uint64_t_type);
> +u64vec2              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::u64vec2_type);
> +u64vec3              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::u64vec3_type);
> +u64vec4              TYPE_WITH_ALT(0, 0, 0, 0, 
> yyextra->ARB_gpu_shader_int64_enable || yyextra->AMD_gpu_shader_int64_enable, 
> glsl_type::u64vec4_type);
>  
>  [_a-zA-Z][_a-zA-Z0-9]*       {
>                           struct _mesa_glsl_parse_state *state = yyextra;
>                           if (state->es_shader && yyleng > 1024) {
>                              _mesa_glsl_error(yylloc, state,
>                                               "Identifier `%s' exceeds 1024 
> characters",
>                                               yytext);
>                           }
>                           return classify_identifier(state, yytext, yyleng, 
> yylval);
>                       }
> diff --git a/src/compiler/glsl/glsl_parser_extras.cpp 
> b/src/compiler/glsl/glsl_parser_extras.cpp
> index 6d92f24ea22..a455dde122a 100644
> --- a/src/compiler/glsl/glsl_parser_extras.cpp
> +++ b/src/compiler/glsl/glsl_parser_extras.cpp
> @@ -691,20 +691,21 @@ static const _mesa_glsl_extension 
> _mesa_glsl_supported_extensions[] = {
>     EXT(OES_tessellation_shader),
>     EXT(OES_texture_3D),
>     EXT(OES_texture_buffer),
>     EXT(OES_texture_cube_map_array),
>     EXT_AEP(OES_texture_storage_multisample_2d_array),
>     EXT(OES_viewport_array),
>  
>     /* All other extensions go here, sorted alphabetically.
>      */
>     EXT(AMD_conservative_depth),
> +   EXT(AMD_gpu_shader_int64),
>     EXT(AMD_shader_stencil_export),
>     EXT(AMD_shader_trinary_minmax),
>     EXT(AMD_vertex_shader_layer),
>     EXT(AMD_vertex_shader_viewport_index),
>     EXT(ANDROID_extension_pack_es31a),
>     EXT(EXT_blend_func_extended),
>     EXT(EXT_frag_depth),
>     EXT(EXT_draw_buffers),
>     EXT(EXT_clip_cull_distance),
>     EXT(EXT_geometry_point_size),
> diff --git a/src/compiler/glsl/glsl_parser_extras.h 
> b/src/compiler/glsl/glsl_parser_extras.h
> index 59a173418b7..81792de5704 100644
> --- a/src/compiler/glsl/glsl_parser_extras.h
> +++ b/src/compiler/glsl/glsl_parser_extras.h
> @@ -249,21 +249,22 @@ struct _mesa_glsl_parse_state {
>           || EXT_separate_shader_objects_enable;
>     }
>  
>     bool has_double() const
>     {
>        return ARB_gpu_shader_fp64_enable || is_version(400, 0);
>     }
>  
>     bool has_int64() const
>     {
> -      return ARB_gpu_shader_int64_enable;
> +      return ARB_gpu_shader_int64_enable ||
> +             AMD_gpu_shader_int64_enable;
>     }
>  
>     bool has_420pack() const
>     {
>        return ARB_shading_language_420pack_enable || is_version(420, 0);
>     }
>  
>     bool has_420pack_or_es31() const
>     {
>        return ARB_shading_language_420pack_enable || is_version(420, 310);
> @@ -751,20 +752,22 @@ struct _mesa_glsl_parse_state {
>     bool OES_texture_cube_map_array_warn;
>     bool OES_texture_storage_multisample_2d_array_enable;
>     bool OES_texture_storage_multisample_2d_array_warn;
>     bool OES_viewport_array_enable;
>     bool OES_viewport_array_warn;
>  
>     /* All other extensions go here, sorted alphabetically.
>      */
>     bool AMD_conservative_depth_enable;
>     bool AMD_conservative_depth_warn;
> +   bool AMD_gpu_shader_int64_enable;
> +   bool AMD_gpu_shader_int64_warn;
>     bool AMD_shader_stencil_export_enable;
>     bool AMD_shader_stencil_export_warn;
>     bool AMD_shader_trinary_minmax_enable;
>     bool AMD_shader_trinary_minmax_warn;
>     bool AMD_vertex_shader_layer_enable;
>     bool AMD_vertex_shader_layer_warn;
>     bool AMD_vertex_shader_viewport_index_enable;
>     bool AMD_vertex_shader_viewport_index_warn;
>     bool ANDROID_extension_pack_es31a_enable;
>     bool ANDROID_extension_pack_es31a_warn;
> diff --git a/src/mapi/glapi/gen/AMD_gpu_shader_int64.xml 
> b/src/mapi/glapi/gen/AMD_gpu_shader_int64.xml
> new file mode 100644
> index 00000000000..42eb750d110
> --- /dev/null
> +++ b/src/mapi/glapi/gen/AMD_gpu_shader_int64.xml
> @@ -0,0 +1,239 @@
> +<?xml version="1.0"?>
> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
> +
> +<OpenGLAPI>
> +
> +<category name="GL_AMD_gpu_shader_int64" number="451">
> +
> +    <function name="Uniform1i64NV" alias="Uniform1i64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +    </function>
> +
> +    <function name="Uniform2i64NV" alias="Uniform2i64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +    </function>
> +
> +    <function name="Uniform3i64NV" alias="Uniform3i64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +        <param name="z" type="GLint64"/>
> +    </function>
> +
> +    <function name="Uniform4i64NV" alias="Uniform4i64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +        <param name="z" type="GLint64"/>
> +        <param name="w" type="GLint64"/>
> +    </function>
> +
> +    <function name="Uniform1i64vNV" alias="Uniform1i64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count"/>
> +    </function>
> +
> +    <function name="Uniform2i64vNV" alias="Uniform2i64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="2"/>
> +    </function>
> +
> +    <function name="Uniform3i64vNV" alias="Uniform3i64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="3"/>
> +    </function>
> +
> +    <function name="Uniform4i64vNV" alias="Uniform4i64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="4"/>
> +    </function>
> +
> +    <function name="Uniform1ui64NV" alias="Uniform1ui64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +    </function>
> +
> +    <function name="Uniform2ui64NV" alias="Uniform2ui64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +    </function>
> +
> +    <function name="Uniform3ui64NV" alias="Uniform3ui64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +        <param name="z" type="GLuint64"/>
> +    </function>
> +
> +    <function name="Uniform4ui64NV" alias="Uniform4ui64ARB">
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +        <param name="z" type="GLuint64"/>
> +        <param name="w" type="GLuint64"/>
> +    </function>
> +
> +    <function name="Uniform1ui64vNV" alias="Uniform1ui64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *"  count="count"/>
> +    </function>
> +
> +    <function name="Uniform2ui64vNV" alias="Uniform2ui64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="2"/>
> +    </function>
> +
> +    <function name="Uniform3ui64vNV" alias="Uniform3ui64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="3"/>
> +    </function>
> +
> +    <function name="Uniform4ui64vNV" alias="Uniform4ui64vARB">
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="4"/>
> +    </function>
> +
> +    <function name="GetUniformi64vNV" alias="GetUniformi64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="params" type="GLint64 *"/>
> +    </function>
> +
> +    <function name="GetUniformui64vNV" alias="GetUniformui64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="params" type="GLuint64 *"/>
> +    </function>
> +
> +    <function name="ProgramUniform1i64NV" alias="ProgramUniform1i64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform2i64NV" alias="ProgramUniform2i64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform3i64NV" alias="ProgramUniform3i64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +        <param name="z" type="GLint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform4i64NV" alias="ProgramUniform4i64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLint64"/>
> +        <param name="y" type="GLint64"/>
> +        <param name="z" type="GLint64"/>
> +        <param name="w" type="GLint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform1i64vNV" alias="ProgramUniform1i64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count"/>
> +    </function>
> +
> +    <function name="ProgramUniform2i64vNV" alias="ProgramUniform2i64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="2"/>
> +    </function>
> +
> +    <function name="ProgramUniform3i64vNV" alias="ProgramUniform3i64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="3"/>
> +    </function>
> +
> +    <function name="ProgramUniform4i64vNV" alias="ProgramUniform4i64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLint64 *" count="count" 
> count_scale="4"/>
> +    </function>
> +
> +    <function name="ProgramUniform1ui64NV" alias="ProgramUniform1ui64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform2ui64NV" alias="ProgramUniform2ui64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform3ui64NV" alias="ProgramUniform3ui64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +        <param name="z" type="GLuint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform4ui64NV" alias="ProgramUniform4ui64ARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="x" type="GLuint64"/>
> +        <param name="y" type="GLuint64"/>
> +        <param name="z" type="GLuint64"/>
> +        <param name="w" type="GLuint64"/>
> +    </function>
> +
> +    <function name="ProgramUniform1ui64vNV" alias="ProgramUniform1ui64vARB">
> +        <param name="program" type="GLuint"/>
> +     <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count"/>
> +    </function>
> +
> +    <function name="ProgramUniform2ui64vNV" alias="ProgramUniform2ui64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="2"/>
> +    </function>
> +
> +    <function name="ProgramUniform3ui64vNV" alias="ProgramUniform3ui64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="3"/>
> +    </function>
> +
> +    <function name="ProgramUniform4ui64vNV" alias="ProgramUniform4ui64vARB">
> +        <param name="program" type="GLuint"/>
> +        <param name="location" type="GLint"/>
> +        <param name="count" type="GLsizei"/>
> +        <param name="value" type="const GLuint64 *" count="count" 
> count_scale="4"/>
> +    </function>
> +
> +</category>
> +
> +</OpenGLAPI>
> +
> diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
> index 95680f1d466..a45fdc5ed98 100644
> --- a/src/mapi/glapi/gen/gl_API.xml
> +++ b/src/mapi/glapi/gen/gl_API.xml
> @@ -12950,20 +12950,22 @@
>  </category>
>  
>  <category name="GL_NVX_gpu_memory_info" number="438">
>      <enum name="GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"         value="0x9047" 
> />
>      <enum name="GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX"   value="0x9048" 
> />
>      <enum name="GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX" value="0x9049" 
> />
>      <enum name="GPU_MEMORY_INFO_EVICTION_COUNT_NVX"           value="0x904A" 
> />
>      <enum name="GPU_MEMORY_INFO_EVICTED_MEMORY_NVX"           value="0x904B" 
> />
>  </category>
>  
> +<xi:include href="AMD_gpu_shader_int64.xml" 
> xmlns:xi="http://www.w3.org/2001/XInclude"/>
> +
>  <category name="GL_NV_fill_rectangle" number="466">
>      <enum name="FILL_RECTANGLE_NV" value="0x933C"/>
>  </category>
>  
>  <category name="GL_INTEL_conservative_rasterization" number="491">
>    <enum name="CONSERVATIVE_RASTERIZATION_INTEL" value="0x83FE"/>
>  </category>
>  
>  <category name="GL_NV_conservative_raster" number="465">
>      <enum name="CONSERVATIVE_RASTERIZATION_NV"       value="0x9346">
> diff --git a/src/mesa/main/extensions_table.h 
> b/src/mesa/main/extensions_table.h
> index b4c1b203c57..326fa6dc473 100644
> --- a/src/mesa/main/extensions_table.h
> +++ b/src/mesa/main/extensions_table.h
> @@ -4,20 +4,21 @@
>  #define GLC 0
>  #define ES1 0
>  #define ES2 0
>  #define  x ~0
>  
>  EXT(3DFX_texture_compression_FXT1           , TDFX_texture_compression_FXT1  
>         , GLL, GLC,  x ,  x , 1999)
>  
>  EXT(AMD_conservative_depth                  , ARB_conservative_depth         
>         , GLL, GLC,  x ,  x , 2009)
>  EXT(AMD_draw_buffers_blend                  , ARB_draw_buffers_blend         
>         , GLL, GLC,  x ,  x , 2009)
>  EXT(AMD_framebuffer_multisample_advanced    , 
> AMD_framebuffer_multisample_advanced   , GLL, GLC,  x , ES2, 2018)
> +EXT(AMD_gpu_shader_int64                    , ARB_gpu_shader_int64           
>         ,  x , GLC,  x ,  x , 2015)
>  EXT(AMD_performance_monitor                 , AMD_performance_monitor        
>         , GLL, GLC,  x , ES2, 2007)
>  EXT(AMD_pinned_memory                       , AMD_pinned_memory              
>         , GLL, GLC,  x ,  x , 2013)
>  EXT(AMD_seamless_cubemap_per_texture        , 
> AMD_seamless_cubemap_per_texture       , GLL, GLC,  x ,  x , 2009)
>  EXT(AMD_shader_stencil_export               , ARB_shader_stencil_export      
>         , GLL, GLC,  x ,  x , 2009)
>  EXT(AMD_shader_trinary_minmax               , dummy_true                     
>         , GLL, GLC,  x ,  x , 2012)
>  EXT(AMD_vertex_shader_layer                 , AMD_vertex_shader_layer        
>         , GLL, GLC,  x ,  x , 2012)
>  EXT(AMD_vertex_shader_viewport_index        , 
> AMD_vertex_shader_viewport_index       , GLL, GLC,  x ,  x , 2012)
>  
>  EXT(ANDROID_extension_pack_es31a            , ANDROID_extension_pack_es31a   
>         ,  x ,  x ,  x ,  31, 2014)
>  
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to