Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[xsrc/xorg]: xsrc/external/mit/MesaLib/dist/src Import mesa 19.1.7



details:   https://anonhg.NetBSD.org/xsrc/rev/0719bd2ba458
branches:  xorg
changeset: 10380:0719bd2ba458
user:      maya <maya%NetBSD.org@localhost>
date:      Tue Sep 24 16:39:43 2019 +0000

description:
Import mesa 19.1.7

New features in mesa 19.1.0:

    GL_ARB_parallel_shader_compile on all drivers.
    GL_EXT_gpu_shader4 on all GL 3.1 drivers.
    GL_EXT_shader_image_load_formatted on radeonsi.
    GL_EXT_texture_buffer_object on all GL 3.1 drivers.
    GL_EXT_texture_compression_s3tc_srgb on Gallium drivers and i965 (ES extension).
    GL_NV_compute_shader_derivatives on iris and i965.
    GL_KHR_parallel_shader_compile on all drivers.
    VK_EXT_buffer_device_address on Intel and RADV.
    VK_EXT_depth_clip_enable on Intel and RADV.
    VK_KHR_ycbcr_image_arrays on Intel.
    VK_EXT_inline_uniform_block on Intel and RADV.
    VK_EXT_external_memory_host on Intel.
    VK_EXT_host_query_reset on Intel and RADV.
    VK_KHR_surface_protected_capabilities on Intel and RADV.
    VK_EXT_pipeline_creation_feedback on Intel and RADV.
    VK_KHR_8bit_storage on RADV.
    VK_AMD_gpu_shader_int16 on RADV.
    VK_AMD_gpu_shader_half_float on RADV.
    VK_NV_compute_shader_derivatives on Intel.
    VK_KHR_shader_float16_int8 on Intel and RADV (RADV only supports int8).
    VK_KHR_shader_atomic_int64 on Intel.
    VK_EXT_descriptor_indexing on Intel.
    VK_KHR_shader_float16_int8 on Intel and RADV.
    GL_INTEL_conservative_rasterization on iris.
    VK_EXT_memory_budget on Intel.

New features in mesa 19.0.0:

    GL_AMD_texture_texture4 on all GL 4.0 drivers.
    GL_EXT_shader_implicit_conversions on all drivers (ES extension).
    GL_EXT_texture_compression_bptc on all GL 4.0 drivers (ES extension).
    GL_EXT_texture_compression_rgtc on all GL 3.0 drivers (ES extension).
    GL_EXT_render_snorm on gallium drivers (ES extension).
    GL_EXT_texture_view on drivers supporting texture views (ES extension).
    GL_OES_texture_view on drivers supporting texture views (ES extension).
    GL_NV_shader_atomic_float on nvc0 (Fermi/Kepler only).
    Shader-based software implementations of GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_vertex_attrib_64bit, and GL_ARB_shader_ballot on i965.
    VK_ANDROID_external_memory_android_hardware_buffer on Intel
    Fixed and re-exposed VK_EXT_pci_bus_info on Intel and RADV
    VK_EXT_scalar_block_layout on Intel and RADV
    VK_KHR_depth_stencil_resolve on Intel
    VK_KHR_draw_indirect_count on Intel
    VK_EXT_conditional_rendering on Intel
    VK_EXT_memory_budget on RADV

Also, bug fixes.

