Mesa is an open-source 3D graphics library that provides the commonly-used DRI and Gallium3D open-source Linux graphics drivers.
Other Activity This Week
- Docs add 19.0.7 release notes
- panfrost/midgard: Implement UBO reads
Alyssa Rosenzweig: UBOs and uniforms now use a common code path with an explicit `index` argument passed, enabling UBO reads.
- radv: add support for VK_AMD_buffer_marker
Samuel Pitoiset: This simple extension might be useful for debugging purposes.
- include: update GL headers from the registry
- panfrost: Implement rasterizer discard
Alyssa Rosenzweig: D'aww, look how cute that is now that scoreboarding is setup.
- panfrost: Implement command stream scoreboarding
Alyssa Rosenzweig: This is a rather complex change, adding a lot of code but ideally cleaning up quite a bit as we go.
Within a batch (single frame), there are multiple distinct Mali job types: SET_VALUE, VERTEX, TILER, FRAGMENT for the few that we emit right now (eventually more for compute and geometry shaders).
- anv: Implement "pop-free" clipping
Jason Ekstrand: This is the preferred clipping mode since it doesn't mean your points disappear the moment part of the point crosses over the edge of the
viewport and that lines have weird endpoints at viewport edges.
- radv: implement all depth/stencil resolve modes using compute
Samuel Pitoiset: This path supports layers but it requires to decompress HTILE before resolving.
- radv: implement all depth/stencil resolve modes using graphics
Samuel Pitoiset: When using graphics, the driver doesn't need to decompress HTILE before resolving.
- llvmpipe: make remove_shader_variant static
Dave Airlie: this isn't used outside this file.
- iris: Implement INTEL_DEBUG=pc for pipe control logging
Kenneth Graunke: This prints a log of every PIPE_CONTROL flush we emit, noting which bits were set, and also the reason for the flush.
- panfrost: Switch to lima tiling
Alyssa Rosenzweig: Lima and Panfrost both have implementations of software tiling (the Lima one was forked off the Panfrost one which was forked off the original Lima one...).
- lima,panfrost: Move lima_tiling.c/h to /src/panfrost
Alyssa Rosenzweig: This will allow both drivers to share this code.
- anv: only resort to sync fds internally with no syncobj support
Lionel Landwerlin: We can rely on only one kind of synchronization object (drm-syncobj) when it is available.
- isl: tag unreachable path as such
Eric Engestrom: GCC should be able to figure out that all the possible enum values are exhausted in the switch() and all the branches return from the function, but apparently it doesn't, so let's tell the compiler explicitly.
This gets rid of the following warnings in GCC 9:
[1/24] Compiling C object 'src/intel/isl/60d23f8@@isl@sta/isl.c.o'.
- radv: enable DCC for mipmapped color textures on GFX8
Samuel Pitoiset: It's tricky on GFX9, so only GFX8 for now.
- radv: add fast clears support for mipmapped color images with DCC
- gallium/util: Make it possible to disable persistent maps in the upload manager
Thomas Hellstrom: For svga, the use of persistent / coherent maps is typically slightly slower than without them.
- svga: Map vertex- index- and constant buffers ansynchronously when reading
Thomas Hellstrom: With SWTNL and index translation we're mapping buffers for reading.
- winsys/svga: Make it possible to specify coherent resources
Thomas Hellstrom: Add a flag in the surface cache key and a winsys usage flag to specify coherent memory.
- gallium/util: Make u_debug_flush support persistent maps
Thomas Hellstrom: Previously unsynchronized maps have been assumed to also be persistent, Now destinguish between persistent and unsynchronized map and also support PIPE_TRANSFER_PERSISTENT from ARB_buffer_storage.
- virgl: Add a tweak to set the value for emulated queries of GL_SAMPLES_PASSED
Gert Wollny: On GLES hosts GL_SAMPLES_PASSED is emulated by GL_ANY_SAMPLES_PASSED which returns a boolen.
- virgl: Add tweak to apply a swizzle when drawing/blitting to a emulated BGRA texture
Gert Wollny: With Qemu this final swizzle is not needed, but with vtest it is, i.e.
- virgl: Add driconf tweak for emulating BGRA surfaces on GLES
Gert Wollny: These tweaks are used to fix rendering issues with Valve games and at least also "The Raven Remastered" when run on a GLES host.
- virgl: Add override for BGRA format to use swizzled SRGB format
Gert Wollny: Tie in the check whether the host supports tweaks and whether this tweak is enabled.
- gallium/virgl: Add code path for virgl to read driconf
Gert Wollny: This works only for the drm variant of virgl and not for the vtest
- virgl: Add driinfo file and tie it into the build
Most Popular In The Past Month
- egl: add EGL_platform_device support
Emil Velikov: This new 'platform' is added by default with no guards.
It is effectively a copy of the surfaceless one, with updated function names and brand new probe function.
Due to the reuse, some of the ifdef HAVE_SURFACELESS_PLATFORM guards have been dropped.
A worthy mention are the changes in _egFindDisplay, since the original and dup'd fd are required, we make use of the plat_opt argument.
Note that no hacks for eglGetDisplay are added - the API works only with the eglGetPlatformDisplay* API.
v2:- s/_eglCompareDeviceDisplay/_eglSameDeviceDisplay/ (Eric)- let ^^ return bool (Eric)- fixup meson build, move files() further up (Eric)- copy from plat.
- nir: Rematerialize compare instructions
Ian Romanick: On some architectures, Boolean values used to control conditional branches or condtional selection must be propagated into a flag.
- vl: Enable DRM by default
Bas Nieuwenhuizen: If libdrm is found the pipe loader enables drm anyway, and that is pretty much the only extra dependency this code has.
- panfrost: Add support for TXS instructions
Boris Brezillon: This patch adds support for nir_texop_txs instructions which are needed to support the OpenGL textureSize() function.
- anv: Add stencil texturing support for gen7
Jason Ekstrand: Intel hardware didn't get support for sampling from W-tiled (required for stencil) images until Broadwell so we can't directly sample from stencil.
- radeonsi: clean up winsys creation
- nir: add a vectorization pass
Connor Abbott: This effectively does the opposite of nir_lower_alus_to_scalar, trying to combine per-component ALU operations with the same sources but different swizzles into one larger ALU operation.
- egl: keep the software device at the end of the list
Emil Velikov: By default, the user is likely to pick the first device so it should not be the least performant (aka software) one.
- radv: handle sample locations during automatic layout transitions
Samuel Pitoiset: From the Vulkan spec 1.1.109:
"Some implementations may need to evaluate depth image values while performing image layout transitions.
- iris: Ask st to vectorize our IO.
Kenneth Graunke: (Technically this is common code, but it doesn't affect i965 or anv.)