mesa merge requestshttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests2021-06-26T17:23:54Zhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6639lavapipe: image subresource fix2021-06-26T17:23:54ZDave Airlielavapipe: image subresource fixThis fixes the val_GetImageSubresourceLayout to return correct values and pass CTS tests.
It changes this to use the resource get param API but that API has no miplevel support, so first up this modifies the API to take a miplevel param...This fixes the val_GetImageSubresourceLayout to return correct values and pass CTS tests.
It changes this to use the resource get param API but that API has no miplevel support, so first up this modifies the API to take a miplevel parameter, and accept an layer stride parameter.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6921lavapipe: rename vallium to lavapipe2020-10-01T00:56:37ZDave Airlielavapipe: rename vallium to lavapipeJust a cooler name, thanks Marek (@mareko)
This might cause some conflicts on outstanding MRs, we can decide when to land it.
Also helps find it in search engines.Just a cooler name, thanks Marek (@mareko)
This might cause some conflicts on outstanding MRs, we can decide when to land it.
Also helps find it in search engines.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7019lavapipe: drop dri,dricommon deps.2020-10-06T19:36:34ZDave Airlielavapipe: drop dri,dricommon deps.This would be a step towards building elsewhere.This would be a step towards building elsewhere.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7208lavapipe win32 port2021-02-25T03:54:48Zxantareslavapipe win32 portCloses #3602
cc @airliedCloses #3602
cc @airliedMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7341Lavapipe win32 prelim2020-11-20T05:42:18ZDave AirlieLavapipe win32 prelimthis is some of easier bits I approve of from !7208this is some of easier bits I approve of from !7208Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7416lavapipe fixes2020-11-03T21:46:18ZDave Airlielavapipe fixesThis is a bunch of fixes and improvments for lavapipe CTS tests and vulkan demos.
The last two patches are just some refactoring from the CL tree that made sense to pull into vulkan here.This is a bunch of fixes and improvments for lavapipe CTS tests and vulkan demos.
The last two patches are just some refactoring from the CL tree that made sense to pull into vulkan here.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7435lavapipe fix sample mask no ms2020-11-24T00:55:32ZDave Airlielavapipe fix sample mask no msVulkan/DX and GL disagree on what happens with sample mask in a non-multisample environment.
I removed the DX code previously, just reintroduce it with a rasterizer (is this the best option) state flag.
I couldn't think of anywhere bet...Vulkan/DX and GL disagree on what happens with sample mask in a non-multisample environment.
I removed the DX code previously, just reintroduce it with a rasterizer (is this the best option) state flag.
I couldn't think of anywhere better to store the bit.
Fixes VK CTS sample mask tests.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7499lavapipe CTS fixes2020-11-13T18:58:20ZDave Airlielavapipe CTS fixesThese are a bunch of issues found by the VK CTS tests.
1. Handle empty cbuf slots when working out the nr samples needed,
2. make u_blitter use the radv 3d blit calculations
3. enable VK alpha to one
4. disable blending on SNORM formats...These are a bunch of issues found by the VK CTS tests.
1. Handle empty cbuf slots when working out the nr samples needed,
2. make u_blitter use the radv 3d blit calculations
3. enable VK alpha to one
4. disable blending on SNORM formats (some tests fail)
5. Fix a scissoring issue.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7620Add missing lavapipe dep2021-03-01T16:44:05ZVal Packettval@packett.coolAdd missing lavapipe dep`lvp_deps` was a completely unused variable, which caused a build error on FreeBSD:
```
In file included from ../src/gallium/frontends/lavapipe/lvp_pipeline.c:24:
In file included from ../src/gallium/frontends/lavapipe/lvp_private.h:50:...`lvp_deps` was a completely unused variable, which caused a build error on FreeBSD:
```
In file included from ../src/gallium/frontends/lavapipe/lvp_pipeline.c:24:
In file included from ../src/gallium/frontends/lavapipe/lvp_private.h:50:
../include/vulkan/vulkan.h:41:10: fatal error: 'wayland-client.h' file not found
```Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7705lavapipe cts fixes2020-12-01T19:52:28ZDave Airlielavapipe cts fixesThese are fixes I'm pretty happy to land prior to !7704
couple of multisample points/lines fixes like we do for tris with point offset
one points pipeline stats fix similar to one from lines
wsi fence fix
device private extension suppo...These are fixes I'm pretty happy to land prior to !7704
couple of multisample points/lines fixes like we do for tris with point offset
one points pipeline stats fix similar to one from lines
wsi fence fix
device private extension support
mipmap precision limit correction
pipeline stats query enableMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7879lavapipe: set some basic usage-flags2020-12-03T11:54:47ZErik Faye-Lundkusmabite@gmail.comlavapipe: set some basic usage-flagsSetting these avoids a few warnings while running glxgears on Zink on
Lavapipe. There's a lot more flags to set here, but this is better than
nothing.Setting these avoids a few warnings while running glxgears on Zink on
Lavapipe. There's a lot more flags to set here, but this is better than
nothing.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7881zink + lavapipe = <32021-02-14T16:32:47ZErik Faye-Lundkusmabite@gmail.comzink + lavapipe = <3zink: support using lavapipe
This is really nasty, and shouldn't really be needed, but we have a
problem where both Zink and Lavapipe checks $GALLIUM_DRIVER, meaning that
Zink tries to use Lavapipe, and Lavapipe tries to use Zink.
...zink: support using lavapipe
This is really nasty, and shouldn't really be needed, but we have a
problem where both Zink and Lavapipe checks $GALLIUM_DRIVER, meaning that
Zink tries to use Lavapipe, and Lavapipe tries to use Zink.
This patch side-steps that by temporarily setting $GALLIUM_DRIVER to
"llvmpipe", giving Lavapipe a chance to succeed.
This is not great at all. The most obvious problem is that this is super
thread-unsafe, effectively modifying global state without any care. In
reality, we'd only want the pipe-loader in the *same thread* to ignore
Zink, but it's not so obvious how to do that without introducing lots of
ugly zink-specific cruft.
People shouldn't be using Zink if they don't have a GPU, it's going to
be much better to use LLVMpipe in that case. So let's not worry too much
about this case, and instead guard this dangerous logic with an
ZINK_USE_LAVAPIPE environment variable. This means this behavior only
happens if people opt in to it.
With this in place, we can start using Zink + Lavapipe on CI.
In the longer run, it might be better to use Adam Jackson's copper
loader instead, and drop exposing Zink as a software rasterizer
entirely. But that's something for the great future where we have flying
cars and all.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7888lavapipe: minor exts2020-12-03T03:31:51ZDave Airlielavapipe: minor extsThis just adds the trivial support for
VK_EXT_shader_stencil_export
VK_EXT_post_depth_coverage
and adds lavapipe plumbing to support
VK_KHR_indirect_draw_countThis just adds the trivial support for
VK_EXT_shader_stencil_export
VK_EXT_post_depth_coverage
and adds lavapipe plumbing to support
VK_KHR_indirect_draw_countMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7912lavapipe: add push and template descriptor extensions2020-12-11T22:02:42ZDave Airlielavapipe: add push and template descriptor extensionsVK_KHR_push_descriptor and VK_KHR_descriptor_update_template support can be handled in the lavapipe completely.VK_KHR_push_descriptor and VK_KHR_descriptor_update_template support can be handled in the lavapipe completely.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7930lavapipe: implement VK_EXT_vertex_attribute_divisor2022-05-04T13:40:24ZErik Faye-Lundkusmabite@gmail.comlavapipe: implement VK_EXT_vertex_attribute_divisorThis is more or less just compile-tested, but this seems about right to
me. I see the extension being supported when running on top of Zink,
which makes me happy enough for now ;)This is more or less just compile-tested, but this seems about right to
me. I see the extension being supported when running on top of Zink,
which makes me happy enough for now ;)Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7932lavapipe: fix logic-op support2020-12-07T11:28:28ZErik Faye-Lundkusmabite@gmail.comlavapipe: fix logic-op supportLavapipe exposes support for the logicOp feature, but doesn't actually
respect the state. This is easy to fix, so let's plumb it through.
This fixes spec@!opengl 1.0@gl-1.0-logicop When running with Zink on
Lavapipe.Lavapipe exposes support for the logicOp feature, but doesn't actually
respect the state. This is easy to fix, so let's plumb it through.
This fixes spec@!opengl 1.0@gl-1.0-logicop When running with Zink on
Lavapipe.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7952CI: add lavapipe testing.2020-12-10T20:58:54ZDave AirlieCI: add lavapipe testing.This is going to run a cutdown vk-gl-cts on lavapipe.This is going to run a cutdown vk-gl-cts on lavapipe.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7977vulkan/device_select: Store Vulkan vendorID and deviceID as uint32_t2020-12-08T16:29:07ZWitold Barylukvulkan/device_select: Store Vulkan vendorID and deviceID as uint32_tVulkan uses 32-bit IDs, compared to PCI/USB 16-bit ones.
Some driver vendorIDs do exceed 0xffff, including MESA (used by lavapipe).
Without this, the value will be truncated, and device select layer
will not match expected (or any) dev...Vulkan uses 32-bit IDs, compared to PCI/USB 16-bit ones.
Some driver vendorIDs do exceed 0xffff, including MESA (used by lavapipe).
Without this, the value will be truncated, and device select layer
will not match expected (or any) device.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3935Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7978lavapipe: use ralloc for pipeline copies.2020-12-10T00:57:33ZDave Airlielavapipe: use ralloc for pipeline copies.We have to store every struct that is in the pipeline for processing
later, use ralloc to make freeing this mess easier.
Also added a common macro, and don't copy pNext we don't parse.
@kusma this is a precursor for fixing vertex divis...We have to store every struct that is in the pipeline for processing
later, use ralloc to make freeing this mess easier.
Also added a common macro, and don't copy pNext we don't parse.
@kusma this is a precursor for fixing vertex divisors.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7981lavapipe transform feedback2020-12-21T01:30:47ZDave Airlielavapipe transform feedbackThis contains support for EXT_transform_feedback on lavapipe.
It has a minor gallium API change to retrieve the internal offsets from the buffers as the vulkan API needs that info to implement it's pause/resume functionality.
Otherwise...This contains support for EXT_transform_feedback on lavapipe.
It has a minor gallium API change to retrieve the internal offsets from the buffers as the vulkan API needs that info to implement it's pause/resume functionality.
Otherwise there's an llvmpipe query change, then the lavapipe frontend changes.Marge BotMarge Bot