diffstat:

 external/mit/MesaLib/dist/src/compiler/glsl/builtin_types.cpp                                                   |    47 +
 external/mit/MesaLib/dist/src/compiler/glsl/builtin_variables.cpp                                               |    22 +-
 external/mit/MesaLib/dist/src/compiler/glsl/float64.glsl                                                        |  1743 +++++
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir.h                                                            |     4 +
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_link_uniform_initializers.c                                  |    14 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_link_uniforms.c                                              |    13 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_link_xfb.c                                                   |   250 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_linker.c                                                     |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_lower_atomics.c                                              |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_lower_bindless_images.c                                      |    97 +
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_lower_buffers.c                                              |   300 +
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_lower_samplers.c                                             |    73 +-
 external/mit/MesaLib/dist/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c                                    |    95 +-
 external/mit/MesaLib/dist/src/compiler/glsl/glcpp/meson.build                                                   |     1 +
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_lexer.ll                                                       |    67 +-
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_parser.yy                                                      |    84 +-
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_parser_extras.cpp                                              |   104 +-
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_parser_extras.h                                                |    49 +-
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_to_nir.cpp                                                     |   799 ++-
 external/mit/MesaLib/dist/src/compiler/glsl/glsl_to_nir.h                                                       |     6 +-
 external/mit/MesaLib/dist/src/compiler/glsl/hir_field_selection.cpp                                             |     2 +-
 external/mit/MesaLib/dist/src/compiler/glsl/int64.glsl                                                          |   121 +
 external/mit/MesaLib/dist/src/compiler/glsl/ir.cpp                                                              |    18 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir.h                                                                |    16 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_array_refcount.cpp                                               |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_builder_print_visitor.cpp                                        |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_clone.cpp                                                        |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_constant_expression.cpp                                          |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_function.cpp                                                     |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_function_detect_recursion.cpp                                    |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_optimization.h                                                   |     1 +
 external/mit/MesaLib/dist/src/compiler/glsl/ir_print_visitor.cpp                                                |     7 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_validate.cpp                                                     |    14 +-
 external/mit/MesaLib/dist/src/compiler/glsl/ir_variable_refcount.cpp                                            |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_functions.cpp                                                  |     6 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_uniform_blocks.cpp                                             |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_uniform_initializers.cpp                                       |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_uniforms.cpp                                                   |    59 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_varyings.cpp                                                   |   316 +-
 external/mit/MesaLib/dist/src/compiler/glsl/link_varyings.h                                                     |    42 +-
 external/mit/MesaLib/dist/src/compiler/glsl/linker.cpp                                                          |    96 +-
 external/mit/MesaLib/dist/src/compiler/glsl/list.h                                                              |     7 +
 external/mit/MesaLib/dist/src/compiler/glsl/loop_analysis.cpp                                                   |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/loop_analysis.h                                                     |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/loop_unroll.cpp                                                     |     8 +-
 external/mit/MesaLib/dist/src/compiler/glsl/lower_buffer_access.cpp                                             |     8 +-
 external/mit/MesaLib/dist/src/compiler/glsl/lower_if_to_cond_assign.cpp                                         |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/lower_instructions.cpp                                              |    70 +
 external/mit/MesaLib/dist/src/compiler/glsl/lower_packed_varyings.cpp                                           |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/lower_ubo_reference.cpp                                             |     2 +-
 external/mit/MesaLib/dist/src/compiler/glsl/lower_vector_derefs.cpp                                             |    21 +
 external/mit/MesaLib/dist/src/compiler/glsl/main.cpp                                                            |     5 +-
 external/mit/MesaLib/dist/src/compiler/glsl/meson.build                                                         |    12 +-
 external/mit/MesaLib/dist/src/compiler/glsl/opt_algebraic.cpp                                                   |    12 +
 external/mit/MesaLib/dist/src/compiler/glsl/opt_constant_propagation.cpp                                        |    12 +-
 external/mit/MesaLib/dist/src/compiler/glsl/opt_constant_variable.cpp                                           |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/opt_copy_propagation_elements.cpp                                   |     6 +-
 external/mit/MesaLib/dist/src/compiler/glsl/opt_function_inlining.cpp                                           |     2 +-
 external/mit/MesaLib/dist/src/compiler/glsl/opt_structure_splitting.cpp                                         |     4 +-
 external/mit/MesaLib/dist/src/compiler/glsl/serialize.cpp                                                       |     2 +
 external/mit/MesaLib/dist/src/compiler/glsl/shader_cache.cpp                                                    |    29 +-
 external/mit/MesaLib/dist/src/compiler/glsl/standalone.cpp                                                      |    16 +-
 external/mit/MesaLib/dist/src/compiler/glsl/standalone.h                                                        |     3 +-
 external/mit/MesaLib/dist/src/compiler/glsl/standalone_scaffolding.cpp                                          |    19 +
 external/mit/MesaLib/dist/src/compiler/glsl/standalone_scaffolding.h                                            |     3 +
 external/mit/MesaLib/dist/src/compiler/glsl/test_optpass.cpp                                                    |     5 +-
 external/mit/MesaLib/dist/src/compiler/glsl/tests/array_refcount_test.cpp                                       |     2 +-
 external/mit/MesaLib/dist/src/compiler/glsl/tests/blob_test.c                                                   |     4 +
 external/mit/MesaLib/dist/src/compiler/glsl/tests/general_ir_test.cpp                                           |    14 +-
 external/mit/MesaLib/dist/src/compiler/glsl/tests/meson.build                                                   |    37 +-
 external/mit/MesaLib/dist/src/compiler/glsl/tests/warnings/031-__-in-function-name.vert                         |    22 +
 external/mit/MesaLib/dist/src/compiler/glsl/tests/warnings/031-__-in-function-name.vert.expected                |     3 +
 external/mit/MesaLib/dist/src/compiler/glsl/tests/warnings/032-__-in-function-name-pragma-disable.vert          |    24 +
 external/mit/MesaLib/dist/src/compiler/glsl/tests/warnings/032-__-in-function-name-pragma-disable.vert.expected |     2 +
 external/mit/MesaLib/dist/src/compiler/glsl/xxd.py                                                              |   111 +
 external/mit/MesaLib/dist/src/compiler/nir/meson.build                                                          |    56 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir.c                                                                |   224 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir.h                                                                |   929 ++-
 external/mit/MesaLib/dist/src/compiler/nir/nir_algebraic.py                                                     |  1084 ++-
 external/mit/MesaLib/dist/src/compiler/nir/nir_builder.h                                                        |   531 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_builder_opcodes_h.py                                             |    36 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_builtin_builder.c                                                |   112 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_builtin_builder.h                                                |   134 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_clone.c                                                          |    37 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_constant_expressions.h                                           |     5 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_constant_expressions.py                                          |   114 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_control_flow.c                                                   |     5 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_control_flow.h                                                   |    10 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_deref.c                                                          |   397 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_deref.h                                                          |     1 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_dominance.c                                                      |    14 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_format_convert.h                                                 |    88 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_from_ssa.c                                                       |    30 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_gather_info.c                                                    |    61 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_gather_ssa_types.c                                               |   217 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_gather_xfb_info.c                                                |   178 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_inline_functions.c                                               |   166 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_instr_set.c                                                      |   379 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_intrinsics.py                                                    |   297 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_intrinsics_c.py                                                  |     5 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_linking_helpers.c                                                |   745 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_loop_analyze.c                                                   |   799 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_alu_to_scalar.c                                            |     4 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_array_deref_of_vec.c                                       |   190 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_atomics_to_ssbo.c                                          |     9 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_bitmap.c                                                   |    16 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_bool_to_float.c                                            |   184 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_bool_to_int32.c                                            |   162 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_clip.c                                                     |   121 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c                                |   154 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_constant_initializers.c                                    |    65 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_double_ops.c                                               |   341 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_drawpixels.c                                               |    31 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_fb_read.c                                                  |   121 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_fragcoord_wtrans.c                                         |    81 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_frexp.c                                                    |   208 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_global_vars_to_local.c                                     |    18 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_idiv.c                                                     |     4 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_indirect_derefs.c                                          |     9 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_int64.c                                                    |   638 ++-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_io.c                                                       |   695 ++-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_io_arrays_to_elements.c                                    |    58 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_io_to_scalar.c                                             |    27 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_io_to_temporaries.c                                        |     5 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_io_to_vector.c                                             |   387 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_load_const_to_scalar.c                                     |    24 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_locals_to_regs.c                                           |     8 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_non_uniform_access.c                                       |   266 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_phis_to_scalar.c                                           |    25 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_regs_to_ssa.c                                              |    37 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_returns.c                                                  |     4 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_scratch.c                                                  |   195 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_system_values.c                                            |   139 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_tex.c                                                      |   498 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_to_source_mods.c                                           |    84 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_two_sided_color.c                                          |     5 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_uniforms_to_ubo.c                                          |   105 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_var_copies.c                                               |    29 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_vars_to_ssa.c                                              |    38 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_viewport_transform.c                                       |   102 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_wpos_center.c                                              |     9 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_lower_wpos_ytransform.c                                          |    25 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opcodes.py                                                       |   286 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opcodes_c.py                                                     |    42 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_algebraic.py                                                 |   413 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_combine_stores.c                                             |   401 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_comparison_pre.c                                             |   385 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_constant_folding.c                                           |    38 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_copy_prop_vars.c                                             |   416 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_copy_propagate.c                                             |    78 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_cse.c                                                        |    13 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_dce.c                                                        |     7 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_dead_cf.c                                                    |   140 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_dead_write_vars.c                                            |    15 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_find_array_copies.c                                          |    14 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_gcm.c                                                        |    10 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_idiv_const.c                                                 |   217 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_if.c                                                         |   892 ++-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_intrinsics.c                                                 |    40 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_large_constants.c                                            |    46 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_loop_unroll.c                                                |   495 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_move_load_ubo.c                                              |     2 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_peephole_select.c                                            |    79 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_remove_phis.c                                                |    12 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_opt_undef.c                                                      |     7 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_phi_builder.c                                                    |    49 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_print.c                                                          |   241 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_propagate_invariant.c                                            |    16 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_remove_dead_variables.c                                          |    14 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_repair_ssa.c                                                     |    57 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_search.c                                                         |   442 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_search.h                                                         |    49 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_search_helpers.h                                                 |    49 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_serialize.c                                                      |    54 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_split_per_member_structs.c                                       |    12 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_split_var_copies.c                                               |    25 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_split_vars.c                                                     |    83 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_strip.c                                                          |   104 +
 external/mit/MesaLib/dist/src/compiler/nir/nir_sweep.c                                                          |    10 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_to_lcssa.c                                                       |    28 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_validate.c                                                       |   244 +-
 external/mit/MesaLib/dist/src/compiler/nir/nir_xfb_info.h                                                       |    23 +-
 external/mit/MesaLib/dist/src/compiler/nir/tests/algebraic_parser_test.py                                       |   116 +
 external/mit/MesaLib/dist/src/compiler/nir/tests/algebraic_parser_test.sh                                       |     3 +
 external/mit/MesaLib/dist/src/compiler/nir/tests/comparison_pre_tests.cpp                                       |   531 +
 external/mit/MesaLib/dist/src/compiler/nir/tests/negative_equal_tests.cpp                                       |   361 +
 external/mit/MesaLib/dist/src/compiler/nir/tests/vars_tests.cpp                                                 |   618 +-
 external/mit/MesaLib/dist/src/compiler/spirv/OpenCL.std.h                                                       |   211 +
 external/mit/MesaLib/dist/src/compiler/spirv/gl_spirv.c                                                         |     2 +-
 external/mit/MesaLib/dist/src/compiler/spirv/nir_spirv.h                                                        |    20 +
 external/mit/MesaLib/dist/src/compiler/spirv/spirv.core.grammar.json                                            |   461 +-
 external/mit/MesaLib/dist/src/compiler/spirv/spirv.h                                                            |    93 +-
 external/mit/MesaLib/dist/src/compiler/spirv/spirv_info.h                                                       |     7 +
 external/mit/MesaLib/dist/src/compiler/spirv/spirv_info_c.py                                                    |    13 +-
 external/mit/MesaLib/dist/src/compiler/spirv/spirv_to_nir.c                                                     |  1305 ++-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_alu.c                                                          |   163 +-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_cfg.c                                                          |   133 +-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_glsl450.c                                                      |   232 +-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_opencl.c                                                       |   330 +
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_private.h                                                      |   153 +-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_subgroup.c                                                     |     4 +-
 external/mit/MesaLib/dist/src/compiler/spirv/vtn_variables.c                                                    |  1070 ++-
 external/mit/MesaLib/dist/src/egl/Android.mk                                                                    |    93 +
 external/mit/MesaLib/dist/src/egl/SConscript                                                                    |     1 -
 external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c                                                       |   400 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.h                                                       |    49 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2_fallbacks.h                                             |    22 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_android.c                                               |   263 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_drm.c                                                   |    26 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_surfaceless.c                                           |   153 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_wayland.c                                               |    33 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_x11.c                                                   |   124 +-
 external/mit/MesaLib/dist/src/egl/drivers/dri2/platform_x11_dri3.c                                              |    18 +-
 external/mit/MesaLib/dist/src/egl/drivers/haiku/egl_haiku.cpp                                                   |    20 +-
 external/mit/MesaLib/dist/src/egl/generate/egl.xml                                                              |   201 +-
 external/mit/MesaLib/dist/src/egl/generate/eglFunctionList.py                                                   |     4 +
 external/mit/MesaLib/dist/src/egl/generate/gen_egl_dispatch.py                                                  |    10 +-
 external/mit/MesaLib/dist/src/egl/main/eglapi.c                                                                 |   123 +-
 external/mit/MesaLib/dist/src/egl/main/eglapi.h                                                                 |    85 +-
 external/mit/MesaLib/dist/src/egl/main/eglconfig.c                                                              |    30 +-
 external/mit/MesaLib/dist/src/egl/main/eglconfig.h                                                              |    12 +-
 external/mit/MesaLib/dist/src/egl/main/eglcontext.c                                                             |    52 +-
 external/mit/MesaLib/dist/src/egl/main/eglcontext.h                                                             |     8 +-
 external/mit/MesaLib/dist/src/egl/main/eglcurrent.c                                                             |    46 +-
 external/mit/MesaLib/dist/src/egl/main/egldefines.h                                                             |     2 -
 external/mit/MesaLib/dist/src/egl/main/egldevice.c                                                              |     4 +-
 external/mit/MesaLib/dist/src/egl/main/egldevice.h                                                              |     2 +-
 external/mit/MesaLib/dist/src/egl/main/egldisplay.c                                                             |    56 +-
 external/mit/MesaLib/dist/src/egl/main/egldisplay.h                                                             |    21 +-
 external/mit/MesaLib/dist/src/egl/main/egldriver.c                                                              |    26 +-
 external/mit/MesaLib/dist/src/egl/main/egldriver.h                                                              |     2 +-
 external/mit/MesaLib/dist/src/egl/main/eglentrypoint.h                                                          |     2 +
 external/mit/MesaLib/dist/src/egl/main/eglglobals.c                                                             |     2 +
 external/mit/MesaLib/dist/src/egl/main/eglimage.c                                                               |    36 +-
 external/mit/MesaLib/dist/src/egl/main/eglimage.h                                                               |    10 +-
 external/mit/MesaLib/dist/src/egl/main/eglsurface.c                                                             |    65 +-
 external/mit/MesaLib/dist/src/egl/main/eglsurface.h                                                             |    14 +-
 external/mit/MesaLib/dist/src/egl/main/eglsync.c                                                                |     8 +-
 external/mit/MesaLib/dist/src/egl/main/eglsync.h                                                                |     8 +-
 external/mit/MesaLib/dist/src/egl/meson.build                                                                   |    29 +-
 external/mit/MesaLib/dist/src/egl/wayland/.editorconfig                                                         |     2 +
 external/mit/MesaLib/dist/src/egl/wayland/wayland-drm/wayland-drm.xml                                           |     1 +
 external/mit/MesaLib/dist/src/freedreno/.dir-locals.el                                                          |     8 +
 external/mit/MesaLib/dist/src/freedreno/Android.drm.mk                                                          |    41 +
 external/mit/MesaLib/dist/src/freedreno/Android.ir3.mk                                                          |    51 +
 external/mit/MesaLib/dist/src/freedreno/Android.mk                                                              |    30 +
 external/mit/MesaLib/dist/src/freedreno/Makefile.sources                                                        |    61 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_bo.c                                                      |   368 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_bo_cache.c                                                |   218 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_device.c                                                  |   156 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_drmif.h                                                   |   172 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_pipe.c                                                    |   100 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_priv.h                                                    |   259 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_ringbuffer.c                                              |   114 +
 external/mit/MesaLib/dist/src/freedreno/drm/freedreno_ringbuffer.h                                              |   160 +
 external/mit/MesaLib/dist/src/freedreno/drm/meson.build                                                         |    54 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_bo.c                                                            |   197 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_device.c                                                        |    61 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_drm.h                                                           |   335 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_pipe.c                                                          |   252 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_priv.h                                                          |   141 +
 external/mit/MesaLib/dist/src/freedreno/drm/msm_ringbuffer.c                                                    |   722 ++
 external/mit/MesaLib/dist/src/freedreno/drm/msm_ringbuffer_sp.c                                                 |   568 +
 external/mit/MesaLib/dist/src/freedreno/ir3/disasm-a3xx.c                                                       |  1106 +++
 external/mit/MesaLib/dist/src/freedreno/ir3/instr-a3xx.h                                                        |   952 +++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3.c                                                               |  1086 +++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3.h                                                               |  1491 ++++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_a4xx.c                                                          |   368 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_a6xx.c                                                          |   417 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_compiler.c                                                      |    77 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_compiler.h                                                      |   102 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_compiler_nir.c                                                  |  3028 ++++++++++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_context.c                                                       |   623 ++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_context.h                                                       |   193 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_cp.c                                                            |   695 ++
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_depth.c                                                         |   272 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_group.c                                                         |   274 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_image.c                                                         |   244 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_image.h                                                         |    44 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_legalize.c                                                      |   523 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir.c                                                           |   311 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir.h                                                           |    55 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c                                        |   190 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_lower_io_offsets.c                                          |   304 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_lower_load_barycentric_at_offset.c                          |   124 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_lower_load_barycentric_at_sample.c                          |   130 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_lower_tg4_to_tex.c                                          |   138 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_move_varying_inputs.c                                       |   143 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_nir_trig.py                                                     |    51 +
 external/mit/MesaLib/dist/src/freedreno/ir3/ir3_print.c                                                         |   267 +
 external/mit/MesaLib/dist/src/freedreno/meson.build                                                             |    28 +
 291 files changed, 41398 insertions(+), 6103 deletions(-)

