[ANNOUNCE] mesa 22.0.2

2022-04-21 Thread Dylan Baker
Hi list!

Better late than never, here is Mesa 22.0.2, the second maintanence
release of the Mesa 22.0 series. This is a rather large release, as I've
made a huge effort to get as much of the backlog of nominated patches
dealt with, and only a handful remain. I'll plan to resume the normal
schedule of having a release on the 4th along with what will hopefully
be 22.1.0.

shortlog



Alexey Bozhenko (1):
  spirv: fix OpBranchConditional when both branches are the same

Alyssa Rosenzweig (1):
  panfrost: Process scissor state earlier

Benjamin Cheng (1):
  vulkan/queue: Destroy wait temps if they are skipped

Boris Brezillon (1):
  lavapipe: Don't use VK_OUTARRAY_MAKE()/vk_outarray_append()

Caio Oliveira (2):
  intel/fs: Initialize the sample mask in flags register when using demote
  intel/fs: Fix IsHelperInvocation for the case no discard/demote are used

Cristian Ciocaltea (1):
  ci: Avoid altering EXTRA_CARGO_ARGS environment variable

Daniel Schürmann (1):
  aco/optimizer: fix call to can_use_opsel() in apply_insert()

Danylo Piliaiev (3):
  turnip: Fix the lack of WFM before indirect draws
  turnip: enable has_ccu_flush_bug workaround for a660
  turnip: Correctly store separate stencil in gmem store

Dave Airlie (6):
  radv: use flush vgt streamout like PAL does.
  gallivm/sample: detect if rho is inf or nan and flush to zero.
  llvmpipe: fix nr_sampler_view in key creation.
  draw: handle tess eval shader when getting num outputs
  u_blitter/stencil: take dstbox x/y into accounts for dst fb width
  util/stencil: fix stencil fallback blit shader texture types.

Dylan Baker (22):
  docs: add sah256 sum for mesa 22.0.1
  .pick_status.json: Update to 5a459b8f6b0b59814865bc5869a868269f8f7ebf
  pick/core: have update_commits return the commit list
  bin/auto-pick: Add a script that automates applying commits
  .pick_status.json: Mark 3ef093f697ad9027ba514c7a4a6a10b7bd95bd47 as 
denominated
  core: don't pass the ui back into commit.apply
  .pick_status.json: Update to 33c800bf913771ddadb5bd632df46582f4d1c9f3
  .pick_status.json: Update to 837f781c9a4f909ac1ee0b3b8331af87301b5fc3
  .pick_status.json: Update to 7478b00c7cc7f7ec8cbe224ce600362f7fdb9411
  .pick_status.json: Update to c7eaf0306876df53d3608ae3bf67afc272dcdf20
  .pick_status.json: Mark 94706601fa2f52605d6e488f30fad9a0e2440612 as 
denominated
  .pick_status.json: Mark 174d086e8c818db4522731e845bd259e2baa8830 as 
denominated
  .pick_status.json: Mark 8b71118aa066ab125b7440912ed1e14da79c9451 as 
backported
  .pick_status.json: Mark 4e30da7874e6586c7ac94cd34560c782d0f9678d as 
backported
  .pick_status.json: Mark 7da211e24fe14d8b107461bdfcb3b8d67212f88a as 
backported
  .pick_status.json: Mark 8294d454245d4318befac7c8915e55db3d47cefd as 
backported
  .pick_status.json: Update to e509598470c000498c3e1328e012142d9047e292
  .pick_status.json: Mark 2b688942c1b1f5ca4f3e4d33231579149aeb8fdb as 
denominated
  .pick_status.json: Mark dd783d7144932d79ef761810d46e45c3df7148cf as 
denominated
  .pick_status.json: Update to 9f44a264623461c98368185b023d99446676e039
  docs: add release notes for 22.0.2
  VERSION: bump for 22.0.2 release

Emma Anholt (13):
  r600: Update the PS state before checking for cb_misc update.
  r600: Fix ordering of SSBO loads versus texturing.
  r600: Add a workaround and explanation for shadowcubearray TG4.
  vulkan: Make sure we've loaded our connectors when querying plane props.
  st/glsl-to-tgsi: Fix handling of csel(bool, vec, vec).
  r600: Disable SB in the presence of indirection on temp arrays.
  r600: Disable SB when INTERP_SAMPLE is used.
  r600: Implement memoryBarrier() in the non-SFN path.
  nir_to_tgsi: Fix emitting the sample number for non-array MSAA image 
access.
  nir_to_tgsi: Fix the address reg mapping for images and SSBOs to match 
G-T-T.
  turnip: Stop allocating unused pvtmem space in the pipeline CS.
  nir: Add lowering for fround_even on r300.
  nouveau/nir: Fix the inverted sense of usesSampleMaskIn.

Erik Faye-Lund (3):
  vbo/dlist: do not try to pad an empty draw
  d3d12: fix return-code without dxcompiler.dll
  vulkan: explicitly cast object-type enum

Francisco Jerez (1):
  intel/perf: Fix OA report accumulation on Gfx12+.

Georg Lehmann (7):
  nir/fold_16bit_sampler_conversions: Don't fold dest upcasts.
  radv: Add a vkCmdBuildAccelerationStructuresIndirectKHR stub.
  radv: Add more RT pipeline stubs.
  radv: Don't hash ycbcr sampler base object.
  nir/fold_16bit_sampler_conversions: Fix dest type mismatches.
  nir/fold_16bit_sampler_conversions: Fix src type mismatches.
  radv: Enable global bo list if 1.2 features are used.

Ian Romanick (3):
  intel/compiler: Fix sample_d messages on DG2
  intel/

Mesa 20.0 backlog

2022-04-21 Thread Dylan Baker
Hi all,

I've spent a good deal of time this week crushing the backlog of
patches on the mesa 20.0 series before making the release today. As such
there are not only a dozen outstanding patches, mostly for zink, which I
couldn't figure out how to correctly backport.

I've touched base with Lionel about the anv patches, but the remaning
patches I'd appreciate guidance on what you'd like to do with them.

2022-03-14 FIXES  d5870c45ae panfrost: Optimise recalculation of max sampler 
view
2022-03-24 FIXES  f348103fce anv: fix dynamic state emission
2022-03-24 FIXES  a4f502de32 anv: fix VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT 
state
2022-03-24 FIXES  1d250b7b95 anv: fix color write enable interaction with color 
mask
2022-03-30 CC 4eca6e3e5d lavapipe: fix xfb availability query copying
2022-04-05 CC 3dcb80da9d zink: fix barrier generation for ssbo descriptors
2022-04-11 FIXES  dd078d13cb zink: fix tessellation shader key matching.
2022-04-13 FIXES  bbdf22ce13 radv: Fix barriers with cp dma
2022-04-18 CC 8806f444a5 zink: fix extended restart prim types without 
dynamic state2
2022-04-21 CC 373c8001d6 zink: set VK_QUERY_RESULT_WAIT_BIT when copying to 
qbo
2022-04-21 CC a056cbc691 zink: fix synchronization when drawing from 
streamout
2022-04-21 CC fc5edf9b68 zink: fix xfb counter buffer barriers
2022-04-21 CC e509598470 zink: remove xfb_barrier flag

Cheers,
Dylan

signature.asc
Description: signature


[ANNOUNCE] mesa 22.1.0-rc3

2022-04-27 Thread Dylan Baker
Hi list,

I'd like to announce that Mesa 22.1.0-rc3 is now available for general
consumption. There's a lot here, stuff for dzn, util, vulkan, r300,
nir, intel, radv, anv, ac, crocus. The biggest change is lots of
backports for kopper and zink with their supporting changes, such as
wgl which Mike was gracious enough to manually backport for me, thanks
Mike.

please enjoy, and as always, report any issues.

Cheers,
Dylan

shortlog



Alexey Bozhenko (1):
  spirv: fix OpBranchConditional when both branches are the same

Boris Brezillon (4):
  dzn: Add missing VKAPI_{ATTR,CALL} specifiers to BeginCommandBuffer()
  dzn: Pass the dzn_event pointer to _mesa_hash_table_insert()
  dzn: Fix the STATIC_ASSERT() in dzn_meta_blits_get_context()
  ci/windows: Add a variable to globally disable jobs using windows runners

Daniel Stone (2):
  CI: Disable Windows jobs
  ci: Also disable Windows container builds when down

Dave Airlie (2):
  u_blitter/stencil: take dstbox x/y into accounts for dst fb width
  util/stencil: fix stencil fallback blit shader texture types.

Dylan Baker (5):
  .pick_status.json: Update to 9f44a264623461c98368185b023d99446676e039
  .pick_status.json: Update to fbece25a451bb7915891851ee5c72724974ae5e2
  .pick_status.json: Update to a6a4bf0f1eae36cb68d5c67653ac013fe0fbde8a
  .pick_status.json: Update to f329f67243d671965d73bd2243cffc4e1e68c4a3
  VERSION: bump for 22.1.0-rc3

Filip Gawin (1):
  r300: Print warning when stubbing derivatives

Jason Ekstrand (3):
  util/set: Respect found in search_or_add_pre_hashed
  nir: Lower all bit sizes of usub_borrow
  vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping

Jordan Justen (1):
  intel/dev: Add device info for RPL-P

Konstantin Seurer (1):
  radv: Fix lowering ignore_ray_intersection

Lionel Landwerlin (4):
  nir/divergence: handle load_global_block_intel
  intel: fixup number of threads per EU on XeHP
  anv: fix acceleration structure descriptor template writes
  anv: skip acceleration structure in binding table emission

Marek Olšák (3):
  nir: fix an uninitialized variable valgrind warning in nir_group_loads
  ac/surface: fix an addrlib race condition on gfx9
  winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen

Martin Roukala (né Peres) (1):
  ci/b2c: fix the generation of the IMAGE_UNDER_TEST variable

Michael Olbrich (1):
  crocus: export GEM handle with RDWR access rights

Mike Blumenkrantz (21):
  zink: handle device-local unsynchronized maps
  util/draw: fix map size of indirect buffer in util_draw_indirect_read
  util/draw: handle draw_count=0 when reading indirect parameters
  util/draw: fix indirect draw count readback
  zink: move the kopper present fence to the displaytarget object
  wgl: support GL 4.6
  zink: fix tcs control barriers for use without vk memory model
  zink: fix semantics mask for compute control barriers
  zink: add synchronization for buffer clears
  mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries
  glsl/nir: set new_style_shadow for sparse tex ops as necessary
  zink: fix group memory barrier emission
  vulkan: bump layer api versions to current vk header version
  kopper: always fetch and store drawable info
  kopper: move drawable geometry updating up in function
  kopper: store whether screen has dmabuf support
  kopper: copy a bunch of code for texture_from_pixmap
  kopper: add DISPLAY_TARGET bind for depth buffer
  zink: fix/improve swapchain surface info updating
  zink: fix up swapchain depth buffer geometry during fb update
  zink: ci update

Paulo Zanoni (1):
  iris: fix race condition during busy tracking

Pavel Ondračka (1):
  r300: set PIPE_BIND_CONSTANT_BUFFER for const_uploader

Pierre-Eric Pelloux-Prayer (1):
  ac/surface: adjust gfx9.pitch[*] based on surf->blk_w

Rhys Perry (1):
  radv: fix clearing of TRUNC_COORD with tg4 and immutable samplers

Samuel Pitoiset (4):
  radv: only apply enable_mrt_output_nan_fixup for 32-bit float MRTs
  aco: fix load_barycentric_at_{sample,offset} on GFX6-7
  nir: fix marking XFB varyings as always active IO
  nir: mark XFB varyings as unmoveable to prevent them to be remapped

Sidney Just (6):
  wgl: add a flag to determine if running on zink
  wgl: add zink to the list of auto-loaded drivers
  zink: support VK_KHR_win32_surface
  kopper: add win32 loader interface
  zink: support win32 wsi
  wgl: support kopper

Sviatoslav Peleshko (1):
  anv: workaround apps that assume full subgroups without specifying it

Vadym Shovkoplias (1):
  anv: Fix geometry flickering issue when compute and 3D passes are combined


git tag: mesa-22.1.0-rc3

https://mesa.freedesktop.org/archive/mesa-22.1.0-rc3.

[ANNOUNCE] mesa 22.1.0-rc4

2022-05-04 Thread Dylan Baker
Hi list,

I'd like to announce Mesa 22.1.0-rc4. We'll plan on either rc5 or 22.1.0
final next week.

This week we've got a ton of useful stuff, lots of zink and kopper
backports, llvmpipe, util, aco, r600, virgl, panfrost, wayland, spirv,
microsoft, radv, nir, and varous intel cleanups among other things.

Cheers,
Dylan

shortlog


Adam Jackson (1):
  glx/kopper: Wire up a way for SwapBuffers to fail

Anuj Phogat (2):
  include/uapi: Update drm_fourcc.h from kernel
  isl,iris: Add I915_FORMAT_MOD_4_TILED support for XeHP

Autumn on Tape (4):
  gallivm: add subgroup shuffle support
  lavapipe: enable subgroup shuffle operations
  gallivm: use shufflevector for shuffles when index is constant data
  gallivm: use VPERMPS (x86/AVX2) for 32-bit 8-element shuffles

Chia-I Wu (1):
  util: Keep quiet NaNs quiet when converting to half float.

Daniel Schürmann (1):
  aco/ra: fix live-range splits of phi definitions

Dave Airlie (2):
  vulkan/wsi: keep allocate queue families in image, just don't fill them
  llvmpipe: add user memory resources to the debug global list.

Dylan Baker (6):
  .pick_status.json: Update to f17d3a125126dd7e0f1c2072545976cec1eeb1c8
  .pick_status.json: Update to 1dc697942af7254798f83583f5788e1abf136d27
  .pick_status.json: Update to 2505afc430c6b151e7e4243503953ba0b0a2c842
  .pick_status.json: Mark c025cb9ee9d79ebfb66a577556e04deecfe012ed as 
backported
  .pick_status.json: Update to 575068a1656ab4303647ade1491da7d711d36db7
  VERSION: bump for 22.1.0-rc4 release

Emma Anholt (1):
  nouveau/nir: Move FS output stores to the end of the last block.

Erik Faye-Lund (3):
  meson: remove unused defines
  gallium/xlib: fix stale comment
  mesa: add missing error-path

Francisco Jerez (1):
  intel/dev: Compute pixel pipe information based on geometry topology DRM 
query.

Gert Wollny (2):
  virgl: don't move input gl_SampleMaskIn to a temp
  r600: Allow eight bit, three channel formats for vertex buffers

Icecream95 (2):
  panfrost: Fix pack_32_2x16 implementation
  pan/bi: Use texture index instead of sampler for message preloading

Iván Briano (1):
  vulkan/wsi/wayland: Fix double free on error condition

Jason Ekstrand (1):
  spirv: Handle Op*MulExtended for non-32-bit types

Jesse Natalie (1):
  microsoft/compiler: Unload DXIL validator library *after* calling 
Release()

Jordan Justen (5):
  vulkan/wsi/x11: Use atomic_int with sent_image_count
  drm-uapi/i915_drm.h: Update from drm-next (2022-04-28)
  iris: Fix assertion meant to only target the clear-color stride
  intel/dev: Read hwconfig from i915
  intel_dev_info: Add --hwconfig command line parameter

Juan A. Suarez Romero (1):
  mesa: unref syncobj after wait_sync

Konstantin Seurer (1):
  ac/nir: Do not set cursor in try_extract_additions

Lionel Landwerlin (3):
  anv: fix clflush usage on utrace copy batch
  iris: use new kernel uAPI to compute video memory
  anv: fix invalid utrace memcpy l3 config on gfx < 11

Mike Blumenkrantz (24):
  drisw: remove dead code
  zink: add a util function for finding swapchain resource
  zink: flag swapchains when updating fails
  zink: handle dead swapchains in acquire
  zink: unset image layout when killing swapchain
  zink: rework swapchain object check for acquires
  zink: fix return for zink_kopper_acquire
  zink: handle swapchain acquire failures more directly
  zink: flag swapchain resources as swapchains
  zink/kopper: add a mechanism for checking swapchain status
  kopper: add some error logging for pixmap->texture failure
  kopper: check for modifiers to use modifier functionality
  zink/kopper: add a function for determining if running on software
  kopper: check whether zink is using sw
  kopper: rename a confusing variable
  kopper: implement texture-from-pixmap for software (non-dmabuf)
  zink: fix dmabuf plane returns
  zink: export fd info for all 2d images
  zink: ignore KMS handle types
  zink: remove drm_fd
  llvmpipe: disable statistic queries during draw if queries are disabled
  llvmpipe: disable compute statistics queries if queries are disabled
  wgl: always set alpha on kopper windows
  wgl: don't auto-load zink before software drivers

Nanley Chery (3):
  iris: Return a 64B stride for clear color plane
  intel/isl: Add a score for I915_FORMAT_MOD_4_TILED
  isl,iris: Add DG2 CCS modifier support for XeHP

Samuel Pitoiset (3):
  radv: fix handling divisor == 0 with dynamic vertex input state
  radv: allow to disable sinking of load inputs for FS via drirc
  radv: enable radv_disable_sinking_load_input_fs for Grid Autosport

Tapani Pälli (1):
  isl: disable mcs (and mcs+ccs) for color msaa on DG2

Timothy Arceri (1):
  nir: fix sorting before assignin

[ANNOUNCE] mesa 22.0.3

2022-05-04 Thread Dylan Baker
Hi list,

Hot on the heals of Mesa 22.1.0-rc4, Is mesa 22.0.3. Things are starting
to slow down, especially compared to 22.0.2. We have a splattering of
fixes here, touching most of the major drivers and systems, but no real
standouts getting major work, which is good for this point in the
release cycle.

Due to mesa 22.1.0-rc4 today, we'll plan to have another 22.0 release in
2 weeks, which will hopefully be the last release.

Cheers,
Dylan

shortlog


Chia-I Wu (1):
  util: Keep quiet NaNs quiet when converting to half float.

Dave Airlie (2):
  llvmpipe: add user memory resources to the debug global list.
  vulkan/wsi: keep allocate queue families in image, just don't fill them

Dylan Baker (23):
  docs: Add sha256sums for 22.0.2
  .pick_status.json: Update to 5e84335fb578f03938468bb8ac0029f68349d330
  .pick_status.json: Update to a6a4bf0f1eae36cb68d5c67653ac013fe0fbde8a
  .pick_status.json: Update to ef9d97ec1f9d9834db3066b5a7ec67ce6d4ecd86
  .pick_status.json: Update to f17d3a125126dd7e0f1c2072545976cec1eeb1c8
  .pick_status.json: Update to 1dc697942af7254798f83583f5788e1abf136d27
  .pick_status.json: Mark d5870c45ae82c091e72f1258920aa54974e19a36 as 
denominated
  .pick_status.json: Mark f348103fce4484b891a58bf3147b71e3a3558135 as 
denominated
  .pick_status.json: Mark a4f502de3228ec37dfcaa38225077ec3709d74ea as 
denominated
  .pick_status.json: Mark 1d250b7b959d2a206280e4f83db05780a83e0927 as 
denominated
  .pick_status.json: Mark 4eca6e3e5d2b9426d6357e9af1514a0c942638f0 as 
denominated
  .pick_status.json: Mark 3dcb80da9d6d34e567680ef7fecd24aab4537e8a as 
denominated
  .pick_status.json: Mark dd078d13cb6b445ad02087a3e80433ef053b7490 as 
denominated
  .pick_status.json: Mark bbdf22ce136a7f02a8bd6c7e646d12a7e10db18d as 
denominated
  .pick_status.json: Mark 8806f444a5c005d20cd4ec4ed42e508ffd9cb1da as 
denominated
  .pick_status.json: Mark 373c8001d6615d70d112c7526ea4f4953257b6b9 as 
denominated
  .pick_status.json: Mark a056cbc691843861da417b5bcea9f871fdceeb19 as 
denominated
  .pick_status.json: Mark fc5edf9b68159288baa22c055e471de958812312 as 
denominated
  .pick_status.json: Mark e509598470c000498c3e1328e012142d9047e292 as 
denominated
  .pick_status.json: Update to 53a94fbdd57acbbe2bc745901cbfeca968e25273
  .pick_status.json: Update to 2505afc430c6b151e7e4243503953ba0b0a2c842
  docs: add release notes for 22.0.3
  VERSION: bump for 22.0.3

Erik Faye-Lund (3):
  meson: remove unused defines
  gallium/xlib: fix stale comment
  mesa: add missing error-path

Filip Gawin (1):
  r300: Print warning when stubbing derivatives

Gert Wollny (1):
  r600: Allow eight bit, three channel formats for vertex buffers

Icecream95 (1):
  panfrost: Fix pack_32_2x16 implementation

Iván Briano (1):
  vulkan/wsi/wayland: Fix double free on error condition

Jason Ekstrand (4):
  util/set: Respect found in search_or_add_pre_hashed
  nir: Lower all bit sizes of usub_borrow
  vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping
  spirv: Handle Op*MulExtended for non-32-bit types

Jordan Justen (3):
  vulkan/wsi/x11: Use atomic_int with sent_image_count
  iris: Fix assertion meant to only target the clear-color stride
  iris: Fix assertion meant to only target the clear-color stride

Juan A. Suarez Romero (1):
  mesa: unref syncobj after wait_sync

Konstantin Seurer (2):
  radv: Fix barriers with cp dma
  radv: Fix lowering ignore_ray_intersection

Lionel Landwerlin (6):
  nir/divergence: handle load_global_block_intel
  intel: fixup number of threads per EU on XeHP
  anv: fix acceleration structure descriptor template writes
  anv: skip acceleration structure in binding table emission
  anv: fix clflush usage on utrace copy batch
  anv: fix invalid utrace memcpy l3 config on gfx < 11

Marek Olšák (3):
  nir: fix an uninitialized variable valgrind warning in nir_group_loads
  ac/surface: fix an addrlib race condition on gfx9
  winsys/amdgpu: fix a mutex deadlock when we fail to create pipe_screen

Mike Blumenkrantz (10):
  wgl: support GL 4.6
  zink: fix tcs control barriers for use without vk memory model
  zink: fix semantics mask for compute control barriers
  zink: add synchronization for buffer clears
  mesa/st: clamp GL_RENDERBUFFER to GL_TEXTURE_2D for sparse queries
  glsl/nir: set new_style_shadow for sparse tex ops as necessary
  zink: fix group memory barrier emission
  vulkan: bump layer api versions to current vk header version
  llvmpipe: disable compute statistics queries if queries are disabled
  llvmpipe: disable statistic queries during draw if queries are disabled

Nanley Chery (2):
  Revert "anv: Disable CCS_E for some 8/16bpp copies on TGL+"
  iris: Return a 64B stride for clear color plane

Paulo

[ANNOUNCE] mesa 22.1.0-rc5

2022-05-10 Thread Dylan Baker
Hi list,

I'd like to announce mesa 22.1.0-rc5. I've cut another RC because:
  1) there are more than 90 commits since rc4
  2) I have the flu and don't want to check that all of the issues
 blocking the release are closed

As such, I'll plan on 22.1.0 next week, unless something else comes up,
or we end up with ~100 patches again.

Cheers,
Dylan

shortlog


Adam Jackson (4):
  wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes
  kopper: Grow a swap interval API
  glx/kopper: Enable GLX_EXT_swap_control etc.
  egl/kopper: Hook up eglSwapInterval

Alyssa Rosenzweig (1):
  nir: Don't set writes_memory for reading XFB

Bas Nieuwenhuizen (1):
  vulkan/wsi/x11: Ensure we have the required number of images for acquire.

Benjamin Cheng (1):
  radv: fix memory leak of descriptor set layout

Chia-I Wu (1):
  anv: advertise rectangularLines only for Gen10+

Dylan Baker (12):
  .pick_status.json: Update to 7f91e8fad94dd34f83c6a124dbbe5d210be7715f
  .pick_status.json: Update to 17c98393f9f3cb0801b73b2d4c62442859417368
  .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc
  .pick_status.json: Mark 6317f88b044501354a052064478d5b43dfe41809 as 
backported
  .pick_status.json: Mark 5ff3fa5912778adb8117fa26bfe4786b583e741b as 
backported
  .pick_status.json: Mark 9a412c10b7a96adf71c9a2ca44a0abca75de1c49 as 
backported
  .pick_status.json: Mark 0e49ef5c9f2ec34567613226ad498edca28bce88 as 
backported
  .pick_status.json: Mark ae369e9f6d4f2c826f1f2a748c32a14f9d5f1f54 as 
backported
  .pick_status.json: Mark 8b28d1751c76b0ba72dae1f6b916cb7f2bbc1c0c as 
backported
  .pick_status.json: Mark 8daf8ff730b777bb512a237a36783d781cbf9de9 as 
backported
  .pick_status.json: Mark 8c1d9c7b744b2e5b40fd42cfd51256b16deea6a8 as 
denominated
  VERSION: bump for 22.1.0-rc5

Georg Lehmann (2):
  wsi/x11: Don't leak xcb_get_geometry_reply_t.
  nir/opt_algebraic: Fix mask in shift by constant combining.

Icecream95 (6):
  nir/lower_tex: Copy more fields in lower_tex_to_txd and friends
  pan/mdg: Keep min_bound at 16 when alignment requires it
  pan/mdg: Use MAX2 to set min_alignment
  pan/mdg: Fix mask usage when filling before a spill
  pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled
  pan/mdg: Fix multiple spilt writes in the same bundle

Iván Briano (1):
  anv: re-alloc push constants after secondary command buffers

Jason Ekstrand (3):
  vulkan/wsi: Set the right stage flags for semaphore waits
  nir/cf: Return a cursor from nir_cf_extract as well
  gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for 
sampler_buffers

Lionel Landwerlin (15):
  anv: reset all dynamic state after secondary execution
  anv: add missing logic op set in pipeline dyn state
  Revert "anv: fix dynamic state emission"
  anv: rework sample location
  anv: never emit 3DSTATE_CPS in the pipeline batch
  anv: don't emit 3DSTATE_STREAMOUT in pipeline batch
  anv: don't emit 3DSTATE_WM in pipeline batch
  anv: don't emit 3DSTATE_BLEND_STATE_POINTERS in pipeline batch
  anv: don't emit 3DSTATE_DEPTH_BOUNDS in pipeline batch
  anv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch
  anv: remove static_state_mask
  nir/cf: return cursor after insertion of cf_list
  nir/lower_shader_calls: don't use nop instructions as cursors
  nir/lower_shader_calls: don't insert code after break/continue
  nir/lower_shader_calls: put inserted instructions into a dummy block

Marek Olšák (1):
  ac/llvm: set the correct cache policy for sparse buffer loads

Mike Blumenkrantz (40):
  zink: add supported present modes to kopper displaytarget
  lavapipe: lower quad_broadcast intrinsics
  kopper: invalidate drawables when resizing textures in place
  kopper: pass the current context to dri_flush
  nir/gather_info: flag fbfetch on subpass image loads
  llvmpipe: never infer early zs tests when fbfetch is active
  lavapipe: enqueue pipeline destruction
  zink: fix null buffer/surface formats
  zink: add more image usage for null surfaces
  zink: use descriptor surfaces for notemplates ref updating
  kopper: remove unused zink include
  zink: remove unused headers/struct members/linkage
  zink: outdent some code
  zink: add a flag to indicate whether a resource is exportable
  zink: break out resource bind-adding into separate function for reuse
  zink: introduce copy contexts
  zink: create a copy context for the screen on init
  Revert "zink: export fd info for all 2d images"
  zink: always check for fb rebinds when starting renderpass
  zink: unset pipe_resource::next pointers when creating resource copies
  zink: add a bind flag to indicate a resource is exporte

[ANNOUNCE] mesa 22.1.0

2022-05-18 Thread Dylan Baker
Hi list,

I'd like to announce that mesa 21.1.0 is finally available.

This release brings with it a lot of greate featurres, including (since
rc5) additional kopper backports for zink, and support for Intel's
Alchemist DG2 platform.

See you all in two weeks with 22.1.1.

Cheers,
Dylan


shortlog


Danylo Piliaiev (3):
  tu: Do not flush ccu in clear/blits during renderpass
  pps: Open writable renderer node in DrmDevice::create
  tu: Fix indices of drm_msm_gem_submit_cmd when filling them

Dave Airlie (1):
  meson: add build-id to pipe libraries

Dylan Baker (15):
  .pick_status.json: Update to 57293dee2b11ba7e52052edc4d0437f08db19144
  .pick_status.json: Mark 5a3aee78cbb70918b413cdd40dffcae7c9e97d8c as 
denominated
  .pick_status.json: Update to 5c90eb1c53f46e86717c6bf4d5253dd23c4dac1f
  .pick_status.json: Update to 07eba9a15a06ceda3469892822e8b539effc6788
  .pick_status.json: Update to 29a8f1f03bed317370e07288fd9d4b85a24562e6
  .pick_status.json: Mark 07efe6f129956d0cce0fb167d08b5f8af25d0c95 as 
backported
  .pick_status.json: Mark 1c17502ab38a238efe5d9aa4bc0ff07c967adb80 as 
backported
  .pick_status.json: Mark b6eec12327b65038dd56742dbe272c21c63a3844 as 
backported
  .pick_status.json: Mark 7057a363591279c3f65a3c4af41687e6f8142649 as 
backported
  .pick_status.json: Mark 9924fecee6412f1cad65d7d7347681856e3a525c as 
backported
  .pick_status.json: Mark 7aee9f12b9c1f17ae2662c8043c8679ce698b731 as 
backported
  .pick_status.json: Mark 5e4009fe6c91c34a7cdf8c16aa5aa53c3ff41222 as 
backported
  .pick_status.json: Mark b18448e7acfc765ee95505c7cd5e2ce6e6fc36cc as 
backported
  docs: add release notes for 22.1.0
  VERSION: bump for 22.1.0 final

Jason Ekstrand (1):
  nir: Preserve metadata if remove_dead_derefs makes no progress

Jonathan Gray (2):
  intel/dev: sync ADL-S pci ids with linux
  intel/dev: add RPL-S pci ids from drm-intel-next

Jordan Justen (3):
  intel/dev: Add INTEL_PLATFORM_DG2_G12
  intel/dev: Add DG2 G12 PCI IDs
  intel/dev: Enable first set of DG2 PCI IDs

Kenneth Graunke (3):
  anv: Fix INTEL_DEBUG=bat on XeHP
  iris: Add FLUSH_HDC to PIPE_CONTROL_CACHE_FLUSH_BITS
  Revert "st/mesa: Transcode ASTC to BC7 (BPTC) where possible"

Marcin Ślusarz (2):
  anv: update task/mesh distribution with the recommended values
  anv: disable streamout before emitting mesh shading state

Marek Olšák (1):
  radeonsi: fix a crash when failing to create a context

Mike Blumenkrantz (28):
  zink: fix up sparse texture sampling for shadow samplers
  zink: clamp out min_lod operands for explicit lod ops
  zink: fix sparse binding for arrayed textures
  zink: set sparse flag in cubemap lowering
  zink: fix sparse texture depth calcs for arrayed textures
  zink: remove implicit query resets
  zink: remove refs from shader images
  zink: reuse local res pointer in set_shader_images
  zink: simplify dumb update flagging in set_shader_images
  zink: read shader image r/w usage from incoming data struct
  zink: copy incoming shader image struct after doing updates
  zink: stop leaking shader image surfaces
  zink: fix 3d shader image miplevel calc for depth
  zink: directly reuse surface ivci when rebinding
  lavapipe: ignore depth/stencil states if attachment is not present
  lavapipe: fix pipeline handling for dynamic render zs state with pipeline 
library
  spirv: fix barrier scope assert
  zink: never create a sw context unless sw is requested
  zink: only reject non-blittable resource creation if it has no other binds
  zink: add separate error message for push descriptor set alloc fail
  zink: add extra validation for resource creation
  zink: remove input attachment usage when pruning surface usage
  zink: add extended usage and retry if resource creation fails
  zink: fix surface/bufferview cache comparisons
  zink: force render target usage for sampler-only resources
  zink: clamp 1D_ARRAY sparse textures to 2D as needed
  zink: handle PIPE_BUFFER sparse texture queries
  zink: fix non-dynamic vertex stride update flagging

Pierre-Eric Pelloux-Prayer (3):
  radeonsi: don't use wave32 for GE on gfx10 if culling is used
  amd: fix ac_build_mbcnt_add in wave32 mode
  glx: set max values for pbuffer width / height

Samuel Pitoiset (1):
  radv: disable DCC for Senra Kagura Shinovi Versus

Tomeu Vizoso (1):
  ci: Disable jobs to the Collabora lab

Victor Hermann Chiletto (1):
  radv: always check entry count in descriptor pool when allocating

xperia64 (1):
  wgl: Add driver_zink as a dependency of the wgl frontend


git tag: mesa-22.1.0

https://mesa.freedesktop.org/archive/mesa-22.1.0.tar.xz
SHA256: df6270c1371eaa2aa6eb65b95cbbb2a98b14fa4b7ba0ed45e4ca2fd32df60477  

[ANNOUNCE] mesa 22.0.4

2022-05-19 Thread Dylan Baker
Hi list,

Mesa 22.0.4 is now available after a short delay.

Not too much to see here, except for a giant pile of zink patches, some
nice fixes for panfrost, and nir cleanups, and a few assorted river
patches.

Given that 22.1.0 came out yesterday, we will have one more 22.0 release
in two weeks.

Cheers,
Dylan


shortlog


Alyssa Rosenzweig (1):
  nir: Don't set writes_memory for reading XFB

Chia-I Wu (1):
  anv: advertise rectangularLines only for Gen10+

Danylo Piliaiev (3):
  tu: Fix indices of drm_msm_gem_submit_cmd when filling them
  tu: Do not flush ccu in clear/blits during renderpass
  pps: Open writable renderer node in DrmDevice::create

Dylan Baker (19):
  docs: Add sh256sum for mesa 20.0.3
  .pick_status.json: Update to 7f91e8fad94dd34f83c6a124dbbe5d210be7715f
  .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc
  .pick_status.json: Mark 69e6417e19793043e4bb3cd500cfcf377bce4c03 as 
denominated
  .pick_status.json: Mark c025cb9ee9d79ebfb66a577556e04deecfe012ed as 
denominated
  .pick_status.json: Mark 6317f88b044501354a052064478d5b43dfe41809 as 
denominated
  .pick_status.json: Mark 5ff3fa5912778adb8117fa26bfe4786b583e741b as 
denominated
  .pick_status.json: Mark 9a412c10b7a96adf71c9a2ca44a0abca75de1c49 as 
denominated
  .pick_status.json: Mark 0e49ef5c9f2ec34567613226ad498edca28bce88 as 
denominated
  .pick_status.json: Mark ae369e9f6d4f2c826f1f2a748c32a14f9d5f1f54 as 
denominated
  .pick_status.json: Update to 14b1ed1ce105d42652f70e2fd13c90fc4f2e7ffc
  .pick_status.json: Mark 8c1d9c7b744b2e5b40fd42cfd51256b16deea6a8 as 
denominated
  .pick_status.json: Mark f1d1371e512e32d03f7f54d873020e589ee67d47 as 
denominated
  .pick_status.json: Update to 57293dee2b11ba7e52052edc4d0437f08db19144
  .pick_status.json: Update to 5c90eb1c53f46e86717c6bf4d5253dd23c4dac1f
  .pick_status.json: Mark 5a3aee78cbb70918b413cdd40dffcae7c9e97d8c as 
denominated
  ci: Some panfrost tests are unexpectedly passing.
  docs: add release notes for 22.0.4
  VERSION: bump for 22.0.4

Georg Lehmann (1):
  nir/opt_algebraic: Fix mask in shift by constant combining.

Icecream95 (6):
  nir/lower_tex: Copy more fields in lower_tex_to_txd and friends
  pan/mdg: Keep min_bound at 16 when alignment requires it
  pan/mdg: Use MAX2 to set min_alignment
  pan/mdg: Fix mask usage when filling before a spill
  pan/mdg: Return the instruction from mir_insert_instruction_*_scheduled
  pan/mdg: Fix multiple spilt writes in the same bundle

Jason Ekstrand (4):
  vulkan/wsi: Set the right stage flags for semaphore waits
  gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for 
sampler_buffers
  nir/cf: Return a cursor from nir_cf_extract as well
  nir: Preserve metadata if remove_dead_derefs makes no progress

Lionel Landwerlin (4):
  nir/cf: return cursor after insertion of cf_list
  nir/lower_shader_calls: don't use nop instructions as cursors
  nir/lower_shader_calls: don't insert code after break/continue
  nir/lower_shader_calls: put inserted instructions into a dummy block

Marcin Ślusarz (2):
  anv: update task/mesh distribution with the recommended values
  anv: disable streamout before emitting mesh shading state

Marek Olšák (2):
  ac/llvm: set the correct cache policy for sparse buffer loads
  radeonsi: fix a crash when failing to create a context

Mike Blumenkrantz (14):
  util/blitter: fix sampler restore with 0 saved samplers
  st/draw_feedback: set constant buffer stride
  llvmpipe: always set ssbo data pointers for draw
  gallivm: fix oob txf swizzling
  zink: fix up sparse texture sampling for shadow samplers
  zink: clamp out min_lod operands for explicit lod ops
  zink: fix sparse binding for arrayed textures
  zink: fix sparse texture depth calcs for arrayed textures
  zink: remove refs from shader images
  zink: reuse local res pointer in set_shader_images
  zink: simplify dumb update flagging in set_shader_images
  zink: read shader image r/w usage from incoming data struct
  zink: copy incoming shader image struct after doing updates
  zink: stop leaking shader image surfaces

Pavel Ondračka (1):
  r300: guard for unsigned underflow when unrolling loops

Pierre-Eric Pelloux-Prayer (2):
  radeonsi: don't use wave32 for GE on gfx10 if culling is used
  amd: fix ac_build_mbcnt_add in wave32 mode

Rhys Perry (1):
  aco/ra: fix vgpr_limit

Samuel Pitoiset (3):
  radv: re-emit dynamic line stipple state if the primitive topology changed
  radv: disable instance packing to fix pipeline query stats
  radv: disable DCC for Senra Kagura Shinovi Versus

Thomas Debesse (1):
  gallium/clover: pass -no-opaque-pointers to Clang



git tag: mesa-22.0.4

