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.41;	author mrg;	state Exp;
branches
	1.1.1.1;
next	;
commitid	r12jo1Nf3ebQKLeB;

1.1.1.1
date	2019.03.10.03.42.41;	author mrg;	state Exp;
branches;
next	1.1.1.2;
commitid	r12jo1Nf3ebQKLeB;

1.1.1.2
date	2019.09.24.17.55.46;	author maya;	state Exp;
branches;
next	1.1.1.3;
commitid	KJXusGl8fi9AAhEB;

1.1.1.3
date	2022.05.09.01.23.39;	author mrg;	state Exp;
branches;
next	;
commitid	UEBs6hNk81DdQjDD;


desc
@@


1.1
log
@Initial revision
@
text
@# Copyright © 2017-2019 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.

anv_extensions_py = files('anv_extensions.py')

anv_entrypoints = custom_target(
  'anv_entrypoints.[ch]',
  input : ['anv_entrypoints_gen.py', vk_api_xml],
  output : ['anv_entrypoints.h', 'anv_entrypoints.c'],
  command : [
    prog_python, '@@INPUT0@@', '--xml', '@@INPUT1@@',
    '--outdir', meson.current_build_dir(),
  ],
  depend_files : anv_extensions_py,
)

anv_extensions_c = custom_target(
  'anv_extensions.c',
  input : ['anv_extensions_gen.py', vk_api_xml],
  output : 'anv_extensions.c',
  command : [
    prog_python, '@@INPUT0@@', '--xml', '@@INPUT1@@',
    '--out-c', '@@OUTPUT@@',
  ],
  depend_files : anv_extensions_py,
)

anv_extensions_h = custom_target(
  'anv_extensions.h',
  input : ['anv_extensions_gen.py', vk_api_xml],
  output : 'anv_extensions.h',
  command : [
    prog_python, '@@INPUT0@@', '--xml', '@@INPUT1@@',
    '--out-h', '@@OUTPUT@@',
  ],
  depend_files : anv_extensions_py,
)

intel_icd = custom_target(
  'intel_icd',
  input : 'anv_icd.py',
  output : 'intel_icd.@@0@@.json'.format(host_machine.cpu()),
  command : [
    prog_python, '@@INPUT@@',
    '--lib-path', join_paths(get_option('prefix'), get_option('libdir')),
    '--out', '@@OUTPUT@@',
  ],
  depend_files : anv_extensions_py,
  build_by_default : true,
  install_dir : with_vulkan_icd_dir,
  install : true,
)

dev_icd = custom_target(
  'dev_icd',
  input : 'anv_icd.py',
  output : 'dev_icd.@@0@@.json'.format(host_machine.cpu()),
  command : [
    prog_python, '@@INPUT@@', '--lib-path', meson.current_build_dir(),
    '--out', '@@OUTPUT@@'
  ],
  depend_files : files('anv_extensions.py'),
  build_by_default : true,
  install : false,
)

libanv_gen_libs = []
anv_gen_files = files(
  'genX_blorp_exec.c',
  'genX_cmd_buffer.c',
  'genX_gpu_memcpy.c',
  'genX_pipeline.c',
  'genX_query.c',
  'genX_state.c',
)
foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']],
             ['80', ['gen8_cmd_buffer.c']], ['90', ['gen8_cmd_buffer.c']],
             ['100', ['gen8_cmd_buffer.c']], ['110', ['gen8_cmd_buffer.c']]]
  _gen = g[0]
  libanv_gen_libs += static_library(
    'anv_gen@@0@@'.format(_gen),
    [anv_gen_files, g[1], anv_entrypoints[0], anv_extensions_h],
    include_directories : [
      inc_common, inc_compiler, inc_drm_uapi, inc_intel, inc_vulkan_util,
      inc_vulkan_wsi,
    ],
    c_args : [
      c_vis_args, no_override_init_args, c_sse2_args,
      '-DGEN_VERSIONx10=@@0@@'.format(_gen),
    ],
    dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers],
  )
endforeach

libanv_files = files(
  'anv_allocator.c',
  'anv_batch_chain.c',
  'anv_blorp.c',
  'anv_cmd_buffer.c',
  'anv_descriptor_set.c',
  'anv_device.c',
  'anv_dump.c',
  'anv_formats.c',
  'anv_genX.h',
  'anv_image.c',
  'anv_intel.c',
  'anv_nir.h',
  'anv_nir_add_base_work_group_id.c',
  'anv_nir_apply_pipeline_layout.c',
  'anv_nir_lower_input_attachments.c',
  'anv_nir_lower_multiview.c',
  'anv_nir_lower_push_constants.c',
  'anv_nir_lower_ycbcr_textures.c',
  'anv_pass.c',
  'anv_pipeline.c',
  'anv_pipeline_cache.c',
  'anv_private.h',
  'anv_queue.c',
  'anv_util.c',
  'anv_wsi.c',
  'vk_format_info.h',
)