diffs (truncated from 63115 to 300 lines):

diff -r 2c7a68429151 -r 0719bd2ba458 external/mit/MesaLib/dist/src/compiler/glsl/builtin_types.cpp
--- a/external/mit/MesaLib/dist/src/compiler/glsl/builtin_types.cpp     Tue Sep 24 16:29:39 2019 +0000
+++ b/external/mit/MesaLib/dist/src/compiler/glsl/builtin_types.cpp     Tue Sep 24 16:39:43 2019 +0000
@@ -37,6 +37,7 @@
 #include "compiler/glsl_types.h"
 #include "glsl_parser_extras.h"
 #include "util/macros.h"
+#include "main/mtypes.h"
 
 /**
  * Declarations of type flyweights (glsl_type::_foo_type) and
@@ -324,6 +325,52 @@
       add_type(symbols, glsl_type::sampler2DRectShadow_type);
    }
 
+   if (state->EXT_gpu_shader4_enable) {
+      add_type(symbols, glsl_type::uint_type);
+      add_type(symbols, glsl_type::uvec2_type);
+      add_type(symbols, glsl_type::uvec3_type);
+      add_type(symbols, glsl_type::uvec4_type);
+
+      add_type(symbols, glsl_type::samplerCubeShadow_type);
+
+      if (state->ctx->Extensions.EXT_texture_array) {
+         add_type(symbols, glsl_type::sampler1DArray_type);
+         add_type(symbols, glsl_type::sampler2DArray_type);
+         add_type(symbols, glsl_type::sampler1DArrayShadow_type);
+         add_type(symbols, glsl_type::sampler2DArrayShadow_type);
+      }
+      if (state->ctx->Extensions.EXT_texture_buffer_object) {
+         add_type(symbols, glsl_type::samplerBuffer_type);
+      }
+
+      if (state->ctx->Extensions.EXT_texture_integer) {
+         add_type(symbols, glsl_type::isampler1D_type);
+         add_type(symbols, glsl_type::isampler2D_type);
+         add_type(symbols, glsl_type::isampler3D_type);
+         add_type(symbols, glsl_type::isamplerCube_type);
+
+         add_type(symbols, glsl_type::usampler1D_type);
+         add_type(symbols, glsl_type::usampler2D_type);
+         add_type(symbols, glsl_type::usampler3D_type);
+         add_type(symbols, glsl_type::usamplerCube_type);
+
+         if (state->ctx->Extensions.NV_texture_rectangle) {
+            add_type(symbols, glsl_type::isampler2DRect_type);
+            add_type(symbols, glsl_type::usampler2DRect_type);
+         }
+         if (state->ctx->Extensions.EXT_texture_array) {
+            add_type(symbols, glsl_type::isampler1DArray_type);
+            add_type(symbols, glsl_type::isampler2DArray_type);
+            add_type(symbols, glsl_type::usampler1DArray_type);
+            add_type(symbols, glsl_type::usampler2DArray_type);
+         }
+         if (state->ctx->Extensions.EXT_texture_buffer_object) {
+            add_type(symbols, glsl_type::isamplerBuffer_type);
+            add_type(symbols, glsl_type::usamplerBuffer_type);
+         }
+      }
+   }
+
    if (state->EXT_texture_array_enable) {
       add_type(symbols, glsl_type::sampler1DArray_type);
       add_type(symbols, glsl_type::sampler2DArray_type);
diff -r 2c7a68429151 -r 0719bd2ba458 external/mit/MesaLib/dist/src/compiler/glsl/builtin_variables.cpp
--- a/external/mit/MesaLib/dist/src/compiler/glsl/builtin_variables.cpp Tue Sep 24 16:29:39 2019 +0000
+++ b/external/mit/MesaLib/dist/src/compiler/glsl/builtin_variables.cpp Tue Sep 24 16:39:43 2019 +0000
@@ -21,6 +21,21 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+
+/**
+ * Building this file with MinGW g++ 7.3 or 7.4 with:
+ *   scons platform=windows toolchain=crossmingw machine=x86 build=profile
+ * triggers an internal compiler error.
+ * Overriding the optimization level to -O1 works around the issue.
+ * MinGW 5.3.1 does not seem to have the bug, neither does 8.3.  So for now
+ * we're simply testing for version 7.x here.
+ */
+#if defined(__MINGW32__) && __GNUC__ == 7
+#warning "disabling optimizations for this file to work around compiler bug in MinGW gcc 7.x"
+#pragma GCC optimize("O1")
+#endif
+
+
 #include "ir.h"
 #include "ir_builder.h"
 #include "linker.h"
