Subject | Hash | Author | Date (UTC) |
---|---|---|---|
gpu data destroy queue infinite loop bug fix | eae02d74cb1c0cfa780d2038c12c6c568e9845d4 | Jackalope | 2020-03-29 09:05:16 |
jlib update | 3137705c28c8dcbda3c742361cb31a040cf172cd | Jackalope | 2020-03-29 07:07:37 |
cube TOP and BOTTOM faces correct coordinates | ad27c4322f9103d03891aadee452f52c7ec7eed1 | Jackalope | 2020-03-29 07:04:29 |
wrong atlas result value in assertion fixed | a4776dc8935865640a12036be41b79084d762f82 | Jackalope | 2020-03-28 12:56:37 |
removed #pragma once from main file | 1054379a52420eba68f62305675c3928dbd6a4ed | Jackalope | 2020-03-28 12:56:02 |
some identation fixes | a7f2ba135bb6c8195682564727c1bd39721b8b17 | Jackalope | 2020-03-25 13:25:29 |
mesh library refactoring | 4dd908c51d97035ed26cb1c413685c1a8ab15c77 | Jackalope | 2020-03-25 13:24:43 |
removed old unmaintained directory | 75b147dd4dc5d3592da21a707ac301cd46eaaf3d | Jackalope | 2020-03-19 19:35:03 |
shader specialization constants support | 932cd42ce93f89bd2c6b0a3a37eb9b74482f0d13 | Jackalope | 2020-03-09 04:58:58 |
compute module staging support | 99a1a110c75a021e956b8ad5c481f269d693e078 | Jackalope | 2020-03-06 07:06:36 |
changed compute stage flag name (was wrong) | 0e21df1430ac55c1dbc8a0f1969ffb1ec303b870 | Jackalope | 2020-03-06 06:59:38 |
changed compute interface to support reading after and writting before computing, staging is not supported yet | 173f29331f5ebb5206f4086d58e93689eb85df96 | Jackalope | 2020-03-06 05:35:16 |
added staging allocation to Bindings | b74e1cc5e8d80528e48e4f00ae215c547c685211 | Jackalope | 2020-03-06 05:34:04 |
Separate ComputeCmdUnit for cmds and syncs | 9dc0a4a62e6fa68e60cfbd420eff61d8ee4334f0 | Jackalope | 2020-03-06 04:02:24 |
Compute descriptor set improvement, support for different descriptor types | 5aad5ee0e4304b2035a652f4d4ca28e7a75bc93d | Jackalope | 2020-02-29 16:10:50 |
changed doxygen commentary style in DevMemUse description | 9e9a548d6c50363a841af5d4897268aadba6ebed | Jackalope | 2020-02-29 16:08:33 |
make buffer functions const | 24e343bc583629d08fad4d3dadb36a2fd72a4ca7 | Jackalope | 2020-02-29 16:08:04 |
added missing check in draw_drame | cc6483e804d463fe4d1c41746692ec98bfbe53e8 | Jackalope | 2020-02-19 12:40:19 |
solved freee bug, draw data have pointer to user light data instead of applying every frame | f60e7d3908651512a90488966141620306d54151 | Jackalope | 2020-02-19 10:50:22 |
solved lights flickefing issue | c5cad408d3d9d908ac52760ebf1c42e7d578e61e | Jackalope | 2020-02-19 10:48:46 |
File | Lines added | Lines deleted |
---|---|---|
src/graphics/gpu_transfer/gpu_transfer.cpp | 13 | 16 |
File src/graphics/gpu_transfer/gpu_transfer.cpp changed (mode: 100644) (index def3fbf..9671615) | |||
... | ... | C_ENOMEM: | |
233 | 233 | template<typename Resource> | template<typename Resource> |
234 | 234 | void destroy_res(jen::vk::GpuTransfer *p_gt, Resource *p_resource) | void destroy_res(jen::vk::GpuTransfer *p_gt, Resource *p_resource) |
235 | 235 | { | { |
236 | for(;;) | ||
237 | { | ||
238 | if (p_resource->state != jen::vk::State::LOADING) { | ||
239 | p_gt->data.destroy(p_resource); | ||
240 | return; | ||
241 | } | ||
242 | |||
243 | p_gt->queues.lock.lock(); | ||
244 | for(;;) { | ||
245 | bool inserted = p_gt->queues.insert_to_remove(p_resource); | ||
246 | if (inserted) | ||
247 | break; | ||
248 | p_gt->queues.condition.wait(&p_gt->queues.lock); | ||
249 | } | ||
250 | p_gt->queues.lock.unlock(); | ||
251 | } | ||
236 | if (p_resource->state != jen::vk::State::LOADING) { | ||
237 | p_gt->data.destroy(p_resource); | ||
238 | return; | ||
239 | } | ||
240 | |||
241 | p_gt->queues.lock.lock(); | ||
242 | for(;;) { | ||
243 | bool inserted = p_gt->queues.insert_to_remove(p_resource); | ||
244 | if (inserted) | ||
245 | break; | ||
246 | p_gt->queues.condition.wait(&p_gt->queues.lock); | ||
247 | } | ||
248 | p_gt->queues.lock.unlock(); | ||
252 | 249 | } | } |
253 | 250 | ||
254 | 251 | void jen::vk::GpuTransfer::destroy(GpuData *p_resource) | void jen::vk::GpuTransfer::destroy(GpuData *p_resource) |