-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add basic NetBSD support #8695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
Add basic NetBSD support #8695
Conversation
|
FWIW running So, this is unrelated to my changes. Is this platform specific? |
EDIT: s/FreeBSD/NetBSD/, SMH at myself |
|
@ErichDonGubler thanks for the hints. NetBSD doesn't support Vulkan, only OpenGL. So, I would say it should be excluded. I'll have a look at it tomorrow, need to get some sleep first. |
|
@ErichDonGubler May I request further pointers? I've changed But, now |
|
@0323pin: You'll need to make similar |
|
Update from me here: Just waiting on the author to make progress. Excited to see it happen, but no rush. 🙂 |
Lets take it by parts, shall we 🥲 Your earlier suggestion,
got me thinking and, obviously this would be a much better solution. So, thanks for that. Unfortunately, that's over my knowledge level. I don't have a degree in computer sciences, I have a degree in chemistry, statistical thermodynamics and a PhD in organic chemistry 🤣. I got into packaging software because I wanted an open source molecule drawing tool that would run on NetBSD, i.e. mostly by accident. I have asked for help internally. I've been waiting for a reply. If I get none, I will go back to my original plan and try to fix what's left, I still want this fixed. Thanks for keeping this PR open for now. |
|
@ErichDonGubler I didn't get the expected help, so I went with the original plan, i.e. exclusion. With some help from a LLM it is now clippy clean. |
closes gfx-rs#8541 replaces gfx-rs#8679 Tests: Summary [ 149.522s] 469 tests run: 463 passed, 6 failed, 0 skipped FAIL [ 0.095s] naga::naga snapshots::convert_snapshots_spv FAIL [ 0.387s] wgpu-benchmark::bench/wgpu-benchmark Computepass Encoding FAIL [ 0.386s] wgpu-benchmark::bench/wgpu-benchmark Device::create_bind_group FAIL [ 0.378s] wgpu-benchmark::bench/wgpu-benchmark Device::create_buffer FAIL [ 0.389s] wgpu-benchmark::bench/wgpu-benchmark Renderpass Encoding FAIL [ 0.075s] wgpu-test::wgpu-validation api::instance::multi_instance::multi_instance
Match platform support and avoiding cfg mismatches between wgpu and wgpu-core. (with help from LLM)
|
@0323pin: You need to rebase, so CI can actually run (and we can prove we're not accidentally regressing something), but you needn't make another PR; just force-set your branch locally to the new commit stack you want. …or, at least, that's what I would say, if I wasn't going to refute the perceived difficulty of the merge conflict. I only needed to re-apply the I've forced-pushed with a couple of fixes. The tip of the PR is 6000935, which I think is also necessary for |
|
@ErichDonGubler Just so I don't do anything stupid now ... Is this correct? before force pushing. |
* Always run lazy jobs * Fix lazy spirv job * Fix publishing build
…rVariables` directly, not `max_fragment_input_variables`
…or `maxInterStageShaderVariables` errors
…iable` migration
…ne,inter_stage:max_variables_count,input:*`
Extend existing tests to use dynamic indexing of matrices' columns as well static indexing. Add new tests for arrays of matrices.
Two-row matrices in uniform buffers in Vulkan/SPIR-V's default "extended" (std140) layout do not adhere to WGSL/Naga IR's layout rules - each column is aligned to a minimum of 16 bytes rather than just the vector size. To work around this, we emit additional std140 compatible type declarations for each type used in a uniform buffer that requires one. Any two-row matrix struct member is decomposed into the containing struct as separate vectors for each column. Two-row matrices used directly as uniform buffers are wrapped in a struct with a vector member for each column, and arrays (of arrays, etc) of two-row matrices are declared as arrays (of arrays) of structs containing a vector member for each column. When loading such a value from a uniform buffer, we convert from the std140 compatible type to the regular type immediately after loading. Accesses of a uniform two-row matrix's columns using constant indices are rewritten to access the containing struct's vector members directly. Accesses using dynamic indices are implemented by loading and converting the matrix, extracting each column then `switch`ing on the index to select the correct column. We can now remove the expected failure annotation for the Vulkan backend on the uniform_input struct_layout test, as it now passes.
Additionally rename the tests to remove the "hlsl_" prefix.
|
@ErichDonGubler I hope I've done this correctly. At least all checks were successful. |
closes #8541
replaces #8679
Tests:
Summary [ 149.522s] 469 tests run: 463 passed, 6 failed, 0 skipped FAIL [ 0.095s] naga::naga snapshots::convert_snapshots_spv FAIL [ 0.387s] wgpu-benchmark::bench/wgpu-benchmark Computepass Encoding FAIL [ 0.386s] wgpu-benchmark::bench/wgpu-benchmark Device::create_bind_group FAIL [ 0.378s] wgpu-benchmark::bench/wgpu-benchmark Device::create_buffer FAIL [ 0.389s] wgpu-benchmark::bench/wgpu-benchmark Renderpass Encoding FAIL [ 0.075s] wgpu-test::wgpu-validation api::instance::multi_instance::multi_instance
Connections
Link to the issues addressed by this PR, or dependent PRs in other repositories
When one pull request builds on another, please put "Depends on
#NNNN" towards the top of its description. This helps maintainers
notice that they shouldn't merge it until its ancestor has been
approved. Don't use draft PR status to indicate this.
Description
Describe what problem this is solving, and how it's solved.
Testing
Explain how this change is tested.
Squash or Rebase?
If your pull request contains multiple commits, please indicate whether
they need to be squashed into a single commit before they're merged,
or if they're ready to rebase onto
trunkas they stand. In thelatter case, please ensure that each commit passes all CI tests, so
that we can continue to bisect along
trunkto isolate bugs.Checklist
cargo fmt.taplo format.cargo clippy --tests. If applicable, add:--target wasm32-unknown-unknowncargo xtask testto run tests.CHANGELOG.mdentry.