@@ -1009,7 +1024,7 @@
 {
    ir_variable *var;
 
-   if (state->is_version(130, 300))
+   if (state->is_version(130, 300) || state->EXT_gpu_shader4_enable)
       add_system_value(SYSTEM_VALUE_VERTEX_ID, int_t, "gl_VertexID");
    if (state->is_version(460, 0)) {
       add_system_value(SYSTEM_VALUE_BASE_VERTEX, int_t, "gl_BaseVertex");
@@ -1018,7 +1033,8 @@
    }
    if (state->ARB_draw_instanced_enable)
       add_system_value(SYSTEM_VALUE_INSTANCE_ID, int_t, "gl_InstanceIDARB");
-   if (state->ARB_draw_instanced_enable || state->is_version(140, 300))
+   if (state->ARB_draw_instanced_enable || state->is_version(140, 300) ||
+       state->EXT_gpu_shader4_enable)
       add_system_value(SYSTEM_VALUE_INSTANCE_ID, int_t, "gl_InstanceID");
    if (state->ARB_shader_draw_parameters_enable) {
       add_system_value(SYSTEM_VALUE_BASE_VERTEX, int_t, "gl_BaseVertexARB");
@@ -1171,7 +1187,7 @@
    if (state->is_version(120, 100))
       add_input(VARYING_SLOT_PNTC, vec2_t, "gl_PointCoord");
 
-   if (state->has_geometry_shader()) {
+   if (state->has_geometry_shader() || state->EXT_gpu_shader4_enable) {
       var = add_input(VARYING_SLOT_PRIMITIVE_ID, int_t, "gl_PrimitiveID");
       var->data.interpolation = INTERP_MODE_FLAT;
    }
diff -r 2c7a68429151 -r 0719bd2ba458 external/mit/MesaLib/dist/src/compiler/glsl/float64.glsl
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/MesaLib/dist/src/compiler/glsl/float64.glsl  Tue Sep 24 16:39:43 2019 +0000
@@ -0,0 +1,1743 @@
+/*
+ * The implementations contained in this file are heavily based on the
+ * implementations found in the Berkeley SoftFloat library. As such, they are
+ * licensed under the same 3-clause BSD license:
+ *
+ * License for Berkeley SoftFloat Release 3e
+ *
+ * John R. Hauser
+ * 2018 January 20
+ *
+ * The following applies to the whole of SoftFloat Release 3e as well as to
+ * each source file individually.
+ *
+ * Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+ * University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice,
+ *     this list of conditions, and the following disclaimer.
+ *
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions, and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ *  3. Neither the name of the University nor the names of its contributors
+ *     may be used to endorse or promote products derived from this software
+ *     without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#version 430
+#extension GL_ARB_gpu_shader_int64 : enable
+#extension GL_ARB_shader_bit_encoding : enable
+#extension GL_EXT_shader_integer_mix : enable
+#extension GL_MESA_shader_integer_functions : enable
+
+#pragma warning(off)
+
+/* Software IEEE floating-point rounding mode.
+ * GLSL spec section "4.7.1 Range and Precision":
+ * The rounding mode cannot be set and is undefined.
+ * But here, we are able to define the rounding mode at the compilation time.
+ */
+#define FLOAT_ROUND_NEAREST_EVEN    0
+#define FLOAT_ROUND_TO_ZERO         1
+#define FLOAT_ROUND_DOWN            2
+#define FLOAT_ROUND_UP              3
+#define FLOAT_ROUNDING_MODE         FLOAT_ROUND_NEAREST_EVEN
+
+/* Absolute value of a Float64 :
+ * Clear the sign bit
+ */
+uint64_t
+__fabs64(uint64_t __a)
+{
+   uvec2 a = unpackUint2x32(__a);
+   a.y &= 0x7FFFFFFFu;
+   return packUint2x32(a);
+}
+
+/* Returns 1 if the double-precision floating-point value `a' is a NaN;
+ * otherwise returns 0.
+ */
+bool
+__is_nan(uint64_t __a)
+{
+   uvec2 a = unpackUint2x32(__a);
+   return (0xFFE00000u <= (a.y<<1)) &&
+      ((a.x != 0u) || ((a.y & 0x000FFFFFu) != 0u));
+}
+
+/* Negate value of a Float64 :
+ * Toggle the sign bit
+ */
+uint64_t
+__fneg64(uint64_t __a)
+{
+   uvec2 a = unpackUint2x32(__a);
+   uint t = a.y;
+
+   t ^= (1u << 31);
+   a.y = mix(t, a.y, __is_nan(__a));
+   return packUint2x32(a);
+}
+
+uint64_t
+__fsign64(uint64_t __a)
+{
+   uvec2 a = unpackUint2x32(__a);
+   uvec2 retval;
+   retval.x = 0u;
+   retval.y = mix((a.y & 0x80000000u) | 0x3FF00000u, 0u, (a.y << 1 | a.x) == 0u);
+   return packUint2x32(retval);
+}
+
+/* Returns the fraction bits of the double-precision floating-point value `a'.*/
+uint
+__extractFloat64FracLo(uint64_t a)
+{
+   return unpackUint2x32(a).x;
+}
+
+uint
+__extractFloat64FracHi(uint64_t a)
+{
+   return unpackUint2x32(a).y & 0x000FFFFFu;
+}
+
+/* Returns the exponent bits of the double-precision floating-point value `a'.*/
+int
+__extractFloat64Exp(uint64_t __a)
+{
+   uvec2 a = unpackUint2x32(__a);
+   return int((a.y>>20) & 0x7FFu);
+}
+
+bool
+__feq64_nonnan(uint64_t __a, uint64_t __b)
+{
+   uvec2 a = unpackUint2x32(__a);
+   uvec2 b = unpackUint2x32(__b);
+   return (a.x == b.x) &&
+          ((a.y == b.y) || ((a.x == 0u) && (((a.y | b.y)<<1) == 0u)));
+}
+
+/* Returns true if the double-precision floating-point value `a' is equal to the
+ * corresponding value `b', and false otherwise.  The comparison is performed
+ * according to the IEEE Standard for Floating-Point Arithmetic.
+ */
+bool
+__feq64(uint64_t a, uint64_t b)
+{
+   if (__is_nan(a) || __is_nan(b))
+      return false;
+
+   return __feq64_nonnan(a, b);
+}
+
+/* Returns true if the double-precision floating-point value `a' is not equal
+ * to the corresponding value `b', and false otherwise.  The comparison is
+ * performed according to the IEEE Standard for Floating-Point Arithmetic.
+ */
+bool
+__fne64(uint64_t a, uint64_t b)
+{
+   if (__is_nan(a) || __is_nan(b))
+      return true;
+
+   return !__feq64_nonnan(a, b);
+}
+
+/* Returns the sign bit of the double-precision floating-point value `a'.*/
+uint
+__extractFloat64Sign(uint64_t a)
+{
+   return unpackUint2x32(a).y >> 31;
+}
+
+/* Returns true if the 64-bit value formed by concatenating `a0' and `a1' is less
+ * than the 64-bit value formed by concatenating `b0' and `b1'.  Otherwise,
+ * returns false.
+ */
+bool
+lt64(uint a0, uint a1, uint b0, uint b1)
+{
+   return (a0 < b0) || ((a0 == b0) && (a1 < b1));
+}



Home | Main Index | Thread Index | Old Index