https://archive.mesa3d.org/mesa-

[ANNOUNCE] mesa 22.1.1

2022-06-01 Thread Dylan Baker
Hi list,

I'd like to announce mesa 22.1.1, the first maintanence release of the
22.1 series. Things are about where I'd expect for where we are in the
cycle, and I'm happy. We've got a bit of everything here, zink, intel,
and Panfrost being the biggest sets of changes, but some aco, zsn,
llvm/lavapipe radv, nir, glsl, r300, aco, svga, and core mesa changes as
well. I'll see you all again shortly for 22.0, and then again in two
weeks for 22.1.2

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (1):
  pan/bi: Fix mov and pack_32_2x16

Boris Brezillon (1):
  dzn: Use the vk_sync_binary abstraction

Charmaine Lee (1):
  gallium/util: Increase the debug_flush map depth to 64

Daniel Schürmann (1):
  aco: fix spilling of phis without temp operands

Dave Airlie (2):
  lavapipe: fix depth bias offset flag enables.
  llvmpipe: flush resources for kms swrast path.

Dylan Baker (8):
  relnotes: Add sha256sum and fix minor formatting issues
  .pick_status.json: Update to 8b13ee75ba9f27ceac6b6180ca05d321caa13612
  .pick_status.json: Update to 95d4e5435bf63239105a50370edeb7fed2f8
  .pick_status.json: Update to ee2278de654853f1d6107e6ef6fc8537a668866e
  .pick_status.json: Update to 9773ed1dc74b98019640d909cdc2b5d6cffae85a
  .pick_status.json: Update to 5067a26f4432ae5e9690e70ef2498ea24798593e
  docs: add release notes for 22.1.1
  VERSION: bump for 22.1.1 release

Erik Faye-Lund (4):
  editorconfig: remove scons-ism
  editorconfig: remove html-rule
  editorconfig: remove m4-rule
  editorconfig: remove pl-rule

Filip Gawin (1):
  r300: keep negation if w is an inline constant

Hans-Kristian Arntzen (1):
  radv: Fix RTPSO hashing of pGroups.

Icecream95 (5):
  panfrost: Copy blend constant into variant even when reusing it
  nir: Add store_combined_output_pan BASE back
  pan/bi: Read base for combined stores
  pan/mdg: Read base for combined stores
  panfrost: Only write depth / stencil once if MRT is used

Jason Ekstrand (8):
  radv: Add a sqtt entrypoint for CmdBindVertexBuffers2
  intel/fs: Copy color_outputs_valid into wm_prog_data
  anv: Drop alpha_to_coverage from the NULL FS optimization
  anv: Handle the null FS optimization after compiling shaders
  anv: Don't disable the fragment shader if XFB is enabled
  nir: Handle register sources in lower_phis_to_regs_block
  glsl/nir: Stop leaking varyings_info
  nir: Mark negative re-distribution on fadd as imprecise

Konstantin Seurer (1):
  radv: Fix handling of primitiveOffset

Matt Turner (1):
  mesa: Drop dead #include "sparc/sparc.h"

Michael Skorokhodov (1):
  anv: Update line range

Mike Blumenkrantz (10):
  turnip: fix assert for max xfb outputs
  zink: use a zink_render_pass_pipeline_state bit for fbfetch
  zink: add renderpass bits for color/depth r/w
  zink: only warn once for SRGB fb without KHR_swapchain_mutable_format
  zink: require draw params ext/cap in ntv if drawid is used
  zink: emit spirv cap for subgroup vote ops
  st/pbo_compute: use different calc for non-3d compute buffer sizing
  zink: make swapchain kill message more descriptive
  zink: drop wideLines requirement
  zink: drop largePoints requirement

Pierre-Eric Pelloux-Prayer (1):
  radeonsi: don't use sel->nir in si_check_blend_dst_sampler_noop

Qiang Yu (1):
  radeonsi: lower nir_intrinsic_sparse_residency_code_and

Rhys Perry (2):
  aco: fix p_constaddr with a non-zero offset
  aco/ra: fix usage of invalidated iterator

Samuel Pitoiset (1):
  radv: fix writing buffer markers with non-zero memory offset

Timur Kristóf (2):
  radv: Implement conditional rendering for async compute queue.
  radv: Disable predication for supass clear and image clears.

Yogesh Mohan Marimuthu (1):
  vulkan/wsi: fix extra free if buffer_blit_queue

Zack Rusin (4):
  svga: Don't try to build x86/x64 assembly on different arch's
  svga: finish readbacks before mapping resources
  svga: Use direct maps when GB objects are present
  svga: Add support for SVGAv3



git tag: mesa-22.1.1

https://archive.mesa3d.org/mesa-22.1.1.tar.xz
SHA256: 46940865ffe794db73ac2bc7ab7ff2570042a0b61a8ac43ca1688863e2bc0ef1  
mesa-22.1.1.tar.xz
SHA512: 
4d4ad8b0e9bd0584635153af809bfbc5dc61e1f6994ae2719a3298b5a6e26dee96d28d151483e258a793313d19c54ca365a58a0849b5238964ae48941f423ae4
  mesa-22.1.1.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.1.1.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.0.5

2022-06-01 Thread Dylan Baker
Hi list,

I'd like to announce Mesa 22.0.5, the last planned maintenence release
of the 22.0 series. With the release of 22.1.1 earlier today, we will
now be focusing on that until the 22.2 release cycle begins. As such, if
you find any regressions between 22.0 and 22.1, it is time to file
issues. As for content, there's actually quite a bit here, mostly intel
and zink changes, with a bit of everything else sprinkled in.

Cheers,
Dylan

shortlog


Daniel Schürmann (1):
  aco: fix spilling of phis without temp operands

Dave Airlie (2):
  meson: add build-id to pipe libraries
  lavapipe: fix depth bias offset flag enables.

Dylan Baker (8):
  docs: add sha256sum to 22.0.4 notes
  .pick_status.json: Update to 95d4e5435bf63239105a50370edeb7fed2f8
  .pick_status.json: Update to ee2278de654853f1d6107e6ef6fc8537a668866e
  .pick_status.json: Update to 9773ed1dc74b98019640d909cdc2b5d6cffae85a
  .pick_status.json: Update to 5067a26f4432ae5e9690e70ef2498ea24798593e
  .pick_status.json: Update to 1c63a0beafefccec599ddbe355ec5a8b61df6438
  docs: add release notes for 22.0.5
  VERSION: bump for 22.0.5 release

Erik Faye-Lund (4):
  editorconfig: remove scons-ism
  editorconfig: remove html-rule
  editorconfig: remove m4-rule
  editorconfig: remove pl-rule

Filip Gawin (1):
  r300: keep negation if w is an inline constant

Hans-Kristian Arntzen (1):
  radv: Fix RTPSO hashing of pGroups.

Icecream95 (5):
  panfrost: Copy blend constant into variant even when reusing it
  nir: Add store_combined_output_pan BASE back
  pan/bi: Read base for combined stores
  pan/mdg: Read base for combined stores
  panfrost: Only write depth / stencil once if MRT is used

Jason Ekstrand (6):
  intel/fs: Copy color_outputs_valid into wm_prog_data
  anv: Drop alpha_to_coverage from the NULL FS optimization
  anv: Handle the null FS optimization after compiling shaders
  anv: Don't disable the fragment shader if XFB is enabled
  nir: Handle register sources in lower_phis_to_regs_block
  glsl/nir: Stop leaking varyings_info

Matt Turner (1):
  mesa: Drop dead #include "sparc/sparc.h"

Michael Skorokhodov (1):
  anv: Update line range

Mike Blumenkrantz (13):
  spirv: fix barrier scope assert
  zink: only reject non-blittable resource creation if it has no other binds
  zink: add extra validation for resource creation
  zink: remove input attachment usage when pruning surface usage
  zink: add extended usage and retry if resource creation fails
  zink: fix surface/bufferview cache comparisons
  zink: force render target usage for sampler-only resources
  zink: fix non-dynamic vertex stride update flagging
  turnip: fix assert for max xfb outputs
  zink: require draw params ext/cap in ntv if drawid is used
  zink: emit spirv cap for subgroup vote ops
  zink: drop wideLines requirement
  zink: drop largePoints requirement

Pierre-Eric Pelloux-Prayer (2):
  glx: set max values for pbuffer width / height
  radeonsi: don't use sel->nir in si_check_blend_dst_sampler_noop

Qiang Yu (1):
  radeonsi: lower nir_intrinsic_sparse_residency_code_and

Rhys Perry (1):
  aco: fix p_constaddr with a non-zero offset

Samuel Pitoiset (1):
  radv: fix writing buffer markers with non-zero memory offset

Timur Kristóf (1):
  radv: Implement conditional rendering for async compute queue.



git tag: mesa-22.0.5

https://archive.mesa3d.org/mesa-22.0.5.tar.xz
SHA256: 5ee2dc06eff19e19b2867f12eb0db0905c9691c07974f6253f2f1443df4c7a35  
mesa-22.0.5.tar.xz
SHA512: 
c73a4c3bfb41fef68e2ec1ccfd3df0a5af019c1e862af27d9bca27487dd4352dafeccd0dc0c3f15fadc54048573b9634261e4e969ae958c4f9fa88114131e910
  mesa-22.0.5.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.0.5.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 21.3.9

2022-06-08 Thread Dylan Baker
Hi list,

I'd like to announce mesa 21.3.9 is now available, the latest release in
the Amber branch, providing long term support for classic mesa drivers.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (2):
  panfrost: Emulate GL_CLAMP on Bifrost
  pan/bi: Handle non-2D arrays

Dave Airlie (2):
  crocus: don't map scanout buffers as write-back
  intel/perf: use a function to do common allocations

Dylan Baker (2):
  docs: add release notes for 21.3.9
  VERSION: bump for 21.3.9 release

Emma Anholt (2):
  vulkan: Make sure we've loaded our connectors when querying plane props.
  intel/perf: Move some static blocks of C code out of the python script.

Eric Engestrom (3):
  .pick_status.json: Update to 05d687723530ed3c5c9f7d0addb3b047138613a3
  .pick_status.json: Update to fc381fa1e341bc9cf71f53a915dc47926a3f621f
  Revert "glx: Fix build errors with --enable-mangling (v2)"

Erik Faye-Lund (1):
  Revert "ci: downgrade sphinx to v3.x"

Georg Lehmann (1):
  radv: Don't hash ycbcr sampler base object.

Ian Romanick (1):
  intel/fs: Force destination types on DP4A instructions

Icecream95 (2):
  panfrost: Don't initialise the trampolines array
  panfrost: Optimise recalculation of max sampler view

Jason Ekstrand (1):
  anv: Allow MSAA resolve with different numbers of planes

Jonathan Gray (1):
  util: fix msvc build

Lionel Landwerlin (4):
  anv: fix variable shadowing
  anv: zero-out anv_batch_bo
  anv: emit timestamp & availability using the same part of CS
  anv: flush tile cache with query copy command

Matt Turner (8):
  intel/perf: Don't print leading space from desc_units()
  intel/perf: Deduplicate perf counters
  intel/perf: Use a function to initialize perf counters
  intel/perf: Use slimmer intel_perf_query_counter_data struct
  intel/perf: Store indices to strings rather than pointers
  intel/perf: Mark intel_perf_counter_* enums as PACKED
  intel/perf: Fix mistake in description string
  intel/perf: Destination array calculation into function

Mike Blumenkrantz (9):
  llvmpipe: fix occlusion queries with early depth test
  anv: fix xfb usage with rasterizer discard
  anv: fix CmdSetColorWriteEnableEXT for maximum rts
  anv: fix some dynamic rasterization discard cases in pipeline construction
  lavapipe: always clone shader nir for shader states
  gallivm: fix oob image detection for cube/1dArray/2dArray/cubeArray
  zink: flag sample locations for re-set on batch flush
  zink: force-add usage when adding last-ref tracking
  zink: only update usage on buffer rebind if rebinds occurred

Pierre-Eric Pelloux-Prayer (1):
  radeonsi: don't clear framebuffer.state before dcc decomp



git tag: mesa-21.3.9

https://archive.mesa3d.org/mesa-21.3.9.tar.xz
SHA256: 91fe6f20339884e37a7c47bfba42fb1cd397512c9ed5ad423de369f047cd8b5c  
mesa-21.3.9.tar.xz
SHA512: 
4cec6f4f50f444fcd327f7c40f8899c2f265e348e121455262b540b1f890a1468bbea59965af0876c548fa97aa0a05a1b23fa6ca7d308bd60328cfdeab757684
  mesa-21.3.9.tar.xz
PGP: https://archive.mesa3d.org/mesa-21.3.9.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.1.2

2022-06-16 Thread Dylan Baker
Hi list,

I'd like to announce Mesa 22.1.2 is now available, after a short delay
to bisect a regression. That's been fixed, and now we have a release!
There's a lot of zink here, thanks to Mike for help with manually
backporting parts of it! We've als got a bunch of fixes for panfrost,
and some for intel, radeon, llvmpip, dzn, broadcom, nir, core gallium,
the va state tracker, and freedreno.

Cheers,
Dylan


shortlog


Alyssa Rosenzweig (7):
  panfrost: Fix XML for AFBC header on v9
  pan/bi: Fix clper_xor on Mali-G31
  pan/mdg: Scalarize with 64-bit sources
  pan/mdg: Remove uppercase write masks
  panfrost: Fix inverted indirect dispatch condition
  panfrost: Inline pan_fbd_has_zs_crc_ext
  panfrost: Disable CRC at <16x16 tile sizes

Boris Brezillon (5):
  microsoft/spirv_to_dxil: Fix push_constants type declaration
  microsoft/spirv_to_dxil: Fix the push_constant UBO size calculation
  nir: Fix flat new_var assignment in create_new_io_vars()
  vulkan/util: Fill VkPhysicalDeviceIDProperties::deviceNodeMask
  microsoft/compiler: Images are no longer reprensented by uniform vars

Dave Airlie (1):
  llvmpipe: handle timespec overflow on fence waits.

Dylan Baker (9):
  docs: Add sh256sums for 22.1.1
  .pick_status.json: Update to 1c63a0beafefccec599ddbe355ec5a8b61df6438
  .pick_status.json: Update to ad5c84999b9eb2522cdf78bb0890939450280cf3
  .pick_status.json: Update to 49234585772f49626435d3d9324ad144e27fc453
  .pick_status.json: Update to 35dd4ac886283444294238ae0be1a7edcc776c8a
  .pick_status.json: Update to 2ef6b0aab1c7b99b85f2d88ced44a63f28cfca6b
  .pick_status.json: Update to ea33e44ce4f95ce45729b75dee34be50df749f09
  docs: add release notes for 22.1.2
  Bump version to 22.1.2

Emma Anholt (1):
  nouveau/nv30: Make sure fsat is lowered in the VS.

Erik Faye-Lund (6):
  nir: introduce and use nir_component_mask
  freedreno: remove stale makefile
  intel: remove stale makefile
  ci/windows: add back build-error detection
  dzn: handle stencil-attachment-optimal layout
  gallium: remove stale comment

Georg Lehmann (1):
  zink: Use VK_USE_64_BIT_PTR_DEFINES to check for 64bit platforms.

Iago Toral Quiroga (1):
  broadcom/compiler: disable flags optimization for loop conditions

Ian Romanick (1):
  anv: Remove FS executables when applying the null FS optimization

Jason Ekstrand (2):
  nir/builder: Add a nir_trim_vector helper
  compiler/types: Don't place members in the previous substruct's end 
padding

Jesse Natalie (2):
  nir: Consider PNTC to be a varying
  d3d12: Properly set HS input control point count

Juan A. Suarez Romero (1):
  v3d: save only required states in blitter

Kenneth Graunke (1):
  intel/compiler: Fix uncompaction of signed word immediates on Tigerlake

Kyle Russell (1):
  etnaviv: don't halve max_instructions for GC400

Marek Olšák (2):
  ac/gpu_info: always retile DCC on gfx10 and newer chips
  gallium/u_threaded: fix buffer busyness tracking

Mike Blumenkrantz (31):
  st/pbo_compute: make compute download conditional in shader slightly more 
readable
  st/pbo_compute: fix z coords for compute pbos
  zink: remove first_frame stalling
  lavapipe: fix dynamic patchControlPoints
  zink: force queries to start/end out of renderpass
  egl/wayland: manually swap backbuffer when using zink
  egl/wayland: skip buffer creation on zink
  kopper: use get_drawable_info path for non-x11 drawables
  zink: fix dmabuf plane layout struct scoping
  format_utils: properly parenthesize macro params
  zink: always create descriptor templates
  zink: fix ntv partial stores
  zink: fix variable locations in manual xfb emission
  zink: scalarize when rewriting explicit 64bit io
  zink: use separate pointer for swapchain presents
  zink: keep a count of async presents occuring for a given swapchain
  zink: defer old swapchain destruction
  zink: fix framebuffer attachment usage asserts for dummy attachments
  zink: only update layout when doing mixed zs attachment renderpass check
  zink: add implicit sync workaround for non-mesa drivers
  zink: unset res->swapchain upon killing a swapchain
  zink: fix up KILL to a more sensible log message
  zink: fix generated tcs update path
  zink: unset generated tcs pointer from tes on deletion
  zink: fix generated tcs deletion
  zink: avoid uninit values in renderpass state
  zink: don't print VK_EXT_shader_atomic_float warning for 
nir_intrinsic_image_deref_atomic_exchange
  zink: fix cubemap lowering for array samplers
  zink: fix cubemap lowering bit size
  zink: flag optimization pass after inlining uniforms
  zink: fix 32bit bo rewriting

Nagappa Koppad, Basanagouda (1):
  iris:Duplicate DRM fd internally in

[ANNOUNCE] mesa 22.1.3

2022-06-29 Thread Dylan Baker
Hi list,

As expected, mesa 22.1.3 is now available. Things are starting to slow
down, as we would expect at this point in the series, with the exception
of zink, which is still charging ahead full steam. There's a bit of
everything else ehre, including some performance fixes for wsi/x11.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (2):
  pan/bi: Fix LD_BUFFER.i16 definition
  lima,panfrost: Do not ralloc contexts against the screen

Boris Brezillon (3):
  d3d12: Keep access masks up-to-date when removing vars in 
d3d12_disable_multisampling()
  nir/serialize: Put dest last in packed_instr::tex
  nir/serialize: Support texop >= 16

Christian Gmeiner (1):
  nir: Fix unused-variable compile warnings

Connor Abbott (4):
  tu: Fix 3d GMEM store swizzle in texture descriptor
  tu: Add missing WFI to the 3d GMEM store path
  tu: Save/restore *_BIN_CONTROL in 3d GMEM store path
  tu: Fix linemode for tessellation with isolines

Dave Airlie (4):
  llvmpipe: disable alpha test branch if multisample is enabled.
  egl/x11: split large put image requests to avoid server destroy
  egl/x11: add missing put_image cookie cleanups
  wsi/x11: add xcb_put_image support for larger transfers.

Dylan Baker (11):
  docs: add sha256sum to 22.1.2 notes
  .pick_status.json: Update to 09a7304d5abf5b847cf5feb2d97758bee1696566
  .pick_status.json: Update to 2866ae32da0348caf71ad2d11c353321df626ff4
  .pick_status.json: Update to 8ce7faab47a77377a6a1313a80580828b052f878
  .pick_status.json: Mark 420270cb4f73da6251d4caec976358681f05c45c as 
backported
  .pick_status.json: Update to 9527fbe596e2ace276c158f67a900c29aad6cdd0
  .pick_status.json: Update to 9d7d1c0637529301d3e319ec5f1c883c5f249783
  lima/ci: mark some tests as pass
  .pick_status.json: Update to 58313f3257b338928a8ae4ea375eedb50accf2bb
  docs: add release notes for 22.1.3
  VERSION: bump to 21.1.3

Emma Anholt (1):
  vc4: Propagate txf_ms's dest_type to the lowered txf.

Erik Faye-Lund (1):
  docs: set language to english

Filip Gawin (1):
  r300: prefer old not native swizzle in constant folding

Iago Toral Quiroga (3):
  v3dv: fix leak
  broadcom/compiler: fix postponed TMU spills with multiple writes
  broadcom/compiler: don't predicate postponed spills

Ian Romanick (3):
  intel/fs: Add missing synchronization for WaW dependency
  nir: i32csel opcodes should compare with integer zero
  nir/algebraic: Fix NaN-unsafe fcsel patterns

Icecream95 (1):
  panfrost: Remove sync arguments from panfrost_batch_submit

Italo Nicola (1):
  virgl: overpropagate precise flags

Iván Briano (1):
  anv: do not get rid of empty/useless fragment shaders

Jason Ekstrand (9):
  nir/deref: Break out a helper for compare_deref_paths
  nir/deref: Use an index in compare_deref_paths
  nir/deref: Make compare_deref_paths take a stop callback
  nir/deref: Re-arrange variable checks in compare_deref_paths
  nir: Increase nir_variable_data::mode to 16 bits
  nir/vars_tests: Use nir_var_mem_global instead of ssbo
  nir/deref: Handle SSBO array bindings specially
  nir/deref: Handle RESTRICT for SSBO deref bindings
  anv: Properly clamp attachment layer counts

Lionel Landwerlin (2):
  vulkan/wsi: fix crash with debug names on swapchain
  anv: limit RT writes to number of color outputs

Marcin Ślusarz (2):
  intel/common: allocate space for at least one task urb
  intel/compiler: adjust task payload offsets as late as possible

Mike Blumenkrantz (27):
  zink: rename a variable
  zink: unify actual map calls in buffer mapping
  zink: use only the extents for buffer unmap flushes
  zink: fix buffer transfer flushes with offsets
  zink: store and reuse memory heap flags for buffer placement
  zink: move BAR allocation demotion up the stack
  zink: be a little selective about BAR fallback memory type
  zink: add a function for getting the minimum framebuffer layers
  zink: clamp renderpass layers better
  zink: move draw-time barrier generation down a little
  zink: track vertex buffer bind counts on resources
  zink: rework buffer barrier generation
  zink: track image binds
  zink: add a #define for vk shader bits
  zink: collect gfx stages for all bindings during barrier generation
  zink: don't short-circuit gfx stage finding during barrier generation
  zink: relax zink_resource_buffer_needs_barrier checks
  zink: cap driver inlining using ssa allocation limit
  glx/drisw: store the flush extension to the screen
  glx/drisw: invalidate drawables upon binding context if flush extension 
exists
  zink: fix dual_src_blend driconf workaround
  nir/lower_point_size: apply point size clamping
  lavapipe: copy more pNexts for pipeline creation
  lavapipe: fix renderpass info handling d

[ANNOUNCE] mesa 22.1.6

2022-08-10 Thread Dylan Baker
Hi list,

I'd like to announce mesa 22.1.6. This release has a few patches in it,
but the main one is the revert of a patch for panfrost which should not
have been bkacported, but was. A normal release will follow in a one
week for 22.1.7

Cheers,
Dylan

shortlog


Dave Airlie (2):
  llvmpipe: make last_fence a screen/rast object not a context one.
  llvmpipe: keep context list and use to track resource usage.

Dylan Baker (4):
  docs: Add sha256 sum for 22.1.5
  docs: Add sha256 sum for 22.1.4
  docs: add release notes for 22.1.6
  VERSION: update to 22.1.6

Eric Engestrom (1):
  Revert "pan/bi: Require ATEST coverage mask input in R60"

Mark Janes (1):
  intel/dev: drop warning for unhandled hwconfig keys

Mykhailo Skorokhodov (1):
  anv: Use sampleLocationsEnable for sample locations



git tag: mesa-22.1.6

https://archive.mesa3d.org/mesa-22.1.6.tar.xz
SHA256: 22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a  
mesa-22.1.6.tar.xz
SHA512: 
3b2a0bb781c3d540401e6f51e3cf0d87d4e22923b6a5a4ea9d8ce5c79b4a2d5e8b1c237a36325d7d7178448ae102470ebefb312644dc09818cce91fd5439cb07
  mesa-22.1.6.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.1.6.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.2.0-rc2

2022-08-10 Thread Dylan Baker
Hi list,

It's that time again, mesa 22.2-rc2 is now avilaable. We've had lots of
changes here, including a bug in my release script setting the version
to 22.2.0 (oops)! Per normal, Mike is leading the pack with zink
changes, but we've got fixes all over the tree here.

See you again next week, same bat time, same bat channel,
Dylan

shortlog


Alyssa Rosenzweig (1):
  agx: Fix packing of samplers in texture instrs

Charmaine Lee (1):
  svga: fix mksstats build

Connor Abbott (1):
  tu: Fix sysmem depth attachment clear flushing

Dave Airlie (2):
  gallivm: fix printf hook for cached shaders.
  draw: don't touch info values that aren't valid.

Dmitry Osipenko (1):
  virgl: Fix unmapping of blob resources

Dylan Baker (8):
  .pick_status.json: Update to 8e6bdb2ed31f27c28d258859ec48e8e67f51ff41
  .pick_status.json: Update to 0a0205f04552ab21971c431a5f8bb7486d664422
  .pick_status.json: Update to 1a3b086b06c6c1ff63a4abe3752ca0a7a854dc77
  .pick_status.json: Update to c67e60ae8fefaeadbe06bf0cbd8ad2ee267a6c0e
  .pick_status.json: Update to 70891edd9728e7dd73115171fdb03622ce6450ba
  VERSION: update to 22.2.0
  Revert "VERSION: update to 22.2.0"
  VERSION: bump to 22.2.0-rc2

Emma Anholt (1):
  zink: Make sure that we keep the existing ici pNext chain on inserts.

Eric Engestrom (1):
  bin/gen_release_notes.py: bump advertised vulkan version to 1.3

Erik Faye-Lund (3):
  docs: fixup link to virgl docs
  zink: add have_D32_SFLOAT_S8_UINT boolean
  zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking

Iván Briano (1):
  anv: emit scissors when the pipeline changes

Juan A. Suarez Romero (1):
  vc4: properly restore vc4 debug option

Lionel Landwerlin (1):
  anv: fixup PIPE_CONTROL restriction on gfx8

Liviu Prodea (2):
  d3d12/dzn/spirv2dxil: Require version library
  Microsoft clc: strip lib prefix Otherwise OpenCLon12 ICD can't load it

Marek Olšák (1):
  radeonsi: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9

Mike Blumenkrantz (17):
  zink: handle mutable swapchain images with dmabuf
  zink: store VkFormatFeatureFlags on creation
  zink: use modifier feature flags during surface creation when necessary
  zink: init cache_put program fence on program creation
  zink: force flush clears on fb change if fb geometry changes
  zink: force a new framebuffer for clear_depth_stencil if the clear region 
is big
  zink: drop mode_changed check from linewidth/depthbias draw updates
  zink: handle unscaled depth bias from nine
  zink: handle !half_pixel_center
  zink: fix return for PIPE_CAP_DEPTH_CLIP_DISABLE
  nine: check return on resource_get_handle
  zink: demote dmabuf tiling to linear if modifiers aren't supported
  zink: use modifier_aspect to check for modifier plane in 
zink_resource_get_param
  zink: don't add modifiers if EXT_image_drm_format_modifier isn't present
  zink: add all format modifiers when adding for dmabuf export
  zink: don't fixup sparse texops
  vulkan: Update the XML and headers to 1.3.224

Pierre-Eric Pelloux-Prayer (2):
  amdgpu/bo: update uses_secure_bos when importing buffers
  nir: add a nir_opt_if_options enum

Rhys Perry (2):
  aco: fix LdsBranchVmemWARHazard with 2+ branch chains
  aco: fix hash statistic

Rob Clark (2):
  freedreno/drm: Fix potential bo cache vs export crash
  freedreno/gmem: Fix col0 calc

Samuel Pitoiset (4):
  vulkan: add support for 
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
  radv: implement VK_EXT_attachment_feedback_loop_layout
  radv: ignore out-of-order rasterization if stencil write mask is dynamic
  radv: fix gathering XFB info if there is dead outputs

Tatsuyuki Ishi (1):
  radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs.

Timothy Arceri (1):
  Revert "nir: Preserve offsets in lower_io_to_scalar_early"

Yonggang Luo (1):
  d3d12: Fixes compile error with mingw/gcc-x64 when static linkage to 
runtime library



git tag: mesa-22.2.0-rc2

https://archive.mesa3d.org/mesa-22.2.0-rc2.tar.xz
SHA256: b525c8723bec7bb09505a7120cec1f11918b93161c5e59a1aa9fc22eaa0b935e  
mesa-22.2.0-rc2.tar.xz
SHA512: 
030cf7897aad6fc4c79b7a76baec7d222df22f9ad7f924db77a6407197be6fd7ee7cc0c4c9972d0b8ed94d19796b364c279d29ffc192e7bea647d69038ee66d1
  mesa-22.2.0-rc2.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.2.0-rc2.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.1.7

2022-08-17 Thread Dylan Baker
Hi list,

Back on our regluar schedule, I'm please to announce the availability of
mesa 22.1.7. this is a full release, with some nice fixes and cleanups
all over the tree. As is usual these days, most of the fixes are for
zink, but there's also a nice batch of fixes for the gallium dx9
frontend, and some other fixes across the board.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (2):
  pan/decode: Fix overrun decoding planes
  agx: Fix packing of samplers in texture instrs

Axel Davy (6):
  frontend/nine: Skip invalid swvp calls
  frontend/nine: Fix buffer tracking out of bounds
  frontend/nine: Fix ATOC handling
  frontend/nine: Fix cso restore bug
  frontend/nine: Fix shader multi-use crash
  frontend/nine: Fix ff position_t fallback when w = 0

Charmaine Lee (1):
  mesa/st: fix reference to nir->info after nir_to_tgsi

Connor Abbott (2):
  tu: Treat CP_WAIT_FOR_ME as a cache invalidate
  tu: Fix sysmem depth attachment clear flushing

Dave Airlie (1):
  draw: don't touch info values that aren't valid.

Dmitry Osipenko (1):
  virgl: Fix unmapping of blob resources

Dylan Baker (7):
  .pick_status.json: Update to 56f331951984e698e4b947d2ad6e34a8444bd62c
  .pick_status.json: Update to a3bf0da1cbd4b10043c80bf44609a3024b5fcc36
  .pick_status.json: Update to 24b9ad7cd5ebc7cfa5d03cf0f243ea4841c971b9
  .pick_status.json: Update to 74fc367127ccf945f4c649dd6ddff955c802e36e
  .pick_status.json: Mark 11ab6087797f805cf158048915c67945613c9a72 as 
denominated
  docs: add release notes for 22.1.7
  VERSION: update to 22.1.7

Emma Anholt (1):
  zink: Make sure that we keep the existing ici pNext chain on inserts.

Eric Engestrom (4):
  docs/features.txt: mark VK_ANDROID_native_buffer as supported on turnip
  docs/features.txt: mark VK_ANDROID_native_buffer as supported on v3dv
  bin/gen_release_notes.py: bump advertised vulkan version to 1.3
  vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties

Erik Faye-Lund (4):
  gallium/hud: do not use texture-rect for font
  docs: fixup link to virgl docs
  zink: add have_D32_SFLOAT_S8_UINT boolean
  zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking

Filip Gawin (1):
  r300: don't read from output transform_r300_vertex_SEQ/SNE

Georg Lehmann (1):
  aco/ir: Fix swapped nle.

Gert Wollny (1):
  virgl: honor host caps in shader cash sha evaluation

Jesse Natalie (2):
  egl/wgl: Delete unused variables/code
  egl/wgl: Fix some awkward sizeof formatting

Lionel Landwerlin (2):
  anv: fixup PIPE_CONTROL restriction on gfx8
  anv: don't return incorrect error code for vkCreateDescriptorPool

Liviu Prodea (1):
  meson: Microsoft / maybe Intel CLC need the all-targets workaround just 
like clover

Marcin Ślusarz (3):
  intel/compiler: emit URB fences for TASK/MESH
  intel/compiler: there are 4 types of fences on gfx >= 12.5
  intel/compiler: insert URB fence before task/mesh termination

Marek Olšák (5):
  util/u_threaded: fix a CPU storage crash due to an invalid codepath taken
  glthread: don't ignore glPushAttrib/glPopAttrib when tracking GL_CULL_FACE
  radeonsi: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9
  glthread: unbind framebuffers in glDeleteFramebuffers
  glthread: call _mesa_glthread_DeleteBuffers unconditionally

Mike Blumenkrantz (15):
  lavapipe: fix stencil clears
  util/blitter: respect PIPE_TEXTURE_RECT
  d3dadapter: fix sw pipe loading
  nine: set view_mask=0
  zink: fix gfx program cache pruning with generated tcs
  zink: don't flag lazy push constant set dirty on batch change
  zink: handle mutable swapchain images with dmabuf
  zink: init cache_put program fence on program creation
  zink: drop mode_changed check from linewidth/depthbias draw updates
  nine: check return on resource_get_handle
  zink: demote dmabuf tiling to linear if modifiers aren't supported
  zink: use modifier_aspect to check for modifier plane in 
zink_resource_get_param
  zink: don't add modifiers if EXT_image_drm_format_modifier isn't present
  zink: add all format modifiers when adding for dmabuf export
  nir/validate: clamp unsized tex dests to 32bit

Mykhailo Skorokhodov (2):
  iris: Move Wa_1806527549 and enable by default
  anv: Move Wa_1806527549 and enable by default

Nanley Chery (2):
  anv: Make the D16 reg mode single-sampled
  iris: Make the D16 reg mode single-sampled

Pavel Ondračka (1):
  r300: fix variables detection for paired ALU and TEX instructions in 
different branches

Pierre-Eric Pelloux-Prayer (1):
  amdgpu/bo: update uses_secure_bos when importing buffers

Qiang Yu (1):
  nir/lower_gs_intrinsics: fix primitive count for points

Rhys Perry (1):
  aco: fix LdsBranchVmemWARHaz

[ANNOUNCE] mesa 22.2.0-rc3

2022-08-18 Thread Dylan Baker
Hi list,

I didn't get this out yesterday, but here's mesa 22.2.0-rc3. We've got a
huge number of fixes for turnip, a good number of fixes for
gallium/nine, as well as a bit of this and that.

Cheers,
Dylan

shortlog


Axel Davy (6):
  frontend/nine: Skip invalid swvp calls
  frontend/nine: Fix buffer tracking out of bounds
  frontend/nine: Fix ATOC handling
  frontend/nine: Fix cso restore bug
  frontend/nine: Fix shader multi-use crash
  frontend/nine: Fix ff position_t fallback when w = 0

Charmaine Lee (1):
  mesa/st: fix reference to nir->info after nir_to_tgsi

Chia-I Wu (26):
  turnip: add tu_common.h as the common header
  turnip: remove includes that are already in tu_common.h
  turnip: add tu_drm.h
  turnip: add tu_suballoc.h
  turnip: update tu_cs.h
  turnip: add tu_query.h
  turnip: add tu_image.h
  turnip: add tu_formats.h
  turnip: update tu_descriptor_set.h
  turnip: add tu_shader.h
  turnip: add tu_pipeline.h
  turnip: add tu_clear_blit.h
  turnip: add tu_dynamic_rendering.h
  turnip: add tu_lrz.h
  turnip: add tu_pass.h
  turnip: add tu_wsi.h
  turnip: update tu_autotune.h
  turnip: add tu_device.h
  turnip: add tu_cmd_buffer.h
  turnip: add tu_android.h
  turnip: update tu_util.h
  turnip: move away from tu_private.h
  turnip: remove tu_private.h
  turnip: remove headers from libtu_files
  turnip: use SPDX-License-Identifier
  turnip: fix a use-after-free in autotune

Dylan Baker (5):
  .pick_status.json: Update to a3bf0da1cbd4b10043c80bf44609a3024b5fcc36
  .pick_status.json: Update to 24b9ad7cd5ebc7cfa5d03cf0f243ea4841c971b9
  .pick_status.json: Update to 74fc367127ccf945f4c649dd6ddff955c802e36e
  .pick_status.json: Mark 11ab6087797f805cf158048915c67945613c9a72 as 
denominated
  VERSION: bump to 22.2.0-rc3

Eric Engestrom (1):
  vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties

Jesse Natalie (2):
  egl/wgl: Delete unused variables/code
  egl/wgl: Fix some awkward sizeof formatting

Konstantin Seurer (1):
  radv: Fix stack size calculation with stage ids

Lionel Landwerlin (1):
  anv: don't return incorrect error code for vkCreateDescriptorPool

Liviu Prodea (1):
  meson: Microsoft / maybe Intel CLC need the all-targets workaround just 
like clover

Marek Olšák (2):
  glthread: unbind framebuffers in glDeleteFramebuffers
  glthread: call _mesa_glthread_DeleteBuffers unconditionally

Mike Blumenkrantz (4):
  radv: fix return type for meta resolve shaders
  nir/validate: clamp unsized tex dests to 32bit
  mesa: fix blending when using luminance/intensity emulation
  mesa: require render target bind for A/L/I in format selection

Pavel Ondračka (1):
  r300: fix variables detection for paired ALU and TEX instructions in 
different branches

Qiang Yu (1):
  nir/lower_gs_intrinsics: fix primitive count for points

Samuel Pitoiset (1):
  radv: fix cleaning the meta query state if an error occured

Yonggang Luo (2):
  microsoft/clc: Fixes compiling errors with clang/mingw64 in 
clc/clc_compiler_test.cpp
  util: Fixes invalid assumption that return non null by function 
util_format_fetch_rgba_func

sjfricke (1):
  isl: fix bug where sb.MOCS is not being set



git tag: mesa-22.2.0-rc3

https://archive.mesa3d.org/mesa-22.2.0-rc3.tar.xz
SHA256: db392307a02f97b7a8237809e28b627306356a2b27bb911bf9f4344b66313e39  
mesa-22.2.0-rc3.tar.xz
SHA512: 
e026904fbc046575d58c5458e2d94d201cbb015eaf5e900eefbc237f45ebd0e6afb46b4d74b0c9b864911e174a1729707e9f85fea54996ba87499b33c4c96836
  mesa-22.2.0-rc3.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.2.0-rc3.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.2.0

2022-09-21 Thread Dylan Baker
Hi list!

After a long delay, several regressions, several bad picks by me that
required bisect, one very nasty cold, and a lot of grumbling, I present
mesa 22.2.0! 

