Sender | Message | Time |
---|---|---|
30 Jan 2021 | ||
Redacted or Malformed Event | 12:08:27 | |
2 Feb 2021 | ||
09:39:15 | ||
Hello is there a headless example in Vulkano? | 09:39:16 | |
11:03:28 | ||
@wangranca you don't have to, vulkano does this automatically for you. | 11:03:28 | |
@ChousX try Framebuffer::start(rp.clone()).add(swapchain_images[i].clone()).unwrap().build().unwrap() | 11:13:23 | |
that creates a framebuffer you can use for drawing into the corresponding swapchain image | 11:14:05 | |
24 Feb 2021 | ||
11:02:56 | ||
Hi folks. I have a question about vulkano_shaders if I may please? | 11:02:57 | |
I'd like to build a shader programatically - have the text for the GLSL loaded in. I'm not sure how to go about that as it seems vulkano-shaders want you to hardcode the shader into a mod. | 11:03:56 | |
I think the big problem I'm having is this line:codegen::reflect("Shader", content.as_binary(), input.types_meta, input.dump)
.unwrap()
.into() | 11:08:15 | |
* I think the big problem I'm having is this line: codegen::reflect("Shader", content.as_binary(), input.types_meta, input.dump) .unwrap() .into() | 11:08:38 | |
* I think the big problem I'm having is this line: '''codegen::reflect("Shader", content.as_binary(), input.types_meta, input.dump) .unwrap() .into()''' | 11:08:58 | |
* I think the big problem I'm having is this line:codegen::reflect("Shader", content.as_binary(), input.types_meta, input.dump)
.unwrap()
.into() | 11:09:41 | |
Essentially, whatever this spits out, I'd like to capture. But it gets caught inside a mod. I wonder, is this being generated at compile time? Having a difficult time deciphering what this macro is doing | 11:11:01 | |
Ideally, I'd like to pass a string into a function and get a variable back that represents my shader, for use in other parts of the vulkano pipeline. It looks like this might be quite a hack to do with vulkano_shaders | 11:51:31 | |
Looks like this might be useful: https://github.com/vulkano-rs/vulkano/blob/master/examples/src/bin/runtime-shader/main.rs | 11:54:08 | |
Yes, this is perhaps more what I'm looking for. Panic over. | 12:08:01 | |
17:03:03 | ||
25 Feb 2021 | ||
20:37:32 | ||
Hello! I was trying to work with the openxr crate (https://crates.io/crates/openxr), but it wraps some of the resource creation (in particular, it wraps instance, physical device, and swapchain initialization). What is the "correct" way to construct the corresponding vulkano types from the raw handles that openxr (or any other api) returns? | 21:02:49 | |
26 Feb 2021 | ||
14:03:21 | ||
Redacted or Malformed Event | 14:03:22 | |
27 Feb 2021 | ||
20:27:06 | ||
Hey :)
I have the same problem, did you find a solution @ChevyRay ? | 20:27:07 | |
28 Feb 2021 | ||
10:00:10 | ||
5 Mar 2021 | ||
06:43:08 | ||
@OniDaito Hi! Sorry for delay with the answer. Yes, Runtime shader example is one of the options. Current primary use-case of Vulkano is to use precompiled shaders(built in compile time through the On general note, Vulkano is following a principle(but is not enforces it too strongly) that all shaders normally should be loaded in the beginning and be prepared beforehand. In this case the end-user can gain maximal benefits of GPU capabilities through Vulkan API. GPUs themselves are not very tolerate to shader programs reloading, as it breaks the entire pipeline and all related stuff set up by the device on pipeline creation. Basically GPUs are designed for static programs. That's why Vulkano in turn trying to follow the same approach. This is, however, not always possible, and there could be edge cases when the API user might want to generate shader's code on the fly. One of the possibility as I mentioned is to use the approach from Runtime shader example. But it could be difficult to maintain. Another approach(a limited one, though) is to use Specialization Constants. The API user in fact can prepare large code of the shader that would specialize depending on Specialization Constants values. One can even organize branching depending on the values of constants, the shader loader will optimizes particular specialization statically and eliminate dead code control flows not covered by particular specilization. Just as an idea for you. Please take a look at the specialization constants examples in repository for more details. | 06:43:09 | |
* @OniDaito Hi! Sorry for delay with the answer. Yes, Runtime shader example is one of the options. Current primary use-case of Vulkano is to use precompiled shaders(built in compile time through the On general note, Vulkano is following a principle(but is not enforces it too strongly) that all shaders normally should be loaded in the beginning and be prepared beforehand. In this case the end-user can gain maximal benefits of GPU capabilities through Vulkan API. GPUs themselves are not very tolerate to shader programs reloading, as it breaks the entire pipeline and all related stuff set up by the device on pipeline creation. Basically GPUs are designed for static programs. That's why Vulkano in turn trying to follow the same approach. This is, however, not always possible, and there could be edge cases when the API user might want to generate shader's code on the fly. One of the possibility as I mentioned is to use the approach from Runtime shader example. But it could be difficult to maintain. Another approach(a limited one, though) is to use Specialization Constants. The API user in fact can prepare large code of the shader that would specialize depending on Specialization Constants values. One can even organize branching depending on the values of constants, the shader loader will optimizes particular specialization statically and eliminate dead code control flows not covered by particular specilization. Just as an idea for you. Please take a look at the specialization constants examples in repository for more details. | 06:44:58 | |
@OniDaito, @shiraori:matrix.org , @derivator Dear fellows, I have to apologize I'm not able to maintain the chat regularly. I'm visiting it rarely and noticing new topics came days if not weeks ago. This is my bad, but I just don't have enough resources to response on time. Perhaps, it would be more beneficial for you and for the community if you raise questions and topics in Vulkano repository Issues section. Me and other regular users are watching it more regularly. | 06:50:47 |