anv_deps = [
  dep_libdrm,
  dep_valgrind,
  idep_nir_headers,
]
anv_flags = [
  c_vis_args,
  no_override_init_args,
  c_sse2_args,
]

if with_platform_x11
  anv_deps += dep_xcb_dri3
  anv_flags += [
    '-DVK_USE_PLATFORM_XCB_KHR',
    '-DVK_USE_PLATFORM_XLIB_KHR',
  ]
  libanv_files += files('anv_wsi_x11.c')
endif

if with_platform_wayland
  anv_deps += dep_wayland_client
  anv_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR'
  libanv_files += files('anv_wsi_wayland.c')
endif

if with_platform_drm
  anv_flags += '-DVK_USE_PLATFORM_DISPLAY_KHR'
  libanv_files += files('anv_wsi_display.c')
endif

if with_xlib_lease
  anv_deps += [dep_xcb_xrandr, dep_xlib_xrandr]
  anv_flags += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
endif

libanv_common = static_library(
  'anv_common',
  [
    libanv_files, anv_entrypoints, anv_extensions_c, anv_extensions_h, sha1_h,
    gen_xml_pack,
  ],
  include_directories : [
    inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util,
    inc_vulkan_wsi,
  ],
  c_args : anv_flags,
  dependencies : anv_deps,
)

libvulkan_intel = shared_library(
  'vulkan_intel',
  [files('anv_gem.c'), anv_entrypoints[0], anv_extensions_h],
  include_directories : [
    inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util,
    inc_vulkan_wsi,
  ],
  link_whole : [libanv_common, libanv_gen_libs],
  link_with : [
    libintel_compiler, libintel_common, libintel_dev, libisl, libblorp,
    libvulkan_util, libvulkan_wsi, libmesa_util,
  ],
  dependencies : [
    dep_thread, dep_dl, dep_m, anv_deps, idep_nir,
  ],
  c_args : anv_flags,
  link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections],
  install : true,
)

if with_tests
  libvulkan_intel_test = static_library(
    'vulkan_intel_test',
    [files('anv_gem_stubs.c'), anv_entrypoints[0], anv_extensions_h],
    include_directories : [
      inc_common, inc_intel, inc_compiler, inc_drm_uapi, inc_vulkan_util,
      inc_vulkan_wsi,
    ],
    link_whole : libanv_common,
    link_with : [
      libanv_gen_libs, libintel_compiler, libintel_common, libintel_dev,
      libisl, libblorp, libvulkan_util, libvulkan_wsi, libmesa_util,
    ],
    dependencies : [
      dep_thread, dep_dl, dep_m, anv_deps, idep_nir,
    ],
    c_args : anv_flags,
  )

  foreach t : ['block_pool_no_free', 'state_pool_no_free',
               'state_pool_free_list_only', 'state_pool']
    test(
      'anv_@@0@@'.format(t),
      executable(
        t,
        ['tests/@@0@@.c'.format(t), anv_entrypoints[0], anv_extensions_h],
        link_with : libvulkan_intel_test,
        dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind],
        include_directories : [
          inc_common, inc_intel, inc_compiler, inc_vulkan_util, inc_vulkan_wsi,
        ],
      )
    )
  endforeach
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
@d101 2
a102 1
      inc_common, inc_compiler, inc_include, inc_intel, inc_vulkan_wsi,
d108 1
a108 3
    dependencies : [
      dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml, idep_vulkan_util_headers,
    ],
a113 1
  'anv_android.h',
a144 1
  idep_vulkan_util_headers,
a176 8
if with_platform_android
  anv_deps += dep_android
  anv_flags += '-DVK_USE_PLATFORM_ANDROID_KHR'
  libanv_files += files('anv_android.c')
else
  libanv_files += files('anv_android_stubs.c')
endif

d184 2
a185 2
    inc_common, inc_intel, inc_compiler, inc_include,
    inc_vulkan_wsi, inc_util,
d195 2
a196 1
    inc_common, inc_intel, inc_compiler, inc_include, inc_vulkan_wsi,
d201 1
a201 1
    libvulkan_wsi, libmesa_util,
d204 1
a204 1
    dep_thread, dep_dl, dep_m, anv_deps, idep_nir, idep_genxml, idep_vulkan_util
d216 2
a217 1
      inc_common, inc_intel, inc_compiler, inc_include, inc_vulkan_wsi,
d222 1
a222 1
      libisl, libblorp, libvulkan_wsi, libmesa_util,
d225 1
a225 1
      dep_thread, dep_dl, dep_m, anv_deps, idep_nir, idep_vulkan_util
d230 2
a231 3
  foreach t : ['block_pool_no_free', 'block_pool_grow_first',
               'state_pool_no_free', 'state_pool_free_list_only',
               'state_pool', 'state_pool_padding']
a236 1
        c_args : [ c_sse2_args ],
d238 1
a238 1
        dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind, idep_vulkan_util, ],
d240 1
a240 1
          inc_common, inc_intel, inc_compiler, inc_vulkan_wsi,
d242 1
a242 2
      ),
      suite : ['intel'],