There's a lot here, including some important fixes for nv50 with nouveau
and ttn. In case you're wondering, yes the release was ready yesterday,
but due to said nasty cold, the announcement and docs were uploaded
today.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (9):
  panfrost: Don't segfault on unknown models
  pan/bi: Don't reorder image loads across stores
  pan/bi: Don't allow ATEST to take a temporary
  pan/mdg: Print 3 sources for CSEL
  pan/bi: Fix dual texturing with uniforms
  pan/bi: Fix out-of-bounds write in va_lower_split_64bit
  pan/bi: Consider all dests in helper_block_update
  agx: Fix float copyprop of neg(neg) case
  panfrost: Respect buffer offset for OpenCL

Bas Nieuwenhuizen (3):
  vulkan/wsi: Take max extent into consideration for modifier selection.
  amd/common: Don't rely on DCN support checks with modifiers.
  amd/common: Disable DCC retile modifiers on RDNA1

Charmaine Lee (2):
  svga: support TGSI_SEMANTIC_TEXCOORD in swtnl draw context
  svga: fix invalid component access of domain location

Chia-I Wu (2):
  turnip: lower the queue priority to 1
  ir3: fix predicate splitting in scheduler

Connor Abbott (4):
  ir3/spill: Fix extracting from a vector at the end of a block
  tu/lrz: Fix multiple subpass case with secondaries
  tu/lrz: Fix multiple depth attachment case with secondaries
  tu: Don't preload variable-count descriptors

Danylo Piliaiev (3):
  tu: Disable LRZ write when alpha-to-coverage is enabled
  freedreno: Disable LRZ write when alpha-to-coverage is enabled
  ir3: Prevent reordering movmsk with kill

Dave Airlie (2):
  nir_to_tgsi_info: drop const_buffers_declared
  llvmpipe: finish rendering before flushing frontbuffer resources.

Dylan Baker (5):
  .pick_status.json: Update to 0c6fbfca0c91ef012e8ab767a317c07f1f6dc5e6
  .pick_status.json: Update to 8eac45b27446cd9b9eaeb147af97fff1e09832cb
  .pick_status.json: Update to baf24dea943202b3a92cad0c9f9648597040955a
  .pick_status.json: Update to 3d4c36a3bcc51ed441b2667d92291bea30ef7449
  VERSION: update to 22.2.0

Emma Anholt (1):
  spirv: Mark phis as mediump instead of directly lowering them to 16 bit.

Eric Engestrom (3):
  wsi/x11: fix memleak in wsi_x11_connection_create()
  meson: replace manual compiler flags with meson arguments
  broadcom: fix dependencies in static_library() calls

Erik Faye-Lund (5):
  zink: type_main -> type_void_func
  zink: add spirv_builder_function_call
  zink: wrap discard in a function
  zink: clamp miplodbias when creating sampler
  docs/zink: document rgtc requirement

Georg Lehmann (1):
  aco: Force tex operand to have the correct sub dword size before packing.

Gert Wollny (16):
  r600/sfn: Schedule shift instruction on R600 in t-slot
  r600/sfn: Add GS thread fix just like the TGSI code path
  r600/sfn: Sort FS inputs to make interpolated values come first
  r600/sfn: Fix color outputs when color0 writes all
  r600: Force NOPs when loading AR on R600 class hardware
  r600/sfn: Handle R600 scratch read
  r600: Don't use SB with R600 style scratch reads
  r600/sfn: Handle color0 writes all on R700 like on EG
  r600/sfn: Don't tag mem-ring and stream instructions as exports
  r600/sfn: Don't schedule GDS instructions early
  r600/sfn: Don't scan the whole block for ready instructions
  r600/sfn: Use a heuristic to keep SSBO setup and store close
  r600: Fix reporting TGSI IR support
  r600/sfn: Use a low number for unused target register
  virgl: when reading back wait first, then do the transfer
  r600/sfn: override register ID when it doesn't matter

Glenn Kennard (1):
  nv30: Fix non-scissored clears after a scissor has been set

Ian Romanick (3):
  nir: spirv: Allow 32-bit version of 
nir_intrinsic_is_sparse_texels_resident
  radeonsi: r600: d3d12: st: Use NIR lowering for tg4 offset arrays instead 
of GLSL lowering
  glsl: Remove lower_offset_arrays pass

Ikshwaku Chauhan (1):
  Revert "radeon: add EFC support to only VCN2.0 devices"

Iván Briano (1):
  anv: pipelineStageCreationFeedbackCount is allowed to be 0

James Zhu (1):
  amd/common: some ASICs with gfx9 use compute rings for render

Jason Ekstrand (2):
  radv: Use both aspects for depth/stencil blit destinations
  vulkan: Dirty VP_VIEWPORTS/SCISSORS when copying viewports/scissors

Jesse Natalie (2):
  microsoft/compiler: Discard shouldn't be marked readnone
  microsoft/compiler: Fix PSV struct when numthreads is 0

Jordan Justen (7):
  iris: Drop extra file-descriptor dup in iris_drm_screen_crea

[ANNOUNCE] mesa 22.2.1

2022-10-11 Thread Dylan Baker
Hi list,

I'm a bit late getting this out, I blame XDC. Anyway. This is pretty
much what *should* have been in 22.21, with a few extras, so there will
be a regularly scheduled 22.2 release next week.

We've  got lots of stuff here: llvmpipe, lavapipe, freedreno, aco, mesa,
turnip, virgl, r600, zink, radv, core gallium, and nir. All in all, lots
of good fixes all over the tree.

Cheers,
Dylan

shortlog


Caio Oliveira (1):
  nir/lower_task_shader: Don't fail adding a launch when last instruction 
is a jump

Connor Abbott (3):
  tu: Fix maxPerStageDescriptorUpdateAfterBindInputAttachments
  ir3/analyze_ubo_ranges: Account for reserved consts
  ir3/analyze_ubo_ranges: Account for reserved consts better

Daniel Schürmann (1):
  aco/optimizer: disallow can_eliminate_and_exec() with s_not

Dave Airlie (5):
  lavapipe: fix 3d depth stencil image clearing.
  lavapipe: take layers into account around render surface creation.
  lavapipe: handle view mask layer count properly for begin rendering.
  llvmpipe: memset empty images in the key
  llvmpipe: bind sampler views/images properly.

Dylan Baker (17):
  docs: add release notes for 22.2.0
  docs: Add sha256 sum for 22.2.0
  .pick_status.json: Update to 3730be9873d556918a20795b37399b7e2e9630b5
  .pick_status.json: Update to c268ae9efe602129b848c800dca83411d55c3aab
  .pick_status.json: Mark 49efa73ba11c4cacaed0052b984e1fb884cf7600 as 
denominated
  .pick_status.json: Mark 5b7c2dffc43eb7ada61807a6e679cc2c1b3b2682 as 
denominated
  .pick_status.json: Mark 1aacd9492de42412c6c9ca79d48a40c4ffebcd79 as 
backported
  .pick_status.json: Mark cbad4adc133b16c803ec9445c8dd144bc5023a62 as 
denominated
  .pick_status.json: Mark 40a235c9a82027bcb92d34b7386ea6b1a2e1d587 as 
denominated
  .pick_status.json: Update to 3ed712f7483791aa0a256472d276ff5a83c643bc
  .pick_status.json: Update to e5631add0d1c97da4686f474735d45705facd308
  .pick_status.json: Mark 5af6dad179dc4140964ab444a2a7f8cf8d16c561 as 
denominated
  .pick_status.json: Update to 68f3c38c8011e3ff304a67b6ffb33fd21ee65b0c
  .pick_status.json: Mark ff933485b7e328c5041050d5e41a2dd28a032a92 as 
denominated
  docs: remove new_features.txt
  docs: add release notes for 22.2.1
  VERSION: update to 22.2.1

Emma Anholt (2):
  turnip: Fix the "written stencil is unmodified" check.
  turnip: Fix busy-waiting on syncobjs with OS_TIMEOUT_INFINITE.

Erik Faye-Lund (4):
  mesa/st: always use normalized coords for samplers
  mesa/st: always use normalized coords for samplers
  mesa/st: always use normalized coords for samplers
  docs: fixup broken rst syntax

Feng Jiang (1):
  virgl/vtest: fix memory overwrite problem in virgl_vtest_send_get_caps()

Gert Wollny (2):
  r600/sfn: Handle shifts on Cayman
  nir_lower_to_source_mods: Don't sneek in an abs modifier from parent

James Park (1):
  meson,amd: Remove Windows libelf wrap

Jason Ekstrand (3):
  iris: Use a larger alignment for buffer allocations
  iris: Fix more BO alignments
  iris: Handle resource offsets in buffer copies

Jesse Natalie (1):
  u_atomic: Add a helper for pointer compare-exchange

Jonathan (2):
  gallium/u_threaded: Prepare for buffer sharedness tracking
  gallium/u_threaded: buffer sharedness tracking

Jonathan Gray (1):
  iris: check i915 features after hw gen

Lionel Landwerlin (12):
  anv: clear descriptorsets if AllocateDescriptorSets fails
  anv: add missing wokraround for texture cache invalidate
  intel/nir/rt: fixup generate hit
  intel/nir/rt: spill/fill the entire ray query data
  intel/nir/rt: fix ray query proceed level
  intel/nir/rt: change scratch check validation
  intel/nir/rt: store ray query state in scratch
  intel/fs: fixup a64 messages
  intel/nir: fixup preserved metadata in rayquery lowering
  intel/nir: fix potential invalid function impl ptr usage
  intel/nir: disable assert on async stack id
  anv: remove HDC flush from invalidate bits

Marcin Ślusarz (1):
  intel/compiler: remove second shading rate lowering for mesh

Marek Olšák (1):
  radeonsi: don't flush asynchronously for fence_server_signal

Martin Krastev (1):
  meson: add svga gallium driver to 'auto' group on arm/aarch64

Mike Blumenkrantz (23):
  zink: uncap ssbo size
  zink: fix atomic ssbo indexing with non-32bit values
  zink: split up get_clear_data()
  zink: make void clears more robust
  zink: fix/relax resolve geometry check
  zink: fix atomic ssbo fadd offsets
  st/bitmap: use normalized coords in samplers with lowered rects
  st/drawpixels: use normalized coords in samplers with lowered rects
  zink: handle culldistance xfb outputs like clipdistance
  lavapipe: set writemask for compute shader buffers
  lavapipe: propagate shader 

[ANNOUNCE] mesa 22.2.2

2022-10-19 Thread Dylan Baker
Hi list,

Mesa 22.2.2 is now available. This is the second bug fix release, back
on the regular schedule. There's a lot here: nir, panfrost, gallium
video, freedreno, nouveau, turnip, r300, gallium core, r600, virgl, core
vulkan, anv, clover, d3d12, utils, radv, and plenty of zink.

Cheers,
Dylan

shortlog


Alejandro Tafalla (1):
  freedreno: Fix graphic glitches on a4xx and a5xx

Alyssa Rosenzweig (4):
  nir/lower_system_values: Fix cs_local_index_to_id with variable workgroups
  pan/mdg: Lower PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK on Midgard
  pan/mdg: Fix 16-bit alignment with spiller
  nir: Fix nir_fmax_abs_vec_comp

Andri Yngvason (1):
  gallium/vl: Add opaque rgb pixel formats

Daniel Schürmann (1):
  aco/spill: Fix spilling of Phi operands

Danylo Piliaiev (1):
  tu: Reset whether there is DS resolve for dynamic subpass

Dave Airlie (1):
  gallivm: handle llvm coroutines for llvm > 15

Diogo Ivo (1):
  nouveau: treat DRM_FORMAT_INVALID as implicit modifier

Dylan Baker (9):
  docs: Add sha256 sum for 22.2.1
  .pick_status.json: Update to 243aa6b2ec0c2626b1333ba666a6d6d60ede8505
  .pick_status.json: Update to c4482a3c1a973975eb27ac284a18bebca24f7876
  .pick_status.json: Update to 3eed5931edf6e5f45378b013ca21f98f17af2b34
  .pick_status.json: Update to b02e9ef35a0446019cda9473e4c355c7cc4bb24d
  .pick_status.json: Mark 4c7a44413a07d3fb314f786e047bb7212c082a6c as 
denominated
  .pick_status.json: Mark dbd022f2ab43ff0a9ecc05c61123467e25f109de as 
backported
  docs: add release notes for 22.2.2
  VERSION: update to 22.2.2

Emma Anholt (1):
  turnip: Don't use the dynamic color write enable during non-dynamic.

Erik Faye-Lund (1):
  gallium/u_threaded_context: remove stale comment

Filip Gawin (1):
  r300: don't use smooth line if not requested

Gert Wollny (3):
  r600/sfn: Always start a new CF after a KILL instruction
  r600/sfn: don't propagate registers into conditional test
  virgl: Report CONSTANT_BUFFER_SIZE according to GL_MAX_UNIFORM_BLOCK_SIZE

Lionel Landwerlin (3):
  vulkan/runtime: don't lookup the pipeline disk cache if disabled
  anv: initialization pipeline layout to 0s
  anv: add missing tracepoint

Liviu Prodea (1):
  clc/clover: Link clang statically when shared-llvm is disabled

Mike Blumenkrantz (3):
  zink: clamp line_stipple_factor to 1 if stipple is disabled
  zink: unset rp_changed after initializing renderpass attachments
  zink: disable fbfetch when flushing clears

Ryan Houdek (1):
  vulkan/wsi: Add dep_libudev to idep dependencies

Sil Vilerino (2):
  gallium/va: vaDeriveImage to check 
PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP
  d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP

SoroushIMG (3):
  zink: fix invalid Offset set for variables which do not need an offset
  zink: stop enabling minmax filtering when not supported
  zink: fix isNan mismatch between NIR and SPIR-V

Timothy Arceri (5):
  util/conf: enable init to zero workaround for Exanima
  util/radeonsi: enable zerovram workaround for Exanima
  radv: add radv_zero_vram workarounds for OpenGL games
  glthread: fix matrix stack depth tracking
  glthread: leave dlist dispatch in place for Begin/End

Yonggang Luo (1):
  util: Turn -DWINDOWS_NO_FUTEX to be pre_args



git tag: mesa-22.2.2

https://archive.mesa3d.org/mesa-22.2.2.tar.xz
SHA256: 2de11fb74fc5cc671b818e49fe203cea0cd1d8b69756e97cdb06a2f4e78948f9  
mesa-22.2.2.tar.xz
SHA512: 
a1eb67e1ae4880c79b1fdc570f4389baba0b8ba796da7e695c9af19a7d92b6c06b95570e6c796548b61355989025fb7efbf9acac74cbd695f7e297dc913b933c
  mesa-22.2.2.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.2.2.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.2.3

2022-11-07 Thread Dylan Baker
Hi list,

Mesa 22.2.3 is now available, after a short delay getting some
regressions in CI worked out. We've got a bit of everything, and nothing
too crazy, which is how I like it.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (3):
  pan/mdg: Fix 64-bit address arithmetic
  panfrost: Use compute-based XFB on Midgard
  panfrost: Lower MAX_BLOCK_SIZE on Midgard

Danylo Piliaiev (1):
  freedreno/fdl: Increase alignment for UBWC images

Dylan Baker (8):
  docs: Add sha256 sum for 22.2.2
  .pick_status.json: Update to 93febe1198a03c16c18fc413501ba710edc8b1ec
  .pick_status.json: Update to 938e13c57d095dafb752a2edf22c6a02afcd0b28
  .pick_status.json: Update to 16e0702ec7103c06f2f33654b6e41498e2eabf8e
  .pick_status.json: Update to 4087374deb53b79d6ac23c6ae87aadf9595d8d00
  .pick_status.json: Mark 1a06dbcaed9ed4095ec8878d947935f0f7558cfd as 
denominated
  docs: add release notes for 22.2.3
  VERSION: update to 22.2.3

Emma Anholt (1):
  nir/opt_phi_precision: Fix missing swizzles when narrowing phi srcs.

Erik Faye-Lund (1):
  zink: do not read is_generated unless in tcs shader

Fabian Vogt (1):
  gallivm: Fix LLVM optimization with the new pass manager

Georg Lehmann (2):
  nir: Fix ifind_msb_rev constant folding.
  aco: Don't use opsel for p_insert.

Gert Wollny (2):
  r600: Account for color and clipvertex when evaluating LDS space
  r600/sfn: evaluate LDS location for color and clip-vertex too

Iago Toral Quiroga (1):
  v3dv: drop layout refs for all allocated sets from a pool on destroy / 
reset

Joan Bruguera (1):
  nv50/ir/nir: ignore sampler for TXF/TXQ ops.

Lionel Landwerlin (2):
  nir/divergence_analysis: add missing desc_set_address_intel
  intel/compiler: don't allocate compaction arrays on the stack

Lucas Stach (1):
  etnaviv: properly reference flush_resources

Marcin Ślusarz (2):
  anv: set 3DSTATE_[MESH|TASK]_CONTROL.MaximumNumberofThreadGroups
  anv: program 3DSTATE_MESH_DISTRIB with the recommended values

Matt Turner (1):
  intel/dev: Set display_ver = 13 on all ADL/RPL/DG2

Mike Blumenkrantz (1):
  zink: don't flag ubo0 as used in shaders with indirect ubo access

Nanley Chery (1):
  iris: Enable INTEL_MEASURE for compute dispatches on XeHP

Pavel Ondračka (2):
  r300: respect buffer offset in r300_set_constant_buffer
  r300: fix generation of invalid swizzles in regalloc

Pierre-Eric Pelloux-Prayer (2):
  radeonsi: zero init using the correct components count
  radeonsi: update db_eqaa even if msaa is disabled

Rhys Perry (2):
  aco: swap v_perm_b32 operands
  radv/llvm: fix GS shaders on GFX8/9

Rob Clark (1):
  freedreno/a6xx: Fix occlusion queries

Ruijing Dong (1):
  frontends/va: fix av1 decoding image distortion issue

Yonggang Luo (1):
  meson: with_glx never assigned to 'gallium-xlib', so need add with_glx == 
'xlib' for dep_glproto



git tag: mesa-22.2.3

https://archive.mesa3d.org/mesa-22.2.3.tar.xz
SHA256: ee7d026f7b1991dbae0861d359b671145c3a86f2a731353b885d2ea2d5c098d6  
mesa-22.2.3.tar.xz
SHA512: 
08e9ce43392c46f9c0d122d70e118511eea81422d06f93ab6d330689b46feed3ac1c3bdcdcfd4a27cd5b9eaf26aab518d152a2c753f07b8ed19575d4ed892ad6
  mesa-22.2.3.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.2.3.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 22.2.5

2022-12-09 Thread Dylan Baker
Hi list,

A little, late, but I'd like to announce mesa 22.2.5, the last planned
release of the mesa 22.2.x series. There's a number of nice fixes in
here, convering a decent amount of the codebase, but nothing too crazy.

This is the lasted planned release of the 22.2.x series, and you should
plan to migrate to 22.3.x soon.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (4):
  panfrost: Fix reference counting with batch->resources
  panfrost: Use PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY
  panfrost: Revert "Require 64-byte alignment on imports"
  pan/mdg: Fix out-of-order execution

Bas Nieuwenhuizen (4):
  radv: Fix custom build id with C90 compilation.
  radv: Use correct init order for ETC2 image views
  radv: Fix sampler types in ETC2 decode.
  vulkan: Remove asserts that weren't valid for RADV ETC2 emulation.

Christopher Egert (1):
  virgl: add missing members in virgl_caps_v2 in 22.2

Connor Abbott (1):
  ir3: Don't save/restore disasm string pointer

Dylan Baker (9):
  docs: Add sha256 sum for 22.2.4
  .pick_status.json: Update to 5a5bc3dd52964a2d865c5b0c45c4eb3a6a4cd013
  .pick_status.json: Update to 8133d5551de13a2c1912f61ab9f87938b33aa5ea
  .pick_status.json: Update to 7aa94efe827fa2b99490e04ce2f5c1a4d737871c
  .pick_status.json: Mark 81b4af28494c065c5646e3f61a72afd829d978c6 as 
backported
  .pick_status.json: Mark e74d989a6935ce11d06970a3c98b474b7773c905 as 
backported
  .pick_status.json: Update to cf841cdd0bcf0784fb6a4301e624e12f3502ba5a
  docs: add release notes for 22.2.5
  VERSION: update to 22.2.5

Erik Faye-Lund (3):
  zink: fix incorrect requirements
  docs/zink: add missing required device-feature
  mesa: treat unsupported queries as dummies

Gert Wollny (1):
  virgl: don't a use staging when a resources created with the shared flag

Hans-Kristian Arntzen (1):
  vk/runtime: Fix narrowing of timeline signal and wait value to u32.

Ian Romanick (1):
  nir/range_analysis: Set higher default maximum for max_workgroup_count

Jessica Clarke (1):
  panfrost/blend: Fix invalid const values leading to NIR validation errors

José Roberto de Souza (1):
  iris: Set priority for replaced engine context

Karol Herbst (1):
  nir/lower_int64: fix shift lowering

Lionel Landwerlin (6):
  intel/perf: allocate cleared counter infos
  nir/lower_explicit_io: fix metadata preserve
  nir/lower_shader_calls: update metadata before validation
  nir/lower_shader_calls: wrap only jumps rather than entire code blocks
  intel/fs: improve Wa_22013689345 workaround
  blorp: support negative offsets in addresses

Lucas Stach (3):
  etnaviv: fix tile status interaction with write mappings
  etnaviv: blt: use correct TS offset in clear operations
  etnaviv: fix wrong surface TS clear size

Marek Olšák (1):
  st/mesa: suppress async glthread flushing for GLX_EXT_texture_from_pixmap

Mauro Rossi (1):
  r600/sfn: allow building with clang 6 (Android 9)

Qiang Yu (1):
  ac/llvm: fix 16bit varying llvm compile error

Rhys Perry (3):
  nir/lower_bit_size: lower uadd_carry
  radv: lower 8/16-bit uadd_carry/usub_borrow
  ac/nir: mask shift operands

Roman Stratiienko (1):
  meson: Enable system_has_kms_drm for android

Sajeesh Sidharthan (1):
  radeonsi/vcn: set current pic index correctly

Sviatoslav Peleshko (1):
  driconf/intel: Use fake vendor to WA bad detection in Source engine games

Yonggang Luo (2):
  ci: Rename ci.yml to macos.yml for consistence with main branch
  meson: Fixes name_prefix for clover on mingw



git tag: mesa-22.2.5

https://archive.mesa3d.org/mesa-22.2.5.tar.xz
SHA256: 850f063146f8ebb262aec04f666c2c1e5623f2a1987dda24e4361b17b912c73b  
mesa-22.2.5.tar.xz
SHA512: 
9039cf31e719b66a6ecea48e7f871d187333a1accd3fa77ce2cb36ce539682dd50f09bccc11a0c35760051768108699cf90dfb0936809faf1e1294cc5d1ec0af
  mesa-22.2.5.tar.xz
PGP: https://archive.mesa3d.org/mesa-22.2.5.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.0.0-rc1

2023-01-13 Thread Dylan Baker
Hi list,

I'd like to announce mesa 23.0.0-rc1, which is now available for general
consumption. The branch was made yesterday, as many noticed, but I
wasn't able to get the actual relase cut until today. There's a ton of
great changes here.

As always, please be sure to test and file issues for any problems you
run into.

Cheers,
Dylan

git tag: mesa-23.0.0-rc1

https://archive.mesa3d.org/mesa-23.0.0-rc1.tar.xz
SHA256: 058ad82a0c3ed84927e639c5febb16385b3306a1acfb6816cfa5d2538e1bd7ea  
mesa-23.0.0-rc1.tar.xz
SHA512: 
8e2c6424ac41c79fb3a041c856be17517f1091146e77fae76a5b0fdd8dcf09fd32a8e9271abb743ac1adbb0740b524b9f216645594a1a9277b9f04d51a8cf0d9
  mesa-23.0.0-rc1.tar.xz
PGP: https://archive.mesa3d.org/mesa-23.0.0-rc1.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.0.0-rc2

2023-01-18 Thread Dylan Baker
Hi list,

On schedule this time, is mesa 23.0.0-rc2. This is a nice small release
with not too many changes, and I really like it. Hopefully a small
trickle of bug fixes will continue until our normally scheduled release
in 2 weeks.

Cheers,
Dylan

shortlog


Alejandro Piñeiro (1):
  vulkan/wsi: check if image info was already freed

Alyssa Rosenzweig (5):
  panfrost: Don't use AFBC of sRGB luminance-alpha
  pan/bi: Fix incorrect compilation of fsat(reg.yx)
  panfrost: Enable NV_primitive_restart on Valhall
  panfrost: Fix logic ops on Bifrost
  panfrost: Fix clears with conditional rendering

Bas Nieuwenhuizen (1):
  aco: Pass correct number of coords to Vega 1D LOD instruction.

Dylan Baker (3):
  .pick_status.json: Update to a5a19903ab671ebdf4130fdf3cc782a8a0a2a3d9
  .pick_status.json: Update to 8084b412ca97c048b43043c80946498b346c3016
  VERSION: bump for 23.0.0-rc2

Friedrich Vock (2):
  radv/rt: Divide by the correct workgroup size
  radv/bvh: Prevent NANs when computing node cost

Jesse Natalie (1):
  dzn: Fix clear bind flag logic

Lionel Landwerlin (1):
  Revert "ci: build hasvk if we're building anv"

Samuel Pitoiset (1):
  radv: fix re-emitting RB+ when the non-compacted color format changes

Tapani Pälli (1):
  intel/compiler: add cpp_std=c++17 when building tests

Vinson Lee (1):
  radv: Fix memory leak.

t0b3 (1):
  nir/nir_opt_move: fix ALWAYS_INLINE compiler error



git tag: mesa-23.0.0-rc2

https://archive.mesa3d.org/mesa-23.0.0-rc2.tar.xz
SHA256: 828d65d46fb150bc7967ba9f733f9d8ec9d18b6a7dc133ebee7f6286dd79419e  
mesa-23.0.0-rc2.tar.xz
SHA512: 
5b986c49ddb30f616d9396016ca2926f55c15b81da0892bbaa55ee46d83953551c1c68d03d1b11043f0656ac4c972b832762a2f939317e3e17081171a69bd05d
  mesa-23.0.0-rc2.tar.xz
PGP: https://archive.mesa3d.org/mesa-23.0.0-rc2.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.0.0-rc3

2023-01-24 Thread Dylan Baker
Hi list!

Here is a slightly early release for once! I'm giong to be not working
tomorrow, so I thought I'd give you a little treat (and save me having
to remember to do the release on Thursday). We've got a nice array of
fixes here, touching a little bit of evertying, but not too much of
anything.

Right now we're trending towards a release next week, and not an rc4
(there are no issues on the blocking milestone), so if you have any
critical issues make sure you get them on the milestone before next
Wednesday!

Cheers,
Dylan

shortlog


Danylo Piliaiev (1):
  tu/kgsl: do not use kgsl_command_object::offset

Dylan Baker (6):
  .pick_status.json: Update to 926ba335fdf357e8bc8df0959c1ae72ba35204a4
  .pick_status.json: Update to 75276deebcf76f8fafa68f4e4ecb29768d98c764
  .pick_status.json: Update to e8a60633daec2989df718d28e0baa873bb9b1d15
  .pick_status.json: Update to 5039acfd9df6f4d3fc7cc655717b1c5389120260
  .pick_status.json: Update to 12a471afac2e0c458db785681c88d045a2175ac3
  VERSION: bump for 23.0.0-rc3

Emma Anholt (2):
  dri2: Fix exposing robustness with swkms.
  Revert "nouveau/ci: temporary disable gk20a-gles"

Erik Faye-Lund (2):
  zink: fix depth-clip disable cap
  radeonsi: respect smoothing_enabled

Francisco Jerez (1):
  intel/fs/gfx12: Ensure that prior reads have executed before barrier with 
acquire semantics.

Georg Lehmann (1):
  Revert "aco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32."

Gert Wollny (1):
  r600/sfn: Fix readport check

Jason Ekstrand (1):
  gallium,util: Pull u_indices and u_primconvert back into gallium

Jonathan Gray (1):
  egl/dri2: avoid undefined unlocks

Julia Tatz (3):
  zink: zink_heap isn't 1-to-1 with memoryTypeIndex
  zink: trival renames heap_idx -> memoryTypeIndex
  zink: correct sparse bo mem_type_idx placement

Kenneth Graunke (2):
  intel/blorp: Lower base_workgroup_id to zero
  intel/compiler: Drop redundant 32-bit expansion for shared float atomics

Lionel Landwerlin (5):
  nir/divergence: add missing RT intrinsinc handling
  anv: fix generated indirect draw shader stats checks
  nir/lower_io: fix bounds checking for 64bit_bounded_global
  anv: fix preemption enable emission in gpu_memcpy
  intel/fs: avoid cmod optimization on instruction with different write_mask

Marcin Ślusarz (1):
  intel/compiler/mesh: handle const data in task & mesh programs

Marek Olšák (4):
  glthread: fix an upload buffer leak
  util: fix util_is_vbo_upload_ratio_too_large
  mesa: allow GL_UNSIGNED_INT64_ARB as vertex format for 
ARB_bindless_texture
  glthread: handle GL_*_ARRAY in glEnable/Disable

Maíra Canal (1):
  v3dv: remove unused clamp_to_transparent_black_border property

Mike Blumenkrantz (6):
  zink: store drm format as internal_format for imported resources
  zink: handle modifier nplanes queries correctly for planar formats
  zink: preserve present resources during async presentation
  zink: delete need_blend_constants
  zink: don't use ds3 blend states without color attachments
  zink: use actual swapchain object for surface comparison

Paulo Zanoni (2):
  anv: don't leave undefined values in exec->syncobj_values
  anv: check the return value of anv_execbuf_add_bo_bitset()

Pierre-Eric Pelloux-Prayer (3):
  vbo: remove bogus assert
  vbo: lower VBO_SAVE_BUFFER_SIZE to avoid large VRAM usage
  glthread: fix glArrayElement handling

Rob Clark (2):
  freedreno: Fix tracking of enabled SSBOs
  freedreno: Restore GL_VENDOR string

Rose Hudson (1):
  radeonsi: report 0 block size for Polaris HEVC encoding

Samuel Pitoiset (5):
  ac/nir: clear unused components before storing XFB outputs to LDS
  radv: fix setting MAX_MIP for BC views
  radv: fix buffer to image copies with BC views on the graphics queue
  radv: fix creating BC image views when the base layer is > 0
  radv/winsys: fix incorrect PCIID for GFX11 in the null winsys

Tapani Pälli (3):
  anv: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable
  hasvk: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable
  iris: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable

Tatsuyuki Ishi (1):
  radv: Fix depth-only-with-discard when epilogs are used.



git tag: mesa-23.0.0-rc3

https://archive.mesa3d.org/mesa-23.0.0-rc3.tar.xz
SHA256: 17b55b512b96f96fe0e64f6f773a4eebf0f264fa93ac625e2f1d3bfb1146325e  
mesa-23.0.0-rc3.tar.xz
SHA512: 
adad86189ae27eb5cf89d7b6e0626a78f49f5a72cdea0f4eb59d76aae74c657251d07c3142c578e1e13edef73947d4807c25eebf9598b8a0e16a70c584916ce5
  mesa-23.0.0-rc3.tar.xz
PGP: https://archive.mesa3d.org/mesa-23.0.0-rc3.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.0.0-rc4

2023-02-01 Thread Dylan Baker
Hi list,

I'd like to announce the availability of mesa 23.0-rc4. since the last
RC we've seen the addition of several blocking issues, and as such we're
having another RC. Hopefully be next week we can have all of these
issues resolved.

Cheers,
Dylan

shortlog


Bas Nieuwenhuizen (2):
  radv: Set FDCC_CONTROL SAMPLE_MASK_TRACKER_WATERMARK
  radv: Shift left the tile swizzle more on GFX11.

Chad Versace (1):
  util/glsl2spirv: Fix build with Python 3.6

Corentin Noël (1):
  kopper: Do not free the given screen in initScreen implementation

Dylan Baker (4):
  .pick_status.json: Update to 50dee85b684e321708460afc3c1abd2148fd5891
  .pick_status.json: Update to 1a93cd15563a5d0bb6faf12c5d4c852cb3534415
  .pick_status.json: Update to 0f087b56d03a32e84ca2f5326fb4dcc2cb142bc9
  VERSION: bump for 23.0.0-rc4

Emma Anholt (4):
  zink: Add missing Flat decorations on some inputs.
  zink: Fix validation failure for maxLod < minLod.
  zink: Fix up mismatches of memory model vs addressing model.
  zink: Re-emit the SpvBuiltInSampleMask access chain each load.

Francisco Jerez (1):
  intel/fs: Fix src and dst types of LOAD_PAYLOAD ACP entries during copy 
propagation.

Friedrich Vock (4):
  radv/rmv: Also check the other pid field
  radv/rmv: Avoid more CPU unmap deadlocks
  radv/rmv: Log bo destruction before freeing it
  radv/rmv: Correct timestamp shifting

Italo Nicola (1):
  panfrost: fix off-by-one when exporting format modifiers

Jesse Natalie (1):
  dzn: Report as a software device for non-Windows

José Fonseca (1):
  llvmpipe: Honor zero sample_mask when multisample is disabled.

Karol Herbst (1):
  rusticl: fix build error with valgrind being enabled

Kenneth Graunke (4):
  anv: Add missing untyped data port flush on PIPELINE_SELECT
  iris: Add missing untyped data port flush on PIPELINE_SELECT
  loader: Add infrastructure for tracking active CRTC resources
  egl: Rewrite eglGetMscRateANGLE to avoid probes and handle multi-monitor

Lionel Landwerlin (2):
  vulkan/wsi/wayland: improve same gpu detection
  anv: fix null descriptors

Lucas Stach (3):
  etnaviv: drm: fix BO array leaks
  etnaviv: free pm queries dynarray on screen destroy
  etnaviv: drm: fix check if BO is on a deferred destroy list

Martin Roukala (né Peres) (1):
  ci/debian/x86_test-vk: drop an outdated dependency

Mike Blumenkrantz (10):
  zink: fix VK_DYNAMIC_STATE_LINE_WIDTH usage
  Revert "zink: allow direct memory mapping for any COHERENT+CACHED buffer"
  zink: add VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT for buffers if ext is 
enabled
  zink: set vkusage/vkflags for buffer resource objects
  zink: always set RESOURCE usage for descriptor buffers
  zink: disable bindless texture ext with descriptor buffer
  zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT when using DB
  zink: don't add dmabuf export type if dmabuf isn't supported
  zink: stop leaking push descriptor templates
  zink: always unref old images when adding new binds

Pierre-Eric Pelloux-Prayer (1):
  radeonsi/gfx11: fix ge_cntl programming

Rhys Perry (1):
  aco: set has_color_exports with GPL

Samuel Pitoiset (5):
  radv: fix RADV_DEBUG=hang with multiple cmdbuffer per submission
  radv: fix ignoring graphics shader stages that don't need to be imported
  radv: add a layer for fixing rendering issues with RAGE2
  radv: stop setting INTERPOLATE_COMP_Z
  radv: fix RB+ for SRGB formats

Thong Thai (1):
  gallium/auxiliary/vl: clean-up progressive shader



git tag: mesa-23.0.0-rc4

https://archive.mesa3d.org/mesa-23.0.0-rc4.tar.xz
SHA256: 9422c414952e361ec4ab49586d3e63b67f08d8b6bdd85d2970bb967495d18d53  
mesa-23.0.0-rc4.tar.xz
SHA512: 
463dad021bffd1b6cae8eb540ea0f51da8753e5f5295f5d1ab6398ed6eb140ccef7ba62b458c099cc19a26d6dcb4b620280893425572fae75fe7e880d8e3a403
  mesa-23.0.0-rc4.tar.xz
PGP: https://archive.mesa3d.org/mesa-23.0.0-rc4.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.0.0

2023-02-22 Thread Dylan Baker
Hi list,

After a longer than average RC cycle, I'd like to announce the release
of Mesa 23.0.0, the first stable release of 2023. You may put away the
party streamers. Not actually too much has changed since -rc5, but we
have cleared out the last of our blocking issues, and have a stable
release.

See you again in two weeks with a regularly scheduled point release.

Cheers,
Dylan

shortlog


Alan Coopersmith (1):
  util/disk_cache: Handle OS'es without d_type in struct dirent

Bas Nieuwenhuizen (1):
  nir: Apply a maximum stack depth to avoid stack overflows.

Charmaine Lee (3):
  svga: fix resource_get_handle from resource created without SHARED bind 
flag
  svga: fix compatible formats for shareable surfaces
  svga: use upload buffer if texture has pending changes

Chia-I Wu (3):
  radv: fix a hang with binning on CHIP_RENOIR
  turnip: fix a major leak with GPL LTO
  turnip: fix a null descriptor set dereference

Constantine Shablya (1):
  anv,hasvk: flush what UNIFORM_READ flushes on SHADER_READ

Danylo Piliaiev (3):
  tu: Prevent using stale value of RB_UNKNOWN_88D0 on BLIT
  tu: Prevent using stale value of GRAS_SC_CNTL in sysmem clear
  turnip: Disable draw states after dyn renderpass in all cases

Dave Airlie (2):
  crocus: disable Y tiling for render targets properly.
  crocus: switch gen4/5 tiling flags to follow suggestions.

Dylan Baker (9):
  .pick_status.json: Update to bd848ac92d9d77d72a1edb5645488639df91937e
  .pick_status.json: Mark 6af3a12e700065ca4b8b3a5d12b97a75142dd185 as 
denominated
  .pick_status.json: Update to e050a00b9f4d057e93f61f79019b5cf8bcd04e49
  .pick_status.json: Update to 4e09d37f3bd4b2f5837040cb1695d151672944e1
  .pick_status.json: Update to 4459668b6e74094b93f13da377077c4f26c9b7b9
  .pick_status.json: Update to dd3b67b9746f1d0f2766d6c39bb23e59d6548aba
  VERSION: bump for 23.0.0
  docs: truncate new_features.txt
  docs: add release notes for 23.0.0

Emma Anholt (2):
  Revert "freedreno/a5xx: Fix clip_mask"
  hasvk: Fix SPIR-V warning about TF unsupported on gen7.

Eric Engestrom (1):
  panfrost: drop no-longer-needed libglsl

