Comments (7)
Also @liquidev I do have to say I disagree about Skia being "bloated"β¦then again it may very well be for your paint app, but I use features it provides that no other free software does on the GPU (path dashing, SVG export of canvas, path measurement, boolean operations on paths, etc). Skia seems to have been made with a font editor in mind, because I use almost the entire API, pretty much unheard of lol.
from rafx.
Did you install the vulkan sdk? You could also try running without the vulkan debug layers.
from rafx.
How do I disable the vulkan debug layers? I've browsed some source code, and as far as I can tell they are only disabled in release mode.
from rafx.
I thought this was exposed as an option in the skulpin layers, but I think that code didn't survive the transition to using rafx.
You can change initialization of rafx here:
https://github.com/aclysma/skulpin/blob/73f6ad4c2f88caceda9d548fa895d53f60fc4ee2/skulpin-renderer/src/renderer.rs#L119
I would call new_vulkan()
instead of new()
, this value controls whether validation is enabled or not:
rafx/rafx-api/src/backends/vulkan/api.rs
Line 44 in b93722c
Another idea... you can use cargo overrides to compile upstream crates in release mode (either rafx-api specifically or all of them) https://doc.rust-lang.org/cargo/reference/profiles.html
I highly recommend installing the SDK and keeping the validation layers turned on during development.
I might add support for this (when I'm not on vacation :) ) but to be honest, I don't have any personal use for this project anymore. So I don't plan to add features, and I'll only maintain it as long as it doesn't require significant changes. So if you use this for something serious, please be prepared for the possibility that you will have to fork it.
from rafx.
Sure, installing the SDK isn't a problem for me. I was just wondering if there was a way to disable the debug layers completely, as I'm not really developing things with Vulkan, only using skulpin; cargo profiles seem like the cleanest solution here.
I'm using skulpin (and thus rafx) for my app NetCanv, but since Skia is quite big and bloated I've been meaning to switch away from it, so no pressure.
from rafx.
Happened in MFEKglif just now, see ash-rs/ash#544, @MarijnS95 very kindly helped me figure out it was caused by rafx
and not ash
, and I eventually found this issue.
I'll try your workarounds tomorrow @aclysma.
Just as a comment though:
I highly recommend installing the SDK and keeping the validation layers turned on during development.
I'm not sure this is really necessary for Skulpin, especially if it's a non-maintainer compiling the code, it's been really stable lately. If someone is compiling a debug build of MFEKglif it's very very unlikely they're trying to debug a graphics issue, almost certain they're trying to debug a problem in my code hehe.
from rafx.
Yeah, bloat is a relative term and I was using my little painting app as a baseline when making that comparison.
from rafx.
Related Issues (20)
- Investigate replacing `fnv` with `rustc-hash` for hash maps
- Skip "deduplication" code in frame packet building logic when possible
- Questions About Project HOT 2
- Runtime API Selection HOT 2
- Confusing `rafx_visibility` and `rafx_framework::visiblity` exported as `rafx::visibility` HOT 3
- Is Bincode The Best Serialization Format for Cooked Shader Packages? HOT 1
- Tag The 0.0.13 Release HOT 1
- crash when rendering wireframe with vulkan backend
- Unresolved import `ash::version` HOT 3
- Webgpu support HOT 1
- Composite alpha flag and transparent window HOT 2
- Demo won't run, stuck on "blocked waiting for asset to resolve demo font handle" HOT 2
- crash when running demo in Linux HOT 16
- Make distill optional in the higher level crates, abstract asset handling. HOT 1
- New crate.io release HOT 4
- Add `rafx-dynamic` feature/crate for dynamic linking HOT 2
- Support for MoltenVK in Vulkan 1.3.x SDKs HOT 5
- Framework vulkan RenderGraph misses layout transition from attachment to present_khr if no renderpass callback is registered HOT 2
- Unsound implementation in `memory::{any_as_bytes, any_slice_as_bytes}` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rafx.