|23 Mar 2020|
|04:52:47||Austin Johnson (Gitter)|| you are taking the last frames future |
previous_frame_end.take().unwrap() joining the future where you acquire the image you are presenting to
.join(acquire_future). This is the one that can limit frame rate. Then you are saying with
.then_execute(queue.clone(), command_buffer).unwrap() after the acquire excute the command that you built.
.then_swapchain_present(queue.clone(), swapchain.clone(), image_num) after the command you built finishes present it to the image. note the swapchain and image_num are from the acquire. The present I think also can limit frame rate. Finally the
.then_signal_fence_and_flush(); is saying that with the combination of all previous futures wait for all them to complete before doing anything else.
|04:55:00||Austin Johnson (Gitter)|| When you break everything down vulkano's code will follow the general flow of other vulkan how to's, just that ours will have more saftey and simify some of the operations. |
|26 Mar 2020|
|01:51:16||Wylie Кулик (Gitter)||yeah I made a lot of progress, thank you.|
|01:52:40||Wylie Кулик (Gitter)|| Right now I'm trying to figure out how to |
then_execute (in the
future = previous_frame_end.take()[...] multiple command buffers. I have a terrain mesh I want routed to one vertex shader, and my aircraft model routed to another shader.
|02:09:13||Wylie Кулик (Gitter)|| When I write two |
.then_executes in the same
previous_frame_end chain, the final one overrides the initial.
|04:40:44||Wylie Кулик (Gitter)||I see I need to use a secondary cb, what I was trying is using two primary cbs.|
|04:54:44||Wylie Кулик (Gitter)|| I need to pass a |
RenderPassAbstract, so how to get that? how to invoke this secondary command buffer ?
|05:15:39||Wylie Кулик (Gitter)|| Okay I think I figured all that out, using |
render_pass.clone() for previous questions. Now I'm getting the compiler complaints about non-safety, so I guess I should try wrapping a bunch of this code in an
unsafe block, right? How much of it...?
|05:17:43||Wylie Кулик (Gitter)|| Everything solved... except the |
RenderPassAbstract reference for the secondary command buffer definition.
|05:37:33||Wylie Кулик (Gitter)|| I'm trying to use |
Subpass and give it like
framebuffers[image_num] stuff like that...
|05:37:58||Wylie Кулик (Gitter)|| That's for the |
|05:43:57||Wylie Кулик (Gitter)||My framerates are pretty good btw.|
|05:44:29||Wylie Кулик (Gitter)||I was just wondering if there was a default or something.|
|06:28:17||Wylie Кулик (Gitter)||Solved the Subpass reference issue. Full steam ahead and all that...|
|06:28:31||Wylie Кулик (Gitter)||I have no more questions or comments at this time...|
|27 Mar 2020|
|23:29:12||antonino (Gitter)|| Hi, I'm rendering a scene twice and the second time i render it I use Equal for depth testing. It works until I put a compute dispatch in between the two, the depth gets all corrupted so I guess the layout isn't being transitioned. For the second pass on the scene I'm binding it to the frame buffer but not writing to it. Any ideas? |
|29 Mar 2020|
|01:03:40||Wylie Кулик (Gitter)|| I'd be interested if the design of the API assumed people would be doing graphics or compute applications. I hadn't considered doing both in the same application. Interesting. |
|10:31:01||Austin Johnson (Gitter)|| @pac85_gitlab dispatches don't automatically insert any pipeline barriers atm. I don't think anyways. You may have to split the command up and put a fence in there. |
|17:31:00||Wylie Кулик (Gitter)|| I'm working with the example "runtime-shader" in order to set up a live reload development studio. I've gotten my source compiled to spirv with shaderc but can't figure out how to write this to file. &[u32] doesn't write... Was using |
fs::write then switched to
let mut f = File::create(...) and
|17:32:15||Austin Johnson (Gitter)|| |
|17:32:22||Austin Johnson (Gitter)||hmm|
|17:32:23||Austin Johnson (Gitter)||nvm|
|17:32:26||Austin Johnson (Gitter)||still a u32|
|17:33:44||Austin Johnson (Gitter)|| |
|17:35:56||Wylie Кулик (Gitter)||ah thanks !|
|17:38:18||Wylie Кулик (Gitter)||Works Thankyou!!!|
|19:46:13||antonino (Gitter)|| @AustinJ235 this seems very strange to me, the various passes that i described are all on different command buffers and there are fences between their submissions. Your are telling me that disoatches don't involve layout transtion and yet wether i execute that particular compute shader that only reads the depth buffer it screws up. |
|19:47:29||antonino (Gitter)|| (edited) ... that disoatches don't involve layout transtion and yet wether i execute that particular compute shader that only reads the depth buffer it ... => ... that dispatches don't involve layout transtion and yet wether i execute that particular compute shader that only reads the depth buffer makes a difference on wether the depth buffers it ... |
|19:47:44||antonino (Gitter)|| (edited) ... buffers itscrews ... => ... buffers screws ... |
|19:47:58||Austin Johnson (Gitter)|| I haven't really looked to deeply into the command code, only enough to fix the one bug. More eyes would be helpful. |