@


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
@d21 2
d24 2
a25 2
  'anv_entrypoints',
  input : [vk_entrypoints_gen, vk_api_xml],
d28 13
a40 6
    prog_python, '@@INPUT0@@', '--xml', '@@INPUT1@@', '--proto', '--weak',
    '--out-h', '@@OUTPUT0@@', '--out-c', '@@OUTPUT1@@', '--prefix', 'anv',
    '--device-prefix', 'gfx7', '--device-prefix', 'gfx75',
    '--device-prefix', 'gfx8', '--device-prefix', 'gfx9',
    '--device-prefix', 'gfx11', '--device-prefix', 'gfx12',
    '--device-prefix', 'gfx125',
d42 12
a53 1
  depend_files : vk_entrypoints_gen_depend_files,
d58 1
a58 1
  input : [vk_icd_gen, vk_api_xml],
d61 2
a62 4
    prog_python, '@@INPUT0@@',
    '--api-version', '1.2', '--xml', '@@INPUT1@@',
    '--lib-path', join_paths(get_option('prefix'), get_option('libdir'),
                             'libvulkan_intel.so'),
d65 1
d71 15
a85 2
libanv_per_hw_ver_libs = []
anv_per_hw_ver_files = files(
d93 7
a99 8
foreach g : [['70', ['gfx7_cmd_buffer.c']], ['75', ['gfx7_cmd_buffer.c']],
             ['80', ['gfx8_cmd_buffer.c']], ['90', ['gfx8_cmd_buffer.c']],
             ['110', ['gfx8_cmd_buffer.c']], ['120', ['gfx8_cmd_buffer.c']],
             ['125', ['gfx8_cmd_buffer.c']]]
  _gfx_ver = g[0]
  libanv_per_hw_ver_libs += static_library(
    'anv_per_hw_ver@@0@@'.format(_gfx_ver),
    [anv_per_hw_ver_files, g[1], anv_entrypoints[0]],
d101 1
a101 1
      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_compiler, inc_intel,
d104 2
a105 2
      no_override_init_args, c_sse2_args,
      '-DGFX_VERx10=@@0@@'.format(_gfx_ver),
a106 1
    gnu_symbol_visibility : 'hidden',
d108 1
a108 2
      dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml,
      idep_vulkan_util_headers, idep_vulkan_wsi_headers,
a113 1
  'anv_acceleration_structure.c',
d121 1
d125 1
a125 2
  'anv_measure.c',
  'anv_measure.h',
d129 1
a129 1
  'anv_nir_compute_push_layout.c',
d131 1
a131 1
  'anv_nir_lower_ubo_loads.c',
a133 1
  'anv_perf.c',
d140 1
a145 1
  idep_genxml,
a147 1
  idep_vulkan_wsi_headers,
d150 1
d157 5
d166 2
d170 2
a171 1
if system_has_kms_drm and not with_platform_android
d176 2
a177 1
  anv_deps += [dep_xlib_xrandr]
d181 2
d191 1
a191 1
    libanv_files, anv_entrypoints, sha1_h,
d195 2
a196 2
    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
    inc_util,
a198 1
  gnu_symbol_visibility : 'hidden',
d204 1
a204 1
  [files('anv_gem.c'), anv_entrypoints[0]],
d206 1
a206 1
    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
d208 1
a208 1
  link_whole : [libanv_common, libanv_per_hw_ver_libs],
d210 2
a211 1
    libintel_compiler, libintel_dev, libisl, libblorp, libintel_perf,
d214 1
a214 3
    dep_thread, dep_dl, dep_m, anv_deps, idep_libintel_common,
    idep_nir, idep_genxml, idep_vulkan_util, idep_vulkan_wsi,
    idep_mesautil, idep_xmlconfig,
d217 1
a217 2
  gnu_symbol_visibility : 'hidden',
  link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections],
a220 13
if with_symbols_check
  test(
    'anv symbols check',
    symbols_check,
    args : [
      '--lib', libvulkan_intel,
      '--symbols-file', vulkan_icd_symbols,
      symbols_check_args,
    ],
    suite : ['intel'],
  )
endif

d224 1
a224 1
    [files('anv_gem_stubs.c'), anv_entrypoints[0]],
d226 1
a226 1
      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
d230 2
a231 2
      libanv_per_hw_ver_libs, libintel_compiler, libintel_common, libintel_dev,
      libisl, libblorp, libintel_perf,
d234 1
a234 2
      dep_thread, dep_dl, dep_m, anv_deps,
      idep_nir, idep_vulkan_util, idep_vulkan_wsi, idep_mesautil,
a236 1
    gnu_symbol_visibility : 'hidden',
d246 1
a246 1
        ['tests/@@0@@.c'.format(t), anv_entrypoints[0]],
d249 1
a249 4
        dependencies : [
          dep_libdrm, dep_thread, dep_m, dep_valgrind,
          idep_vulkan_util, idep_vulkan_wsi_headers,
        ],
d251 1
a251 1
          inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
@