Erik Faye-Lund (1):
  zink: remove incorrect trailing comma

Faith Ekstrand (3):
  nir/from_ssa: Only re-locate values that are destinations
  nir/from_ssa: Move the loop bounds check in resolve_parallel_copy
  nir/deref: Preserve alignments in opt_remove_cast_cast()

Georg Lehmann (2):
  aco: don't allow output modifiers for v_cvt_pkrtz_f16_f32
  aco: Don't use vcmpx with DPP.

Hans-Kristian Arntzen (3):
  radv: Fix invalid 64-bit shift.
  radv: Fix missing VK_ACCESS_2_SHADER_SAMPLED_READ_BIT.
  radv: Implement VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT.

Italo Nicola (1):
  panfrost: fix tiny sample_positions BO memory leak

Jesse Natalie (2):
  clc: Include opencl-c-base.h with LLVM 15 (using builtins)
  microsoft/clc: Set features that are used by CL tests

Konstantin Seurer (3):
  radv: Fix creating accel structs with unbound buffers
  radv: Hash VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_* flags
  radv: Make accel struct meta state initialization thread safe

Lionel Landwerlin (4):
  intel/fs: fix mesh indirect movs
  anv/hasvk: handle a SAMPLED_READ/STORAGE_READ access flags
  intel/fs: bound subgroup invocation read to dispatch size
  intel/perf: also add the oa timestamp shift on MTL

Marcin Ślusarz (2):
  anv: enable task redistribution
  intel/compiler/mesh: use slice id of task urb handles in mesh shaders

Marek Olšák (2):
  mesa: ignore indices[i] if count[i] == 0 for MultiDrawElements
  glthread: ignore non-VBO vertex arrays with NULL data pointers

Michel Dänzer (4):
  glsl/standalone: Fix up _mesa_reference_shader_program_data signature
  glsl/standalone: Do not pass memory allocated with ralloc_size to free
  anv/grl: Use union for reinterpreting integer as float
  frontend/dri: Initialize callbacks in dri_swrast_kms_init_screen

Mike Blumenkrantz (11):
  zink: add newlines to some debug printfs
  zink: unset gfx shader read when unbinding shader images
  zink: unref image buffer descriptors on unbind
  zink: sync LTO compiles for GPL pipelines on shader free
  zink: fix descriptor pool free iterating
  zink: always use NEAREST for zs blits
  zink: block LINEAR filtered blits for zs formats
  dri3: avoid deadlocking when polling deleted windows for events
  vulkan/wsi: avoid deadlocking dri3 when polling deleted windows for events
  kopper: fix loop iterating for msaa texture creation
  driconf: add zink glthread disable for a game

Nanley Chery (3):
  iris: Update comment in iris_cache_flush_for_render
  iris: Flush caches for aux-mode changes more often
  iris: Drop iris_cache_flush_for_render

Pierre-Eric Pelloux-Prayer (1):
  a

[ANNOUNCE] mesa 23.0.1

2023-03-26 Thread Dylan Baker
Hi list,

I know this email is going out a little late, but better late than
never. Which may also be the name of the 23.0.1 release. I must
apologize, I was running behind to start with, and then the troubles
with the CI pushed me even further behind. As such, there are still a
great number of patches nominated that are not in the release. I
basically got what I could in by the end of day Friday, and cut that as
the release, and I'll continue to pull in patches over the next week and
half to have a normally scheduled release on April 5th.

There's a lot here, covering a wide swath of the mesa codebase,
especially Intel, AMD, and Zink.

Cheers,
Dylan

shortlog


Błażej Szczygieł (1):
  glx: Fix glXGetFBConfigFromVisualSGIX

Caio Oliveira (2):
  iris, crocus: Align workaround address to 32B
  gallivm: Fix handling of nir_intrinsic_scoped_barrier

Daniel Schürmann (1):
  aco: fix NIR infinite loops

Daniel Stone (1):
  intel/isl: Don't scream FINISHME into logs for 3D vs. CCS

Dave Airlie (1):
  llvmpipe: fix compute address bits to return native pointer size.

Dylan Baker (13):
  docs: Add sha256 sum for 23.0.0
  .pick_status.json: Update to 56a9aad4010ff9f2c0afcadec0ac61a6274de0a3
  .pick_status.json: Update to aa791961a82e1f5a9dd841c3e0398c3e80d09652
  .pick_status.json: Update to e45bbcf6492a178e52e4b87bad31bb01bc22e507
  .pick_status.json: Update to baea3b328b7a39abcee48c733236f242e1f4cf0e
  util: rzalloc and free hash_table_u64
  .pick_status.json: Update to 6cb0c8b6d746fe055bbe905025550140c0980720
  .pick_status.json: Update to 8c51c8697ab122472b9136f9a17813a7a6513c59
  .pick_status.json: Update to 8c51c8697ab122472b9136f9a17813a7a6513c59
  .pick_status.json: Update to 69cbc2e7eea599fb63f93373408a589f4345c6de
  .pick_status.json: Update to 0cd89a27ed0da0bf79c3eae9aac314ee33c3a852
  docs: add release notes for 23.0.1
  VERSION: update to 23.0.1

Emma Anholt (1):
  ci: Re-enable some swrast testing using fd.o's shared runners for now.

Eric Engestrom (2):
  radv: split linker script for android since it requires different symbols
  glapi/meson: drop duplicate line in deps

Erik Faye-Lund (1):
  docs/zink: fixup wording of the GL 4.6 requirements

Friedrich Vock (2):
  mesa: Report GL_SHADER_BINARY_FORMAT_SPIR_V as supported
  docs: Fix formatting for RMV tracing docs

Georg Lehmann (1):
  aco/optimizer_postRA: assume all registers are untrackable in loop headers

Gert Wollny (3):
  r600/sfn: be more conservative with channel use in multi-slot ops
  r600/sfn: Fix minimum required registers
  r600/sfn: Fix atomic lowering

Illia Polishchuk (1):
  glx: fix indirect initialization crash

Iván Briano (3):
  vulkan: track the right value on CmdSetColorWriteMasks
  anv: fix testing for dynamic color blend bits
  anv: stop tracking color blend state in the pipeline

José Roberto de Souza (1):
  iris: Don't mark protected bo as reusable

Karol Herbst (3):
  nir/deref: don't replace casts with deref_struct if we'd lose the stride
  rusticl/kernel: Images arg sizes also have to match the host pointer size
  gallivm: fix lp_vec_add_offset_ptr for 32 bit builds

Kenneth Graunke (1):
  intel/fs: Fix inferred_sync_pipe for F16TO32 opcodes

Lionel Landwerlin (19):
  anv: fix invalid masking of 48bit address
  anv: fix vma heap memory leak
  genxml: Fix STATE_BASE_ADDRESS::BindlessSurfaceStateSize field size
  genxml: fix border color offset field on Gfx12+
  anv: fixup condition for Wa_14016118574
  anv: pull Wa_14016118574 out of some loop not changing state
  anv: fix incorrect parameter
  anv: fix generated forward jump with more than 67M draws
  anv: remove copied code from generation shader
  anv: remove BTI related flush in generation shaders
  anv: correctly program 3DSTATE_SF in generation shaders
  anv: limit push constant dirtyness with generation shaders
  anv: remove pre hasvk split assert
  anv: remove commented code
  anv: fix indirect draws VF cache tracking of index buffer
  anv: make sure mi_memcpy lands before push constant loads
  anv: remove MI_NOOPs at the end of the generation batch
  nir: fix nir_ishl_imm
  anv: force MEDIA_INTERFACE_DESCRIPTOR_LOAD reemit after 3D->GPGPU switch

Marek Olšák (8):
  amd: add missing gfx11 register definitions
  radeonsi/gfx11: fix the CU_EN clear mask for RSRC4_GS
  radeonsi/gfx11: don't set non-existent VGT_STRMOUT_BUFFER_CONFIG
  radeonsi/gfx11: set CB_COLORi_INFO.MAX_COMP_FRAG on GFX1103_R2
  radeonsi: disable Smart Access Memory because CPU access has large 
overhead
  nir: lower to fragment_mask_fetch/load_amd with EQAA correctly
  mesa: fix glPopClientAttrib with fixed-func VP and zero-stride varyings
  radeonsi: don't merge SET_* packets th

[ANNOUNCE] mesa 23.0.2

2023-04-07 Thread Dylan Baker
Hi list,

HEre is the slightly late next release. We're basically caught up to
where we should be at this point, we've just got a handful of patches
that are causing regressions or don't apply for me to work through
before the next release.

In this release we have lots of patches for all over the tree, zink
being the biggest singels ource of changes.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (1):
  panfrost: Don't round up Midgard polygon list BOs

Daniel Schürmann (2):
  radv/rt: place any-hit scratch vars after intersection scratch vars
  radv/rt: Fix any_hit scratch variables.

David Heidelberg (1):
  aco: drop leftover variable

Dylan Baker (7):
  docs: Add sha256 sum for 23.0.1
  .pick_status.json: Update to 5e9ea154849ebe19b96a243b9716bd264545bf8b
  .pick_status.json: Update to 2cc9364c2061fe4a66398678cabf61e3464e4d77
  .pick_status.json: Update to 7abd8c499b4388f1e2947d78c59aafa0b52c254a
  .pick_status.json: Update to debc543904235ed7dfc14217bf43f33f9f768e5a
  docs: add release notes for 23.0.2
  VERSION: update to 23.0.2

Emma Anholt (1):
  turnip: Don't push inline uniform buffer contents outside constlen.

Eric Engestrom (1):
  v3d: fix `dirty` bitset being too small to accept V3D_DIRTY_SSBO

Erico Nunes (1):
  lima: don't use resource_from_handle while creating scanout

Filip Gawin (1):
  crocus: don't quantize the clear value

Francisco Jerez (1):
  intel/fs: Fix register coalesce in presence of force_writemask_all copy 
source writes.

Gert Wollny (1):
  r600/sfn: fix container allocators

Iago Toral Quiroga (1):
  vulkan/wsi/display: set pDisplay to NULL on error

Ilya K (1):
  intel/vk/grl: don't install libgrl.a

Isabella Basso (2):
  nir/algebraic: insert patterns inside optimizations list
  nir/algebraic: remove duplicate bool conversion lowerings

Iván Briano (1):
  vulkan/wsi/display: do not dereference a NULL pointer

Jesse Natalie (2):
  nir: Propagate alignment when rematerializing cast derefs
  microsoft/compiler: Fix setting bit 31 in feature flags

Kai-Heng Feng (2):
  iris: Retry DRM_IOCTL_I915_GEM_EXECBUFFER2 on ENOMEM
  Revert "iris: Avoid abort() if kernel can't allocate memory"

Karol Herbst (3):
  nvc0: enable fp helper invocation memory loads on Turing+
  rusticl/util: extract offset_of macro
  rusticl/icd: Make it work in case Rustc shuffles struct around

Konstantin Seurer (3):
  radv/sqtt: Skip dumping pipeline libraries
  radv/rt: Handle load_constant instructions when inlining shaders
  nir/lower_shader_calls: Remat derefs before lowering resumes

Lang Yu (1):
  amd/common: fix a typo

Lionel Landwerlin (12):
  intel/fs: don't SEND messages as partial writes
  intel/fs: fix nir_opt_peephole_ffma max vec assumption
  intel/fs: fixup sources number from opt_algebraic
  intel/fs: fix subgroup invocation read bounds checking
  anv: fix incorrect utrace bo release
  anv: implement recommended flush/wait of AUX-TT invalidation
  iris: implement recommended flush/wait of AUX-TT invalidation
  anv: take care of maxStorageBufferRange being uint32_t
  isl: update max buffer size for SKL+
  intel/perf: fix OA format selection on MTL
  intel/fs: don't consider fixup_nomask_control_flow SENDs predicate
  intel/fs: UNDEF fixup_nomask_control_flow temp register

Lynne (1):
  aco_validate: allow for wave32 in p_dual_src_export_gfx11

Marcin Ślusarz (1):
  anv,hasvk: remove stale comments

Marek Olšák (1):
  vbo: fix current attribs not updating gallium vertex elements

Mike Blumenkrantz (9):
  aux/trace: delete GALLIUM_TRACE_NIR log message
  zink: track tc fences better
  zink: double check layouts for possible feedback loop images
  zink: handle swapchain creation failure less lazily
  aux/trace: fix GALLIUM_TRACE_NIR handling
  llvmpipe: fix linear fs analysis with nonzero fs outputs
  llvmpipe: fix handling of unused color attachments
  zink: block resolves where src extents > dst extents
  zink: flag vertex buffers for rebind after vstate draws

Patrick Lerda (1):
  r600: fix typo that could lead to a possible crash

Pierre-Eric Pelloux-Prayer (5):
  yegl/wayland: fix glthread deadlocks
  Revert "driconf: add a workaround for plasmashell freezing"
  radeonsi: don't use alignment_log2 of imported buffers
  mesa: fix invalid index_bo refcounting
  util/vbuf: fix index_bo leak

Qiang Yu (2):
  ac/llvm: respect channel_type when ac_build_buffer_load
  ac/llvm: add missing type convert for nir_load_buffer_amd

Rhys Perry (1):
  aco: fix nir_var_shader_out barriers for task shaders

Sonny Jiang (1):
  gallium/pipe: change PIPE_DEFAULT_DECODER_FEEDBACK_TIMEOUT_NS to 1 second

Sviatoslav Peleshko (1):
  glsl: Fix codegen 

[ANNOUNCE] mesa 23.0.3

2023-04-21 Thread Dylan Baker
Hi list,

I'd like to announce mesa 23.0.3. I've been working back through the
list of commits that needed a little bit of work to apply cleanly, and
that's starting to come through here, so there are some more patches
than we'd usually see at this point. The good news is that the changes
are all across the tree, with no one subsystem seeing too many changes.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (4):
  vulkan: Add common features2_to_features
  tu: Use vk_features2_to_features
  util/prim_convert: Don't set index_bounds_valid
  mesa/st: Only set seamless for GLES3

Andres Calderon Jaramillo (1):
  r600: Report multi-plane formats as unsupported

Bas Nieuwenhuizen (1):
  radv: Reserve space in framebuffer emission.

David (Ming Qiang) Wu (1):
  radeonsi/vcn: add an exception of field case for h264 decoding

Dylan Baker (5):
  docs: Add sha256 sum for 23.0.2
  .pick_status.json: Update to d6b30d42b05a93aa80c93c7fcc1782f9c59a6f1a
  .pick_status.json: Update to d99211b22c0b419e2ad414f2e09bfe43f656db4b
  docs: add release notes for 23.0.3
  VERSION: update to 23.0.3

Jesse Natalie (3):
  dzn: Fix SRV barrier state on compute command lists
  dzn: Ensure pipeline variants are used for dynamic stencil masks
  dzn: Don't use write-combine memory for cache-coherent UMA

Juan A. Suarez Romero (1):
  v3d: set depth compare function correctly

Karol Herbst (1):
  rusticl/event: drop work item before updating status

Kenneth Graunke (1):
  intel/compiler: Use nir_dest_bit_size() for ballot bit size check

Lionel Landwerlin (3):
  anv: fixup streamout write barriers
  intel/fs: use nomask for setting cr0 for float controls
  vulkan/overlay: deal with unknown pNext structures

Luc Ma (1):
  meson: keep Mako version checking in accord with build msg

Mike Blumenkrantz (9):
  llvmpipe: fix LP_PERF=no_depth to ignore depth format
  aux/tc: flag late zs clears as partial clears
  zink: try to prune resources from barrier jit on fb unbind
  zink: free GPL input/output libs on context destroy to avoid leaking
  lavapipe: fix dynamic depth clamping
  lavapipe: set render_condition_enabled=false for 
vkCmdClearDepthStencilImage
  mesa/st/program: don't init xfb info if there are no outputs
  glthread: use id 0 for internal buffer objects
  lavapipe: don't double-inline ubo0

Patrick Lerda (3):
  egl: fix memory leak related to _eglRefreshDeviceList()
  r600: fix refcnt imbalance related to r600_set_vertex_buffers()
  r600: fix refcnt imbalance related to evergreen_set_shader_images()

Qiang Yu (3):
  ac/nir/ngg: fix gs culling vertex liveness check for odd vertices
  ac/nir/ngg: fix store shared alignment
  radeonsi: fix max scrach lds size calculation when ngg

Ruijing Dong (1):
  frontends/va: disable skip_frame_enable in vaapi interface.

Samuel Pitoiset (4):
  vulkan: ignore rasterizationSamples when the state is dynamic
  radv: try to keep HTILE compressed for READ_ONLY_OPTIMAL layout
  radv: fix VS prologs with GPL and static binding stride
  radv: re-emit the guardband state when related PSO are bound

SoroushIMG (1):
  zink: fix stale point sprite mode state

Timur Kristóf (4):
  ac/llvm: Cover runtime 0 in GFX10 gs_alloc_req workaround.
  radv/amdgpu: Fix mismatching return type of radv_amdgpu_cs_submit.
  radv/amdgpu: Only allow IB BOs on graphics and compute queues.
  radv/amdgpu: Use correct alignment when creating CS BOs.

Tomeu Vizoso (1):
  etnaviv: don't read too much from uniform arrays

xurui (1):
  zink: bs->dd.push_pool[1].pool should be freed



git tag: mesa-23.0.3

https://archive.mesa3d.org/mesa-23.0.3.tar.xz
SHA256: 386362a5d80df3b096636b67f340e1ce67b705b44767d5bdd11d2ed1037192d5  
mesa-23.0.3.tar.xz
SHA512: 
52c778de61daa406c6a1e96a657e9b6fdcc71c8cfda80b7f53acc6470556c7d502c057b9481bb0c3d57ef0263263413fd0d25d53ebf5aa0246fbcc3309de64ae
  mesa-23.0.3.tar.xz
PGP: https://archive.mesa3d.org/mesa-23.0.3.tar.xz.sig

signature.asc
Description: signature


[ANNOUNCE] mesa 23.2.0-rc3

2023-09-05 Thread Dylan Baker
Hi list,

After a very long time, here is mesa 23.2.0-rc3. From my side we've had
some techincal issues plus some personal issues for me. There's a lot
here, and I'm expecting we may have some regressions here, so I've added
another rc. I'm hoping to run on a compressed schedule, and possibly
have another rc by the end of the week.

Dylan


shortlog


Alex Denes (1):
  virgl: link VA driver with build-id

Alyssa Rosenzweig (4):
  panfrost: Lower vertex_id for XFB
  panfrost: Fix transform feedback on v9 harder
  nir/trivialize: Handle more RaW hazards
  nir/lower_blend: Fix 32-bit logicops

Bas Nieuwenhuizen (3):
  aco: fix nir_op_vec8/16 with 16-bit elements.
  aco: Fix some constant patterns in 16-bit vec4 construction with s_pack.
  nir: Fix 16-component nir_replicate.

Benjamin Cheng (1):
  radv/video: use app provided hevc scaling list order

Caio Oliveira (1):
  meson: Ensure that LLVMSPIRVLib is not required for Clover

Charmaine Lee (1):
  svga: set clear_texture to NULL for vgpu9

Connor Abbott (1):
  tu: Fix vk2tu_*_stage flag type

Corentin Noël (1):
  ci: Add locked flag to bindgen-cli installation

Danylo Piliaiev (4):
  freedreno/regs: Rename SP_FS_CTRL_REG0.DIFF_FINE into LODPIXMASK
  ir3: Fix FS quad ops returning wrong values from helper invocations
  tu,freedreno: Forbid blit event for R8G8_SRGB due to gpu faults
  radv: fix unused non-xfb shader outputs not being removed

Dave Airlie (3):
  gallivm: fix atomic global temporary storage.
  llvmpipe: fix fragdata/lastfragdata heuristic a bit more.
  zink: turn off threaded cpu access if not visible.

David Heidelberg (4):
  ci: disable Material Testers.x86_64_2020.04.08_13.38_frame799.rdc trace
  ci/amd: fix timeouting radeonsi-raven-va-full job
  ci: add perfetto into mesa git-cache
  ci/deqp: really remove the uncompressed results.csv file

David Rosca (2):
  frontends/va: Init view_resources array in vlVaPut/GetImage
  frontends/va: Ignore requested size when creating VAEncCodedBufferType

Derek Foreman (1):
  vulkan/wsi: Allow binding presentation_timing when software rendering

Dor Askayo (1):
  nouveau: add exported GEM handles to the global list

Dylan Baker (7):
  docs: Update release calendar for 23.2.0-rc2
  .pick_status.json: Update to e88c0770969f6ae0bfa5bea0f9d99687d257fea1
  .pick_status.json: Mark d3f26cbbe1a957b76804da44bbf5e30de2bac941 as 
denominated
  .pick_status.json: Update to c5a6e88c4e816ded6105b74f101528eb004e0581
  .pick_status.json: Update to 088c2bbd51a48eb0de1e9fd23c529759585bad59
  .pick_status.json: Update to 088c2bbd51a48eb0de1e9fd23c529759585bad59
  VERSION: update to 23.2.0-rc3

Emma Anholt (1):
  ci/tu: Drop some xfails for !24086

Eric Engestrom (2):
  bin/ci_run_n_monitor: get git sha from pipeline if specified, instead of 
requiring --rev to match
  panfrost: upcast uint8/uint16 before shifting them beyond their range

Faith Ekstrand (5):
  nir: Properly handle divergence for load_reg
  nir/trivialize: Maintain divergence information
  nir/trivialize: Trivialize cross-block loads
  Revert "mesa, compiler: Move gl_texture_index to glsl_types.h"
  Revert "compiler: Combine duplicated implementation of is_gl_identifier 
into glsl_types.h"

Friedrich Vock (1):
  radv: Handle VK_SUBOPTIMAL_KHR in trace layers

Georg Lehmann (2):
  aco/gfx11: fix get_gfx11_true16_mask with v_cmp_class_f16
  aco: fix non constant 16bit bitnz/bitz

Gert Wollny (5):
  r600/sfn: Fix use of multiple IDX with kcache
  r600/sfn: Don't try to propagate to vec4 with more than one use
  r600/sfn: Only switch to other CF if no AR uses are pending
  r600/sfn: AR loads should depend on all previous non ALU instructions
  r600/sfn: Take source uses into account when switching channels

Italo Nicola (1):
  egl: reenable partial redraw with a warning when using gallium hud

Iván Briano (1):
  anv: implement Wa_14019750404

Janne Grunau (1):
  asahi,agx: Fix stack buffer overflow in agx_link_varyings_vs_fs

Julia Tatz (2):
  gallium/dri: fix dri2_from_names
  aux/trace: fix set_hw_atomic_buffers method name

Julian Hagemeister (1):
  Gallium: Fix shared memory segment leak

Karol Herbst (6):
  rusticl: fix warnings with newer rustc
  nv50/ir/nir: fix txq emission on MS textures
  nv50/ir/nir: Fix zero source handling of tex instructions.
  rusticl/kernel: only handle function_temp memory before lowering printf
  n50/compute: submit initial compute state in nv50_screen_create
  nv50: fix code uploads bigger than 0x1 bytes

Konstantin Seurer (3):
  draw: Do not restart the primitive_id at 0
  llvmpipe: Fix compiling with LP_USE_TEXTURE_CACHE
  llvmpipe: Zero extend vectors in widen_to_simd_width

Lionel Landwerlin

[ANNOUNCE] mesa 23.2.0-rc4

2023-09-24 Thread Dylan Baker
Hi list,

I'd like to announce mesa 23.2.0-rc4, which will hopefully be the last
release candidate for the 23.2 series. The goal is that this Wednesday
we'll have a final release, which will be tagged 23.2.1 due to an
accidental 23.2.0 tag that was created earlier. I will be pulling more
patches over the next couple of days, as well as contacting authors whos
patches don't apply cleanly. It is likely that not every staged patch
will end up in the first release and will not make it till 23.2.2. I'm
opened to either having a short cycle (with 23.2.2 next week), or if you
want to make sure they end up in this release let me know on IRC.

Cheers,
Dylan

shortlog


Alyssa Rosenzweig (2):
  nir/lower_helper_writes: Consider bindless images
  nir/passthrough_gs: Fix array size

Chia-I Wu (1):
  ac/surface: limit RADEON_SURF_NO_TEXTURE to color surfaces

Connor Abbott (1):
  vk/graphics_state: Fix copying MS locations pipeline state

Corentin Noël (1):
  virgl: Do not expose EXT_texture_mirror_clamp when using a GLES host

Daniel Stone (1):
  egl/wayland: Always initialise fd_display_gpu

David Rosca (1):
  Revert "radeonsi/vcn: add an exception of field case for h264 decoding"

Dmitry Baryshkov (1):
  tu: Pass real size of prime buffers to allocator

Dylan Baker (13):
  docs: Extend calendar entries for 23.2 by 2 releases.
  docs: update calendar for 23.2.0-rc3
  .pick_status.json: Update to 10e75aae1bddee9795b1ff04ffd656b0da79b5b5
  .pick_status.json: Updates notes for 
aebe58458611e0bb585a5bce8e16c1175783f3cc
  .pick_status.json: Updates notes for 
f8cb0d8a44afb9c70f38e359ffe0ad57416e66a4
  Revert "Revert "intel/ci: disable iris-jsl-deqp because it always fails 
for an AMD MR""
  .pick_status.json: Updates notes for 
93b4f200dead198e680991a1e95bf3d3b58f87bd
  .pick_status.json: Updates notes for 
7e246f7f2bde0c859269c4b81505bd0887045e7b
  .pick_status.json: Updates notes for 
9865e5dff49395543da4331a943ba5a03ce6a413
  .pick_status.json: Update to 1cdc4be14b66108ae0e8069686ac3efe52bef3cb
  .pick_status.json: Updates notes for 
b8ea9724fa5ca38620bc0cdc01b7addd05574954
  .pick_status.json: Updates notes for 
68027bd38e134f45d1fe8612c0c31e5379ed7435
  VERSION: update to 23.2.0-rc4

Emma Anholt (1):
  disk_cache: Disable the "List" test for RO disk cache.

Eric Engestrom (7):
  vc4: drop duplicate .lower_ldexp
  zink: fix format in zink_make_{image,texture}_handle_resident()
  v3dv: fix 
VK_PIPELINE_ROBUSTNESS_{BUFFER,IMAGE}_BEHAVIOR_DEVICE_DEFAULT_EXT copy/paste 
typo
  v3dv: fix copy/pasted type of `sample`
  v3dv: fix shader stage name in error message
  v3d/qpu: fix type of function argument
  ci/farm-rules: fix missing valve-infra jobs in scheduled pipelines

Faith Ekstrand (3):
  nir: Handle nir_op_mov properly in opt_shrink_vectors
  nir: Don't handle nir_op_mov in get_undef_mask in opt_undef
  nir: Fix metadata in nir_lower_is_helper_invocation

Friedrich Vock (1):
  nir/load_store_vectorize: Handle intrinsics with constant base

Georg Lehmann (1):
  aco: fix u2f16 with 32bit input

Helen Koike (1):
  ci/android: remove strace output from cuttlefish-runner.sh

Iván Briano (7):
  blorp: fix hangs with mesh enabled
  anv: use a simpler MUE layout for fast linked libraries
  anv: track what kind of pipeline a fragment shader may be used with
  intel/fs: read viewport and layer from the FS payload
  intel/fs: handle URB setup for fast linked mesh pipelines
  anv: enable VK_EXT_mesh_shader where supported
  intel/fs: use ffsll so we don't explode on 32 bits

Jordan Justen (2):
  intel/dev: Use RPL-U name on RPL-U devices
  intel/dev: Add more RPL PCI IDs

Karol Herbst (7):
  nouveau: take glsl_type ref unconditionally
  nv50: limit max code uploads to 0x8000
  clc: use CLANG_RESOURCE_DIR for clang's resource path
  zink: fix source type in load/store scratch
  zink: fix global stores
  rusticl/disk_cache: fix stack corruption
  rusticl/memory: do not verify pitch for IMAGE1D_BUFFER

Kenneth Graunke (1):
  iris: Check prog[] instead of uncompiled[] for BLORP state skipping

Konstantin Seurer (1):
  vulkan/wsi/x11: Implement capture hotkey using the keymap

Leo Liu (1):
  radeonsi/vcn: fix the incorrect dt_size

Lionel Landwerlin (4):
  intel/compiler: disable per-sample interpolation modes with 
non-per-sample dispatch
  anv: add missing ISL storage usage
  intel/nir: rerun lower_tex if it lowers something
  hasvk: add state cache invalidation back before fast clears

Marcin Ślusarz (3):
  intel/compiler/mesh: compactify MUE layout
  intel/compiler,anv: put some vertex and primitive data in headers
  intel/compiler: load debug mesh compaction options once

Marek Olšák (1):
  Revert &q

[ANNOUNCE] mesa 24.2.2

2024-09-05 Thread Dylan Baker
Hi List,

I'm running a little late with this, but I had agreed to help Eric out
and make the 24.2.2 release while he was on vacation. We have a lot of
good stuff here, fixing a number of bugs across the whole of Mesa. Of
note 

Cheers,
Dylan

Shortlog


Dave Airlie (1):
  vulkan/video: fix vui encoding

David Heidelberg (1):
  panfrost: drop leftover definition after pan_nir_lower_64bit_intrin 
removal

David Rosca (2):
  frontends/va: Fix locking in vlVaDeriveImage
  frontends/va: Fix locking in vlVaQueryVideoProcPipelineCaps

Dylan Baker (3):
  .pick_status.json: Update to 4aa1259eb4a86a94596dd31d6b80a99ce6d91299
  docs: add release notes for 24.2.2
  VERSION: bump for 24.2.2

Eric Engestrom (7):
  docs: add sha sum for 24.2.1
  .pick_status.json: Update to 51e05c284465786bf125d9d36081e9152c80619b
  v3dv/ci: fix test timeout for v3dv-rpi5-vk-full:arm64
  etnaviv/ci: fix gc2000_piglit test timeout
  .pick_status.json: Mark 4888d39f29ae84dd279f2bd4714eb0f6e8ba5d20 as 
denominated
  .pick_status.json: Mark 033818fdd99a543fd1cb17cc8e4be07f831a9003 as 
denominated
  .pick_status.json: Update to 3e4f73b3a0e0b9420f9614d3e271c49225c6f5d3

Faith Ekstrand (5):
  vulkan/pipeline: Handle VIEW_INDEX_FROM_DEVICE_INDEX_BIT
  nvk: Hash minSampleShading in nvk_hash_graphics_state()
  nvk: Don't do linear<->tiled copies for rendering suspend/resume
  nvk: Take depth image layer counts from the VkRenderingInfo
  vulkan: Allow pColorAttachmentLocations == NULL in 
CmdSetRenderingAttachmentLocationsKHR()

Iván Briano (1):
  nir: add pass to convert ViewIndex to DeviceIndex

Jesse Natalie (2):
  d3d12: Don't use a vertex re-ordering GS for line primitives
  microsoft/compiler: Move nir_lower_undef_to_zero out of the optimization 
loop

Job Noorman (1):
  ir3: fix recognizing const/imm registers as a0

Jordan Justen (4):
  intel/dev: Update hwconfig => max_threads_per_psd for Xe2
  intel/dev: Re-enable LNL PCI IDs (without INTEL_FORCE_PROBE) on Mesa 24.2
  intel/dev: Enable BMG PCI IDs (without INTEL_FORCE_PROBE)
  anv: Drop "not yet supported" warning for Xe2

Karol Herbst (1):
  clc: fix compilation error with llvm-20

Kenneth Graunke (2):
  intel/brw: Drop misguided sign extension attempts in extract_imm()
  intel/brw: Fix extract_imm for subregion reads of 64-bit immediates

Konstantin Seurer (1):
  nir/opt_loop: Fix handling else-breaks in merge_terminators

Lionel Landwerlin (3):
  anv: fix utrace compute timestamp reads on Gfx20
  iris: fix utrace compute end timestamp reads on Gfx20
  brw: align spilling offsets to physical register sizes

Lucas Stach (1):
  etnaviv: emit SAMPLER_LOG_SIZE on sampler state changes

Mike Blumenkrantz (2):
  dril: use the super fallback path for software fallback
  dril: also create double-buffered configs in swrast fallback

Patrick Lerda (1):
  iris: fix indirect draw refcnt imbalance

Pierre-Eric Pelloux-Prayer (1):
  radeonsi: don't always update shader coherency draw call counter

Rhys Perry (1):
  aco/ra: fix sub-dword get_reg_specified in some cases

Rohan Garg (1):
  anv: prefetch samplers when dispatching compute shaders

Roland Scheidegger (1):
  llvmpipe: Fix type mismatch when storing residency info

Samuel Pitoiset (1):
  radv: fix emitting DGC indirect draws with drawid/base_instance

Tapani Pälli (1):
  anv: set correct miplevel for anv_image_hiz_op

Valentine Burley (1):
  tu: Fix VK_EXT_extended_dynamic_state3 feature

Zan Dobersek (1):
  tu: use instance indices in RD dump filenames


git tag: mesa-24.2.2

https://mesa.freedesktop.org/archive/mesa-24.2.2.tar.xz
SHA256: fd077d3104edbe459e2b8597d2757ec065f9bd2d620b8c0b9cc88c2bf9891d02  
mesa-24.2.2.tar.xz
SHA512: 
d9979f7a1ae7bfeb0658d1b6c9021b7d0043c3ca71db9deaa2fc8a3d4c07cd58497b9233737a31fb66ef711a369a859757a63fb86c2aadd859867f9a4eaf16a9
  mesa-24.2.2.tar.xz
PGP:  https://mesa.freedesktop.org/archive/mesa-24.2.2.tar.xz.sig

signature.asc
Description: signature


[Mesa-dev] [RFC 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-20 Thread Dylan Baker
It is possible to have DEBUG disabled but asserts on, which cannot build
because these asserts work on members that are only present when DEBUG
is on.

Signed-off-by: Dylan Baker 
---
 src/util/ralloc.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/util/ralloc.c b/src/util/ralloc.c
index 566f08ad94e..9cce9e02f68 100644
--- a/src/util/ralloc.c
+++ b/src/util/ralloc.c
@@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
linear_size_chunk *ptr;
unsigned full_size;
 
+#ifdef DEBUG
assert(first->magic == LMAGIC);
+#endif
assert(!latest->next);
 
size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
@@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   void *ptr = node;
@@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   ralloc_steal(new_ralloc_ctx, node);
@@ -734,7 +740,9 @@ void *
 ralloc_parent_of_linear_parent(void *ptr)
 {
linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
return node->ralloc_parent;
 }
 
-- 
2.14.1

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


[Mesa-dev] [RFC 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-20 Thread Dylan Baker
This builds and installs, but I haven't had a chance to test it yet.

Signed-off-by: Dylan Baker 
---
 meson.build   |  17 ++
 src/{ => amd/addrlib}/meson.build |  69 -
 src/{ => amd/common}/meson.build  |  65 
 src/{ => amd}/meson.build |  33 ++
 src/amd/vulkan/meson.build| 124 ++
 src/meson.build   |   2 +-
 6 files changed, 230 insertions(+), 80 deletions(-)
 copy src/{ => amd/addrlib}/meson.build (51%)
 copy src/{ => amd/common}/meson.build (51%)
 copy src/{ => amd}/meson.build (65%)
 create mode 100644 src/amd/vulkan/meson.build

diff --git a/meson.build b/meson.build
index e86082c346a..15fab39d635 100644
--- a/meson.build
+++ b/meson.build
@@ -279,6 +279,23 @@ dep_m = cc.find_library('m', required : false)
 # TODO: conditionalize libdrm requirement
 dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
 pre_args += '-DHAVE_LIBDRM'
+dep_libdrm_amdgpu = []
+if with_amd_vk
+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.82')
+endif
+
+dep_llvm = dependency('llvm', version : '>= 3.9.0', required : false)
+if not dep_llvm.found()
+  if with_amd_vk
+error('Radv requires llvm.')
+  endif
+else
+  _llvm_version = dep_llvm.version().split('.')
+  pre_args += [
+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0], _llvm_version[1], 
_llvm_version[2]),
+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_version[2]),
+  ]
+endif
 
 # TODO: make this conditional
 dep_valgrind = dependency('valgrind', required : false)
diff --git a/src/meson.build b/src/amd/addrlib/meson.build
similarity index 51%
copy from src/meson.build
copy to src/amd/addrlib/meson.build
index 4c82eec70f1..a6cad1207b0 100644
--- a/src/meson.build
+++ b/src/amd/addrlib/meson.build
@@ -18,31 +18,46 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-# TODO: libglsl_util
+files_addrlib = files(
+  'addrinterface.cpp',
+  'addrinterface.h',
+  'addrtypes.h',
+  'core/addrcommon.h',
+  'core/addrelemlib.cpp',
+  'core/addrelemlib.h',
+  'core/addrlib.cpp',
+  'core/addrlib.h',
+  'core/addrlib1.cpp',
+  'core/addrlib1.h',
+  'core/addrlib2.cpp',
+  'core/addrlib2.h',
+  'core/addrobject.cpp',
+  'core/addrobject.h',
+  'gfx9/chip/gfx9_enum.h',
+  'gfx9/coord.cpp',
+  'gfx9/coord.h',
+  'gfx9/gfx9addrlib.cpp',
+  'gfx9/gfx9addrlib.h',
+  'gfx9/rbmap.cpp',
+  'gfx9/rbmap.h',
+  'inc/chip/gfx9/gfx9_gb_reg.h',
+  'inc/chip/r800/si_gb_reg.h',
+  'inc/lnx_common_defs.h',
+  'r800/chip/si_ci_vi_merged_enum.h',
+  'r800/ciaddrlib.cpp',
+  'r800/ciaddrlib.h',
+  'r800/egbaddrlib.cpp',
+  'r800/egbaddrlib.h',
+  'r800/siaddrlib.cpp',
+  'r800/siaddrlib.h',
+)
 
