head 1.1; branch 1.1.1; access; symbols netbsd-10-2-RELEASE:1.1.1.3 netbsd-9-5-RELEASE:1.1.1.1 netbsd-11-0-RELEASE:1.1.1.3 netbsd-11-0-RC7:1.1.1.3 netbsd-11-0-RC6:1.1.1.3 netbsd-11-0-RC5:1.1.1.3 netbsd-11-0-RC4:1.1.1.3 netbsd-11-0-RC3:1.1.1.3 netbsd-11-0-RC2:1.1.1.3 netbsd-11-0-RC1:1.1.1.3 netbsd-11:1.1.1.3.0.4 netbsd-11-base:1.1.1.3 netbsd-10-1-RELEASE:1.1.1.3 netbsd-9-4-RELEASE:1.1.1.1 netbsd-10-0-RELEASE:1.1.1.3 netbsd-10-0-RC6:1.1.1.3 netbsd-10-0-RC5:1.1.1.3 netbsd-10-0-RC4:1.1.1.3 netbsd-10-0-RC3:1.1.1.3 netbsd-10-0-RC2:1.1.1.3 netbsd-10-0-RC1:1.1.1.3 netbsd-10:1.1.1.3.0.2 netbsd-10-base:1.1.1.3 netbsd-9-3-RELEASE:1.1.1.1 mesa-21-3-7:1.1.1.3 netbsd-9-2-RELEASE:1.1.1.1 netbsd-9-1-RELEASE:1.1.1.1 netbsd-9-0-RELEASE:1.1.1.1 netbsd-9-0-RC2:1.1.1.1 netbsd-9-0-RC1:1.1.1.1 mesalib-19-1-7:1.1.1.2 netbsd-9:1.1.1.1.0.2 netbsd-9-base:1.1.1.1 mesa-18-3-6:1.1.1.1 mesa-18-3-4:1.1.1.1 xorg:1.1.1; locks; strict; comment @# @; 1.1 date 2019.03.10.03.42.34; author mrg; state Exp; branches 1.1.1.1; next ; commitid r12jo1Nf3ebQKLeB; 1.1.1.1 date 2019.03.10.03.42.34; author mrg; state Exp; branches; next 1.1.1.2; commitid r12jo1Nf3ebQKLeB; 1.1.1.2 date 2019.09.24.18.22.17; author maya; state Exp; branches; next 1.1.1.3; commitid KJXusGl8fi9AAhEB; 1.1.1.3 date 2022.05.09.01.23.43; author mrg; state Exp; branches; next ; commitid UEBs6hNk81DdQjDD; desc @@ 1.1 log @Initial revision @ text @# Copyright © 2017 Intel Corporation # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. inc_util = include_directories('.') subdir('xmlpool') files_mesa_util = files( 'bigmath.h', 'bitscan.c', 'bitscan.h', 'bitset.h', 'build_id.c', 'build_id.h', 'crc32.c', 'crc32.h', 'debug.c', 'debug.h', 'disk_cache.c', 'disk_cache.h', 'fast_idiv_by_const.c', 'fast_idiv_by_const.h', 'format_r11g11b10f.h', 'format_rgb9e5.h', 'format_srgb.h', 'futex.h', 'half_float.c', 'half_float.h', 'hash_table.c', 'hash_table.h', 'list.h', 'macros.h', 'mesa-sha1.c', 'mesa-sha1.h', 'os_time.c', 'os_time.h', 'os_misc.c', 'os_misc.h', 'u_process.c', 'u_process.h', 'sha1/sha1.c', 'sha1/sha1.h', 'ralloc.c', 'ralloc.h', 'rand_xor.c', 'rand_xor.h', 'rb_tree.c', 'rb_tree.h', 'register_allocate.c', 'register_allocate.h', 'rgtc.c', 'rgtc.h', 'rounding.h', 'set.c', 'set.h', 'simple_list.h', 'simple_mtx.h', 'slab.c', 'slab.h', 'string_buffer.c', 'string_buffer.h', 'strndup.h', 'strtod.c', 'strtod.h', 'texcompress_rgtc_tmp.h', 'u_atomic.c', 'u_atomic.h', 'u_dynarray.h', 'u_endian.h', 'u_queue.c', 'u_queue.h', 'u_string.h', 'u_thread.h', 'u_vector.c', 'u_vector.h', 'u_math.c', 'u_math.h', 'u_debug.c', 'u_debug.h', 'u_cpu_detect.c', 'u_cpu_detect.h', 'vma.c', 'vma.h', ) install_data('00-mesa-defaults.conf', install_dir : join_paths(get_option('datadir'), 'drirc.d')) files_xmlconfig = files( 'xmlconfig.c', 'xmlconfig.h', ) format_srgb = custom_target( 'format_srgb', input : ['format_srgb.py'], output : 'format_srgb.c', command : [prog_python, '@@INPUT0@@'], capture : true, ) libmesa_util = static_library( 'mesa_util', [files_mesa_util, format_srgb], include_directories : inc_common, dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m], c_args : [c_msvc_compat_args, c_vis_args], build_by_default : false ) libxmlconfig = static_library( 'xmlconfig', files_xmlconfig, include_directories : inc_common, link_with : libmesa_util, dependencies : [dep_expat, dep_m], c_args : [ c_msvc_compat_args, c_vis_args, '-DSYSCONFDIR="@@0@@"'.format( join_paths(get_option('prefix'), get_option('sysconfdir')) ), '-DDATADIR="@@0@@"'.format( join_paths(get_option('prefix'), get_option('datadir')) ), ], build_by_default : false, ) if with_tests test( 'u_atomic', executable( 'u_atomic_test', files('u_atomic_test.c'), include_directories : inc_common, link_with : libmesa_util, c_args : [c_msvc_compat_args], ) ) test( 'roundeven', executable( 'roundeven_test', files('roundeven_test.c'), include_directories : inc_common, c_args : [c_msvc_compat_args], dependencies : [dep_m], ) ) test( 'mesa-sha1', executable( 'mesa-sha1_test', files('mesa-sha1_test.c'), include_directories : inc_common, link_with : libmesa_util, c_args : [c_msvc_compat_args], ) ) subdir('tests/fast_idiv_by_const') subdir('tests/hash_table') subdir('tests/string_buffer') subdir('tests/vma') subdir('tests/set') endif @ 1.1.1.1 log @from maya: Import mesa 18.3.4. Mesa 18.3.4 implements the OpenGL 4.5 API. Some drivers don't support all the features required in OpenGL 4.5. @ text @@ 1.1.1.2 log @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. @ text @a33 1 'dag.c', a53 1 'os_file.c', d103 1 a103 15 files_drirc = files('00-mesa-defaults.conf') install_data(files_drirc, install_dir : join_paths(get_option('datadir'), 'drirc.d')) if with_tests prog_xmllint = find_program('xmllint', required : false, native : true) if prog_xmllint.found() test( 'drirc xml validation', prog_xmllint, args : ['--noout', '--valid', files_drirc], suite : ['util'], ) endif endif d154 1 a154 2 ), suite : ['util'], d165 1 a165 2 ), suite : ['util'], d176 1 a176 14 ), suite : ['util'], ) test( 'bitset', executable( 'bitset_test', files('bitset_test.cpp'), include_directories : inc_common, dependencies : [dep_thread, dep_dl, idep_gtest], link_with : libmesa_util, ), suite : ['util'], @ 1.1.1.3 log @initial import of mesa 21.3.7 main changes since 19.1.7 include: - more support for Vulkan functions - better supported for newer radeonsi (both amdgpu and radeon backends) - various bug fixes in many drivers - many fixes and enhancements for intel drivers - some fixes for nvidia - OpenGL 4.6 for some drivers (intel, radeonsi) - intel Tigerlake and Rocketlake support - Vulkan 1.2 for some drivers - OpenGL 4.5, GLES 3.2, and more on llvmpipe - working Panfrost and Midgard drivers - fix warnings in radeonsi vs newer llvm @ text @d23 1 a23 1 subdir('format') a25 2 'anon_file.h', 'anon_file.c', a29 2 'blob.c', 'blob.h', a31 4 'cnd_monotonic.h', 'compiler.h', 'compress.c', 'compress.h', a38 5 'disk_cache_os.c', 'disk_cache_os.h', 'double.c', 'double.h', 'enum_operators.h', a43 2 'fossilize_db.c', 'fossilize_db.h', a48 2 'u_idalloc.c', 'u_idalloc.h', a49 1 'log.c', a50 2 'memstream.c', 'memstream.h', a55 1 'os_memory_fd.c', a57 5 'os_socket.c', 'os_socket.h', 'perf/u_trace.h', 'perf/u_trace.c', 'perf/u_trace_priv.h', a59 3 'u_qsort.cpp', 'u_qsort.h', 'rwlock.h', a78 4 'softfloat.c', 'softfloat.h', 'sparse_array.c', 'sparse_array.h', a84 1 'timespec.h', a86 4 'u_debug_describe.c', 'u_debug_describe.h', 'u_debug_refcnt.c', 'u_debug_refcnt.h', a88 3 'u_fifo.h', 'u_hash_table.c', 'u_hash_table.h', a96 3 'u_memset.h', 'u_mm.c', 'u_mm.h', a98 1 'u_debug_memory.c', a100 2 'u_printf.cpp', 'u_printf.h', a102 1 'xxhash.h', a125 9 files_xmlconfig += custom_target( 'driconf_static.h', input: ['driconf_static.py', '00-mesa-defaults.conf'], output: 'driconf_static.h', command: [ prog_python, '@@INPUT0@@', '@@INPUT1@@', '@@OUTPUT@@' ], ) d134 1 a134 38 deps_for_libmesa_util = [ dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m, dep_valgrind, dep_zstd, dep_dl, dep_unwind, ] if with_platform_android deps_for_libmesa_util += dep_android files_debug_stack = files('u_debug_stack_android.cpp') else files_debug_stack = files( 'u_debug_stack.c', 'u_debug_symbol.c', 'u_debug_symbol.h', ) endif if with_platform_haiku deps_for_libmesa_util += dep_network endif if with_perfetto files_mesa_util += files( 'u_perfetto.cc', 'u_perfetto.h', ) deps_for_libmesa_util += dep_perfetto endif u_trace_py = files('perf/u_trace.py') _libmesa_util = static_library( d136 4 a139 6 [files_mesa_util, files_debug_stack, format_srgb], include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : deps_for_libmesa_util, link_with: libmesa_format, c_args : [c_msvc_compat_args], gnu_symbol_visibility : 'hidden', d143 1 a143 13 idep_mesautil = declare_dependency( link_with : _libmesa_util, include_directories : [inc_util, inc_gallium], dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m, dep_valgrind], ) xmlconfig_deps = [] if not (with_platform_android or with_platform_windows) xmlconfig_deps += dep_expat endif xmlconfig_deps += dep_regex _libxmlconfig = static_library( d146 3 a148 2 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : [idep_mesautil, dep_m, xmlconfig_deps], d150 1 a150 1 c_msvc_compat_args, a157 1 gnu_symbol_visibility : 'hidden', a160 7 idep_xmlconfig = declare_dependency( dependencies : xmlconfig_deps, link_with : _libxmlconfig, ) files_xxd = files('xxd.py') a161 19 # DRI_CONF macros use designated initializers (required for union # initializaiton), so we need c++2a since gtest forces us to use c++ if host_machine.system() != 'windows' and cpp.has_argument('-std=c++2a') test('xmlconfig', executable('xmlconfig_test', files('tests/xmlconfig.cpp'), include_directories : [inc_include, inc_src], dependencies : [idep_mesautil, idep_xmlconfig, idep_gtest], override_options : ['cpp_std=c++2a'], cpp_args: ['-Wno-write-strings'] ), suite : ['util'], env: ['HOME=' + join_paths(meson.current_source_dir(), 'tests', 'drirc_home'), 'DRIRC_CONFIGDIR=' + join_paths(meson.current_source_dir(), 'tests', 'drirc_configdir')] ) endif d167 2 a168 26 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : idep_mesautil, c_args : [c_msvc_compat_args], ), suite : ['util'], ) test( 'blob', executable( 'blob_test', files('blob_test.c'), include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : idep_mesautil, c_args : [c_msvc_compat_args], ), suite : ['util'], ) test( 'rb_tree', executable( 'rb_tree_test', files('rb_tree_test.c'), include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : idep_mesautil, d179 1 a179 1 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], a183 37 should_fail : meson.get_cross_property('xfail', '').contains('roundeven'), ) # FIXME: this test crashes on windows if host_machine.system() != 'windows' test( 'mesa-sha1', executable( 'mesa-sha1_test', files('mesa-sha1_test.c'), include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], link_with : _libmesa_util, c_args : [c_msvc_compat_args], ), suite : ['util'], ) endif foreach t: ['bitset', 'register_allocate', 'u_debug_stack', 'u_qsort'] test( t, executable( t + '_test', files(t + '_test.cpp'), include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : [idep_mesautil, idep_gtest], ), suite : ['util'], ) endforeach process_test_exe = executable( 'process_test', files('process_test.c'), include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], dependencies : idep_mesautil, c_args : [c_msvc_compat_args], a184 11 if (host_machine.system() == 'windows' and build_machine.system() != 'windows') # This conversion is only required on mingw crosscompilers, otherwise we hit at least one of these issues # https://gitlab.freedesktop.org/mesa/mesa/-/issues/2690 # https://gitlab.freedesktop.org/mesa/mesa/-/issues/2788 prog_winepath = find_program('winepath') process_test_exe_full_path = run_command( prog_winepath, '-w', process_test_exe.full_path() ).stdout().strip() else process_test_exe_full_path = process_test_exe.full_path() endif d187 7 a193 11 'process', process_test_exe, suite : ['util'], env: ['BUILD_FULL_PATH='+process_test_exe_full_path] ) test('int_min_max', executable('int_min_max_test', files('tests/int_min_max.cpp'), include_directories : [inc_include, inc_src], dependencies : [idep_mesautil, idep_gtest], d199 1 a199 1 'dag', d201 7 a207 6 'dag_test', 'tests/dag_test.cpp', dependencies : [idep_mesautil, idep_gtest], include_directories : [inc_include, inc_src], ), suite : ['util'], a209 1 subdir('tests/cache') a210 1 subdir('tests/fast_urem_by_const') d212 1 a212 7 if not (host_machine.system() == 'windows' and cc.get_id() == 'gcc') # FIXME: These tests fail with mingw, but not with msvc. subdir('tests/string_buffer') endif if cc.has_header('sys/time.h') # MinGW has this, but Vanilla windows doesn't subdir('tests/timespec') endif a214 3 subdir('tests/sparse_array') subdir('tests/format') subdir('tests/vector') @