mesa issueshttps://gitlab.freedesktop.org/mesa/mesa/-/issues2020-06-01T03:50:50Zhttps://gitlab.freedesktop.org/mesa/mesa/-/issues/3035DISCUSSION - tracking regression and backports: what do we want?2020-06-01T03:50:50ZEric Engestromeric@engestrom.chDISCUSSION - tracking regression and backports: what do we want?Following the discussion on IRC, I've asked myself if I'm over-engineering things, so let's have a discussion about what we want and how we can do that.
---
Things we want:
1. track regressions to make sure we fix them ASAP
2. make s...Following the discussion on IRC, I've asked myself if I'm over-engineering things, so let's have a discussion about what we want and how we can do that.
---
Things we want:
1. track regressions to make sure we fix them ASAP
2. make sure all MRs associated with regressions are backported, ie. the fix is not only in `master` but also in the stable branch(es)
3. nominate commits to be backported, even without a corresponding regression issue; a) before merging, b) after merging
---
Current solutions:
1. `regression` label let us know the issue is or was a regression at some point and may have been fixed at some point and may have been backported to some branch; lots of unknowns here, requiring a lot of manual work from maintainers with no way to keep track of it from one release to the next
2. release milestones allow us to track MRs that need to be backported to one (1) stable branch. We always have an overlap in releases, so this solution is unusable. Currently no other solution exists either.
3. if the dev knew & remembered to add it to the commit message, a) `Fixes:` and `Cc: mesa-stable@`; otherwise b) create another MR targeting `staging/XX.Y`
---
My proposal:
I've been adding a bunch of gitlab labels to help track all this. The ~"maintainer-scripts" can look at all the issues and MRs with said labels, and inform the maintainer of the status of everything or perform automatic actions such as nominating a commit for backport.
One common concern is "label spam" so let me address that: the idea is that when a stable branch is closed, ie. no new release will be made, all the labels relating to that branch are removed, which should mean that this system uses no more than about 12 labels at any given time.
1. a separate `regression-in-XX.Y.Z` for each release that contains the regression but not the fix.
- When a release is being prepared, any still open regression gets carried over to the new release's label, so that we don't loose track of regressions.
- For all the regressions present in the latest release that have been closed by an MR, make sure that MR is backported before the new release. This can be automated into our ~"maintainer-scripts" with precise enough labels.
- If the commit at fault is not part of any release yet, `regression-in-master` is used; if that issue is still open by the time the next stable branch is cut, the issue will get the new release's regression label.
2. this would be automatically tracked as part of 1. above
3. `Fixes:` and `Cc: mesa-stable@` are here to stay, but the latter can be replaced with a `backport-to-XX.Y` that can also be applied to MRs after they've been merged, solving the issue with 3b. The next time the maintainer runs the tools, the MR will be backported.
---
To summarize, for the devs this means the following:
- the `regression` label should be deprecated in favour of version-specific `regression-in-XX.Y.Z` (or `regression-in-master` if the commit at fault is not part of any release yet)
- if you have a specific commit that you're fixing, please use `Fixes:`, it's the best one can do.
- if you forgot to tag a commit before merging it, or if you don't have a specific commit you're fixing, you can use the `backport-to-XX.Y` label to request a backport. Once the MR is backported, the label will automatically be replaced with `backported-to-XX.Y` to indicate to the dev that it has been done. (This is not necessary from the maintainer's point of view, and if devs don't need this then we can drop that label)
That's about *10 labels per release* (usually no more than 8 releases with possible regressions + "please backport" + "backported"), and with a new stable branch overlapping that's 3 more, so *13 labels for this system*. All labels for a stable branch are deleted once that branch is closed, which means usually there will be much fewer.
---
If there's an other/better/different solution you want to suggest, feel free to do it, nothing is set in stone.
/cc the maintainers @dbaker @evelikov @tanty @jasuarez
/cc from the IRC discussion @jekstrandEric Engestromeric@engestrom.chEric Engestromeric@engestrom.chhttps://gitlab.freedesktop.org/mesa/mesa/-/issues/3244Inline mesamatrix into docs.mesa3d.org2021-04-26T16:34:36ZEric Engestromeric@engestrom.chInline mesamatrix into docs.mesa3d.orgNow that our docs are generated, we should inline https://mesamatrix.net as there's no reason to depend on an external website to display our own files in a user friendly way.Now that our docs are generated, we should inline https://mesamatrix.net as there's no reason to depend on an external website to display our own files in a user friendly way.https://gitlab.freedesktop.org/mesa/mesa/-/issues/3509driconf options not documented on the web site2020-09-11T17:31:43ZAdam Jacksonajax@nwnk.netdriconf options not documented on the web siteThere's some old, bad docs on the old wiki:
https://dri.freedesktop.org/wiki/ConfigurationInfrastructure/
Would be nice to have these in the same doc collection as the environment variables.There's some old, bad docs on the old wiki:
https://dri.freedesktop.org/wiki/ConfigurationInfrastructure/
Would be nice to have these in the same doc collection as the environment variables.https://gitlab.freedesktop.org/mesa/mesa/-/issues/4931Integrate in-code documentation into Mesa docs2023-05-20T11:27:06ZFaith EkstrandIntegrate in-code documentation into Mesa docsI've begun adding a bunch of additional ISL documentation in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11366. Much of the ISL docs are currently in isl.h and I'd really like to keep docs with code as much as possible as ...I've begun adding a bunch of additional ISL documentation in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11366. Much of the ISL docs are currently in isl.h and I'd really like to keep docs with code as much as possible as it allows you to see what's going on without having to have a web browser open. Most of the new .rst files added as part of !11366 are large blocks of prose which help tie it all together in a cohesive way.
To be clear, I'm NOT suggesting we run doxygen on the tree, dump that into the docs folder, and pretend we've documented Mesa. I'm looking for a far more targetted approach like what I've done with ISL which aims to not only provide function prototype documentation but also document over-all themes and approaches. I'd also like to keep the documentation for things like ISL and NIR organized a bit, maybe better than we've kept headers organized.
The current solution in !11366 is to use [doxygen][1] to scrape the code and [breathe][2] to integrate with sphinx. This is terrible for three big reasons:
1. I really don't like the doxygen comment format and neither does anyone else I've talked to.
2. Doxygen is Markdown-based while Sphinx is based on reStructuredText. While both work, constantly switching between the two is horrible.
3. Doxygen is big and clunky and, the way breathe is currently designed, has to be run as a separate step with hard-coded paths.
- Wayland gets around the hard-coded paths by [integrating with meson][3] but that raises its own set of issues.
Unfortunately, the other options out there currently, aren't really sufficient for Mesa's needs today. Other options include:
- kernel-doc: This clearly works at scale but it has its own problems:
- It's still something of a kludge, depending on a lot of perl code
- It's not well-packaged so we'd have to copy+paste said perl code into the Mesa tree
- It is based on the kerneldoc format which, while functional, isn't compatible with most of the code comments already in the Mesa tree. Something that at least tries to understand doxygen would make improving our docs less painful.
- [hawkmoth][4]: Written by our own @jani, this project extracts doc comments from functions using clang. The primary issue is that it doesn't support pulling docs for a single function or struct at a time and can only document whole files. I'm also not sure how it would do with C++
- [sphinx-c-autodoc][5]: This was based on hawkmoth and does provide single-function documentation. However, there are a couple issues:
- it's unclear how well-maintained the project or whether or not they'd be interested in growing the features we need. There are a total of 14 issues filed by 4 people and zero pull requests.
- I found a pretty show-stopping bug in my first attempt at using it: It doesn't handle blank lines in code comments properly so you can't write a multi-paragraph code comment. If it couldn't get that right, what else is hiding in there?
I'm very much open to suggestions. I think my personal preference, and @daniels seemed to agree on IRC, was that if hawkmoth could grow the features we need, I'd drop doxygen in favor of it in a heartbeat. We don't necessarily need something complicated; we need something reliable.
Thoughts? Opinions?
[1]: https://www.doxygen.nl/index.html
[2]: https://github.com/michaeljones/breathe
[3]: https://gitlab.freedesktop.org/wayland/weston/-/tree/main/doc/sphinx
[4]: https://github.com/jnikula/hawkmoth
[5]: https://github.com/speedyleion/sphinx-c-autodochttps://gitlab.freedesktop.org/mesa/mesa/-/issues/5160[features.txt] Flag optional extensions?2022-04-18T21:00:12ZRomain Failliot[features.txt] Flag optional extensions?Hi!
Someone pointed out on the mesamatrix.net repo that some OpenCL extensions are written as optional but prevent from marking the drivers as 100% done, such as the [Optional image formats](https://mesamatrix.net/#OpenCL1.1_Extension_O...Hi!
Someone pointed out on the mesamatrix.net repo that some OpenCL extensions are written as optional but prevent from marking the drivers as 100% done, such as the [Optional image formats](https://mesamatrix.net/#OpenCL1.1_Extension_Optional_image_formats) extension for OpenCL 1.1.
Here's the original issue: https://github.com/MightyCreak/mesamatrix/issues/200
Do you think this is something that should be addressed?https://gitlab.freedesktop.org/mesa/mesa/-/issues/5447[discussion] Split OpenGL and OpenGL ES extra extensions in two distinct sect...2022-04-22T16:00:09ZRomain Failliot[discussion] Split OpenGL and OpenGL ES extra extensions in two distinct sectionsHi! (maintainer of https://mesamatrix.net here)
I'd like to know if you'd be OK to split the section "Extensions that are not part of any OpenGL or OpenGL ES version" in two.
The rational behind is that I'd like to include the extra ex...Hi! (maintainer of https://mesamatrix.net here)
I'd like to know if you'd be OK to split the section "Extensions that are not part of any OpenGL or OpenGL ES version" in two.
The rational behind is that I'd like to include the extra extensions within each main sections and have only 4 main sections:
1. OpenGL
2. OpenGL ES
3. Vulkan
4. OpenCL
Right now this is how it is split:
1. OpenGL
2. OpenGL ES
3. Extensions that are not part of any OpenGL or OpenGL ES version
4. Vulkan
5. Extensions that are not part of any Vulkan version
6. OpenCL
7. Extensions that are not part of any OpenCL version
8. Vendor-specific extensions that are not part of any OpenCL version
I'm willing to do the changes, but I wanted to discuss here first.https://gitlab.freedesktop.org/mesa/mesa/-/issues/5625Gitlab's wiki button on left panel should point to docs.mesa3d.org2022-01-30T22:10:05ZFilip GawinGitlab's wiki button on left panel should point to docs.mesa3d.orgI've seen in another project on freedesktop (don't remember which one) that it's possible to use wiki's icon/button as hyperlink to external website.I've seen in another project on freedesktop (don't remember which one) that it's possible to use wiki's icon/button as hyperlink to external website.https://gitlab.freedesktop.org/mesa/mesa/-/issues/7286document how to running llvmpipe depq test locally2023-03-15T18:02:13ZYonggang Luodocument how to running llvmpipe depq test locally```
rm -rf artifacts
mkdir artifacts
curl -o artifacts/install.tar https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28401135/artifacts/raw/artifacts/install.tar
docker run --privileged -it --rm -v $PWD:/builds/mesa/mesa/ -w /builds/mesa/...```
rm -rf artifacts
mkdir artifacts
curl -o artifacts/install.tar https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28401135/artifacts/raw/artifacts/install.tar
docker run --privileged -it --rm -v $PWD:/builds/mesa/mesa/ -w /builds/mesa/mesa/ \
-e LIBGL_ALWAYS_SOFTWARE=true -e GALLIUM_DRIVER=llvmpipe \
-e FLAKES_CHANNEL=#mesa-swrast-ci \
-e GPU_VERSION=llvmpipe \
-e GALLIVM_PERF=nopt \
-e DEQP_SUITE=llvmpipe \
-e FDO_CI_CONCURRENT=64 \
-e CI_NODE_INDEX=1 \
-e CI_NODE_TOTAL=1 \
registry.freedesktop.org/mesa/mesa/debian/x86_test-gl:2022-09-14-add-jq--2022-09-12-virglrenderer--d5aa3941aa03c2f716595116354fb81eb8012acb \
bash
rm -rf install
tar -xf artifacts/install.tar
LD_LIBRARY_PATH=`pwd`/install xvfb-run --server-args='-noreset' install/deqp-runner.sh
```
Comes from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213#note_1555240https://gitlab.freedesktop.org/mesa/mesa/-/issues/7556docs: Submitting Patches guidelines suggest adding labels, but first time con...2022-10-25T11:12:26ZLuna Novadocs: Submitting Patches guidelines suggest adding labels, but first time contributors don't have permissionhttps://docs.mesa3d.org/submittingpatches.html#submit
Any contributor following these docs for the first time doesn't have the required permissions to assign labels so it isn't possible to follow them.https://docs.mesa3d.org/submittingpatches.html#submit
Any contributor following these docs for the first time doesn't have the required permissions to assign labels so it isn't possible to follow them.https://gitlab.freedesktop.org/mesa/mesa/-/issues/7558docs/ci: spell check the docs on CI2022-10-25T13:05:23ZErik Faye-Lundkusmabite@gmail.comdocs/ci: spell check the docs on CIWe should actively spell-check our docs on CI to prevent needless spelling mistakes.
One approach would be to use [sphinxcontrib-spelling](https://sphinxcontrib-spelling.readthedocs.io/en/latest/), together with a wordlist for project s...We should actively spell-check our docs on CI to prevent needless spelling mistakes.
One approach would be to use [sphinxcontrib-spelling](https://sphinxcontrib-spelling.readthedocs.io/en/latest/), together with a wordlist for project specific jargon, or otherwise missing wordlist entries.
I have hacked this up something [here](https://gitlab.freedesktop.org/kusma/mesa/-/commits/docs-spell-check), but it's still quite noisy. Still missing the CI integration bits, though.https://gitlab.freedesktop.org/mesa/mesa/-/issues/7842Intel: document members of struct mocs in struct isl_device2022-12-06T19:24:57ZC StoutIntel: document members of struct mocs in struct isl_deviceI'm working on integrating Anvil into Fuchsia, which uses a different (non-DRM) system driver and system memory allocator, and it would be helpful to have a good explanation of the purpose and expected behavior of the various mocs config...I'm working on integrating Anvil into Fuchsia, which uses a different (non-DRM) system driver and system memory allocator, and it would be helpful to have a good explanation of the purpose and expected behavior of the various mocs configs, especially "external".https://gitlab.freedesktop.org/mesa/mesa/-/issues/7890[meta] Improve documentation of Mesa basics for new contributors2023-01-12T14:36:41ZEric Engestromeric@engestrom.ch[meta] Improve documentation of Mesa basics for new contributorsWe could definitely make some improvements to our documentations when it comes to "first steps for someone who know how to write code but doesn't know Mesa".
As @alyssa mentioned on IRC, dEQP's documentation isn't exactly beginner-frien...We could definitely make some improvements to our documentations when it comes to "first steps for someone who know how to write code but doesn't know Mesa".
As @alyssa mentioned on IRC, dEQP's documentation isn't exactly beginner-friendly either, so we could include a simple version of that, as well as piglit and other test suites.
Content ideas:
- how to build and run tests, to verify changes: dEQP and piglit at least, and anholt's parallel runners (including how to get a drivers' skip/fail/flake lists, so contributors can tell apart their own bugs from pre-existing issues); mention how to use `meson devenv` and/or how to set up env vars for non-system installs
- explanation of common code vs driver code: how it's organised in gallium and in vulkan, src/compiler/ vs src/vendor/compiler/, where different kinds of changes should be done
- how to use drm-shim to work on compiler changes when you don't have the hardware
- ...
Each driver should also try to document:
- its main components (compiler, helper libs, vulkan driver, gl driver)
- where the hardware documentation can be found (if applicable :fingers_crossed:)
Parts of the above are themselves beginner-friendly tasks (for some value of `$beginner`); contributions to our documentation are always welcome, so don't hesitate to post an MR explaining to the next person what you just figured out how to do :)
Our documentation is in `docs/` in this repo, and is published on [docs.mesa3d.org](https://docs.mesa3d.org). Feel free to ping me (by including `@eric` in your MR or a comment) if you don't know who else to ping for review.https://gitlab.freedesktop.org/mesa/mesa/-/issues/7955panfrost: Notes on getting started writing Valhall compiler patches2022-12-24T04:03:56ZAlyssa Rosenzweigpanfrost: Notes on getting started writing Valhall compiler patchesThe issue is turning this into proper getting started docs. You can help there!
```
03:36 < alyssa> q4a: If you're interested in learning about compilers, there's a lot of "low hanging" tasks in the Valhall compiler you could work on
03...The issue is turning this into proper getting started docs. You can help there!
```
03:36 < alyssa> q4a: If you're interested in learning about compilers, there's a lot of "low hanging" tasks in the Valhall compiler you could work on
03:36 < alyssa> instruction selection optimizations and such
03:37 < q4a> Yes. I'm interested
03:37 < alyssa> stuff that probably doesn't actually help fps in real workloads, so I can't justify spending time on anymore, but are lots of funs and good learning experiences
03:37 < alyssa> Okie
03:38 < alyssa> I can write up some issues on gitlab about ideas to work on
03:38 < q4a> it will be great!
03:38 < alyssa> :D
03:39 < q4a> I need specific kernel for that tasks?
03:40 < alyssa> Mmh, that's tricky
03:40 < alyssa> What Mali hardware do you have other than v10?
03:40 < q4a> rk3288
03:40 < alyssa> right. different compiler then.
03:40 < alyssa> Mmh, most of what I have in mind you would be writing unit tests for
03:41 < alyssa> so it actually shouldn't matter what hw you have
03:41 < alyssa> once your unit tests pass, obviously i would run it through deqp on v9
03:41 < alyssa> which reminds me we really need to get v9 in CI
03:41 * alyssa mumbles
03:44 < alyssa> q4a: So, for environment, I recommend setting up drm-shim
03:44 < alyssa> https://docs.mesa3d.org/drivers/panfrost.html#drm-shim
03:45 < alyssa> and shader-db https://gitlab.freedesktop.org/mesa/shader-db
03:45 < alyssa> with the commands there you can then run panfrost's compilers for any target GPU you like on a shader you craft, or on a big pile of shaders as you choose
03:45 < alyssa> readme for shader-db helps
03:45 < alyssa> `python3 report.py before.txt after.txt` will generate some nice stats
03:46 < alyssa> or, would. I think you need a patch I forgot to upstream
03:46 < q4a> All this should work on rk3288?
03:47 < alyssa> sure
03:47 < alyssa> or an x86 machine or whatever
03:47 < alyssa> only requirement is that you're running Linux (or maybe BSD)
03:47 < alyssa> https://rosenzweig.io/shader-db-patch.txt <-- this patch to shader-db will make report.py work
03:48 < alyssa> with valhall
03:48 < alyssa> as the docs explain, PAN_GPU_ID=9093 will target a Valhall processor as you want
03:48 < alyssa> I have an alias "run-g57" that expands to "LD_PRELOAD=~/mesa/build/src/panfrost/drm-shim/libpanfrost_noop_drm_shim.so PAN_GPU_ID=9093 ./run"
03:49 < alyssa> I guess the proper way to do your own mesa builds now is to run `meson devenv` inside of your `mesa/build/` folder
03:49 < alyssa> within the proper mesa devenv, with drm-shim as above I can run e.g
03:50 < alyssa> $ run-g57 shaders/glmark/1-18.shader_test
03:50 < alyssa> and it'll print out some stats about the shader it compiled:
03:50 < alyssa> shaders/glmark/1-18.shader_test - MESA_SHADER_POSITION shader: 30 inst, 3.000000 cycles, 0.343750 fma, 0.062500 cvt, 0.062500 sfu, 0.000000 v, 0.000000 t, 3.000000 ls, 16 quadwords, 2 threads, 0 loops, 0:0 spills:fills
03:50 < alyssa> shaders/glmark/1-18.shader_test - MESA_SHADER_VARYING shader: 123 inst, 6.000000 cycles, 1.515625 fma, 0.109375 cvt, 0.812500 sfu, 0.000000 v, 0.000000 t, 6.000000 ls, 64 quadwords, 2 threads, 0 loops, 0:0 spills:fills
03:50 < alyssa> shaders/glmark/1-18.shader_test - MESA_SHADER_FRAGMENT shader: 22 inst, 0.250000 cycles, 0.093750 fma, 0.187500 cvt, 0.062500 sfu, 0.250000 v, 0.000000 t, 0.000000 ls, 16 quadwords, 2 threads, 0 loops, 0:0 spills:fills
03:50 < alyssa> and if I want to see the assembly
03:50 < alyssa> `BIFROST_MESA_DEBUG=shaders run-g57 shaders/glmark/1-18.shader_test` will show me the asm
03:50 < alyssa> and intermediate IR and so on
03:51 < alyssa> https://rosenzweig.io/output.txt
03:51 < alyssa> at the top is the final optimized NIR shader
03:52 < alyssa> next up is the final optimized Valhall instructions, but before register allocation
03:52 < alyssa> next up is the shader after register allocation
03:53 < alyssa> then ^ plus the late Valhall specific passes that aren't used on Bifrost
03:53 < alyssa> finally, a disassembly of the compiled shader itself, i.e. what the hardware actually executes
03:53 < alyssa> Looking at that shader, already lots of little inefficiencies jump out
```https://gitlab.freedesktop.org/mesa/mesa/-/issues/8223zink: WHY IS MY GAME FPS BAD? (tracking ticket)2023-05-10T16:05:44ZMike Blumenkrantzzink: WHY IS MY GAME FPS BAD? (tracking ticket)Tracking ticket for games that are known to stutter or have otherwise bad perf during gameplay, ideally with explanations. Post functioning games on https://gitlab.freedesktop.org/mesa/mesa/-/issues/8930
If you're on RADV, ensure that y...Tracking ticket for games that are known to stutter or have otherwise bad perf during gameplay, ideally with explanations. Post functioning games on https://gitlab.freedesktop.org/mesa/mesa/-/issues/8930
If you're on RADV, ensure that you are using at least v23.1-rc1 or running with `RADV_PERFTEST=gpl` in your env.
# GAMES WITH BAD PERF (Triaged)
* **OpenMW** - https://gitlab.freedesktop.org/mesa/mesa/-/issues/8678
* uses legacy GL features (ucp, GL_CLAMP) without precompile https://gitlab.freedesktop.org/mesa/mesa/-/issues/8746
# Uncategorized
## RADV
* Giftscop (-force-opengl, WINE): Stuttery frames leading to unplayable performance.
## ANV
* Gravel (works but is too slow, too much for uhd 630)
* MXGP 3 (works but is too slow, too much for uhd 630)https://gitlab.freedesktop.org/mesa/mesa/-/issues/8930zink: GAMES THAT WORK (tracking ticket)2024-01-12T02:09:32ZMike Blumenkrantzzink: GAMES THAT WORK (tracking ticket)This is the other half of https://gitlab.freedesktop.org/mesa/mesa/-/issues/8223. If you've tried a game and it works, post here with driver info/quirks so a list can be compiled.
## Games That Work With Zink
|Game|AMD (PRO)|AMDVLK|Inte...This is the other half of https://gitlab.freedesktop.org/mesa/mesa/-/issues/8223. If you've tried a game and it works, post here with driver info/quirks so a list can be compiled.
## Games That Work With Zink
|Game|AMD (PRO)|AMDVLK|Intel (ANV)|NVIDIA|RADV|Turnip|
|----|---------|------|-----|------|----|------|
|0.A.D|||Yes|||
|AaaaaAAaaaAAAaaAAAAaAAAAA!!! for the Awesome|||Yes|||
|Alien: Isolation|||||Yes||
|Aleph One|||||Yes||
|American McGee's Alice|||Yes||Yes||
|American Truck Simulator|||||Yes||
|Amnesia: A Machine for Pigs|||||Yes||
|Amnesia: The Dark Descent|||||Yes||
|Apocalyptica (2003)|||Yes|||
|Atari50|||||Yes||
|Awesomenauts|||||Yes||
|Back to Bed|||Yes||Yes||
|Bastion|||||Yes||
|Beholder|||||Yes||
|BioShock Infinite|||Yes||Yes||
|Bit Trip Runner 2|||Yes||||
|Blasphemous|||||Yes||
|Bound By Flame|||Yes||||
|Brutal Legend|||Yes||Yes||
|Combat Master|||Yes||||
|Celeste|||||Yes||
|Cities in Motion|||||Yes|Yes|
|Counter-Strike|||Yes|Yes|Yes||
|Counter-Strike: Condition Zero|||Yes||||
|Counter-Strike: Global Offensive|||Yes|Yes|Yes||
|Counter-Strike: Source|||Yes||Yes||
|Crusader Kings II|||||Yes||
|Dead Island|||Yes||||
|Deus Ex: GOTY|||||Yes||
|DevilutionX (Diablo Open Source)|||Yes||||
|DiRT Rally|||||Yes||
|Dirt Showdown|||Yes||||
|Divinity: Original Sin EE|||||Yes||
|DOOM2016|||Yes|Yes|Yes||
|DOOM 3 (DHEWM3)|||Yes||
|DOOM 3: BFG Edition|||||Yes||
|DOOM 64|||||Yes||
|Dune: Spice Wars|||||Yes||
|Dust: An Elysian Tail|||Yes||Yes||
|Dyscourse|||||Yes||
|Euro Truck Simulator 2|||||Yes||
|Europa Universalis IV|||||Yes||
|Façade|||||Yes||
|FEZ|||||Yes||
|Fishing Planet|||||Yes||
|Forward to Sky|||Yes||||
|Frozen Bubble|||||Yes||
|Grim Fandango Remastered|||||Yes||
|Grow Home|||Yes||||
|Guacamelee! Gold Edition|||Yes||||
|Half-Life|||||Yes||
|Half-Life 2|||Yes|Yes|Yes|Yes|
|Hollow Knight|||||Yes||
|Homeworld 1 & 2 Classics|||||Yes||
|Homeworld Remastered|||||Yes||
|Homeworld 2 Remastered|||||Yes||
|Horizon Chase Turbo|||Yes||||
|Hyperdimension Neptunia Rebirth 1|||Yes||||
|Hypnospace Outlaw|||||Yes||
|Ion Fury|||||Yes||
|iortcw|||||Yes||
|Killing Floor|||Yes||||
|Left 4 Dead 2|||||Yes||
|Life Is Strange|||Yes||||
|LIMBO|||||Yes||
|Metro: Last Light Redux|||||Yes||
|Minecraft (+Sodium)|||||Yes||
|Monaco|||Yes||||
|Never Winter Nights EE|||Yes||||
|Nuclear Dawn|||Yes||||
|OpenNox|||Yes||||
|OpenRCT (Roller Coaster Tycoon)|||Yes||||
|Opus Magnum|||||Yes||
|Outland|||Yes||||
|Outlast|||Yes||||
|Overlord|||Yes||||
|PICO-8|||||Yes||
|Plague Inc: Evolved|||||Yes||
|Poi|||Yes||||
|Postal 2|||||Yes||
|Prey (2006)|||Yes||||
|Prison Architect|||||Yes||
|Psychonauts|||||Yes||
|QuakeSpasm-Spiked|||||Yes||
|RAGE|||||Yes||
|Saints Row The Third|||Yes||||
|Salt and Sanctuary|||||Yes||
|Sauerbraten|||Yes||||
|Shadow Blade|||Yes||||
|Shadowrun: Dragonfall - DC|||||Yes||
|Shadowrun: Hong Kong EE|||||Yes||
|Shadwen|||Yes||||
|Shovel Knight: Treasure Trove|||||Yes||
|Slipstream|||Yes||||
|[sm64ex](https://github.com/sm64pc/sm64ex)|||||Yes||
|Sonic Robo Blast 2|||||Yes||
|Space Cadet Pinball|||||Yes||
|Spec Ops: The Line|||Yes||
|Speedrunners|||||Yes||
|Sundered|||||Yes||
|Super Meat Boy|||||Yes||
|Supertuxkart|||||Yes||
|Surviving Mars|||||Yes||
|Team Fortress 2|||Yes|Yes|Yes||
|Terraria|||||Yes||
|The Chronicles of Riddick: Escape from Butcher Bay|||||Yes||
|The Darkest of Days|||Yes|||
|The Force Engine|||Yes||Yes||
|The Jackbox Party Pack (all versions?)|||||Yes||
|The King of Fighters XIV|||Yes||Yes||
|The Long Dark|||||Yes||
|Tomb Raider (2013)|||`EXT_shader_object`|Yes|`EXT_shader_object`||
|Torchlight II|||Yes||||
|Unreal Tournament (1999) GOTY|||||Yes||
|Valheim|||||Yes||
|Warhammer 40,000: Dawn of War|||Yes|Yes|Yes||
|Wolfenstein: The New Order|||||Yes||
## Emulators That Work With Zink
|Emulator|AMD (PRO)|AMDVLK|Intel (ANV)|NVIDIA|RADV|Turnip|
|----|---------|------|-----|------|----|------|
|Ares|||Yes||||
|DosBOX-Staging|||||Yes||
|Fceux|||Yes||||
|Hades|||Yes||||
|jGB|||Yes||||
|Mame|||Yes||Yes||
|mGBA|||Yes||||
|Mupen64plus (Rosalie's Mupen GUI)|||Yes||||
|NanoBoyAdvance|||Yes||||
|Peanut-GB|||Yes||||
|Punes|||Yes||||
|SameBoy|||Yes||Yes||
|SkyEmu|||Yes||||
|Xemu|||Yes||Yes||https://gitlab.freedesktop.org/mesa/mesa/-/issues/8943zink: GAMES THAT DON'T RENDER GOOD (tracking ticket)2024-01-08T09:30:27ZMike Blumenkrantzzink: GAMES THAT DON'T RENDER GOOD (tracking ticket)This is the complement to #8930 and #8223. If a game has rendering issues (or crashes), post here about it with system info so it can be analyzed and fixed.
# Games With Driver-specific Issues (Triaged)
|Game|AMD (PRO)|AMDVLK|Intel (ANV...This is the complement to #8930 and #8223. If a game has rendering issues (or crashes), post here about it with system info so it can be analyzed and fixed.
# Games With Driver-specific Issues (Triaged)
|Game|AMD (PRO)|AMDVLK|Intel (ANV)|NVIDIA|RADV|Turnip|
|----|---------|------|-----|------|----|------|
# Games With Zink Issues (Triaged)
|Game|Issue|MR|
|----|---------|-|
|Cities: Skylines|https://gitlab.freedesktop.org/mesa/mesa/-/issues/8993|https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22876|
|Descenders|#8970|https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22876|
|This War of Mine|https://gitlab.freedesktop.org/mesa/mesa/-/issues/8994|
|Wolfenstein: The Old Blood|https://gitlab.freedesktop.org/mesa/mesa/-/issues/8974, https://gitlab.freedesktop.org/mesa/mesa/-/issues/8988|https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22902, ???|
# Uncategorized
## RADV
* Wargame: Red Dragon (some minor rendering glitches)
* Kerbal Space Program (seemed to work at first, but ran into performance and rendering issues)
* BioShock Infinite (ran fine for 10-15m but then it froze)
* Black Mesa rendering issues on main menu?
## ANV
* Borderlands 2 (begin work with lastest mesa but character show some issues)
* Shadow Warrior (begin work in my case with lastest mesa but is unstable)
* StarWars The Knights of Old Republic II (but with texture mods, textures dont appear)https://gitlab.freedesktop.org/mesa/mesa/-/issues/9787src/compiler/nir/README's register section is outdated2023-10-22T14:40:15ZGeorg Lehmannsrc/compiler/nir/README's register section is outdatedInstructions can no longer work directly with registers.Instructions can no longer work directly with registers.https://gitlab.freedesktop.org/mesa/mesa/-/issues/10586vblank_mode is missing documentation?2024-02-25T14:30:44ZGrabbenDvblank_mode is missing documentation?I'm researching ways of adjusting the VSYNC behavior (to debug https://gitlab.freedesktop.org/drm/amd/-/issues/3166 & https://gitlab.freedesktop.org/drm/amd/-/issues/2066) and following options are widely discussed:
- `vk_xwayland_wait_r...I'm researching ways of adjusting the VSYNC behavior (to debug https://gitlab.freedesktop.org/drm/amd/-/issues/3166 & https://gitlab.freedesktop.org/drm/amd/-/issues/2066) and following options are widely discussed:
- `vk_xwayland_wait_ready` which seems to have sane defaults https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27074
- `MESA_VK_WSI_PRESENT_MODE` can be found here: https://docs.mesa3d.org/envvars.html
- **`vblank_mode` doesn't have any documentation?**
(P.S. sorry if this is not the right place to report issues with documentation, wasn't sure where to ask)https://gitlab.freedesktop.org/mesa/mesa/-/issues/10590GL_EXT_disjoint_timer_query not listed in docs/features.txt2024-02-12T11:26:21Zi509VCBGL_EXT_disjoint_timer_query not listed in docs/features.txtI think the list will probably be very similar to the list for `GL_ARB_timer_query`I think the list will probably be very similar to the list for `GL_ARB_timer_query`https://gitlab.freedesktop.org/mesa/mesa/-/issues/10819[Doc issue] swizzle for nir_alu_src2024-03-15T03:17:46ZJunsu Jason[Doc issue] swizzle for nir_alu_src`src/compiler/nir/nir.h`
```
* Note that which elements of the swizzle are used and which are ignored
* are based on the write mask for most opcodes - for example, a statement
* like "foo.xzw = bar.zyx" would have a writemask...`src/compiler/nir/nir.h`
```
* Note that which elements of the swizzle are used and which are ignored
* are based on the write mask for most opcodes - for example, a statement
* like "foo.xzw = bar.zyx" would have a writemask of 1101b and a swizzle
* of {2, 1, x, 0} where x means "don't care."
```
I think there is a litte issue in this description, {2, 1, x, 0} should be replaced with {2, x, 1, 0}. the second channel should be for y