-# TODO: git_sha. There's a meson builtin for this
-
-inc_common = include_directories(
-  '../include', '.', 'mapi', 'mesa', 'gallium/include', 'gallium/auxiliary')
-inc_mesa = include_directories('mesa')
-inc_mapi = include_directories('mapi')
-
-subdir('gtest')
-subdir('util')
-#subdir('mapi/glapi/gen')
-# TODO: mapi
-# TODO: opengl
-# TODO: glx
-# TODO: osmesa
-subdir('compiler')
-subdir('egl/wayland/wayland-drm')
-subdir('vulkan')
-# TODO: amd
-subdir('intel')
-# TODO: vc4
-# TODO: opengl_common
-# TODO: dri_glx
-# TODO: gbm
-# TODO: egl
-# TODO: radv
-# TODO: gallium
+libamdgpu_addrlib = static_library(
+  'addrlib',
+  files_addrlib,
+  include_directories : include_directories(
+'core', 'inc/chip/gfx9', 'inc/chip/r800', 'gfx9/chip', 'r800/chip',
+'../common', '../../'),
+  cpp_args : [cpp_vis_args, '-DBRAHMA_BUILD=1'],
+  build_by_default : false,
+)
diff --git a/src/meson.build b/src/amd/common/meson.build
similarity index 51%
copy from src/meson.build
copy to src/amd/common/meson.build
index 4c82eec70f1..842b42f897e 100644
--- a/src/meson.build
+++ b/src/amd/common/meson.build
@@ -18,31 +18,46 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-# TODO: libglsl_util
+inc_amd_common = include_directories('.')
 
-# TODO: git_sha. There's a meson builtin for this
+sid_tables_h = custom_target(
+  'sid_tables_h',
+  input : ['sid_tables.py', 'sid.h', 'gfx9d.h'],
+  out

[Mesa-dev] [RFC 1/4] intel: use a flag instead of setting PYTHONPATH

2017-09-20 Thread Dylan Baker
Meson doesn't allow setting environment variables for custom targets, so
we either need to not pass this as an environment variable or use a
shell script to wrap the invocation. The chosen solution has the
advantage of working for both autotools and meson.

Signed-off-by: Dylan Baker 
---
 src/intel/Makefile.compiler.am |  2 +-
 src/intel/compiler/brw_nir_trig_workarounds.py | 34 +++---
 2 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/src/intel/Makefile.compiler.am b/src/intel/Makefile.compiler.am
index 3ab550c96b1..45e7a6ccce8 100644
--- a/src/intel/Makefile.compiler.am
+++ b/src/intel/Makefile.compiler.am
@@ -35,7 +35,7 @@ BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
 compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
  
$(top_srcdir)/src/compiler/nir/nir_algebraic.py
$(MKDIR_GEN)
-   $(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) 
$(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || ($(RM) 
$@; false)
+   $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) 
$(srcdir)/compiler/brw_nir_trig_workarounds.py -p 
$(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false)
 
 EXTRA_DIST += \
compiler/brw_nir_trig_workarounds.py
diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py 
b/src/intel/compiler/brw_nir_trig_workarounds.py
index 6a77d64dbd4..a752f5461f1 100644
--- a/src/intel/compiler/brw_nir_trig_workarounds.py
+++ b/src/intel/compiler/brw_nir_trig_workarounds.py
@@ -20,8 +20,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-import nir_algebraic
-
 # Prior to Kaby Lake, The SIN and COS instructions on Intel hardware can
 # produce values slightly outside of the [-1.0, 1.0] range for a small set of
 # values.  Obviously, this can break everyone's expectations about trig
@@ -33,11 +31,29 @@ import nir_algebraic
 # amplitude slightly.  Apparently this also minimizes the error function,
 # reducing the maximum error from 0.6 to about 0.3.
 
-trig_workarounds = [
-   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
-   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
-]
+import argparse
+import sys
+
+
+def main():
+parser = argparse.ArgumentParser()
+parser.add_argument('-p', '--import-path', required=True)
+args = parser.parse_args()
+sys.path.insert(0, args.import_path)
+run()
+
+
+def run():
+import nir_algebraic
+trig_workarounds = [
+   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
+   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
+]
+
+print '#include "brw_nir.h"'
+print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
+  trig_workarounds).render()
+
 
-print '#include "brw_nir.h"'
-print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
-  trig_workarounds).render()
+if __name__ == '__main__':
+main()
-- 
2.14.1

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


[Mesa-dev] [RFC 3/4] meson: Add build Intel "anv" vulkan driver

2017-09-20 Thread Dylan Baker
This allows building and installing the Intel "anv" Vulkan driver using
meson and ninja, the driver has been tested against the CTS and has
seems to pass the same series of tests (they both segfault when the CTS
tries to run wayland wsi tests).

There are still a mess of TODO, XXX, and FIXME comments in here. Those
are mostly for meson bugs I'm trying to fix, or for additional things to
implement for other drivers/features.

I have configured all intermediate libraries and optional tools to not
build by default, meaning they will only be built if they're pulled in
as a dependency of a target that will actually be installed) this allows
us to avoid massive if chains, while ensuring that only the bits that
need to be built are.

Signed-off-by: Dylan Baker 
---
 include/meson.build |  22 ++
 meson.build | 408 
 meson_options.txt   |  24 ++
 src/compiler/glsl/meson.build   |  29 +++
 src/compiler/meson.build|  57 +
 src/compiler/nir/meson.build| 205 
 src/egl/wayland/wayland-drm/meson.build |  21 ++
 src/gtest/meson.build   |  26 ++
 src/intel/blorp/meson.build |  37 +++
 src/intel/common/meson.build|  44 
 src/intel/compiler/meson.build  | 155 
 src/intel/genxml/meson.build|  59 +
 src/intel/isl/meson.build   | 105 
 src/intel/meson.build   |  31 +++
 src/intel/tools/meson.build |  39 +++
 src/intel/vulkan/meson.build| 180 ++
 src/mapi/glapi/gen/meson.build  |  19 ++
 src/meson.build |  48 
 src/util/meson.build| 134 +++
 src/util/tests/hash_table/meson.build   |  32 +++
 src/vulkan/meson.build  |  28 +++
 src/vulkan/util/gen_enum_to_str.py  |   4 +-
 src/vulkan/util/meson.build |  47 
 src/vulkan/wsi/meson.build  |  71 ++
 24 files changed, 1823 insertions(+), 2 deletions(-)
 create mode 100644 include/meson.build
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 src/compiler/glsl/meson.build
 create mode 100644 src/compiler/meson.build
 create mode 100644 src/compiler/nir/meson.build
 create mode 100644 src/egl/wayland/wayland-drm/meson.build
 create mode 100644 src/gtest/meson.build
 create mode 100644 src/intel/blorp/meson.build
 create mode 100644 src/intel/common/meson.build
 create mode 100644 src/intel/compiler/meson.build
 create mode 100644 src/intel/genxml/meson.build
 create mode 100644 src/intel/isl/meson.build
 create mode 100644 src/intel/meson.build
 create mode 100644 src/intel/tools/meson.build
 create mode 100644 src/intel/vulkan/meson.build
 create mode 100644 src/mapi/glapi/gen/meson.build
 create mode 100644 src/meson.build
 create mode 100644 src/util/meson.build
 create mode 100644 src/util/tests/hash_table/meson.build
 create mode 100644 src/vulkan/meson.build
 create mode 100644 src/vulkan/util/meson.build
 create mode 100644 src/vulkan/wsi/meson.build

diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 000..93def7e0ec2
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1,22 @@
+# 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_drm_uapi = include_directories('drm-uapi')
+inc_vulkan = include_directories('vulkan')
diff --git a/meson.build b/meson.build
new file mode 100644
index 000..e86082c346a
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,408 @@
+# 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 withou

[Mesa-dev] initial meson port

2017-09-20 Thread Dylan Baker
Hi everyone,

A long time ago I made some rumbling about porting mesa to meson (isn't that
confusing). In the mean time I've been bogged down with other projects,
including adding features to meson itself, and trying to write and rebase meson
patches for all of mesa. Unfortunately mesa is a large fast moving project and
trying to writing meson for the entire thing has proven to simply be
intractable, I could spend nearly half my day rebasing to current master, and
that's both demoralizing and error prone.

So I took Jason's advice and started with what mattered to him ;) Vulkan. This
was a chunk big enough to be a decent example, but small and contained enough to
not require lots of rebasing. Intel's "anv" and the AMD "radv" driver share a
large number of dependencies between each other, and demonstrate writing a meson
build system.

You may notice a lot of TODO/FIXME comments here. Some of them are related to
upstream meson bugs (there are two currently, one that I have a pull request for
that is probably ready for merge, and one that I'm working on currently), or
things that need to be implemented for the meson build system to be complete.
There are a few things that will need to be resolved before implementing mesa
and gallium drivers (around dependencies that are hard dependencies for Vulkan,
but soft dependencies for mesa/gallium).

The meson build system is much faster for building these two drivers than the
autotools build system, but there are a couple of caveats worth mentioning
before I give you the numbers. 1: meson doesn't check for as many features,
flags, or dependencies; 2: meson doesn't build glx, egl, or the glsl compiler,
just enough of the glsl_compiler to get anv and radv building. The 1st will just
naturally happen, the second could be fixed.

Methodology : I ran each build system in as close of a configuration as I could
(out of tree, same number of jobs) using zsh's time. These were run on a 2 core
4 thread Intel skylake. Note that ninja by default runs with logical cores + 2
jobs.

Commands
autotools : 'mkdir autotools ; cd autotools ; ../autogen.sh \
--without-dri-drivers --without-gallium-drivers \
--with-platforms=x11,wayland --with-vulkan-drivers=intel,radeon \
&& make -j6'
meson : meson build -Dvulkan-drivers=intel,amd -Dplatforms=x11,wayland && ninja 
-C build

Results
autotools : sh -c   535.34s user 30.33s system 310% cpu 3:02.05 total
meson : sh -c   136.58s user 11.98s system 372% cpu 39.895 total

I'm hopeful that we can start landing the meson build system incrementally, so
that the rebasing pain can be eased. I'm working on getting i965 and radeonSI
as my next targets (I have access to hardware to test those), and I'll continue
to add additional drivers from there.

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


Re: [Mesa-dev] [RFC 1/4] intel: use a flag instead of setting PYTHONPATH

2017-09-20 Thread Dylan Baker
Quoting Kenneth Graunke (2017-09-20 13:44:58)
> On Wednesday, September 20, 2017 1:27:38 PM PDT Dylan Baker wrote:
> > Meson doesn't allow setting environment variables for custom targets, so
> > we either need to not pass this as an environment variable or use a
> > shell script to wrap the invocation. The chosen solution has the
> > advantage of working for both autotools and meson.
> > 
> > Signed-off-by: Dylan Baker 
> > ---
> >  src/intel/Makefile.compiler.am |  2 +-
> >  src/intel/compiler/brw_nir_trig_workarounds.py | 34 
> > +++---
> >  2 files changed, 26 insertions(+), 10 deletions(-)
> > 
> > diff --git a/src/intel/Makefile.compiler.am b/src/intel/Makefile.compiler.am
> > index 3ab550c96b1..45e7a6ccce8 100644
> > --- a/src/intel/Makefile.compiler.am
> > +++ b/src/intel/Makefile.compiler.am
> > @@ -35,7 +35,7 @@ BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
> >  compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
> >   
> > $(top_srcdir)/src/compiler/nir/nir_algebraic.py
> >   $(MKDIR_GEN)
> > - $(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) 
> > $(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || 
> > ($(RM) $@; false)
> > + $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) 
> > $(srcdir)/compiler/brw_nir_trig_workarounds.py -p 
> > $(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false)
> >  
> >  EXTRA_DIST += \
> >   compiler/brw_nir_trig_workarounds.py
> > diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py 
> > b/src/intel/compiler/brw_nir_trig_workarounds.py
> > index 6a77d64dbd4..a752f5461f1 100644
> > --- a/src/intel/compiler/brw_nir_trig_workarounds.py
> > +++ b/src/intel/compiler/brw_nir_trig_workarounds.py
> > @@ -20,8 +20,6 @@
> >  # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
> > DEALINGS
> >  # IN THE SOFTWARE.
> >  
> > -import nir_algebraic
> > -
> >  # Prior to Kaby Lake, The SIN and COS instructions on Intel hardware can
> >  # produce values slightly outside of the [-1.0, 1.0] range for a small set 
> > of
> >  # values.  Obviously, this can break everyone's expectations about trig
> > @@ -33,11 +31,29 @@ import nir_algebraic
> >  # amplitude slightly.  Apparently this also minimizes the error function,
> >  # reducing the maximum error from 0.6 to about 0.3.
> >  
> > -trig_workarounds = [
> > -   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
> > -   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
> > -]
> > +import argparse
> > +import sys
> > +
> > +
> > +def main():
> > +parser = argparse.ArgumentParser()
> > +parser.add_argument('-p', '--import-path', required=True)
> > +args = parser.parse_args()
> > +sys.path.insert(0, args.import_path)
> > +run()
> > +
> > +
> > +def run():
> > +import nir_algebraic
> > +trig_workarounds = [
> > +   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
> > +   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
> > +]
> > +
> > +print '#include "brw_nir.h"'
> > +print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
> > +  trig_workarounds).render()
> > +
> >  
> > -print '#include "brw_nir.h"'
> > -print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
> > -  trig_workarounds).render()
> > +if __name__ == '__main__':
> > +main()
> > 
> 
> IMHO it would be nice to leave trig_workarounds at the top level, like
> it was.  That way, you can find the rules easily without having to dig
> through the plumbing necessary to set them up.  Either way,
> 
> Reviewed-by: Kenneth Graunke 

Sure, I can move them back. I'll add that to v2.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [RFC 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-20 Thread Dylan Baker
Quoting Kenneth Graunke (2017-09-20 13:42:45)
> On Wednesday, September 20, 2017 1:27:39 PM PDT Dylan Baker wrote:
> > It is possible to have DEBUG disabled but asserts on, which cannot build
> > because these asserts work on members that are only present when DEBUG
> > is on.
> > 
> > Signed-off-by: Dylan Baker 
> > ---
> >  src/util/ralloc.c | 8 
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/src/util/ralloc.c b/src/util/ralloc.c
> > index 566f08ad94e..9cce9e02f68 100644
> > --- a/src/util/ralloc.c
> > +++ b/src/util/ralloc.c
> > @@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
> > linear_size_chunk *ptr;
> > unsigned full_size;
> >  
> > +#ifdef DEBUG
> > assert(first->magic == LMAGIC);
> > +#endif
> > assert(!latest->next);
> >  
> > size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
> > @@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
> >return;
> >  
> > node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> >  
> > while (node) {
> >void *ptr = node;
> > @@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void 
> > *ptr)
> >return;
> >  
> > node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> >  
> > while (node) {
> >ralloc_steal(new_ralloc_ctx, node);
> > @@ -734,7 +740,9 @@ void *
> >  ralloc_parent_of_linear_parent(void *ptr)
> >  {
> > linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> > return node->ralloc_parent;
> >  }
> >  
> > 
> 
> Reviewed-by: Kenneth Graunke 
> 
> It might make senes to change all of these #ifdef DEBUG to #ifndef NDEBUG
> which is the actual condition for assert not getting compiled away.
> 
> DEBUG is some Mesa thing, I think.

Yeah, DEBUG is a mesa thing.

I think it's a little strange to have both, but it doesn't really matter to me
either way.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [RFC 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-20 Thread Dylan Baker
Matt and I discussed this a bit before he left for XDC, and I have some ideas on
how to share sources file lists (meson upstream wasn't particularly thrilled
with the idea of of adding makefile parsing support, even in as limited a form
as we have with our Makefile.sources). My initial though is to add support to
meson for reading JSON or some other standard file format (ini, xml, whatever),
and writing a tool that autotools could call during it's pre-process stage to
convert these into Makefile.sources files. But I'm not an autotools expert by
any stretch and I have no idea if that's even possible.

I'll also add that android is migrating away from Make compatible android.mk
files to a new soong build system that does not (AFAICT) read Make files, so if
the android build system is going to live in tree in the future, we're going to
end up duplicating all of this for android eventually.

Dylan

Quoting Nicolai Hähnle (2017-09-20 13:57:17)
> On 20.09.2017 22:27, Dylan Baker wrote:
> > +amd_common_files = files(
> > +  'ac_binary.c',
> > +  'ac_binary.h',
> > +  'ac_exp_param.h',
> > +  'ac_llvm_build.c',
> > +  'ac_llvm_build.h',
> > +  'ac_llvm_helper.cpp',
> > +  'ac_llvm_util.c',
> > +  'ac_llvm_util.h',
> > +  'ac_shader_abi.h',
> > +  'ac_shader_info.c',
> > +  'ac_shader_info.h',
> > +  'ac_nir_to_llvm.c',
> > +  'ac_nir_to_llvm.h',
> > +  'ac_gpu_info.c',
> > +  'ac_gpu_info.h',
> > +  'ac_surface.c',
> > +  'ac_surface.h',
> > +  'ac_debug.c',
> > +  'ac_debug.h',
> > +)
> 
> So... I think this came up in the previous Meson thread. Duplicating 
> these source file lists is pretty painful, because it invariably leads 
> to people (including myself) forgetting to update them, which leads to 
> follow-up "fix $foo build system" commits.
> 
> I have nothing against Meson in particular, but can we please not go there?
> 
> Cheers,
> Nicolai
> -- 
> Lerne, wie die Welt wirklich ist,
> Aber vergiss niemals, wie sie sein sollte.


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 3/6] vulkan: enum generator: make registry more flexible

2017-09-21 Thread Dylan Baker
Quoting Jason Ekstrand (2017-09-21 08:32:20)
> From: Lionel Landwerlin 
> 
> It will be used to store extension numbers as well.
> 
> Signed-off-by: Lionel Landwerlin 
> Reviewed-by: Jason Ekstrand 
> ---
>  src/vulkan/util/gen_enum_to_str.py | 22 +++---
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/src/vulkan/util/gen_enum_to_str.py 
> b/src/vulkan/util/gen_enum_to_str.py
> index efe5d4f..5281e89 100644
> --- a/src/vulkan/util/gen_enum_to_str.py
> +++ b/src/vulkan/util/gen_enum_to_str.py
> @@ -115,18 +115,18 @@ FOREIGN_ENUM_VALUES = [
>  ]
>  
>  
> -class EnumFactory(object):
> +class NamedFactory(object):
>  """Factory for creating enums."""
>  
>  def __init__(self, type_):
>  self.registry = {}
>  self.type = type_
>  
> -def __call__(self, name):
> +def __call__(self, *args):

This is pretty ugly and clunky. What about
__call__(self, name, **kwargs), and pass kwargs directly to the type?

>  try:
> -return self.registry[name]
> +return self.registry[args[0]]
>  except KeyError:
> -n = self.registry[name] = self.type(name)
> +n = self.registry[args[0]] = self.type(*args)
>  return n
>  
>  
> @@ -138,7 +138,7 @@ class VkEnum(object):
>  self.values = values or []
>  
>  
> -def parse_xml(efactory, filename):
> +def parse_xml(enum_factory, filename):
>  """Parse the XML file. Accumulate results into the efactory.
>  
>  This parser is a memory efficient iterative XML parser that returns a 
> list
> @@ -157,15 +157,15 @@ def parse_xml(efactory, filename):
>  if event == 'end' and elem.tag == 'enums':
>  type_ = elem.attrib.get('type')
>  if type_ == 'enum':
> -enum = efactory(elem.attrib['name'])
> +enum = enum_factory(elem.attrib['name'])
>  enum.values.extend([e.attrib['name'] for e in elem
>  if e.tag == 'enum'])
>  elif event == 'end' and elem.tag == 'extension':
>  if elem.attrib['supported'] != 'vulkan':
>  continue
>  for e in elem.findall('.//enum[@extends][@offset]'):
> -enum = efactory(e.attrib['extends'])
> -enum.values.append(e.attrib['name'])
> +enum = enum_factory(e.attrib['extends'])
> +enum.values.append(e.attrib['name'],)
>  
>  root.clear()
>  
> @@ -182,10 +182,10 @@ def main():
>  
>  args = parser.parse_args()
>  
> -efactory = EnumFactory(VkEnum)
> +enum_factory = NamedFactory(VkEnum)
>  for filename in args.xml_files:
> -parse_xml(efactory, filename)
> -enums=sorted(efactory.registry.values(), key=lambda e: e.name)
> +parse_xml(enum_factory, filename)
> +enums=sorted(enum_factory.registry.values(), key=lambda e: e.name)
>  
>  for template, file_ in [(C_TEMPLATE, os.path.join(args.outdir, 
> 'vk_enum_to_str.c')),
>  (H_TEMPLATE, os.path.join(args.outdir, 
> 'vk_enum_to_str.h'))]:
> -- 
> 2.5.0.400.gff86faf
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 4/6] vulkan: enum generator: generate extension number defines

2017-09-21 Thread Dylan Baker
Quoting Jason Ekstrand (2017-09-21 08:32:21)
> From: Lionel Landwerlin 
> 
> New extensions can introduce additional enums. Most of the new enums
> will have disjoint numbers from the initial enums. For example new
> formats introduced by VK_IMG_format_pvrtc :
> 
> VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
> VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
> VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
> VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
> VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
> VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
> VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
> VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
> VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 154000,
> VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 154001,
> VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 154002,
> VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 154003,
> VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 154004,
> VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 154005,
> VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 154006,
> VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 154007,
> 
> It's obvious we can't have a single table for handling those anymore.
> 
> Fortunately the enum values actually contain the number of the
> extension that introduced the new enums. So we can build an
> indirection table off the extension number and then index by
> subtracting the first enum of the the format enum value.
> 
> This change makes the extension number available in the generated enum
> code.
> 
> Signed-off-by: Lionel Landwerlin 
> Reviewed-by: Jason Ekstrand 
> ---
>  src/vulkan/util/gen_enum_to_str.py | 24 
>  1 file changed, 20 insertions(+), 4 deletions(-)
> 
> diff --git a/src/vulkan/util/gen_enum_to_str.py 
> b/src/vulkan/util/gen_enum_to_str.py
> index 5281e89..8f32102 100644
> --- a/src/vulkan/util/gen_enum_to_str.py
> +++ b/src/vulkan/util/gen_enum_to_str.py
> @@ -101,6 +101,10 @@ H_TEMPLATE = Template(textwrap.dedent(u"""\
>  #include 
>  #include 
>  
> +% for ext in extensions:
> +#define _${ext.name}_number (${ext.number})
> +% endfor
> +
>  % for enum in enums:
>  const char * vk_${enum.name[2:]}_to_str(${enum.name} input);
>  % endfor
> @@ -130,6 +134,14 @@ class NamedFactory(object):
>  return n
>  
>  
> +class VkExtension(object):
> +"""Simple struct-like class representing extensions"""
> +
> +def __init__(self, name, number):
> +self.name = name
> +self.number = number
> +
> +
>  class VkEnum(object):
>  """Simple struct-like class representing a single Vulkan Enum."""
>  
> @@ -138,8 +150,8 @@ class VkEnum(object):
>  self.values = values or []
>  
>  
> -def parse_xml(enum_factory, filename):
> -"""Parse the XML file. Accumulate results into the efactory.
> +def parse_xml(enum_factory, ext_factory, filename):
> +"""Parse the XML file. Accumulate results into the factories.
>  
>  This parser is a memory efficient iterative XML parser that returns a 
> list
>  of VkEnum objects.
> @@ -160,6 +172,8 @@ def parse_xml(enum_factory, filename):
>  enum = enum_factory(elem.attrib['name'])
>  enum.values.extend([e.attrib['name'] for e in elem
>  if e.tag == 'enum'])
> +elif event == 'start' and elem.tag == 'extension':
> +ext_factory(elem.attrib['name'], int(elem.attrib['number']))

It would be better to nest the tags under the event
if event == 'start':
if elem.tag == '...'

>  elif event == 'end' and elem.tag == 'extension':
>  if elem.attrib['supported'] != 'vulkan':
>  continue
> @@ -169,7 +183,6 @@ def parse_xml(enum_factory, filename):
>  
>  root.clear()
>  
> -
>  def main():
>  parser = argparse.ArgumentParser()
>  parser.add_argument('--xml', required=True,
> @@ -183,9 +196,11 @@ def main():
>  args = parser.parse_args()
>  
>  enum_factory = NamedFactory(VkEnum)
> +ext_factory = NamedFactory(VkExtension)
>  for filename in args.xml_files:
> -parse_xml(enum_factory, filename)
> +parse_xml(enum_factory, ext_factory, filename)
>  enums=sorted(enum_factory.registry.values(), key=lambda e: e.name)
> +extensions=sorted(ext_factory.registry.values(), key=lambda e: e.name)
>  
>  for template, file_ in [(C_TEMPLATE, os.path.join(args.outdir, 
> 'vk_enum_to_str.c')),
>  (H_TEMPLATE, os.path.join(args.outdir, 
> 'vk_enum_to_str.h'))]:
> @@ -193,6 +208,7 @@ def main():
>  f.write(template.render(
>  file=os.path.basename(__file__),
>  enums=enums,
> +extensions=extensions,
>  copyright=COPYRIGHT,
>  FOREIGN_ENUM_VALUES=FOREIGN_ENUM_VALUES))
>  
> -- 
> 2.5.0.400.gff86faf
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listin

Re: [Mesa-dev] [PATCH 5/6] vulkan: enum generator: Stop using iterparse

2017-09-21 Thread Dylan Baker
Quoting Jason Ekstrand (2017-09-21 08:32:22)
> While using iterparse is potentially a little more efficient, the Vulkan
> registry XML is not large and using regular element tree simplifies the
> parsing logic substantially.
> ---
>  src/vulkan/util/gen_enum_to_str.py | 41 
> +++---
>  1 file changed, 16 insertions(+), 25 deletions(-)
> 
> diff --git a/src/vulkan/util/gen_enum_to_str.py 
> b/src/vulkan/util/gen_enum_to_str.py
> index 8f32102..e5f8964 100644
> --- a/src/vulkan/util/gen_enum_to_str.py
> +++ b/src/vulkan/util/gen_enum_to_str.py
> @@ -157,31 +157,22 @@ def parse_xml(enum_factory, ext_factory, filename):
>  of VkEnum objects.
>  """
>  
> -with open(filename, 'rb') as f:
> -context = iter(et.iterparse(f, events=('start', 'end')))
> -
> -# This gives the root element, since goal is to iterate over the
> -# elements without building a tree, this allows the root to be 
> cleared
> -# (erase the elements) after the children have been processed.
> -_, root = next(context)
> -
> -for event, elem in context:
> -if event == 'end' and elem.tag == 'enums':
> -type_ = elem.attrib.get('type')
> -if type_ == 'enum':
> -enum = enum_factory(elem.attrib['name'])
> -enum.values.extend([e.attrib['name'] for e in elem
> -if e.tag == 'enum'])
> -elif event == 'start' and elem.tag == 'extension':
> -ext_factory(elem.attrib['name'], int(elem.attrib['number']))
> -elif event == 'end' and elem.tag == 'extension':
> -if elem.attrib['supported'] != 'vulkan':
> -continue
> -for e in elem.findall('.//enum[@extends][@offset]'):
> -enum = enum_factory(e.attrib['extends'])
> -enum.values.append(e.attrib['name'],)
> -
> -root.clear()
> +xml = et.parse(filename)
> +
> +for enum_type in xml.findall('./enums'):
> +if enum_type.attrib.get('type') != 'enum':
> +continue

please do not use continue for iterating xlm. xpath is more than capable of
representing this in less code, and it's implemented in C so it will be much
faster.

for enum_type in xml.findall('./enums[@type="enum"]')

> +
> +enum = enum_factory(enum_type.attrib['name'])
> +for value in enum_type.findall('./enum'):
> +enum.values.append(value.attrib['name'])
> +
> +for ext_elem in xml.findall('./extension'):
> +if ext_elem.attrib['supported'] != 'vulkan':
> +continue

please do the same thing here.

> +
> +ext_factory(ext_elem.attrib['name'],
> +int(ext_elem.attrib['number']))
>  
>  def main():
>  parser = argparse.ArgumentParser()
> -- 
> 2.5.0.400.gff86faf
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v3 1/6] vulkan: enum generator: align function declarations/prototypes

2017-09-21 Thread Dylan Baker
Thanks for updating. For the series:
Reviewed-by: Dylan Baker 

Quoting Jason Ekstrand (2017-09-21 14:19:43)
> From: Lionel Landwerlin 
> 
> Signed-off-by: Lionel Landwerlin 
> Acked-by: Jason Ekstrand 
> ---
>  src/vulkan/util/gen_enum_to_str.py | 42 
> +++---
>  1 file changed, 21 insertions(+), 21 deletions(-)
> 
> diff --git a/src/vulkan/util/gen_enum_to_str.py 
> b/src/vulkan/util/gen_enum_to_str.py
> index df326d0..aa7001e 100644
> --- a/src/vulkan/util/gen_enum_to_str.py
> +++ b/src/vulkan/util/gen_enum_to_str.py
> @@ -64,27 +64,27 @@ C_TEMPLATE = Template(textwrap.dedent(u"""\
>  
>  % for enum in enums:
>  
> -const char *
> -vk_${enum.name[2:]}_to_str(${enum.name} input)
> -{
> -switch(input) {
> -% for v in enum.values:
> -% if v in FOREIGN_ENUM_VALUES:
> -
> -#pragma GCC diagnostic push
> -#pragma GCC diagnostic ignored "-Wswitch"
> -% endif
> -case ${v}:
> -return "${v}";
> -% if v in FOREIGN_ENUM_VALUES:
> -#pragma GCC diagnostic pop
> -
> -% endif
> -% endfor
> -default:
> -unreachable("Undefined enum value.");
> -}
> +const char *
> +vk_${enum.name[2:]}_to_str(${enum.name} input)
> +{
> +switch(input) {
> +% for v in enum.values:
> +% if v in FOREIGN_ENUM_VALUES:
> +
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wswitch"
> +% endif
> +case ${v}:
> +return "${v}";
> +% if v in FOREIGN_ENUM_VALUES:
> +#pragma GCC diagnostic pop
> +
> +% endif
> +% endfor
> +default:
> +unreachable("Undefined enum value.");
>  }
> +}
>  %endfor"""),
>  output_encoding='utf-8')
>  
> @@ -102,7 +102,7 @@ H_TEMPLATE = Template(textwrap.dedent(u"""\
>  #include 
>  
>  % for enum in enums:
> -const char * vk_${enum.name[2:]}_to_str(${enum.name} input);
> +const char * vk_${enum.name[2:]}_to_str(${enum.name} input);
>  % endfor
>  
>  #endif"""),
> -- 
> 2.5.0.400.gff86faf
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Meson mesademos (Was: [RFC libdrm 0/2] Replace the build system with meson)

2017-09-22 Thread Dylan Baker
Quoting Nirbheek Chauhan (2017-09-22 10:47:51)
> So it seems to me that wrapping binaries is the only major feature
> that is being an obstacle for you to port mesademos? I will publish an
> example for doing that via subprojects, that should help!
> 
> Cheers,
> Nirbheek

That would be very useful. I have wraps for glew and freeglut, but I really
don't want to write a wrap for llvm :)

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Meson mesademos (Was: [RFC libdrm 0/2] Replace the build system with meson)

2017-09-22 Thread Dylan Baker
Quoting Jose Fonseca (2017-09-22 11:10:34)
> On 22/09/17 18:47, Nirbheek Chauhan wrote:
> > On Fri, Sep 22, 2017 at 10:19 PM, Jose Fonseca  wrote:
> >> cmake provides a generic mechanism to set any variable, either from a
> >> command line -DFOO=boo, or via cache files.  But meson didn't provide such
> >> standard mechanism AFAICT.
> >>
> > 
> > In Meson you must define an option to pass data to the build file.
> > This cannot change since it would go against the basic design
> > principles of Meson.
> > 
> >> Furthermore, this needs to work both with pkg-config on Linux, and
> >> non-pkgconfig on Windows.  We don't want to have one set of meson files 
> >> that
> >> use pkconfig subprojects for Linux, and other that use something else for
> >> Windows.
> >>
> > 
> > FWIW, a lot of projects use pkg-config on Windows and macOS too since
> > pkg-config is a cross-platform standard.
> > 
> > I do understand that it can be a hassle ensuring the existence of
> > pkg-config.exe and convincing some projects that they should add
> > pkg-config files. Perhaps we can improve that by installing a
> > standalone pkg-config.exe with our Windows MSI installers.
> 
> I think it's a mistake for Meson depend on pkg-config.exe on Windows.
> 
> Is completely unfit for purpose IMHO.  cygwin/msys/WSL all might ship 
> their pkg-config, and who knows what they'll find.
> 
> Plus each project will have specific needs.  Maybe I'm using MSVC 2017. 
> Maybe I'm using MSVC 2012.  I'll need different static libraries for 
> those.  There's no such thing as a centralized repository for 
> dependencies on Windows.  There simply can't be.  At least outside POSIX 
> ports like cygwin/msys/etc
> 
> An while building all dependencies from source would solve that, that's 
> also unpractical.  Not only becuase it would take time to convert them 
> to meson, but also because often source is not available.
> 
> > We also have Windows-specific code in our Sdl2, Boost, Qt, and other
> > dependency search classes which is our preferred mechanism to detect
> > dependencies that are distributed via installers and can be found in
> > 'standard' locations.
> 
> Right.  What Meson lacks is a simple mechanism to generalize that for 
> any binary package without pkg-config.
> 
> > 
> >>> for you, we'd love to talk about how we can improve things. For
> >>> instance, there were these proposals:
> >>> https://github.com/mesonbuild/meson/issues/1525 and
> >>> https://github.com/mesonbuild/meson/issues/1524, but we didn't get any
> >>> feedback on whether they would actually be useful in real-world usage.
> >>
> >>
> >> I think those were added precisely as a consequence of my discussions with
> >> Dylan on porting mesademos.
> >>
> >> meson subprojects assume too much: they either expect pkg-config, or they
> >> expect the subprojects to have source and meson files.
> >>
> > 
> > Meson does not require pkg-config to find dependencies, but yes we do
> > recommend it because it makes the job very easy.
> > 
> > Meson subprojects exist precisely so you can avoid looking outside the
> > source tree for dependencies, so you should not need pkg-config. For
> > instance, you can also create a subproject that exports dependency
> > objects for pre-built binaries just fine. We should publish an example
> > so people know how to do it.
> > 
> >>> Meson is (IMO) unusual in the build systems world in that it's not a
> >>> static unchangeable upstream (ala cmake/autotools/scons), but is a
> >>> FOSS project that you can interact with, so please talk to us. :)
> >>
> >>
> >> Well, that's a good and a bad thing.  It's certainly great that you're open
> >> for discussion.  But I'm afraid the fact that so much interaction is
> >> necessary means meson still has some ways to go.  Honestly, besides filing 
> >> a
> >> couple of bugs, I never felt the need to interact with CMake/SCons
> >> development community and driver their direction.  It pretty much did what 
> >> I
> >> needed.  I don't want to build a build system myself. And I fear living on
> >> the bleeding edge myself.
> >>
> > 
> > In my experience, I really wished that cmake/scons upstream cared a
> > bit more about my use-cases and I didn't have to hack everything I
> > wanted into my build files with macros. ;)
> > 
> > I've found cmake projects to be more fragile and harder to understand
> > than even Autotools, but perhaps I'm just looking at badly-written
> > build files. This is one of the reasons why Meson restricts what you
> > can do in a build file — to make it harder for people to write bad
> > ones!
> > 
> >> I'll be honest, I'm happy to evaluate meson as potential replacement build
> >> system for SCons.  But to put time in raising meson up to the point where 
> >> it
> >> can be a replacement for SCons is beyond what I'm willing to do.
> >>
> > 
> > That's fair, but it seems that there are Mesa developers who are
> > interested in doing this, and I do enjoy working with them. The code
> > we get is 

Re: [Mesa-dev] Meson mesademos (Was: [RFC libdrm 0/2] Replace the build system with meson)

2017-09-22 Thread Dylan Baker
Quoting Jose Fonseca (2017-09-22 11:58:17)
> On 22/09/17 19:38, Dylan Baker wrote:
> > Quoting Jose Fonseca (2017-09-22 11:10:34)
> >> On 22/09/17 18:47, Nirbheek Chauhan wrote:
> >>> On Fri, Sep 22, 2017 at 10:19 PM, Jose Fonseca  
> >>> wrote:
> >>>> cmake provides a generic mechanism to set any variable, either from a
> >>>> command line -DFOO=boo, or via cache files.  But meson didn't provide 
> >>>> such
> >>>> standard mechanism AFAICT.
> >>>>
> >>>
> >>> In Meson you must define an option to pass data to the build file.
> >>> This cannot change since it would go against the basic design
> >>> principles of Meson.
> >>>
> >>>> Furthermore, this needs to work both with pkg-config on Linux, and
> >>>> non-pkgconfig on Windows.  We don't want to have one set of meson files 
> >>>> that
> >>>> use pkconfig subprojects for Linux, and other that use something else for
> >>>> Windows.
> >>>>
> >>>
> >>> FWIW, a lot of projects use pkg-config on Windows and macOS too since
> >>> pkg-config is a cross-platform standard.
> >>>
> >>> I do understand that it can be a hassle ensuring the existence of
> >>> pkg-config.exe and convincing some projects that they should add
> >>> pkg-config files. Perhaps we can improve that by installing a
> >>> standalone pkg-config.exe with our Windows MSI installers.
> >>
> >> I think it's a mistake for Meson depend on pkg-config.exe on Windows.
> >>
> >> Is completely unfit for purpose IMHO.  cygwin/msys/WSL all might ship
> >> their pkg-config, and who knows what they'll find.
> >>
> >> Plus each project will have specific needs.  Maybe I'm using MSVC 2017.
> >> Maybe I'm using MSVC 2012.  I'll need different static libraries for
> >> those.  There's no such thing as a centralized repository for
> >> dependencies on Windows.  There simply can't be.  At least outside POSIX
> >> ports like cygwin/msys/etc
> >>
> >> An while building all dependencies from source would solve that, that's
> >> also unpractical.  Not only becuase it would take time to convert them
> >> to meson, but also because often source is not available.
> >>
> >>> We also have Windows-specific code in our Sdl2, Boost, Qt, and other
> >>> dependency search classes which is our preferred mechanism to detect
> >>> dependencies that are distributed via installers and can be found in
> >>> 'standard' locations.
> >>
> >> Right.  What Meson lacks is a simple mechanism to generalize that for
> >> any binary package without pkg-config.
> >>
> >>>
> >>>>> for you, we'd love to talk about how we can improve things. For
> >>>>> instance, there were these proposals:
> >>>>> https://github.com/mesonbuild/meson/issues/1525 and
> >>>>> https://github.com/mesonbuild/meson/issues/1524, but we didn't get any
> >>>>> feedback on whether they would actually be useful in real-world usage.
> >>>>
> >>>>
> >>>> I think those were added precisely as a consequence of my discussions 
> >>>> with
> >>>> Dylan on porting mesademos.
> >>>>
> >>>> meson subprojects assume too much: they either expect pkg-config, or they
> >>>> expect the subprojects to have source and meson files.
> >>>>
> >>>
> >>> Meson does not require pkg-config to find dependencies, but yes we do
> >>> recommend it because it makes the job very easy.
> >>>
> >>> Meson subprojects exist precisely so you can avoid looking outside the
> >>> source tree for dependencies, so you should not need pkg-config. For
> >>> instance, you can also create a subproject that exports dependency
> >>> objects for pre-built binaries just fine. We should publish an example
> >>> so people know how to do it.
> >>>
> >>>>> Meson is (IMO) unusual in the build systems world in that it's not a
> >>>>> static unchangeable upstream (ala cmake/autotools/scons), but is a
> >>>>> FOSS project that you can interact with, so please talk to us. :)
> >>>>
> >>>>
> >>>> Well, that's a good

[Mesa-dev] [PATCH v2 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-23 Thread Dylan Baker
It is possible to have DEBUG disabled but asserts on (NDEBUG(, which
cannot build because these asserts work on members that are only present
when DEBUG is on.

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/util/ralloc.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/util/ralloc.c b/src/util/ralloc.c
index 566f08ad94e..9cce9e02f68 100644
--- a/src/util/ralloc.c
+++ b/src/util/ralloc.c
@@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
linear_size_chunk *ptr;
unsigned full_size;
 
+#ifdef DEBUG
assert(first->magic == LMAGIC);
+#endif
assert(!latest->next);
 
size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
@@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   void *ptr = node;
@@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   ralloc_steal(new_ralloc_ctx, node);
@@ -734,7 +740,9 @@ void *
 ralloc_parent_of_linear_parent(void *ptr)
 {
linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
return node->ralloc_parent;
 }
 
-- 
2.14.1

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


[Mesa-dev] [PATCH v2 1/4] intel: use a flag instead of setting PYTHONPATH

2017-09-23 Thread Dylan Baker
Meson doesn't allow setting environment variables for custom targets, so
we either need to not pass this as an environment variable or use a
shell script to wrap the invocation. The chosen solution has the
advantage of working for both autotools and meson.

v2: - put rules back in top scope (Ken)

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/intel/Makefile.compiler.am |  2 +-
 src/intel/compiler/brw_nir_trig_workarounds.py | 33 +++---
 2 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/src/intel/Makefile.compiler.am b/src/intel/Makefile.compiler.am
index 3ab550c96b1..45e7a6ccce8 100644
--- a/src/intel/Makefile.compiler.am
+++ b/src/intel/Makefile.compiler.am
@@ -35,7 +35,7 @@ BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
 compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
  
$(top_srcdir)/src/compiler/nir/nir_algebraic.py
$(MKDIR_GEN)
-   $(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) 
$(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || ($(RM) 
$@; false)
+   $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) 
$(srcdir)/compiler/brw_nir_trig_workarounds.py -p 
$(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false)
 
 EXTRA_DIST += \
compiler/brw_nir_trig_workarounds.py
diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py 
b/src/intel/compiler/brw_nir_trig_workarounds.py
index 6a77d64dbd4..3d08b9a41ea 100644
--- a/src/intel/compiler/brw_nir_trig_workarounds.py
+++ b/src/intel/compiler/brw_nir_trig_workarounds.py
@@ -20,8 +20,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-import nir_algebraic
-
 # Prior to Kaby Lake, The SIN and COS instructions on Intel hardware can
 # produce values slightly outside of the [-1.0, 1.0] range for a small set of
 # values.  Obviously, this can break everyone's expectations about trig
@@ -33,11 +31,30 @@ import nir_algebraic
 # amplitude slightly.  Apparently this also minimizes the error function,
 # reducing the maximum error from 0.6 to about 0.3.
 
-trig_workarounds = [
-   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
-   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
+import argparse
+import sys
+
+TRIG_WORKAROUNDS = [
+(('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
+(('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
 ]
 
-print '#include "brw_nir.h"'
-print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
-  trig_workarounds).render()
+
+def main():
+parser = argparse.ArgumentParser()
+parser.add_argument('-p', '--import-path', required=True)
+args = parser.parse_args()
+sys.path.insert(0, args.import_path)
+run()
+
+
+def run():
+import nir_algebraic  # pylint: disable=import-error
+
+print '#include "brw_nir.h"'
+print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
+  TRIG_WORKAROUNDS).render()
+
+
+if __name__ == '__main__':
+main()
-- 
2.14.1

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


[Mesa-dev] [PATCH v2 3/4] meson: Add build Intel "anv" vulkan driver

2017-09-23 Thread Dylan Baker
This allows building and installing the Intel "anv" Vulkan driver using
meson and ninja, the driver has been tested against the CTS and has
seems to pass the same series of tests (they both segfault when the CTS
tries to run wayland wsi tests).

There are still a mess of TODO, XXX, and FIXME comments in here. Those
are mostly for meson bugs I'm trying to fix, or for additional things to
implement for other drivers/features.

I have configured all intermediate libraries and optional tools to not
build by default, meaning they will only be built if they're pulled in
as a dependency of a target that will actually be installed) this allows
us to avoid massive if chains, while ensuring that only the bits that
need to be built are.

v2: - enable anv, x11, and wayland by default
- add configure option to disable valgrind

Signed-off-by: Dylan Baker 
---
 include/meson.build |  22 ++
 meson.build | 423 
 meson_options.txt   |  30 +++
 src/compiler/glsl/meson.build   |  29 +++
 src/compiler/meson.build|  57 +
 src/compiler/nir/meson.build| 205 
 src/egl/wayland/wayland-drm/meson.build |  21 ++
 src/gtest/meson.build   |  26 ++
 src/intel/blorp/meson.build |  37 +++
 src/intel/common/meson.build|  44 
 src/intel/compiler/meson.build  | 155 
 src/intel/genxml/meson.build|  59 +
 src/intel/isl/meson.build   | 105 
 src/intel/meson.build   |  31 +++
 src/intel/tools/meson.build |  39 +++
 src/intel/vulkan/meson.build| 182 ++
 src/mapi/glapi/gen/meson.build  |  19 ++
 src/meson.build |  48 
 src/util/meson.build| 134 ++
 src/util/tests/hash_table/meson.build   |  32 +++
 src/vulkan/meson.build  |  28 +++
 src/vulkan/util/gen_enum_to_str.py  |   4 +-
 src/vulkan/util/meson.build |  47 
 src/vulkan/wsi/meson.build  |  71 ++
 24 files changed, 1846 insertions(+), 2 deletions(-)
 create mode 100644 include/meson.build
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 src/compiler/glsl/meson.build
 create mode 100644 src/compiler/meson.build
 create mode 100644 src/compiler/nir/meson.build
 create mode 100644 src/egl/wayland/wayland-drm/meson.build
 create mode 100644 src/gtest/meson.build
 create mode 100644 src/intel/blorp/meson.build
 create mode 100644 src/intel/common/meson.build
 create mode 100644 src/intel/compiler/meson.build
 create mode 100644 src/intel/genxml/meson.build
 create mode 100644 src/intel/isl/meson.build
 create mode 100644 src/intel/meson.build
 create mode 100644 src/intel/tools/meson.build
 create mode 100644 src/intel/vulkan/meson.build
 create mode 100644 src/mapi/glapi/gen/meson.build
 create mode 100644 src/meson.build
 create mode 100644 src/util/meson.build
 create mode 100644 src/util/tests/hash_table/meson.build
 create mode 100644 src/vulkan/meson.build
 create mode 100644 src/vulkan/util/meson.build
 create mode 100644 src/vulkan/wsi/meson.build

diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 000..93def7e0ec2
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1,22 @@
+# 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_drm_uapi = include_directories('drm-uapi')
+inc_vulkan = include_directories('vulkan')
diff --git a/meson.build b/meson.build
new file mode 100644
index 000..09e53957fe9
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,423 @@
+# Copyright ?? 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software 

[Mesa-dev] [PATCH v2 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-23 Thread Dylan Baker
This builds and installs, but I haven't had a chance to test it yet.

v2: - enable radv by default
- add shader cache support and enforce that it's built for radv

Signed-off-by: Dylan Baker 
---
 meson.build   |  27 -
 meson_options.txt |   4 +-
 src/{ => amd/addrlib}/meson.build |  69 -
 src/{ => amd/common}/meson.build  |  65 
 src/{ => amd}/meson.build |  33 ++
 src/amd/vulkan/meson.build| 124 ++
 src/meson.build   |   2 +-
 7 files changed, 240 insertions(+), 84 deletions(-)
 copy src/{ => amd/addrlib}/meson.build (51%)
 copy src/{ => amd/common}/meson.build (51%)
 copy src/{ => amd}/meson.build (65%)
 create mode 100644 src/amd/vulkan/meson.build

diff --git a/meson.build b/meson.build
index 09e53957fe9..0b3e6f61545 100644
--- a/meson.build
+++ b/meson.build
@@ -71,6 +71,12 @@ if get_option('buildtype').startswith('debug')
   pre_args += '-DDEBUG'
 endif
 
+if get_option('shader-cache')
+  pre_args += '-DENABLE_SHADER_CACHE'
+elif with_amd_vk
+  error('Radv requires shader cache support')
+endif
+
 # Check for GCC style builtins
 foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect', 'ffs',
  'ffsll', 'popcount', 'popcountll', 'unreachable']
@@ -79,7 +85,7 @@ foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 
'expect', 'ffs',
   endif
 endforeach
 
-# check for GCC __attribute__ s
+# check for GCC __attribute__
 foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused',
  'warn_unused_result', 'weak',]
   if cc.compiles('int foo(void) __attribute__((@0@));'.format(a),
@@ -291,6 +297,23 @@ dep_m = cc.find_library('m', required : false)
 # TODO: conditionalize libdrm requirement
 dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
 pre_args += '-DHAVE_LIBDRM'
+dep_libdrm_amdgpu = []
+if with_amd_vk
+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.82')
+endif
+
+dep_llvm = dependency('llvm', version : '>= 3.9.0', required : false)
+if not dep_llvm.found()
+  if with_amd_vk
+error('Radv requires llvm.')
+  endif
+else
+  _llvm_version = dep_llvm.version().split('.')
+  pre_args += [
+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0], _llvm_version[1], 
_llvm_version[2]),
+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_version[2]),
+  ]
+endif
 
 # TODO: make this conditional
 dep_valgrind = dependency('valgrind', required : false)
@@ -304,8 +327,6 @@ endif
 
 # TODO: llvm-prefix and llvm-shared-libs
 
-# TODO: llvm dependency (that's all native now, yay!)
-
 # TODO: unwind (llvm [radeon, gallivm] and gallium)
 
 # TODO: flags for opengl, gles, dri
diff --git a/meson_options.txt b/meson_options.txt
index e52cec31f11..854cba851d7 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,8 +20,10 @@
 
 option('platforms',  type : 'string',  value : 'x11,wayland',
description : 'comma separated list of window systems to support. 
wayland, x11, surfaceless, drm, etc.')
-option('vulkan-drivers', type : 'string',  value : 'intel',
+option('vulkan-drivers', type : 'string',  value : 'intel,amd',
description : 'comma separated list of vulkan drivers to build.')
+option('shader-cache',type : 'boolean', vaule : true,
+   description : 'Build with on-disk shader cache support')
 option('vulkan_icd_dir', type : 'string',  value : '',
description : 'Location relative to prefix to put vulkan icds on 
install. Default: $datadir/vulkan/icd.d')
 option('valgrind',   type : 'boolean', vaule : true,
diff --git a/src/meson.build b/src/amd/addrlib/meson.build
similarity index 51%
copy from src/meson.build
copy to src/amd/addrlib/meson.build
index 4c82eec70f1..a6cad1207b0 100644
--- a/src/meson.build
+++ b/src/amd/addrlib/meson.build
@@ -18,31 +18,46 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-# TODO: libglsl_util
+files_addrlib = files(
+  'addrinterface.cpp',
+  'addrinterface.h',
+  'addrtypes.h',
+  'core/addrcommon.h',
+  'core/addrelemlib.cpp',
+  'core/addrelemlib.h',
+  'core/addrlib.cpp',
+  'core/addrli

Re: [Mesa-dev] [PATCH v2 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-23 Thread Dylan Baker
I have tested this, and as of v2 it actually works. I'll update the commitment 
message.

Dylan

On September 23, 2017 8:39:06 AM PDT, Dylan Baker  wrote:
>This builds and installs, but I haven't had a chance to test it yet.
>
>v2: - enable radv by default
>- add shader cache support and enforce that it's built for radv
>
>Signed-off-by: Dylan Baker 
>---
> meson.build   |  27 -
> meson_options.txt |   4 +-
> src/{ => amd/addrlib}/meson.build |  69 -
> src/{ => amd/common}/meson.build  |  65 
> src/{ => amd}/meson.build |  33 ++
>src/amd/vulkan/meson.build| 124
>++
> src/meson.build   |   2 +-
> 7 files changed, 240 insertions(+), 84 deletions(-)
> copy src/{ => amd/addrlib}/meson.build (51%)
> copy src/{ => amd/common}/meson.build (51%)
> copy src/{ => amd}/meson.build (65%)
> create mode 100644 src/amd/vulkan/meson.build
>
>diff --git a/meson.build b/meson.build
>index 09e53957fe9..0b3e6f61545 100644
>--- a/meson.build
>+++ b/meson.build
>@@ -71,6 +71,12 @@ if get_option('buildtype').startswith('debug')
>   pre_args += '-DDEBUG'
> endif
> 
>+if get_option('shader-cache')
>+  pre_args += '-DENABLE_SHADER_CACHE'
>+elif with_amd_vk
>+  error('Radv requires shader cache support')
>+endif
>+
> # Check for GCC style builtins
>foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect',
>'ffs',
>  'ffsll', 'popcount', 'popcountll', 'unreachable']
>@@ -79,7 +85,7 @@ foreach b : ['bswap32', 'bswap64', 'clz', 'clzll',
>'ctz', 'expect', 'ffs',
>   endif
> endforeach
> 
>-# check for GCC __attribute__ s
>+# check for GCC __attribute__
> foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused',
>  'warn_unused_result', 'weak',]
>   if cc.compiles('int foo(void) __attribute__((@0@));'.format(a),
>@@ -291,6 +297,23 @@ dep_m = cc.find_library('m', required : false)
> # TODO: conditionalize libdrm requirement
> dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
> pre_args += '-DHAVE_LIBDRM'
>+dep_libdrm_amdgpu = []
>+if with_amd_vk
>+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>=
>2.4.82')
>+endif
>+
>+dep_llvm = dependency('llvm', version : '>= 3.9.0', required : false)
>+if not dep_llvm.found()
>+  if with_amd_vk
>+error('Radv requires llvm.')
>+  endif
>+else
>+  _llvm_version = dep_llvm.version().split('.')
>+  pre_args += [
>+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0],
>_llvm_version[1], _llvm_version[2]),
>+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_version[2]),
>+  ]
>+endif
> 
> # TODO: make this conditional
> dep_valgrind = dependency('valgrind', required : false)
>@@ -304,8 +327,6 @@ endif
> 
> # TODO: llvm-prefix and llvm-shared-libs
> 
>-# TODO: llvm dependency (that's all native now, yay!)
>-
> # TODO: unwind (llvm [radeon, gallivm] and gallium)
> 
> # TODO: flags for opengl, gles, dri
>diff --git a/meson_options.txt b/meson_options.txt
>index e52cec31f11..854cba851d7 100644
>--- a/meson_options.txt
>+++ b/meson_options.txt
>@@ -20,8 +20,10 @@
> 
> option('platforms',  type : 'string',  value : 'x11,wayland',
>description : 'comma separated list of window systems to support.
>wayland, x11, surfaceless, drm, etc.')
>-option('vulkan-drivers', type : 'string',  value : 'intel',
>+option('vulkan-drivers', type : 'string',  value : 'intel,amd',
>  description : 'comma separated list of vulkan drivers to build.')
>+option('shader-cache',type : 'boolean', vaule : true,
>+   description : 'Build with on-disk shader cache support')
> option('vulkan_icd_dir', type : 'string',  value : '',
>description : 'Location relative to prefix to put vulkan icds on
>install. Default: $datadir/vulkan/icd.d')
> option('valgrind',   type : 'boolean', vaule : true,
>diff --git a/src/meson.build b/src/amd/addrlib/meson.build
>similarity index 51%
>copy from src/meson.build
>copy

Re: [Mesa-dev] [PATCH v2 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-25 Thread Dylan Baker
Quoting Nicholas Miell (2017-09-23 21:17:48)
> On 09/23/2017 08:39 AM, Dylan Baker wrote:
> > diff --git a/meson_options.txt b/meson_options.txt
> > index e52cec31f11..854cba851d7 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -20,8 +20,10 @@
> >   
> >   option('platforms',  type : 'string',  value : 'x11,wayland',
> >  description : 'comma separated list of window systems to support. 
> > wayland, x11, surfaceless, drm, etc.')
> > -option('vulkan-drivers', type : 'string',  value : 'intel',
> > +option('vulkan-drivers', type : 'string',  value : 'intel,amd',
> >  description : 'comma separated list of vulkan drivers to build.')
> > +option('shader-cache',type : 'boolean', vaule : true,
> 
> "vaule" typo
> 
> > +   description : 'Build with on-disk shader cache support')
> >   option('vulkan_icd_dir', type : 'string',  value : '',
> >  description : 'Location relative to prefix to put vulkan icds on 
> > install. Default: $datadir/vulkan/icd.d')
> >   option('valgrind',   type : 'boolean', vaule : true,
> 
> and again.
> 

You're correct, I've fixed that locally.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-25 Thread Dylan Baker
Hi Bas,

I'll add a local workaround, but really I want to get this fix into meson proper
(I wrote LLVM dependency handling for meson just for mesa). Does LLVM generally
add "svn" to the end of the version if it's build from svn?

Dylan

Quoting Bas Nieuwenhuizen (2017-09-23 21:16:36)
> Hi Dylan,
> 
> Awesome work. I noticed though that when llvm-config gives 6.0.0svn we
> don't strip the svn away when passing to HAVE_LLVM and
> MESA_LLVM_VERSION_PATCH, which results in compile errors.
> 
> - Bas
> 
> On Sun, Sep 24, 2017 at 12:08 AM, Dylan Baker  wrote:
> > I have tested this, and as of v2 it actually works. I'll update the 
> > commitment message.
> >
> > Dylan
> >
> > On September 23, 2017 8:39:06 AM PDT, Dylan Baker  
> > wrote:
> >>This builds and installs, but I haven't had a chance to test it yet.
> >>
> >>v2: - enable radv by default
> >>- add shader cache support and enforce that it's built for radv
> >>
> >>Signed-off-by: Dylan Baker 
> >>---
> >> meson.build   |  27 -
> >> meson_options.txt |   4 +-
> >> src/{ => amd/addrlib}/meson.build |  69 -
> >> src/{ => amd/common}/meson.build  |  65 
> >> src/{ => amd}/meson.build |  33 ++
> >>src/amd/vulkan/meson.build| 124
> >>++
> >> src/meson.build   |   2 +-
> >> 7 files changed, 240 insertions(+), 84 deletions(-)
> >> copy src/{ => amd/addrlib}/meson.build (51%)
> >> copy src/{ => amd/common}/meson.build (51%)
> >> copy src/{ => amd}/meson.build (65%)
> >> create mode 100644 src/amd/vulkan/meson.build
> >>
> >>diff --git a/meson.build b/meson.build
> >>index 09e53957fe9..0b3e6f61545 100644
> >>--- a/meson.build
> >>+++ b/meson.build
> >>@@ -71,6 +71,12 @@ if get_option('buildtype').startswith('debug')
> >>   pre_args += '-DDEBUG'
> >> endif
> >>
> >>+if get_option('shader-cache')
> >>+  pre_args += '-DENABLE_SHADER_CACHE'
> >>+elif with_amd_vk
> >>+  error('Radv requires shader cache support')
> >>+endif
> >>+
> >> # Check for GCC style builtins
> >>foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect',
> >>'ffs',
> >>  'ffsll', 'popcount', 'popcountll', 'unreachable']
> >>@@ -79,7 +85,7 @@ foreach b : ['bswap32', 'bswap64', 'clz', 'clzll',
> >>'ctz', 'expect', 'ffs',
> >>   endif
> >> endforeach
> >>
> >>-# check for GCC __attribute__ s
> >>+# check for GCC __attribute__
> >> foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused',
> >>  'warn_unused_result', 'weak',]
> >>   if cc.compiles('int foo(void) __attribute__((@0@));'.format(a),
> >>@@ -291,6 +297,23 @@ dep_m = cc.find_library('m', required : false)
> >> # TODO: conditionalize libdrm requirement
> >> dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
> >> pre_args += '-DHAVE_LIBDRM'
> >>+dep_libdrm_amdgpu = []
> >>+if with_amd_vk
> >>+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>=
> >>2.4.82')
> >>+endif
> >>+
> >>+dep_llvm = dependency('llvm', version : '>= 3.9.0', required : false)
> >>+if not dep_llvm.found()
> >>+  if with_amd_vk
> >>+error('Radv requires llvm.')
> >>+  endif
> >>+else
> >>+  _llvm_version = dep_llvm.version().split('.')
> >>+  pre_args += [
> >>+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0],
> >>_llvm_version[1], _llvm_version[2]),
> >>+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_version[2]),
> >>+  ]
> >>+endif
> >>
> >> # TODO: make this conditional
> >> dep_valgrind = dependency('valgrind', required : false)
> >>@@ -304,8 +327,6 @@ endif
> >>
> >> # TODO: llvm-prefix and llvm-shared-libs
> >>
> >>-# TODO: llvm dependency (that's all nat

[Mesa-dev] [PATCH v3 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-26 Thread Dylan Baker
This builds and installs, but I haven't had a chance to test it yet.

v2: - enable radv by default
- add shader cache support and enforce that it's built for radv
v3: - Fix typo in meson_options (Nicholas)
- strip trailing 'svn' from llvm version before setting the version
  preprocessor flag (Bas)
- Check for LLVM module requirements

Signed-off-by: Dylan Baker 
---
 meson.build   |  40 +++-
 meson_options.txt |   4 +-
 src/{ => amd/addrlib}/meson.build |  69 -
 src/{ => amd/common}/meson.build  |  65 
 src/{ => amd}/meson.build |  33 ++
 src/amd/vulkan/meson.build| 124 ++
 src/meson.build   |   2 +-
 7 files changed, 253 insertions(+), 84 deletions(-)
 copy src/{ => amd/addrlib}/meson.build (51%)
 copy src/{ => amd/common}/meson.build (51%)
 copy src/{ => amd}/meson.build (65%)
 create mode 100644 src/amd/vulkan/meson.build

diff --git a/meson.build b/meson.build
index 09e53957fe9..b57d800d5d0 100644
--- a/meson.build
+++ b/meson.build
@@ -71,6 +71,12 @@ if get_option('buildtype').startswith('debug')
   pre_args += '-DDEBUG'
 endif
 
+if get_option('shader-cache')
+  pre_args += '-DENABLE_SHADER_CACHE'
+elif with_amd_vk
+  error('Radv requires shader cache support')
+endif
+
 # Check for GCC style builtins
 foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect', 'ffs',
  'ffsll', 'popcount', 'popcountll', 'unreachable']
@@ -79,7 +85,7 @@ foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 
'expect', 'ffs',
   endif
 endforeach
 
-# check for GCC __attribute__ s
+# check for GCC __attribute__
 foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused',
  'warn_unused_result', 'weak',]
   if cc.compiles('int foo(void) __attribute__((@0@));'.format(a),
@@ -291,6 +297,36 @@ dep_m = cc.find_library('m', required : false)
 # TODO: conditionalize libdrm requirement
 dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
 pre_args += '-DHAVE_LIBDRM'
+dep_libdrm_amdgpu = []
+if with_amd_vk
+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.82')
+endif
+
+llvm_modules = []
+if with_amd_vk
+  llvm_modules += ['amdgpu', 'bitreader', 'ipo']
+endif
+dep_llvm = dependency(
+  'llvm', version : '>= 3.9.0', required : false,
+  modules : ['bitwriter', 'engine', 'mcdisassembler', 'mcjit', llvm_modules],
+)
+if not dep_llvm.found()
+  if with_amd_vk
+error('Radv requires llvm.')
+  endif
+else
+  _llvm_version = dep_llvm.version().split('.')
+  # Development versions of LLVM have an 'svn' suffix, we don't want that for
+  # our version checks.
+  _llvm_patch = _llvm_version[2]
+  if _llvm_patch.endswith('svn')
+_llvm_patch = _llvm_patch.split('s')[0]
+  endif
+  pre_args += [
+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0], _llvm_version[1], 
_llvm_patch),
+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_patch),
+  ]
+endif
 
 # TODO: make this conditional
 dep_valgrind = dependency('valgrind', required : false)
@@ -304,8 +340,6 @@ endif
 
 # TODO: llvm-prefix and llvm-shared-libs
 
-# TODO: llvm dependency (that's all native now, yay!)
-
 # TODO: unwind (llvm [radeon, gallivm] and gallium)
 
 # TODO: flags for opengl, gles, dri
diff --git a/meson_options.txt b/meson_options.txt
index 0e0d04a0f8f..082ade7f480 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,8 +20,10 @@
 
 option('platforms',  type : 'string',  value : 'x11,wayland',
description : 'comma separated list of window systems to support. 
wayland, x11, surfaceless, drm, etc.')
-option('vulkan-drivers', type : 'string',  value : 'intel',
+option('vulkan-drivers', type : 'string',  value : 'intel,amd',
description : 'comma separated list of vulkan drivers to build.')
+option('shader-cache',type : 'boolean', value : true,
+   description : 'Build with on-disk shader cache support')
 option('vulkan_icd_dir', type : 'string',  value : '',
description : 'Location relative to prefix to put vulkan icds on 
install. Default: $datadir/vulkan/icd.d')
 option('valgrind',   type : 'boo

[Mesa-dev] [PATCH v3 1/4] intel: use a flag instead of setting PYTHONPATH

2017-09-26 Thread Dylan Baker
Meson doesn't allow setting environment variables for custom targets, so
we either need to not pass this as an environment variable or use a
shell script to wrap the invocation. The chosen solution has the
advantage of working for both autotools and meson.

v2: - put rules back in top scope (Ken)

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/intel/Makefile.compiler.am |  2 +-
 src/intel/compiler/brw_nir_trig_workarounds.py | 33 +++---
 2 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/src/intel/Makefile.compiler.am b/src/intel/Makefile.compiler.am
index 3ab550c96b1..45e7a6ccce8 100644
--- a/src/intel/Makefile.compiler.am
+++ b/src/intel/Makefile.compiler.am
@@ -35,7 +35,7 @@ BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
 compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
  
$(top_srcdir)/src/compiler/nir/nir_algebraic.py
$(MKDIR_GEN)
-   $(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) 
$(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || ($(RM) 
$@; false)
+   $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) 
$(srcdir)/compiler/brw_nir_trig_workarounds.py -p 
$(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false)
 
 EXTRA_DIST += \
compiler/brw_nir_trig_workarounds.py
diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py 
b/src/intel/compiler/brw_nir_trig_workarounds.py
index 6a77d64dbd4..3d08b9a41ea 100644
--- a/src/intel/compiler/brw_nir_trig_workarounds.py
+++ b/src/intel/compiler/brw_nir_trig_workarounds.py
@@ -20,8 +20,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-import nir_algebraic
-
 # Prior to Kaby Lake, The SIN and COS instructions on Intel hardware can
 # produce values slightly outside of the [-1.0, 1.0] range for a small set of
 # values.  Obviously, this can break everyone's expectations about trig
@@ -33,11 +31,30 @@ import nir_algebraic
 # amplitude slightly.  Apparently this also minimizes the error function,
 # reducing the maximum error from 0.6 to about 0.3.
 
-trig_workarounds = [
-   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
-   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
+import argparse
+import sys
+
+TRIG_WORKAROUNDS = [
+(('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
+(('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
 ]
 
-print '#include "brw_nir.h"'
-print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
-  trig_workarounds).render()
+
+def main():
+parser = argparse.ArgumentParser()
+parser.add_argument('-p', '--import-path', required=True)
+args = parser.parse_args()
+sys.path.insert(0, args.import_path)
+run()
+
+
+def run():
+import nir_algebraic  # pylint: disable=import-error
+
+print '#include "brw_nir.h"'
+print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
+  TRIG_WORKAROUNDS).render()
+
+
+if __name__ == '__main__':
+main()
-- 
2.14.1

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


[Mesa-dev] [PATCH v3 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-26 Thread Dylan Baker
It is possible to have DEBUG disabled but asserts on (NDEBUG(, which
cannot build because these asserts work on members that are only present
when DEBUG is on.

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/util/ralloc.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/util/ralloc.c b/src/util/ralloc.c
index 566f08ad94e..9cce9e02f68 100644
--- a/src/util/ralloc.c
+++ b/src/util/ralloc.c
@@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
linear_size_chunk *ptr;
unsigned full_size;
 
+#ifdef DEBUG
assert(first->magic == LMAGIC);
+#endif
assert(!latest->next);
 
size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
@@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   void *ptr = node;
@@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   ralloc_steal(new_ralloc_ctx, node);
@@ -734,7 +740,9 @@ void *
 ralloc_parent_of_linear_parent(void *ptr)
 {
linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
return node->ralloc_parent;
 }
 
-- 
2.14.1

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


[Mesa-dev] [PATCH v3 3/4] meson: Add build Intel "anv" vulkan driver

2017-09-26 Thread Dylan Baker
This allows building and installing the Intel "anv" Vulkan driver using
meson and ninja, the driver has been tested against the CTS and has
seems to pass the same series of tests (they both segfault when the CTS
tries to run wayland wsi tests).

There are still a mess of TODO, XXX, and FIXME comments in here. Those
are mostly for meson bugs I'm trying to fix, or for additional things to
implement for other drivers/features.

I have configured all intermediate libraries and optional tools to not
build by default, meaning they will only be built if they're pulled in
as a dependency of a target that will actually be installed) this allows
us to avoid massive if chains, while ensuring that only the bits that
need to be built are.

v2: - enable anv, x11, and wayland by default
- add configure option to disable valgrind
v3: - fix typo in meson_options (Nicholas)

Signed-off-by: Dylan Baker 
---
 include/meson.build |  22 ++
 meson.build | 423 
 meson_options.txt   |  30 +++
 src/compiler/glsl/meson.build   |  29 +++
 src/compiler/meson.build|  57 +
 src/compiler/nir/meson.build| 205 
 src/egl/wayland/wayland-drm/meson.build |  21 ++
 src/gtest/meson.build   |  26 ++
 src/intel/blorp/meson.build |  37 +++
 src/intel/common/meson.build|  44 
 src/intel/compiler/meson.build  | 155 
 src/intel/genxml/meson.build|  59 +
 src/intel/isl/meson.build   | 105 
 src/intel/meson.build   |  31 +++
 src/intel/tools/meson.build |  39 +++
 src/intel/vulkan/meson.build| 182 ++
 src/mapi/glapi/gen/meson.build  |  19 ++
 src/meson.build |  48 
 src/util/meson.build| 134 ++
 src/util/tests/hash_table/meson.build   |  32 +++
 src/vulkan/meson.build  |  28 +++
 src/vulkan/util/gen_enum_to_str.py  |   4 +-
 src/vulkan/util/meson.build |  47 
 src/vulkan/wsi/meson.build  |  71 ++
 24 files changed, 1846 insertions(+), 2 deletions(-)
 create mode 100644 include/meson.build
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 src/compiler/glsl/meson.build
 create mode 100644 src/compiler/meson.build
 create mode 100644 src/compiler/nir/meson.build
 create mode 100644 src/egl/wayland/wayland-drm/meson.build
 create mode 100644 src/gtest/meson.build
 create mode 100644 src/intel/blorp/meson.build
 create mode 100644 src/intel/common/meson.build
 create mode 100644 src/intel/compiler/meson.build
 create mode 100644 src/intel/genxml/meson.build
 create mode 100644 src/intel/isl/meson.build
 create mode 100644 src/intel/meson.build
 create mode 100644 src/intel/tools/meson.build
 create mode 100644 src/intel/vulkan/meson.build
 create mode 100644 src/mapi/glapi/gen/meson.build
 create mode 100644 src/meson.build
 create mode 100644 src/util/meson.build
 create mode 100644 src/util/tests/hash_table/meson.build
 create mode 100644 src/vulkan/meson.build
 create mode 100644 src/vulkan/util/meson.build
 create mode 100644 src/vulkan/wsi/meson.build

diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 000..93def7e0ec2
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1,22 @@
+# 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_drm_uapi = include_directories('drm-uapi')
+inc_vulkan = include_directories('vulkan')
diff --git a/meson.build b/meson.build
new file mode 100644
index 000..09e53957fe9
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,423 @@
+# Copyright ?? 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to an

Re: [Mesa-dev] [PATCH v3 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-26 Thread Dylan Baker
Quoting Nirbheek Chauhan (2017-09-26 12:29:30)
> On Tue, Sep 26, 2017 at 9:46 PM, Dylan Baker  wrote:
> > This builds and installs, but I haven't had a chance to test it yet.
> >
> > v2: - enable radv by default
> > - add shader cache support and enforce that it's built for radv
> > v3: - Fix typo in meson_options (Nicholas)
> > - strip trailing 'svn' from llvm version before setting the version
> >   preprocessor flag (Bas)
> 
> Should this also be added to the LLVMDependency meson class?

I was looking at that. I'm not sure since I think that 6.0.0svn *should* <
6.0.0, but meson just throws the svn away when it does the comparison.


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v3 3/4] meson: Add build Intel "anv" vulkan driver

2017-09-26 Thread Dylan Baker
Quoting Eric Anholt (2017-09-26 11:46:50)
> Dylan Baker  writes:
> 
> > This allows building and installing the Intel "anv" Vulkan driver using
> > meson and ninja, the driver has been tested against the CTS and has
> > seems to pass the same series of tests (they both segfault when the CTS
> > tries to run wayland wsi tests).
> >
> > There are still a mess of TODO, XXX, and FIXME comments in here. Those
> > are mostly for meson bugs I'm trying to fix, or for additional things to
> > implement for other drivers/features.
> >
> > I have configured all intermediate libraries and optional tools to not
> > build by default, meaning they will only be built if they're pulled in
> > as a dependency of a target that will actually be installed) this allows
> > us to avoid massive if chains, while ensuring that only the bits that
> > need to be built are.
> 
> I am really looking forward to converting my vc5-vulkan work over to the
> meson build.  Given the rate I have to rebase that branch, it would be
> worth my time to convert over it in the next day of actual code
> development I get to do.
> 
> So, I'll offer a few bits of feedback on meson usage, after which you
> can have my
> 
> Reviewed-by: Eric Anholt 
> 
> so that we can start working in the tree together.
> 
> > diff --git a/meson.build b/meson.build
> > new file mode 100644
> > index 000..09e53957fe9
> > --- /dev/null
> > +++ b/meson.build
> > @@ -0,0 +1,423 @@
> > +# 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.
> > +
> > +project('mesa', ['c', 'cpp'], version : '17.3.0-devel', license : 'MIT',
> > +default_options : ['c_std=c99'])
> > +
> > +with_dri3 = true  # XXX: need a switch for this
> > +with_vulkan_icd_dir = get_option('vulkan_icd_dir')
> > +with_tests = get_option('build-tests')
> > +with_valgrind = get_option('valgrind')
> > +
> > +# TODO: there are more platforms required for non-vulkan drivers
> > +with_platform_wayland = false
> > +with_platform_x11 = false
> > +_platforms = get_option('platforms')
> > +if _platforms != ''
> > +  _split = _platforms.split(',')
> > +  with_platform_x11 = _split.contains('x11')
> > +  with_platform_wayland = _split.contains('wayland')
> > +endif
> > +
> > +if with_vulkan_icd_dir == ''
> > +  with_vulkan_icd_dir = join_paths(get_option('datadir'), 'vulkan/icd.d')
> > +endif
> > +
> > +with_intel_vk = false
> > +with_amd_vk = false
> > +_vulkan_drivers = get_option('vulkan-drivers')
> > +if _vulkan_drivers != ''
> > +  _split = _vulkan_drivers.split(',')
> > +  with_intel_vk = _split.contains('intel')
> > +  with_amd_vk = _split.contains('amd')
> > +  if not (with_platform_x11 or with_platform_wayland)
> > +error('Vulkan requires at least one platform (x11, wayland)')
> > +  endif
> > +endif
> > +
> > +prog_python2 = find_program('python2')
> > +
> > +cc = meson.get_compiler('c')
> > +if cc.get_id() == 'gcc' and cc.version().version_compare('< 4.4.6')
> > +  e

Re: [Mesa-dev] [PATCH v3 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-26 Thread Dylan Baker
Quoting Nirbheek Chauhan (2017-09-26 12:58:12)
> On Wed, Sep 27, 2017 at 1:11 AM, Dylan Baker  wrote:
> > Quoting Nirbheek Chauhan (2017-09-26 12:29:30)
> >> On Tue, Sep 26, 2017 at 9:46 PM, Dylan Baker  wrote:
> >> > This builds and installs, but I haven't had a chance to test it yet.
> >> >
> >> > v2: - enable radv by default
> >> > - add shader cache support and enforce that it's built for radv
> >> > v3: - Fix typo in meson_options (Nicholas)
> >> > - strip trailing 'svn' from llvm version before setting the version
> >> >   preprocessor flag (Bas)
> >>
> >> Should this also be added to the LLVMDependency meson class?
> >
> > I was looking at that. I'm not sure since I think that 6.0.0svn *should* <
> > 6.0.0, but meson just throws the svn away when it does the comparison.
> 
> That's version_compare(), which should perhaps follow rpm's version
> comparison algorithm[1], since that is also what pkg-config and many
> other package managers use, but in practice almost all libraries use
> semantic versioning (which is what it implements right now).
> 
> For the LLVMDependency class, as a start I think we could strip the
> 'svn' from the version since most things aren't really ready for alpha
> to be present in version numbers. It's up to you though, since you
> wrote the class and are more familiar with llvm itself.
> 
> 1. http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/

I actually knew almost nothing about LLVM before I wrote the dependency handler,
but I think you're right, if nothing else in meson handles pre-releases llvm
shouldn't either. I have some other LLVMDependency cleanups I was working on, so
I'll add this to it.


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH v4 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-26 Thread Dylan Baker
It is possible to have DEBUG disabled but asserts on (NDEBUG(, which
cannot build because these asserts work on members that are only present
when DEBUG is on.

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/util/ralloc.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/util/ralloc.c b/src/util/ralloc.c
index 566f08ad94e..9cce9e02f68 100644
--- a/src/util/ralloc.c
+++ b/src/util/ralloc.c
@@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
linear_size_chunk *ptr;
unsigned full_size;
 
+#ifdef DEBUG
assert(first->magic == LMAGIC);
+#endif
assert(!latest->next);
 
size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
@@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   void *ptr = node;
@@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void *ptr)
   return;
 
node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
 
while (node) {
   ralloc_steal(new_ralloc_ctx, node);
@@ -734,7 +740,9 @@ void *
 ralloc_parent_of_linear_parent(void *ptr)
 {
linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
+#ifdef DEBUG
assert(node->magic == LMAGIC);
+#endif
return node->ralloc_parent;
 }
 
-- 
2.14.1

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


[Mesa-dev] [PATCH v4 1/4] intel: use a flag instead of setting PYTHONPATH

2017-09-26 Thread Dylan Baker
Meson doesn't allow setting environment variables for custom targets, so
we either need to not pass this as an environment variable or use a
shell script to wrap the invocation. The chosen solution has the
advantage of working for both autotools and meson.

v2: - put rules back in top scope (Ken)

Reviewed-by: Kenneth Graunke 
Signed-off-by: Dylan Baker 
---
 src/intel/Makefile.compiler.am |  2 +-
 src/intel/compiler/brw_nir_trig_workarounds.py | 33 +++---
 2 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/src/intel/Makefile.compiler.am b/src/intel/Makefile.compiler.am
index 3ab550c96b1..45e7a6ccce8 100644
--- a/src/intel/Makefile.compiler.am
+++ b/src/intel/Makefile.compiler.am
@@ -35,7 +35,7 @@ BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
 compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
  
$(top_srcdir)/src/compiler/nir/nir_algebraic.py
$(MKDIR_GEN)
-   $(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) 
$(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || ($(RM) 
$@; false)
+   $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) 
$(srcdir)/compiler/brw_nir_trig_workarounds.py -p 
$(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false)
 
 EXTRA_DIST += \
compiler/brw_nir_trig_workarounds.py
diff --git a/src/intel/compiler/brw_nir_trig_workarounds.py 
b/src/intel/compiler/brw_nir_trig_workarounds.py
index 6a77d64dbd4..3d08b9a41ea 100644
--- a/src/intel/compiler/brw_nir_trig_workarounds.py
+++ b/src/intel/compiler/brw_nir_trig_workarounds.py
@@ -20,8 +20,6 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-import nir_algebraic
-
 # Prior to Kaby Lake, The SIN and COS instructions on Intel hardware can
 # produce values slightly outside of the [-1.0, 1.0] range for a small set of
 # values.  Obviously, this can break everyone's expectations about trig
@@ -33,11 +31,30 @@ import nir_algebraic
 # amplitude slightly.  Apparently this also minimizes the error function,
 # reducing the maximum error from 0.6 to about 0.3.
 
-trig_workarounds = [
-   (('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
-   (('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
+import argparse
+import sys
+
+TRIG_WORKAROUNDS = [
+(('fsin', 'x'), ('fmul', ('fsin', 'x'), 0.7)),
+(('fcos', 'x'), ('fmul', ('fcos', 'x'), 0.7)),
 ]
 
-print '#include "brw_nir.h"'
-print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
-  trig_workarounds).render()
+
+def main():
+parser = argparse.ArgumentParser()
+parser.add_argument('-p', '--import-path', required=True)
+args = parser.parse_args()
+sys.path.insert(0, args.import_path)
+run()
+
+
+def run():
+import nir_algebraic  # pylint: disable=import-error
+
+print '#include "brw_nir.h"'
+print nir_algebraic.AlgebraicPass("brw_nir_apply_trig_workarounds",
+  TRIG_WORKAROUNDS).render()
+
+
+if __name__ == '__main__':
+main()
-- 
2.14.1

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


[Mesa-dev] [PATCH v4 4/4] meson: build "radv" vulkan driver for radeon hardware

2017-09-26 Thread Dylan Baker
This builds, installs, and has been tested on a r290x (Hawaii) with the Vulkan
CTS. It dies horribly in a fire at the same point for the meson build as the
autotools build.

v2: - enable radv by default
- add shader cache support and enforce that it's built for radv
v3: - Fix typo in meson_options (Nicholas)
- strip trailing 'svn' from llvm version before setting the version
  preprocessor flag (Bas)
- Check for LLVM module requirements

Signed-off-by: Dylan Baker 
---
 meson.build   |  39 +++-
 meson_options.txt |   4 +-
 src/{ => amd/addrlib}/meson.build |  69 -
 src/{ => amd/common}/meson.build  |  65 
 src/{ => amd}/meson.build |  33 ++
 src/amd/vulkan/meson.build| 124 ++
 src/meson.build   |   2 +-
 7 files changed, 252 insertions(+), 84 deletions(-)
 copy src/{ => amd/addrlib}/meson.build (51%)
 copy src/{ => amd/common}/meson.build (51%)
 copy src/{ => amd}/meson.build (65%)
 create mode 100644 src/amd/vulkan/meson.build

diff --git a/meson.build b/meson.build
index 0f5198bac72..5353a417484 100644
--- a/meson.build
+++ b/meson.build
@@ -71,6 +71,12 @@ if get_option('buildtype').startswith('debug')
   pre_args += '-DDEBUG'
 endif
 
+if get_option('shader-cache')
+  pre_args += '-DENABLE_SHADER_CACHE'
+elif with_amd_vk
+  error('Radv requires shader cache support')
+endif
+
 # Check for GCC style builtins
 foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect', 'ffs',
  'ffsll', 'popcount', 'popcountll', 'unreachable']
@@ -79,7 +85,7 @@ foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 
'expect', 'ffs',
   endif
 endforeach
 
-# check for GCC __attribute__ s
+# check for GCC __attribute__
 foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused',
  'warn_unused_result', 'weak',]
   if cc.compiles('int foo(void) __attribute__((@0@));'.format(a),
@@ -286,6 +292,35 @@ dep_m = cc.find_library('m', required : false)
 # TODO: conditionalize libdrm requirement
 dep_libdrm = dependency('libdrm', version : '>= 2.4.75')
 pre_args += '-DHAVE_LIBDRM'
+dep_libdrm_amdgpu = []
+if with_amd_vk
+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.82')
+endif
+
+llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit']
+if with_amd_vk
+  llvm_modules += ['amdgpu', 'bitreader', 'ipo']
+endif
+dep_llvm = dependency(
+  'llvm', version : '>= 3.9.0', required : false, modules : llvm_modules,
+)
+if not dep_llvm.found()
+  if with_amd_vk
+error('Radv requires llvm.')
+  endif
+else
+  _llvm_version = dep_llvm.version().split('.')
+  # Development versions of LLVM have an 'svn' suffix, we don't want that for
+  # our version checks.
+  _llvm_patch = _llvm_version[2]
+  if _llvm_patch.endswith('svn')
+_llvm_patch = _llvm_patch.split('s')[0]
+  endif
+  pre_args += [
+'-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0], _llvm_version[1], 
_llvm_patch),
+'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_patch),
+  ]
+endif
 
 # TODO: make this conditional
 dep_valgrind = dependency('valgrind', required : false)
@@ -299,8 +334,6 @@ endif
 
 # TODO: llvm-prefix and llvm-shared-libs
 
-# TODO: llvm dependency (that's all native now, yay!)
-
 # TODO: unwind (llvm [radeon, gallivm] and gallium)
 
 # TODO: flags for opengl, gles, dri
diff --git a/meson_options.txt b/meson_options.txt
index 0e0d04a0f8f..082ade7f480 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -20,8 +20,10 @@
 
 option('platforms',  type : 'string',  value : 'x11,wayland',
description : 'comma separated list of window systems to support. 
wayland, x11, surfaceless, drm, etc.')
-option('vulkan-drivers', type : 'string',  value : 'intel',
+option('vulkan-drivers', type : 'string',  value : 'intel,amd',
description : 'comma separated list of vulkan drivers to build.')
+option('shader-cache',type : 'boolean', value : true,
+   description : 'Build with on-disk shader cache support')
 option('vulkan_icd_dir', type : 'string',  value : '',
description : 'Location relative to prefix to put vulkan icds on 
insta

[Mesa-dev] [PATCH v4 3/4] meson: Add build Intel "anv" vulkan driver

2017-09-26 Thread Dylan Baker
This allows building and installing the Intel "anv" Vulkan driver using
meson and ninja, the driver has been tested against the CTS and has
seems to pass the same series of tests (they both segfault when the CTS
tries to run wayland wsi tests).

There are still a mess of TODO, XXX, and FIXME comments in here. Those
are mostly for meson bugs I'm trying to fix, or for additional things to
implement for other drivers/features.

I have configured all intermediate libraries and optional tools to not
build by default, meaning they will only be built if they're pulled in
as a dependency of a target that will actually be installed) this allows
us to avoid massive if chains, while ensuring that only the bits that
need to be built are.

v2: - enable anv, x11, and wayland by default
- add configure option to disable valgrind
v3: - fix typo in meson_options (Nicholas)
v4: - Remove dead code (Eric)
- Remove change to generator that was from v0 (Eric)
- replace if chain with loop (Eric)
- Fix typos (Eric)
- define HAVE_DLOPEN for both libdl and builtin dl cases (Eric)

Signed-off-by: Dylan Baker 
Reviewed-by: Eric Anholt 
---
 include/meson.build |  22 ++
 meson.build | 418 
 meson_options.txt   |  30 +++
 src/compiler/glsl/meson.build   |  29 +++
 src/compiler/meson.build|  57 +
 src/compiler/nir/meson.build| 205 
 src/egl/wayland/wayland-drm/meson.build |  21 ++
 src/gtest/meson.build   |  26 ++
 src/intel/blorp/meson.build |  37 +++
 src/intel/common/meson.build|  44 
 src/intel/compiler/meson.build  | 155 
 src/intel/genxml/meson.build|  59 +
 src/intel/isl/meson.build   | 105 
 src/intel/meson.build   |  31 +++
 src/intel/tools/meson.build |  39 +++
 src/intel/vulkan/meson.build| 182 ++
 src/mapi/glapi/gen/meson.build  |  19 ++
 src/meson.build |  48 
 src/util/meson.build| 134 ++
 src/util/tests/hash_table/meson.build   |  32 +++
 src/vulkan/meson.build  |  28 +++
 src/vulkan/util/meson.build |  41 
 src/vulkan/wsi/meson.build  |  71 ++
 23 files changed, 1833 insertions(+)
 create mode 100644 include/meson.build
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 src/compiler/glsl/meson.build
 create mode 100644 src/compiler/meson.build
 create mode 100644 src/compiler/nir/meson.build
 create mode 100644 src/egl/wayland/wayland-drm/meson.build
 create mode 100644 src/gtest/meson.build
 create mode 100644 src/intel/blorp/meson.build
 create mode 100644 src/intel/common/meson.build
 create mode 100644 src/intel/compiler/meson.build
 create mode 100644 src/intel/genxml/meson.build
 create mode 100644 src/intel/isl/meson.build
 create mode 100644 src/intel/meson.build
 create mode 100644 src/intel/tools/meson.build
 create mode 100644 src/intel/vulkan/meson.build
 create mode 100644 src/mapi/glapi/gen/meson.build
 create mode 100644 src/meson.build
 create mode 100644 src/util/meson.build
 create mode 100644 src/util/tests/hash_table/meson.build
 create mode 100644 src/vulkan/meson.build
 create mode 100644 src/vulkan/util/meson.build
 create mode 100644 src/vulkan/wsi/meson.build

diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 000..93def7e0ec2
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1,22 @@
+# 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_drm_uapi = include_directories('drm-uapi')
+inc_vulkan = include_directories('vulkan')
diff --git a/meson.build b/meson.build
new file mode 100644
in

Re: [Mesa-dev] [PATCH v4 2/4] util/ralloc: Don't define assert with magic member without DEBUG

2017-09-27 Thread Dylan Baker
Quoting Eric Engestrom (2017-09-27 04:10:37)
> On Tuesday, 2017-09-26 23:38:11 +0000, Dylan Baker wrote:
> > It is possible to have DEBUG disabled but asserts on (NDEBUG(, which
> 
> parentheses typo
> 
> other than that:
> Reviewed-by: Eric Engestrom 
> 
> and I think you should've pushed these first two patches instead of
> carrying them in your unrelated meson series :)
> 
> speaking of, I'm happy to write the egl/meson.build; I'll get on that
> when the initial support lands.

I do have most of the classic dri stack building in a branch on top of this
work, I'm working on getting GLX, EGL, etc building at the moment. I'll send
that out as a "WIP" series after this lands so that others can look at it and we
don't all end up duplicating effort.

Dylan

> 
> > cannot build because these asserts work on members that are only present
> > when DEBUG is on.
> > 
> > Reviewed-by: Kenneth Graunke 
> > Signed-off-by: Dylan Baker 
> > ---
> >  src/util/ralloc.c | 8 
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/src/util/ralloc.c b/src/util/ralloc.c
> > index 566f08ad94e..9cce9e02f68 100644
> > --- a/src/util/ralloc.c
> > +++ b/src/util/ralloc.c
> > @@ -630,7 +630,9 @@ linear_alloc_child(void *parent, unsigned size)
> > linear_size_chunk *ptr;
> > unsigned full_size;
> >  
> > +#ifdef DEBUG
> > assert(first->magic == LMAGIC);
> > +#endif
> > assert(!latest->next);
> >  
> > size = ALIGN_POT(size, SUBALLOC_ALIGNMENT);
> > @@ -702,7 +704,9 @@ linear_free_parent(void *ptr)
> >return;
> >  
> > node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> >  
> > while (node) {
> >void *ptr = node;
> > @@ -721,7 +725,9 @@ ralloc_steal_linear_parent(void *new_ralloc_ctx, void 
> > *ptr)
> >return;
> >  
> > node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> >  
> > while (node) {
> >ralloc_steal(new_ralloc_ctx, node);
> > @@ -734,7 +740,9 @@ void *
> >  ralloc_parent_of_linear_parent(void *ptr)
> >  {
> > linear_header *node = LINEAR_PARENT_TO_HEADER(ptr);
> > +#ifdef DEBUG
> > assert(node->magic == LMAGIC);
> > +#endif
> > return node->ralloc_parent;
> >  }
> >  
> > -- 
> > 2.14.1
> > 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] initial meson port

2017-09-27 Thread Dylan Baker
I've gone ahead and pushed the Vulkan drivers meson builds.

For those interested in helping finish the conversion, I have a branch
"wip/meson-4" on my github (github.com/dcbaker/mesa) that has i965 and most of
the core classic mesa stack building. I'm working on GLX, then EGL to start
testing this stack. Getting gallium building is my next step after that (it'll
be RadeonSI because I have hardware).

I'm also working on getting features into upstream meson to make meson more
comfortable for mesa. Currently there are patches landed or pending for the two
workarounds in the meson build we have currently (choosing the right linker and
indexing into CustomTargets). I'm also still thinking about how we can share
source files with the other 3 build systems already in mesa (autotools and
android being the most important, since hopefully our meson will be able to
support windows in the future, I don't know what will happen when android moves
to blueprint/soong). If there is anything else please let me know.

Dylan

Quoting Dylan Baker (2017-09-20 13:27:37)
> Hi everyone,
> 
> A long time ago I made some rumbling about porting mesa to meson (isn't that
> confusing). In the mean time I've been bogged down with other projects,
> including adding features to meson itself, and trying to write and rebase 
> meson
> patches for all of mesa. Unfortunately mesa is a large fast moving project and
> trying to writing meson for the entire thing has proven to simply be
> intractable, I could spend nearly half my day rebasing to current master, and
> that's both demoralizing and error prone.
> 
> So I took Jason's advice and started with what mattered to him ;) Vulkan. This
> was a chunk big enough to be a decent example, but small and contained enough 
> to
> not require lots of rebasing. Intel's "anv" and the AMD "radv" driver share a
> large number of dependencies between each other, and demonstrate writing a 
> meson
> build system.
> 
> You may notice a lot of TODO/FIXME comments here. Some of them are related to
> upstream meson bugs (there are two currently, one that I have a pull request 
> for
> that is probably ready for merge, and one that I'm working on currently), or
> things that need to be implemented for the meson build system to be complete.
> There are a few things that will need to be resolved before implementing mesa
> and gallium drivers (around dependencies that are hard dependencies for 
> Vulkan,
> but soft dependencies for mesa/gallium).
> 
> The meson build system is much faster for building these two drivers than the
> autotools build system, but there are a couple of caveats worth mentioning
> before I give you the numbers. 1: meson doesn't check for as many features,
> flags, or dependencies; 2: meson doesn't build glx, egl, or the glsl compiler,
> just enough of the glsl_compiler to get anv and radv building. The 1st will 
> just
> naturally happen, the second could be fixed.
> 
> Methodology : I ran each build system in as close of a configuration as I 
> could
> (out of tree, same number of jobs) using zsh's time. These were run on a 2 
> core
> 4 thread Intel skylake. Note that ninja by default runs with logical cores + 2
> jobs.
> 
> Commands
> autotools : 'mkdir autotools ; cd autotools ; ../autogen.sh \
> --without-dri-drivers --without-gallium-drivers \
> --with-platforms=x11,wayland --with-vulkan-drivers=intel,radeon \
> && make -j6'
> meson : meson build -Dvulkan-drivers=intel,amd -Dplatforms=x11,wayland && 
> ninja -C build
> 
> Results
> autotools : sh -c   535.34s user 30.33s system 310% cpu 3:02.05 total
> meson : sh -c   136.58s user 11.98s system 372% cpu 39.895 total
> 
> I'm hopeful that we can start landing the meson build system incrementally, so
> that the rebasing pain can be eased. I'm working on getting i965 and radeonSI
> as my next targets (I have access to hardware to test those), and I'll 
> continue
> to add additional drivers from there.
> 
> Dylan
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] meson: remove duplicate libisl dependency in anv

2017-09-27 Thread Dylan Baker
Signed-off-by: Dylan Baker 
CC: Kristian Høgsberg 
---
 src/intel/vulkan/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
index 9f0ee558e8a..a0be95c747c 100644
--- a/src/intel/vulkan/meson.build
+++ b/src/intel/vulkan/meson.build
@@ -144,7 +144,7 @@ libvulkan_intel = shared_library(
   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, libisl, libisl, libblorp,
+  link_with : [libintel_compiler, libintel_common, libisl, libblorp,
libvulkan_util, libvulkan_wsi, libnir, libmesa_util],
   dependencies : [dep_libdrm, dep_thread, dep_dl, dep_m, anv_deps, 
dep_valgrind],
   c_args : [c_vis_args, no_override_init_args, '-msse2', anv_flags],
-- 
2.14.1

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


Re: [Mesa-dev] [PATCH mesa] REVIEWERS: add Meson

2017-09-28 Thread Dylan Baker
I use my personal email for working with mailing lists (for a host of reasons),
so with the email changed to ,

Reviewed-by: Dylan Baker 

I set my signoff's using my Intel address because management feels that that is
sufficient to convey that I'm working on the behalf of Intel and not as an
independent contributor.

Quoting Eric Engestrom (2017-09-28 05:37:02)
> Cc: Dylan Baker 
> Signed-off-by: Eric Engestrom 
> ---
>  REVIEWERS | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/REVIEWERS b/REVIEWERS
> index 0b5d9a4fd31bd652cf02..0d97b29309cc98b9a295 100644
> --- a/REVIEWERS
> +++ b/REVIEWERS
> @@ -103,6 +103,11 @@ F: CleanSpec.mk
>  F: */Android.*mk
>  F: */Makefile.sources
>  
> +MESON BUILD
> +R: Dylan Baker 
> +F: */meson.build
> +F: meson_options.txt
> +
>  ANDROID EGL SUPPORT
>  R: Rob Herring 
>  R: Tomasz Figa 
> -- 
> Cheers,
>   Eric
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] initial meson port

2017-09-28 Thread Dylan Baker
Quoting Tapani Pälli (2017-09-27 23:34:26)
> 
> 
> On 09/27/2017 08:57 PM, Rob Herring wrote:
> > On Wed, Sep 27, 2017 at 12:38 PM, Eric Anholt  wrote:
> >> Dylan Baker  writes:
> >>
> >>> [ Unknown signature status ]
> >>> I've gone ahead and pushed the Vulkan drivers meson builds.
> >>>
> >>> For those interested in helping finish the conversion, I have a branch
> >>> "wip/meson-4" on my github (github.com/dcbaker/mesa) that has i965 and 
> >>> most of
> >>> the core classic mesa stack building. I'm working on GLX, then EGL to 
> >>> start
> >>> testing this stack. Getting gallium building is my next step after that 
> >>> (it'll
> >>> be RadeonSI because I have hardware).
> >>>
> >>> I'm also working on getting features into upstream meson to make meson 
> >>> more
> >>> comfortable for mesa. Currently there are patches landed or pending for 
> >>> the two
> >>> workarounds in the meson build we have currently (choosing the right 
> >>> linker and
> >>> indexing into CustomTargets). I'm also still thinking about how we can 
> >>> share
> >>> source files with the other 3 build systems already in mesa (autotools and
> >>> android being the most important, since hopefully our meson will be able 
> >>> to
> >>> support windows in the future, I don't know what will happen when android 
> >>> moves
> >>> to blueprint/soong). If there is anything else please let me know.
> >>
> >> Talking with ChromeOS folks at XDC, it sounded like having Android.mk be
> >> a small wrapper around another build system is a totally acceptable and
> >> not unusual thing to do.  Rob, does that seem possible/OK to you?  It
> >> seems like that should seriously reduce the android maintenance burden.
> > 
> > I haven't come across any examples doing that, but it seems fine to me
> > if that can work. I'd guess we just need to create a prebuilt target
> > and somehow trigger it to run meson. It could be problematic if
> > anything in mesa is a dependency on another project as there's some
> > expectations about where things are built. But I don't think mesa is a
> > dependency for anything.
> 
> One possible issue is that meson and its dependencies are not part of 
> the supported toolchain for Android, would be surprised if this does not 
> become a problem on some level. As example version of Meson on Ubuntu 
> LTS (which is the tested and supported distro for android building) is 
> 0.29.0 while on Fedora 0.42.0.

That will be a problem, I very much doubt that mesa will build with meson 0.29,
and there are features going it 0.43 that I would like to depend on. Meson only
has 2 hard requirements, python 3.4+ and ninja 1.6+, so it may be possible to
install an updated meson via pip, but I suspect android will run into similar
issues to windows, specifically that it needs a way to pass dependency
locations.

I've been looking at the possibility of generating blueprint from meson, which
could the be checked into a branch, but there are some interface mismatches
between meson and soong/blueprint and they could prove somewhat difficult to
solve (specifically around arch specific files).

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH mesa] REVIEWERS: add Meson

2017-09-28 Thread Dylan Baker
I don't have access to my Intel email except when physically at work, I'd prefer
to use dy...@pnwbakers.com

Otherwise I probably am the guy to look at meson,
Reviewed-by: Dylan Baker 

Quoting Eric Engestrom (2017-09-28 05:37:02)
> Cc: Dylan Baker 
> Signed-off-by: Eric Engestrom 
> ---
>  REVIEWERS | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/REVIEWERS b/REVIEWERS
> index 0b5d9a4fd31bd652cf02..0d97b29309cc98b9a295 100644
> --- a/REVIEWERS
> +++ b/REVIEWERS
> @@ -103,6 +103,11 @@ F: CleanSpec.mk
>  F: */Android.*mk
>  F: */Makefile.sources
>  
> +MESON BUILD
> +R: Dylan Baker 
> +F: */meson.build
> +F: meson_options.txt
> +
>  ANDROID EGL SUPPORT
>  R: Rob Herring 
>  R: Tomasz Figa 
> -- 
> Cheers,
>   Eric
> 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/5] meson: remove duplicate definition

2018-12-04 Thread Dylan Baker
---
 meson.build | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meson.build b/meson.build
index 1aeef95f722..48ba8127f95 100644
--- a/meson.build
+++ b/meson.build
@@ -34,8 +34,6 @@ cpp = meson.get_compiler('cpp')
 
 null_dep = dependency('', required : false)
 
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 
'linux'].contains(host_machine.system())
-
 # Arguments for the preprocessor, put these in a separate array from the C and
 # C++ (cpp in meson terminology) arguments since they need to be added to the
 # default arguments for both C and C++.
-- 
2.19.2

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


[Mesa-dev] [PATCH 5/5] meson: Add toggle for glx-direct

2018-12-04 Thread Dylan Baker
GNU Hurd needs to turn off glx-direct, rather than special case it,
we'll just add a toggle.
---
 meson.build   | 4 +---
 meson_options.txt | 6 ++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/meson.build b/meson.build
index 3f835e2b952..3aacfa04900 100644
--- a/meson.build
+++ b/meson.build
@@ -51,6 +51,7 @@ with_valgrind = get_option('valgrind')
 with_libunwind = get_option('libunwind')
 with_asm = get_option('asm')
 with_glx_read_only_text = get_option('glx-read-only-text')
+with_glx_direct = get_option('glx-direct')
 with_osmesa = get_option('osmesa')
 with_swr_arches = get_option('swr-arches')
 with_tools = get_option('tools')
@@ -365,9 +366,6 @@ if with_glvnd
   endif
 endif
 
-# TODO: toggle for this
-with_glx_direct = true
-
 if with_vulkan_icd_dir == ''
   with_vulkan_icd_dir = join_paths(get_option('datadir'), 'vulkan/icd.d')
 endif
diff --git a/meson_options.txt b/meson_options.txt
index a1d5ab0e185..589d10bb3f3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -318,3 +318,9 @@ option(
   choices : ['auto', 'true', 'false'],
   description : 'Enable VK_EXT_acquire_xlib_display.'
 )
+option(
+  'glx-direct',
+  type : 'boolean',
+  value : true,
+  description : 'Enable direct rendering in GLX and EGL for DRI',
+)
-- 
2.19.2

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


[Mesa-dev] [PATCH 0/5] Fixueps for ppc64 and gnu hurd

2018-12-04 Thread Dylan Baker
This little series is aimed at fixing problems reported by fedora and debian
when using meson, there's a couple of patches in here for fixing ppc64 detection
(tested without llvm), and a couple for gnu hurd (not tested).

Dylan Baker (5):
  meson: remove duplicate definition
  meson: Fix ppc64 little endian detection
  meson: Override C++ standard to gnu++11 when building with altivec on
ppc64le
  meson: Add support for gnu hurd
  meson: Add toggle for glx-direct

 meson.build   | 33 ---
 meson_options.txt |  6 
 src/gallium/state_trackers/clover/meson.build |  3 ++
 3 files changed, 31 insertions(+), 11 deletions(-)

-- 
2.19.2

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


[Mesa-dev] [PATCH 3/5] meson: Override C++ standard to gnu++11 when building with altivec on ppc64le

2018-12-04 Thread Dylan Baker
Otherwise there will be symbol collisions for the vector name.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108943
Fixes: 34bbb24ce7702658cdc4e9d34a650e169716c39e
   ("meson: Add support for ppc assembly/optimizations")
---
 meson.build   | 12 
 src/gallium/state_trackers/clover/meson.build |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/meson.build b/meson.build
index 3d07c88364a..0785609c4b0 100644
--- a/meson.build
+++ b/meson.build
@@ -624,6 +624,7 @@ if with_gallium_st_nine
   endif
 endif
 
+clover_cpp_std = []
 if get_option('power8') != 'false'
   # on old versions of meson the cpu family would return as ppc64le on little
   # endian power8, this was changed in 0.48 such that the family would always
@@ -631,6 +632,7 @@ if get_option('power8') != 'false'
   # should be checked. Since we support versions < 0.48 we need to use
   # startswith.
   if host_machine.cpu_family().startswith('ppc64') and host_machine.endian() 
== 'little'
+_test_args = []
 if cc.get_id() == 'gcc' and cc.version().version_compare('< 4.8')
   error('Altivec is not supported with gcc version < 4.8.')
 endif
@@ -645,9 +647,19 @@ if get_option('power8') != 'false'
 args : '-mpower8-vector',
 name : 'POWER8 intrinsics')
   pre_args += ['-D_ARCH_PWR8', '-mpower8-vector']
+  _test_args += ['-D_ARCH_PWR8', '-mpower8-vector']
 elif get_option('power8') == 'true'
   error('POWER8 intrinsic support required but not found.')
 endif
+
+if cpp.compiles('''
+#if !defined(__VEC__) || !defined(__ALTIVEC__)
+#error "AltiVec not enabled"
+#endif''',
+args : _test_args,
+name : 'Altivec')
+  clover_cpp_std += ['cpp_std=gnu++11']
+endif
   endif
 endif
 
diff --git a/src/gallium/state_trackers/clover/meson.build 
b/src/gallium/state_trackers/clover/meson.build
index 1a09d8f2ca9..a6729af2fb8 100644
--- a/src/gallium/state_trackers/clover/meson.build
+++ b/src/gallium/state_trackers/clover/meson.build
@@ -30,6 +30,7 @@ libcltgsi = static_library(
   files('tgsi/compiler.cpp', 'tgsi/invocation.hpp'),
   include_directories : clover_incs,
   cpp_args : [cpp_vis_args],
+  override_options : clover_cpp_std,
 )
 
 libclllvm = static_library(
@@ -56,6 +57,7 @@ libclllvm = static_library(
 )),
   ],
   dependencies : [dep_llvm, dep_elf],
+  override_options : clover_cpp_std,
 )
 
 clover_files = files(
@@ -119,4 +121,5 @@ libclover = static_library(
   include_directories : clover_incs,
   cpp_args : [clover_cpp_args, cpp_vis_args],
   link_with : [libcltgsi, libclllvm],
+  override_options : clover_cpp_std,
 )
-- 
2.19.2

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


[Mesa-dev] [PATCH 2/5] meson: Fix ppc64 little endian detection

2018-12-04 Thread Dylan Baker
Old versions of meson returned ppc64le as the cpu_family for little
endian power8 cpus, versions >=0.48 don't do this, so the check wouldn't
work in that case. This generalizes the check to work for both old and
new versions of meson.

Fixes: 34bbb24ce7702658cdc4e9d34a650e169716c39e
   ("meson: Add support for ppc assembly/optimizations")
---
 meson.build | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index 48ba8127f95..3d07c88364a 100644
--- a/meson.build
+++ b/meson.build
@@ -625,7 +625,12 @@ if with_gallium_st_nine
 endif
 
 if get_option('power8') != 'false'
-  if host_machine.cpu_family() == 'ppc64le'
+  # on old versions of meson the cpu family would return as ppc64le on little
+  # endian power8, this was changed in 0.48 such that the family would always
+  # be ppc64 regardless of endianness, and the the machine.endian() value
+  # should be checked. Since we support versions < 0.48 we need to use
+  # startswith.
+  if host_machine.cpu_family().startswith('ppc64') and host_machine.endian() 
== 'little'
 if cc.get_id() == 'gcc' and cc.version().version_compare('< 4.8')
   error('Altivec is not supported with gcc version < 4.8.')
 endif
@@ -966,7 +971,7 @@ if with_asm
   with_asm_arch = 'sparc'
   pre_args += ['-DUSE_SPARC_ASM']
 endif
-  elif host_machine.cpu_family() == 'ppc64le'
+  elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() 
== 'little'
 if system_has_kms_drm
   with_asm_arch = 'ppc64le'
   pre_args += ['-DUSE_PPC64LE_ASM']
-- 
2.19.2

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


[Mesa-dev] [PATCH 4/5] meson: Add support for gnu hurd

2018-12-04 Thread Dylan Baker
---
 meson.build | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index 0785609c4b0..3f835e2b952 100644
--- a/meson.build
+++ b/meson.build
@@ -220,8 +220,6 @@ elif system_has_kms_drm
 else
   # FIXME: haiku doesn't use dri, and xlib doesn't use dri, probably should
   # assert here that one of those cases has been met.
-  # FIXME: GNU (hurd) ends up here as well, but meson doesn't officially
-  # support Hurd at time of writing (2017/11)
   # FIXME: illumos ends up here as well
   with_dri_platform = 'none'
 endif
@@ -795,7 +793,7 @@ if cc.compiles('int foo(void) 
__attribute__((__noreturn__));',
 endif
 
 # TODO: this is very incomplete
-if ['linux', 'cygwin'].contains(host_machine.system())
+if ['linux', 'cygwin', 'gnu'].contains(host_machine.system())
   pre_args += '-D_GNU_SOURCE'
 endif
 
@@ -954,7 +952,7 @@ endif
 with_asm_arch = ''
 if with_asm
   if host_machine.cpu_family() == 'x86'
-if system_has_kms_drm
+if system_has_kms_drm or host_machine.system() == 'gnu'
   with_asm_arch = 'x86'
   pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
'-DUSE_SSE_ASM']
-- 
2.19.2

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


Re: [Mesa-dev] [PATCH] build: remove autotools

2018-12-04 Thread Dylan Baker
Quoting Marek Olšák (2018-12-04 12:21:58)
> There is still the issue that DEBUG is not defined in debug builds if I set
> CFLAGS and CXXFLAGS.
> 
> Marek

What does you command line look like, and what version of meson do you have?

I can do:
$ CFLAGS=-Dfoobar CXXFLAGS=-Dfoobar meson build -Dbuildtype=debug
$ grep 'DDEBUG' build/build.ninja

and I see 2055 definitions of -DDEBUG

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2] build: remove autotools

2018-12-04 Thread Dylan Baker
Quoting Eric Engestrom (2018-12-04 09:36:53)
> On Tuesday, 2018-12-04 09:16:18 -0800, Dylan Baker wrote:
> > There are now no known distributions using autotools, meson has all of
> > the features that autotools does. We don't need two build systems to do
> > exactly the same thing, meson is faster, easier to maintain, and used by
> > more devs than autotools. Let's reduce the ongoing burden of maintaining
> > autotools.
> > 
> > This removes the following:
> >  - configure.ac
> >  - autogen.sh
> >  - Makefile.*.am
> >  - Makefile.am
> >  - Makefile.sources (which are used only by autotools)
> >  - travis jobs for autotools
> >  - docs for autotools
> >  - .gitignore
> > 
> > v2: - remove stray no-op change in .travis.yml
> > ---
> [snip]
> > diff --git a/.travis.yml b/.travis.yml
> > index 6b50d49e143..66be44ffc21 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -74,240 +74,13 @@ matrix:
> >  - python3.5
> >  - python3-pip
> >  - env:
> > -- LABEL="make loaders/classic DRI"
> > -- BUILD=make
> > -- MAKEFLAGS="-j4"
> > -- MAKE_CHECK_COMMAND="make check"
> > -- DRI_LOADERS="--enable-glx --enable-gbm --enable-egl 
> > --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
> > -- DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
> > -- GALLIUM_ST="--enable-dri --disable-opencl --disable-xa 
> > --disable-nine --disable-xvmc --disable-vdpau --disable-va 
> > --disable-omx-bellagio --disable-gallium-osmesa"
> > -- GALLIUM_DRIVERS=""
> > -- VULKAN_DRIVERS=""
> > -- LIBUNWIND_FLAGS="--disable-libunwind"
> > -  addons:
> > -apt:
> > -  packages:
> > -- xz-utils
> > -- x11proto-xf86vidmode-dev
> > -- libexpat1-dev
> > -- libx11-xcb-dev
> > -- libxdamage-dev
> > -- libxfixes-dev
> > -- python3-pip
> > -- env:
> > -# NOTE: Building SWR is 2x (yes two) times slower than all the 
> > other
> > -# gallium drivers combined.
> > -# Start this early so that it doesn't hunder the run time.
> > -- LABEL="make Gallium Drivers SWR"
> > -- BUILD=make
> > -- MAKEFLAGS="-j4"
> > -- MAKE_CHECK_COMMAND="true"
> > -- LLVM_VERSION=6.0
> > -- LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > -- DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> > -- DRI_DRIVERS=""
> > -- GALLIUM_ST="--enable-dri --disable-opencl --disable-xa 
> > --disable-nine --disable-xvmc --disable-vdpau --disable-va 
> > --disable-omx-bellagio --disable-gallium-osmesa"
> > -- GALLIUM_DRIVERS="swr"
> > -- VULKAN_DRIVERS=""
> > -- LIBUNWIND_FLAGS="--enable-libunwind"
> > -  addons:
> > -apt:
> > -  sources:
> > -- llvm-toolchain-trusty-6.0
> > -# llvm-6 requires libstdc++4.9 which is not in main repo
> > -- ubuntu-toolchain-r-test
> > -  packages:
> > -# From sources above
> > -- llvm-6.0-dev
> > -# Common
> > -- xz-utils
> > -- libexpat1-dev
> > -- libx11-xcb-dev
> > -- libelf-dev
> > -- libunwind8-dev
> > -- python3-pip
> > -- env:
> > -- LABEL="make Gallium Drivers RadeonSI"
> > -- BUILD=make
> > -- MAKEFLAGS="-j4"
> > -- MAKE_CHECK_COMMAND="true"
> > -- LLVM_VERSION=6.0
> > -- LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> > -- DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> > -- DRI_DRIVERS=""
> > -- GALLIUM_ST="--enable-dri --disable-opencl --disable-xa 
> > --disable-nine --disable-xvmc --disable-vdpau --disable-va 
> > --disable-omx-bellagio --disable-gallium-osmesa"
> > -- GALLIUM_DRIVERS="radeonsi"
> > -- VULKAN_DRIVERS=""
> > -- LIBUNWIND_FLAGS="--enable-libunwind"
> > -  addons:
> > -apt:
> > -   

Re: [Mesa-dev] [PATCH v2] build: remove autotools

2018-12-04 Thread Dylan Baker
Quoting Marek Olšák (2018-12-04 14:52:19)
> CFLAGS="-fno-omit-frame-pointer" \
> CXXFLAGS="-fno-omit-frame-pointer" \
> LDFLAGS="-fuse-ld=gold" \
>     meson $reconfigure build \
>     --prefix /usr --libdir /usr/lib/$archdir --buildtype debugoptimized
> --native-file $llvm_config \
>     -Dgallium-va=false -Dgallium-xvmc=false -Dgallium-omx=disabled 
> -Dgallium-xa
> =false \
>     -Dplatforms=x11,drm,surfaceless -Dgallium-drivers=radeonsi,r300,r600 \
>     -Ddri-drivers= -Dvulkan-drivers=amd \
>     -Dlibunwind=true
> 
> Marek

If you want the -DDEBUG added automatically you need a --buildtype=debug,
--buildtype=debugoptimized doesn't get -DDEBUG.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH mesa] drop autotools

2018-12-04 Thread Dylan Baker
Quoting Gert Wollny (2018-12-04 15:42:58)
> Am Dienstag, den 04.12.2018, 14:01 -0800 schrieb Matt Turner:
> > On Tue, Dec 4, 2018 at 12:48 PM Gert Wollny 
> > wrote:
> > > FWIW, I also don't understand the urge to remove the automake build
> > > system files, they account for less then 1% of line count in the
> > > source
> > > tree, Emil offered to maintain the build system in a way that
> > > nobody
> > > who doesn't want to deal with has to touch it
> > 
> > Do you see any value in removing the autotools build system at all?
> 
> If there was nobody willing to maintain it and nobody who wants to use
> it then I would say it makes sense to remove it, because it doesn't
> make sense to keep something that is unused and will bitrot, but right
> now this is not the case. In light of what Emil wrote I could also ask:
> what's the harm in keeping it?
> 
> Personally, I use both, meson/ninja is great when you want to build 
> the whole project, but being able to go to a subdirectory and just run
> "make something" there has its virtues too.
> 
> Best, 
> Gert
> 

Is that really any different than doing a `ninja -C builddir/
src/mesa/libmesa_gallium.a` (or whatever target you want)? Especially since you
can tab complete ninja targets.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2] build: remove autotools

2018-12-04 Thread Dylan Baker
Quoting Marek Olšák (2018-12-04 16:04:11)
> On Tue, Dec 4, 2018 at 7:01 PM Dylan Baker  wrote:
> 
> Quoting Marek Olšák (2018-12-04 14:52:19)
> > CFLAGS="-fno-omit-frame-pointer" \
> > CXXFLAGS="-fno-omit-frame-pointer" \
> > LDFLAGS="-fuse-ld=gold" \
> >     meson $reconfigure build \
> >     --prefix /usr --libdir /usr/lib/$archdir --buildtype debugoptimized
> > --native-file $llvm_config \
> >     -Dgallium-va=false -Dgallium-xvmc=false -Dgallium-omx=disabled
> -Dgallium-xa
> > =false \
> >     -Dplatforms=x11,drm,surfaceless -Dgallium-drivers=radeonsi,r300,r600
> \
> >     -Ddri-drivers= -Dvulkan-drivers=amd \
> >     -Dlibunwind=true
> >
> > Marek
> 
> If you want the -DDEBUG added automatically you need a --buildtype=debug,
> --buildtype=debugoptimized doesn't get -DDEBUG.
> 
> 
> That's a change in behavior compared to autotools, which was always
> debugoptimized.
> 
> Marek

That was changed after the initial meson merge, here's the thread discussing
that: https://lists.freedesktop.org/archives/mesa-dev/2017-November/175104.html

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v3] nir/algebraic: Rewrite bit-size inference

2018-12-05 Thread Dylan Baker
For the python bits:
Reviewed-by: Dylan Baker 

Quoting Connor Abbott (2018-12-05 04:20:30)
> Before this commit, there were two copies of the algorithm: one in C,
> that we would use to figure out what bit-size to give the replacement
> expression, and one in Python, that emulated the C one and tried to
> prove that the C algorithm would never fail to correctly assign
> bit-sizes. That seemed pretty fragile, and likely to fall over if we
> make any changes. Furthermore, the C code was really just recomputing
> more-or-less the same thing as the Python code every time. Instead, we
> can just store the results of the Python algorithm in the C
> datastructure, and consult it to compute the bitsize of each value,
> moving the "brains" entirely into Python. Since the Python algorithm no
> longer has to match C, it's also a lot easier to change it to something
> more closely approximating an actual type-inference algorithm. The
> algorithm used is based on Hindley-Milner, although deliberately
> weakened a little. It's a few more lines than the old one, judging by
> the diffstat, but I think it's easier to verify that it's correct while
> being as general as possible.
> 
> We could split this up into two changes, first making the C code use the
> results of the Python code and then rewriting the Python algorithm, but
> since the old algorithm never tracked which variable each equivalence
> class, it would mean we'd have to add some non-trivial code which would
> then get thrown away. I think it's better to see the final state all at
> once, although I could also try splitting it up.
> 
> v2:
> - Replace instances of "== None" and "!= None" with "is None" and
> "is not None".
> - Rename first_src to first_unsized_src
> - Only merge the destination with the first unsized source, since the
> sources have already been merged.
> - Add a comment explaining what nir_search_value::bit_size now means.
> v3:
> - Fix one last instance to use "is not" instead of !=
> - Don't try to be so clever when choosing which error message to print
> based on whether we're in the search or replace expression.
> - Fix trailing whitespace.
> ---
>  src/compiler/nir/nir_algebraic.py | 520 --
>  src/compiler/nir/nir_search.c | 146 +
>  src/compiler/nir/nir_search.h |  17 +-
>  3 files changed, 317 insertions(+), 366 deletions(-)
> 
> diff --git a/src/compiler/nir/nir_algebraic.py 
> b/src/compiler/nir/nir_algebraic.py
> index 728196136ab..efd6e52cdb9 100644
> --- a/src/compiler/nir/nir_algebraic.py
> +++ b/src/compiler/nir/nir_algebraic.py
> @@ -88,7 +88,7 @@ class Value(object):
>  
> __template = mako.template.Template("""
>  static const ${val.c_type} ${val.name} = {
> -   { ${val.type_enum}, ${val.bit_size} },
> +   { ${val.type_enum}, ${val.c_bit_size} },
>  % if isinstance(val, Constant):
> ${val.type()}, { ${val.hex()} /* ${val.value} */ },
>  % elif isinstance(val, Variable):
> @@ -112,6 +112,40 @@ static const ${val.c_type} ${val.name} = {
> def __str__(self):
>return self.in_val
>  
> +   def get_bit_size(self):
> +  """Get the physical bit-size that has been chosen for this value, or if
> +  there is none, the canonical value which currently represents this
> +  bit-size class. Variables will be preferred, i.e. if there are any
> +  variables in the equivalence class, the canonical value will be a
> +  variable. We do this since we'll need to know which variable each value
> +  is equivalent to when constructing the replacement expression. This is
> +  the "find" part of the union-find algorithm.
> +  """
> +  bit_size = self
> +
> +  while isinstance(bit_size, Value):
> + if bit_size._bit_size is None:
> +break
> + bit_size = bit_size._bit_size
> +
> +  if bit_size is not self:
> + self._bit_size = bit_size
> +  return bit_size
> +
> +   def set_bit_size(self, other):
> +  """Make self.get_bit_size() return what other.get_bit_size() return
> +  before calling this, or just "other" if it's a concrete bit-size. This 
> is
> +  the "union" part of the union-find algorithm.
> +  """
> +
> +  self_bit_size = self.get_bit_size()
> +  other_bit_size = other if isinstance(other, int) else 
> other.get_bit_size()
> +
> +  if self_bit_size == other_bit_size:
> + return
> +
> +  self_bit_size._bit_size = other_bit_size
> +
> @property
> def

Re: [Mesa-dev] [PATCH] meson: link LLVM 'native' component when LLVM is available

2018-12-06 Thread Dylan Baker
Quoting Nicolai Hähnle (2018-12-06 05:49:02)
> From: Nicolai Hähnle 
> 
> Linking against LLVM built with BUILD_SHARED_LIBS fails otherwise,
> as the component is required for the draw module.
> ---
>  meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 1aeef95f722..0177716c476 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1155,21 +1155,21 @@ dep_libdrm = dependency(
>  if dep_libdrm.found()
>pre_args += '-DHAVE_LIBDRM'
>if with_dri_platform == 'drm' and with_dri
>  with_gallium_drisw_kms = true
>endif
>  endif
>  
>  llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit']
>  llvm_optional_modules = []
>  if with_amd_vk or with_gallium_radeonsi or with_gallium_r600
> -  llvm_modules += ['amdgpu', 'bitreader', 'ipo']
> +  llvm_modules += ['amdgpu', 'native', 'bitreader', 'ipo']
>if with_gallium_r600
>  llvm_modules += 'asmparser'
>endif
>  endif
>  if with_gallium_opencl
>llvm_modules += [
>  'all-targets', 'linker', 'coverage', 'instrumentation', 'ipo', 
> 'irreader',
>  'lto', 'option', 'objcarcopts', 'profiledata',
>]
>llvm_optional_modules += ['coroutines']
> -- 
> 2.19.1
> 

Reviewed-by: Dylan Baker 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2] docs: Document GitLab merge request process (email alternative)

2018-12-06 Thread Dylan Baker
Quoting Jordan Justen (2018-12-05 15:32:05)
> This documents a process for using GitLab Merge Requests as an second
> way to submit code changes for Mesa. Only one of the two methods is
> allowed for each patch series.
> 
> We will *not* require all patches to be emailed. Some code changes may
> be reviewed and merged without any discussion on the mesa-dev email
> list.
> 
> v2:
>  * No longer require email. Allow submitter to choose email or a
>GitLab merge request.
>  * Various feedback from Brian, Daniel, Dylan, Eric, Erik, Jason,
>Matt, Michel and Rob.
> 
> Signed-off-by: Jordan Justen 
> ---
>  docs/submittingpatches.html | 76 ++---
>  1 file changed, 71 insertions(+), 5 deletions(-)
> 
> diff --git a/docs/submittingpatches.html b/docs/submittingpatches.html
> index 92d954a2d09..21175988d0b 100644
> --- a/docs/submittingpatches.html
> +++ b/docs/submittingpatches.html
> @@ -21,7 +21,7 @@
>  Basic guidelines
>  Patch formatting
>  Testing Patches
> -Mailing Patches
> +Submitting Patches
>  Reviewing Patches
>  Nominating a commit for a stable branch
>  Criteria for accepting patches to the stable 
> branch
> @@ -42,8 +42,10 @@ components.
>  git bisect.)
>  Patches should be properly formatted.
>  Patches should be sufficiently tested before 
> submitting.
> -Patches should be submitted to mesa-dev
> -for review using git send-email.
> +Patches should be submitted
> +to mesa-dev or with
> +a merge request
> +for review.
>  
>  
>  
> @@ -180,10 +182,19 @@ run.
>  
>  
>  
> -Mailing Patches
> +Submitting Patches
>  
>  
> -Patches should be sent to the mesa-dev mailing list for review:
> +Patches may be submitted to the Mesa project by
> +email or with a
> +GitLab merge request. To prevent
> +duplicate code review, only use one method to submit your changes.
> +
> +
> +Mailing Patches
> +
> +
> +Patches may be sent to the mesa-dev mailing list for review:
>  https://lists.freedesktop.org/mailman/listinfo/mesa-dev";>
>  mesa-dev@lists.freedesktop.org.
>  When submitting a patch make sure to use
> @@ -217,8 +228,63 @@ disabled before sending your patches. (Note that you may 
> need to contact
>  your email administrator for this.)
>  
>  
> +GitLab Merge Requests
> +
> +
> +  https://gitlab.freedesktop.org/mesa/mesa";>GitLab Merge
> +  Requests (MR) can also be used to submit patches for Mesa.
> +
> +
> +
> +  If the MR may have interest for most of the Mesa community, you can
> +  send an email to the mesa-dev email list including a link to the MR.
> +  Don't send the patch to mesa-dev, just the MR link.
> +
> +
> +  Add labels to your MR to help reviewers find it. For example:
> +  
> +Mesa changes affecting all drivers: mesa
> +Hardware vendor specific code: amd, intel, nvidia, ...
> +Driver specific code: anvil, freedreno, i965, iris, radeonsi,
> +  radv, vc4, ...
> +Other tag examples: gallium, util
> +  
> +
> +
> +  If you revise your patches based on code review and push an update
> +  to your branch, you should maintain a clean history
> +  in your patches. There should not be "fixup" patches in the history.
> +  The series should be buildable and functional after every commit
> +  whenever you push the branch.
> +
> +
> +  It is your responsibility to keep the MR alive and making progress,
> +  as there are no guarantees that a Mesa dev will independently take
> +  interest in it.
> +
> +
> +  Some other notes:
> +  
> +Make changes and update your branch based on feedback
> +Old, stale MR may be closed, but you can reopen it if you
> +  still want to pursue the changes
> +You should periodically check to see if your MR needs to be
> +  rebased
> +Make sure your MR is closed if your patches get pushed outside
> +  of GitLab
> +  
> +
> +
>  Reviewing Patches
>  
> +
> +  To participate in code review, you should monitor the
> +  https://lists.freedesktop.org/mailman/listinfo/mesa-dev";>
> +  mesa-dev email list and the GitLab
> +  Mesa  href="https://gitlab.freedesktop.org/mesa/mesa/merge_requests";>Merge
> +  Requests page.
> +
> +
>  
>  When you've reviewed a patch on the mailing list, please be unambiguous
>  about your review.  That is, state either
> -- 
> 2.20.0.rc2
> 
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Acked-by: Dylan Baker 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] meson: Add nir_algebraic_parser_test to suites

2018-12-07 Thread Dylan Baker
Just to make it easier to run a nir tests together.

Fixes: a0ae12ca91a45f81897e774019cde9bd081f03a0
   ("nir/algebraic: Add unit tests for bitsize validation")
---
 src/compiler/nir/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/compiler/nir/meson.build b/src/compiler/nir/meson.build
index e86c97b8864..b0ca27cb700 100644
--- a/src/compiler/nir/meson.build
+++ b/src/compiler/nir/meson.build
@@ -268,5 +268,6 @@ if with_tests
 args : [
   join_paths(meson.current_source_dir(), 'tests/algebraic_parser_test.py')
 ],
+suite : ['compiler', 'nir'],
   )
 endif
-- 
2.19.2

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


Re: [Mesa-dev] [PATCH] meson: Bump version to 0.46 for python module

2018-12-10 Thread Dylan Baker
Quoting Matt Turner (2018-12-08 12:49:06)
> On Thu, Nov 22, 2018 at 1:05 PM Matt Turner  wrote:
> >
> > On Wed, Nov 21, 2018 at 10:48 AM Matt Turner  wrote:
> > >
> > > Thanks Arfrever and Dylan.
> > >
> > > Acked-by: Matt Turner 
> >
> > Hmm, actually this doesn't seem to work for me. With it applied I get:
> >
> > src/mesa/drivers/dri/meson.build:59:8: ERROR:  Python object does not
> > have method path.
> >
> > which comes from:
> >
> >   meson.add_install_script(
> > prog_python.path(),
> > join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
> > libmesa_dri_drivers.full_path(),
> > dri_drivers_path,
> > dri_link,
> >   )
> 
> Ping. I think this one fell through the cracks.

Yup. I'll respin and resend in just a minute.


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] meson: Bump version to 0.46 for python module

2018-12-10 Thread Dylan Baker
Quoting Dylan Baker (2018-12-10 09:13:59)
> Quoting Matt Turner (2018-12-08 12:49:06)
> > On Thu, Nov 22, 2018 at 1:05 PM Matt Turner  wrote:
> > >
> > > On Wed, Nov 21, 2018 at 10:48 AM Matt Turner  wrote:
> > > >
> > > > Thanks Arfrever and Dylan.
> > > >
> > > > Acked-by: Matt Turner 
> > >
> > > Hmm, actually this doesn't seem to work for me. With it applied I get:
> > >
> > > src/mesa/drivers/dri/meson.build:59:8: ERROR:  Python object does not
> > > have method path.
> > >
> > > which comes from:
> > >
> > >   meson.add_install_script(
> > > prog_python.path(),
> > > join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
> > > libmesa_dri_drivers.full_path(),
> > > dri_drivers_path,
> > > dri_link,
> > >   )
> > 
> > Ping. I think this one fell through the cracks.
> 
> Yup. I'll respin and resend in just a minute.
> 

Gah, so much for "the python module does everything the python3 module does", it
doesn't have a path method :/

off to meson land I go.


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] docs: extends 18.2 lifecycle

2018-12-10 Thread Dylan Baker
Acked-by: Dylan Baker 

Quoting Juan A. Suarez Romero (2018-12-10 04:25:36)
> As 18.3 was published with some delay, let's extend 18.2 life for
> another extra release.
> 
> CC: Andres Gomez 
> CC: Dylan Baker 
> CC: Emil Velikov 
> ---
>  docs/release-calendar.html | 8 +++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/release-calendar.html b/docs/release-calendar.html
> index 5d881b5877c..44520a59da0 100644
> --- a/docs/release-calendar.html
> +++ b/docs/release-calendar.html
> @@ -39,10 +39,16 @@ if you'd like to nominate a patch in the next stable 
> release.
>  Notes
>  
>  
> -18.2
> +18.2
>  2018-12-12
>  18.2.7
>  Juan A. Suarez
> +
> +
> +
> +2018-12-26
> +18.2.8
> +Juan A. Suarez
>  Last planned 18.2.x release
>  
>  18.3
> -- 
> 2.19.2
> 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] last call for autotools

2018-12-10 Thread Dylan Baker
Meson 0.49.0 has been out for a couple of days now, and I'd like to make the
final call for autotools. My patch is so massive that it's a huge pain to send
to the list, the latest versions is here:
https://gitlab.freedesktop.org/dbaker/mesa/commits/delete-autotools

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH mesa] meson/vdpau: add missing soversion

2018-12-11 Thread Dylan Baker
Thanks for fixing this,
Reviewed-by: Dylan Baker 

Quoting Eric Engestrom (2018-12-11 09:13:54)
> This mirrors what autotools does in 
> src/gallium/state_trackers/vdpau/Makefile.am
> and src/gallium/targets/vdpau/Makefile.am:
> 
>   VDPAU_MAJOR = 1
>   VDPAU_MINOR = 0
>   libvdpau_gallium_la_LDFLAGS = -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR)
> 
> Reported-by: Igor Gnatenko 
> Fixes: 68076b87474e7959c161 "meson: build gallium vdpau state tracker"
> Signed-off-by: Eric Engestrom 
> ---
>  src/gallium/state_trackers/vdpau/meson.build | 9 -
>  src/gallium/targets/vdpau/meson.build| 3 ++-
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/state_trackers/vdpau/meson.build 
> b/src/gallium/state_trackers/vdpau/meson.build
> index 9678b79ef6c952a48e45..28b98ae5369fa5c5ccf2 100644
> --- a/src/gallium/state_trackers/vdpau/meson.build
> +++ b/src/gallium/state_trackers/vdpau/meson.build
> @@ -18,13 +18,20 @@
>  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
> THE
>  # SOFTWARE.
>  
> +VDPAU_MAJOR = 1
> +VDPAU_MINOR = 0
> +
>  libvdpau_st = static_library(
>'vdpau_st',
>files(
>  'bitmap.c', 'decode.c', 'device.c', 'ftab.c', 'htab.c', 'mixer.c',
>  'output.c', 'preemption.c', 'presentation.c', 'query.c', 'surface.c',
>),
> -  c_args : [c_vis_args, '-DVER_MAJOR=1', '-DVER_MINOR=0'],
> +  c_args : [
> +c_vis_args,
> +'-DVER_MAJOR=@0@'.format(VDPAU_MAJOR),
> +'-DVER_MINOR=@0@'.format(VDPAU_MINOR),
> +  ],
>include_directories : [
>  inc_include, inc_src, inc_util, inc_gallium, inc_gallium_aux,
>],
> diff --git a/src/gallium/targets/vdpau/meson.build 
> b/src/gallium/targets/vdpau/meson.build
> index 0c09b2b811429b5688b8..cfc616edf3eac3dd1540 100644
> --- a/src/gallium/targets/vdpau/meson.build
> +++ b/src/gallium/targets/vdpau/meson.build
> @@ -54,6 +54,7 @@ libvdpau_gallium = shared_library(
>  dep_thread, driver_r300, driver_r600, driver_radeonsi, driver_nouveau, 
> driver_tegra,
>],
>link_depends : vdpau_link_depends,
> +  soversion : '@0@.@1@.0'.format(VDPAU_MAJOR, VDPAU_MINOR),
>  )
>  foreach d : [[with_gallium_r300, 'r300'],
>   [with_gallium_r600, 'r600'],
> @@ -61,7 +62,7 @@ foreach d : [[with_gallium_r300, 'r300'],
>   [with_gallium_tegra, 'tegra'],
>   [with_gallium_nouveau, 'nouveau']]
>if d[0]
> -vdpau_drivers += 'libvdpau_@0@.so.1.0.0'.format(d[1])
> +vdpau_drivers += 'libvdpau_@0@.so.@1@.@2@.0'.format(d[1], VDPAU_MAJOR, 
> VDPAU_MINOR)
>endif
>  endforeach
>  
> -- 
> Cheers,
>   Eric
> 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2] glx: mandate xf86vidmode only for "drm" dri platforms

2018-12-11 Thread Dylan Baker
Quoting Emil Velikov (2018-12-11 09:22:03)
> From: Emil Velikov 
> 
> Currently we have the three dri "platforms" - drm, apple and windows.
> 
> Since xf86vidmode is a thing only for the drm one, adjust the
> preprocessor guards and correctly check for the dependency.
> 
> v2: terminate the GLX_USE_WINDOWSGL hunk
> 
> Cc: Jon TURNEY 
> Cc: Dylan Baker 
> Cc: Eric Engestrom 
> Fixes: 5bc509363b6 ("glx: make xf86vidmode mandatory for direct rendering")
> Signed-off-by: Emil Velikov 
> ---
> This time it's actually tested ;-)
> ---
>  configure.ac  | 4 ++--
>  meson.build   | 4 ++--
>  src/glx/glxcmds.c | 6 --
>  3 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 5d3da4b7c48..9b437a252cc 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1716,6 +1716,8 @@ xdri)
>  if test x"$enable_dri" = xyes; then
> dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED"
>  fi
> +
> +dri_modules="$dri_modules xxf86vm"
>  fi
>  if test x"$dri_platform" = xapple ; then
>  DEFINES="$DEFINES -DGLX_USE_APPLEGL"
> @@ -1725,8 +1727,6 @@ xdri)
>  fi
>  fi
>  
> -dri_modules="$dri_modules xxf86vm"
> -
>  PKG_CHECK_MODULES([DRIGL], [$dri_modules])
>  GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
>  X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
> diff --git a/meson.build b/meson.build
> index 4f6176b8d96..fe647f682c1 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1349,7 +1349,6 @@ if with_platform_x11
>  dep_xdamage = dependency('xdamage', version : '>= 1.1')
>  dep_xfixes = dependency('xfixes')
>  dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1')
> -dep_xxf86vm = dependency('xxf86vm')
>endif
>if (with_any_vk or with_glx == 'dri' or
> (with_gallium_vdpau or with_gallium_xvmc or with_gallium_va or
> @@ -1376,6 +1375,7 @@ if with_platform_x11
>if with_glx == 'dri'
>  if with_dri_platform == 'drm'
>dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
> +  dep_xxf86vm = dependency('xxf86vm')
>  endif
>  dep_glproto = dependency('glproto', version : '>= 1.4.14')
>endif
> @@ -1426,8 +1426,8 @@ elif with_glx == 'dri'
>  'xcb-glx >= 1.8.1']
>if with_dri_platform == 'drm'
>  gl_priv_reqs += 'xcb-dri2 >= 1.8'
> +gl_priv_reqs += 'xxf86vm'
>endif
> -  gl_priv_reqs += 'xxf86vm'

I'd really like to move to meson 0.46 so meson would just figure all of this out
for us... sigh

for the meson bits:
Reviewed-by: Dylan Baker 

>  endif
>  if dep_libdrm.found()
>gl_priv_reqs += 'libdrm >= 2.4.75'
> diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
> index b940c8ebdbe..d00c0d4816d 100644
> --- a/src/glx/glxcmds.c
> +++ b/src/glx/glxcmds.c
> @@ -45,8 +45,10 @@
>  #include "apple/apple_glx.h"
>  #include "util/debug.h"
>  #else
> +#ifndef GLX_USE_WINDOWSGL
>  #include 
>  #include 
> +#endif /* GLX_USE_WINDOWSGL */
>  #endif
>  #endif
>  
> @@ -2081,7 +2083,7 @@ __glXGetSyncValuesOML(Display * dpy, GLXDrawable 
> drawable,
> return False;
>  }
>  
> -#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
> +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) && 
> !defined(GLX_USE_WINDOWSGL)
>  _X_HIDDEN GLboolean
>  __glxGetMscRate(struct glx_screen *psc,
> int32_t * numerator, int32_t * denominator)
> @@ -2157,7 +2159,7 @@ _X_HIDDEN GLboolean
>  __glXGetMscRateOML(Display * dpy, GLXDrawable drawable,
> int32_t * numerator, int32_t * denominator)
>  {
> -#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
> +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) && 
> !defined(GLX_USE_WINDOWSGL)
> __GLXDRIdrawable *draw = GetGLXDRIDrawable(dpy, drawable);
>  
> if (draw == NULL)
> -- 
> 2.19.2
> 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] last call for autotools

2018-12-11 Thread Dylan Baker
Quoting Emil Velikov (2018-12-11 10:48:56)
> On Tue, 11 Dec 2018 at 18:18, Eric Anholt  wrote:
> >
> > Emil Velikov  writes:
> >
> > > On Mon, 10 Dec 2018 at 23:11, Dylan Baker  wrote:
> > >>
> > >> Meson 0.49.0 has been out for a couple of days now, and I'd like to make 
> > >> the
> > >> final call for autotools. My patch is so massive that it's a huge pain 
> > >> to send
> > >> to the list, the latest versions is here:
> > >> https://gitlab.freedesktop.org/dbaker/mesa/commits/delete-autotools
> > >>
> > > Can you split this up a bit? I'm mostly conserved about a couple of 
> > > things:
> > > - we're loosing multiple testing permutations with Travis - there's no
> > > meson equivalent
> > > - needed/missing bits are impossible to spot as-is
> > >
> > > Personally, I'd do something like:
> > >  - move .travis autotools permutations to meson
> > >  - docs changes
> > >  - rm Makefile{.*,}.am autogen.sh and configure.ac
> > >  - rm Makefile.sources
> > >  - .gitignore
> >
> > I don't think we should block on anything related to travis at this
> > point.  I wrote it initially hoping it would let us prevent build
> > breakages.  Instead, whenever I try to use travis to prevent build
> > breakage, I find that travis has already been broken for a while.
> >
> You must be really unlucky.
> 
> > The CI needs to be integrated with our actual repository host, or it
> > doesn't work.  We should just delete .travis.yml and push the gitlab
> > stuff forward instead.
> 
> If we have anything better in place (say gitlab CI/other) - sure.
> Removing something without a replacement in place is quite meh.
> That said, I think we agree that this is a topic for another day.
> 
> HTH
> -Emil

I'm actually finding myself agreeing that travis is just a pain. Could you help
me debug my WIP of porting the autotools tests to meson? They're just failing
randomly with no good debuging output:

https://travis-ci.org/dcbaker/mesa/jobs/45289

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [RFC PATCH 5/5] meson: libfreedreno depends upon libdrm (for fence support)

2018-12-12 Thread Dylan Baker
Thanks for looking into these. I've gone ahead and added the Fixes and Emil's 
rb,
plus my rb and pushed *this* patch to master. I've pulled all of the others
except the "delete me" fixup into my branch (since I'll drop that patch before
sending out the v2, that's just to make travis turn around faster)

Dylan

Quoting Emil Velikov (2018-12-12 04:04:08)
> On Wed, 12 Dec 2018 at 07:45, Rhys Kidd  wrote:
> >
> > Error message building freedreno Gallium driver with meson:
> >
> >   ../src/gallium/drivers/freedreno/freedreno_fence.c:27:21: fatal error: 
> > libsync.h: No such file or directory
> >\#include 
> >
> This is a good fix regardless of the rest.
> 
> Fixes: 4aa69cc4257 ("meson: build freedreno")
> Reviewed-by: Emil Velikov 
> 
> -Emil
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [RFC PATCH 0/5] last call for autotools (meson travis fixes)

2018-12-12 Thread Dylan Baker
Quoting Emil Velikov (2018-12-12 04:16:51)
> On Wed, 12 Dec 2018 at 07:45, Rhys Kidd  wrote:
> >
> > Emil and Dylan,
> >
> > I took a go at addressing the limited number of remaining meson-based
> > travis-ci errors. This series applies on top of the work Dylan circulated
> > yesterday, and which can be seen here:
> >
> > >  Could you help me debug my WIP of porting the autotools tests
> > >  to meson? They're just failing randomly with no good debuging output:
> > >
> > >  https://travis-ci.org/dcbaker/mesa/jobs/45289
> >
> > Dylan, if you pick these patches up you may want to squash those ones which
> > are 'Fixes' into the respective initial patch before any final push.
> >
> > At this stage the failures are deterministic.
> >
> > The remaining two known issues are:
> >
> >   * -Dbuild-tests=true: anv is unable to build when this option is enabled.
> > This is unrelated to this series and occurs in master. At present meson
> > by default has different test coverage to autotools. See further here:
> > https://travis-ci.org/Echelon9/mesa/builds/466840665
> >
> The libvulkan_intel_tests (the tests library) is missing the WSI (et
> al) dependencies. A quick check is to add anv_deps instead of
> hand-rolling it.

the tests lib does use anv_deps, the only difference I can see between the test
lib and the actual installed lib is that the installed one link_whole's the
gen_libs and the test one doesn't.

> 
> >   * gallium pipeloaders: There's an ongoing scoping problem with the LLVM
> > libraries as a dependency. I was unable to fix yet. See further here:
> > https://travis-ci.org/Echelon9/mesa/jobs/466861661#L9112
> >
> Suspecting that the dep_llvm in libgallium
> (src/gallium/aux/meson.build) should be switched to whole_libraries.
> As-is things get discarded (since they're unused), when creating the
> static library. Thus as the final stage creating the pipe-driver DSOs
> we're missing the -lLLVMfoo
> 
> Not 100% sure on the latter one - will need to play with it.
> 
> -Emil

You can't link_whole a dependency, it's you can only link whole a library
(shared or static). I think the "right" solution is to bump to 0.46 and make use
of the `dependency.partial_dependency` so we can create a `dep_llvm_headers` and
only link with llvm in the final dsos instead of linking it in everywhere. At
least, that's part of the motivation I had to write the partial_dependency
method :)

In the short term what we probably should do is add dep_llvm to the driver_*
definitions that use llvm (r600, radeonsi, llvmpipe, swr) so that the targets
pick up the llvm dependency.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 2/2] Fix typo preventing xxf86vm being used in meson build

2018-12-12 Thread Dylan Baker
Quoting Jon Turney (2018-12-11 07:15:10)
> Also add now needed xxf86vm to the dependencies of libGL
> 
> Signed-off-by: Jon Turney 
> ---
>  src/glx/meson.build | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/glx/meson.build b/src/glx/meson.build
> index 1de35fca6bc..2507993ed52 100644
> --- a/src/glx/meson.build
> +++ b/src/glx/meson.build
> @@ -137,7 +137,7 @@ gl_lib_cargs = [
>  ]
>  
>  if dep_xxf86vm.found()
> -  gl_lib_cargs += '-DHAVE_XF86VIDMODE'
> +  gl_lib_cargs += '-DXF86VIDMODE'
>  endif
>  
>  libglx = static_library(
> @@ -166,7 +166,7 @@ if with_glx == 'dri'
>  link_args : [ld_args_bsymbolic, ld_args_gc_sections, 
> extra_ld_args_libgl],
>  dependencies : [
>dep_libdrm, dep_dl, dep_m, dep_thread, dep_x11, dep_xcb_glx, dep_xcb,
> -  dep_x11_xcb, dep_xcb_dri2, dep_xext, dep_xfixes, dep_xdamage,
> +  dep_x11_xcb, dep_xcb_dri2, dep_xext, dep_xfixes, dep_xdamage, 
> dep_xxf86vm,
>extra_deps_libgl,
>  ],
>  version : gl_lib_version,
> -- 
> 2.17.0
> 

Reviewed-by: Dylan Baker 


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] last call for autotools

2018-12-12 Thread Dylan Baker
Quoting Marek Olšák (2018-12-12 13:07:10)
> On Wed, Dec 12, 2018 at 3:52 PM Rob Clark  wrote:
> 
> On Wed, Dec 12, 2018 at 3:45 PM Marek Olšák  wrote:
> >
> > On Wed, Dec 12, 2018 at 3:37 PM Rob Clark  wrote:
> >>
> >> On Wed, Dec 12, 2018 at 3:13 PM Bas Nieuwenhuizen
> >>  wrote:
> >> >
> >> > On Wed, Dec 12, 2018 at 8:59 PM Marek Olšák  wrote:
> >> > >
> >> > > There are 2 issues with meson:
> >> > > * -DDEBUG is not present in debugoptimized builds.
> >> >
> >> > Do people expect -DDEBUG for debugoptimized? I would think that debug
> >> > optimized would be an optimized build with debug symbols, but not
> >> > expensive checks & asserts, which would match the current
> >> > debugoptimized build?
> >>
> >> please, no -DDEBUG for debugoptimized.. I use that when I want debug
> >> syms but not (for example) nir_validate and other expensive checks.
> >
> >
> > If nir_validate is so bad, perhaps it shouldn't be run at all. If you
> work on NIR and it's not important for you to run nir_validate, perhaps it
> shouldn't be run at all. It doesn't have anything to do with build 
> systems.
> >
> 
> I do actually want it enabled when I piglit/deqp..  for which I use
> debug builds.  But I don't want it if I'm profiling or valgrinding,
> where I use debugoptimized..
> 
> 
> At some point, DEBUG will be replaced by !NDEBUG.
>
> Marek

The whole point of DEBUG is to hide really expensive checks like nir validate.
If there are are asserts hidden behind debug that's wrong, those should be
behind !NDEBUG, that's what NDEBUG is for. We've talked about renaming DEBUG
because it's confusing, something like EXPENSIVE_DEBUG or EXPENSIVE_VALIDATION
or something along those lines.

The thread I linked you to previously has extensive discussion of why DEBUG was
removed from the debugoptimized build.

For CFLAGS: yes, environment variables are only read during the initial
configuration by design, they basically exist for compatibility with autotools.
You want to use -Dc_args and -Dcpp_args (for CFLAGS and CXXFLAGS respectively)
these are read by meson, meson configure, and meson reconfigure.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] last call for autotools

2018-12-12 Thread Dylan Baker
Quoting Marek Olšák (2018-12-12 12:42:01)
> Most assertions and checks are enabled, because NDEBUG is not defined, but
> DEBUG is not defined either, which is a Mesa-specific definition.
> 
> The default debug build for autotools is debugoptimized (-g -O2 -DDEBUG). 
> meson
> changed that behavior by removing -DDEBUG. Autotools doesn't have what meson
> calls "debug", which indicates that most people don't want to use "debug" 
> much.
> People who wanted to -O0 had to set CFLAGS. Now people who want the autotools
> debug build have to add -DDEBUG into CFLAGS.
> 
> On top of that, I discovered a 3rd issue with meson:
> * meson --reconfigure doesn't re-run llvm-config.
> 
> Marek

Don't use --reconfigure, you're abusing it to get it to do what you want.
--reconfigure is for handling cases where an option has been removed or renamed
and meson can't figure out how to fix it itself, so you smash it with a hammer.
meson configure has an option to force llvm-config (and all dependencies) to be
rechecked. In your wrapper script you'd be better off with something like:

if [ ! -a $BUILDDIR ]; then
meson $BUILDDIR $OPTIONS
else
meson configure $BUILDDIR $OPTIONS --clearcache
fi

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] last call for autotools

2018-12-12 Thread Dylan Baker
Quoting Marek Olšák (2018-12-12 14:27:21)
> On Wed, Dec 12, 2018 at 5:14 PM Dylan Baker  wrote:
> 
> Quoting Marek Olšák (2018-12-12 12:42:01)
> > Most assertions and checks are enabled, because NDEBUG is not defined,
> but
> > DEBUG is not defined either, which is a Mesa-specific definition.
> >
> > The default debug build for autotools is debugoptimized (-g -O2 
> -DDEBUG).
> meson
> > changed that behavior by removing -DDEBUG. Autotools doesn't have what
> meson
> > calls "debug", which indicates that most people don't want to use 
> "debug"
> much.
> > People who wanted to -O0 had to set CFLAGS. Now people who want the
> autotools
> > debug build have to add -DDEBUG into CFLAGS.
> >
> > On top of that, I discovered a 3rd issue with meson:
> > * meson --reconfigure doesn't re-run llvm-config.
> >
> > Marek
> 
> Don't use --reconfigure, you're abusing it to get it to do what you want.
> --reconfigure is for handling cases where an option has been removed or
> renamed
> and meson can't figure out how to fix it itself, so you smash it with a
> hammer.
> meson configure has an option to force llvm-config (and all dependencies)
> to be
> rechecked. In your wrapper script you'd be better off with something like:
> 
> if [ ! -a $BUILDDIR ]; then
>     meson $BUILDDIR $OPTIONS
> else
>     meson configure $BUILDDIR $OPTIONS --clearcache
> fi
> 
> 
> I'll just do rm -r $BUILDDIR instead of relying on various options that might
> get broken.
> 
> Marek

If that's what you want to do.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


<    9   10   11   12   13   14   15   16   17   >