Ivan Avdeev
e506158ac1
rt: parse compute and rt shaders too
2022-10-07 08:49:04 -07:00
Ivan Avdeev
5d37985ec5
vk: begin parsing spir-v to find out about shader bindings
2022-10-05 21:39:02 -07:00
Ivan 'provod' Avdeev
3f52f46f7d
update TODO with random notes
2022-09-30 01:05:07 -07:00
Ivan 'provod' Avdeev
86ad30c125
rt: fix dynamic/animated textures
2022-09-17 11:37:52 -07:00
Ivan 'provod' Avdeev
9712ae9c13
rt: fix staging command buffer overlap
...
1. Add one more command buffer to accommodate uploading stuff inbetween frames when there are already 2 frames in flight on GPU.
2. Remove committed from to-upload buffer/image tracking, as it is completely unnecessary.
2022-09-17 10:54:18 -07:00
Ivan 'provod' Avdeev
85899993fe
rt: use flipping buffer for staging mem alloc
2022-09-11 12:09:47 -07:00
Ivan 'provod' Avdeev
2c4d0846d4
rt: reimagine staging
...
- make staging/prep phase use separate command buffer
- flush this command buffer early if needed
- move command pool to its own module
- move shader loading stuff to pipeline module
- cleanup lots of command buffer passing for model loading, it can use staging explicitly now
2022-09-11 11:38:51 -07:00
Ivan 'provod' Avdeev
f93ae5de80
vk: update aftermath to 2022.2; auto install its libraries
2022-09-05 11:23:37 -07:00
Ivan Avdeev
e1b570fc8f
vk: fix no-aftermatch build
2022-09-03 14:24:19 -07:00
Ivan 'provod' Avdeev
61b2ced49f
vk: add experimental nv checkpoints support
...
doesn't really work reliably
2022-09-03 14:04:50 -07:00
Ivan 'provod' Avdeev
0d349848ab
vk: ask validation for sync and best practices
2022-09-03 12:08:46 -07:00
Ivan 'provod' Avdeev
d34bf3aa8d
rt: fix studio models colorful flickering
2022-09-03 11:25:33 -07:00
Ivan 'provod' Avdeev
df09a4e637
rt: move AS management from vk_rtx to vk_ray_accel
...
no functional changes yet.
2022-08-27 12:30:53 -07:00
Ivan 'provod' Avdeev
275417772e
rt: move image-related funcs from vk_rtx to vk_image
2022-08-27 11:39:29 -07:00
Ivan 'provod' Avdeev
77b05af59a
rt: don't forget to fill kusochki with static geometry data on update
...
this also makes dynamic model gpu crashes more salient, investigating
2022-08-27 11:25:09 -07:00
Ivan 'provod' Avdeev
9a335a1e56
(wip) rt: add uploading kusochki on every frame
...
disabled due to severe glitches
2022-08-20 13:56:29 -07:00
Ivan 'provod' Avdeev
501c3d15ad
rt: use staging to upload kusochki
...
fixes more weird square glitches
breaks animated textures, colors and conveyors
2022-08-20 12:13:03 -07:00
Ivan 'provod' Avdeev
7f3dca0993
rt: use proper staging for light uploading
...
also don't upload clusters as we're thinking about sunsetting them in their current form.
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
41e5757c0a
FIXME: rt: try disabling light grid entirely
...
this skips 40ms+ grid upload cost, and seems generally just a few ms more costly than sampling clusters.
however, there are sync glitches for reasons unknown.
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
188d02c4aa
rt: fix shader reloading validation crashes
...
wait for gpu to become idle before trying to recreate pipelines
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
c53f22d028
rt: extract bit array
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
9f6fa0a8cb
rt: make lights data more private
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
0f0a58d1aa
rt: add debug markers to see that uploading lights takes >35ms
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1d2e763baf
rt: add staging buffer for light grid, fix #368
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1d25b718dd
rt: split light metadata/grid bindings back in shader
...
for some reason joining them leads to "invalid spirv" validation errors (and broken lights).
split the bindings back making shaders essentially unchanged, while still keeping a single physical buffer
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
01d4764cf4
vk: do not compile dumbspter
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1b834f37be
rt: join metadata and grid buffers together (breaks validation)
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
608bf020c4
rt: move light metadata uploading to vk_light.c
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
1f741a48a3
rt: hide emissive_textures info
2022-08-15 09:31:13 -07:00
Ivan 'provod' Avdeev
a5efa71ecb
rt: clean vk_light a bit
2022-08-15 09:31:13 -07:00
Ivan Avdeev
202f2b8462
rt: print material load stats
2022-08-13 14:17:43 -07:00
Ivan Avdeev
8ee68935d0
rt: do not print each material texture lookup
2022-08-13 14:17:43 -07:00
NightFox
91df117998
new material paths ( #382 )
2022-08-12 10:27:41 -07:00
Ivan Avdeev
85c55a7fc9
update after merge, make it build and run with rasterizer
...
have not checked ray tracing, or playing longer than a couple of minutes
2022-08-08 00:23:38 -07:00
Ivan 'provod' Avdeev
0d0241d088
vk: recreate swapchain on all errors except fatal
...
Unless we know the error is unrecoverable, try to recreate swapchain anyway.
2022-07-23 14:17:20 -07:00
Ivan 'provod' Avdeev
8291efd08b
rt: fix polygon light clusters on missing pvs
2022-07-23 13:39:37 -07:00
Ivan 'provod' Avdeev
af594203f8
rt: fix point light cluster crash on missing pvs
...
will still crash for polygon lights
2022-07-23 13:39:37 -07:00
Ivan 'provod' Avdeev
9b76f3acb4
rt: fix missing moving polygon lights
2022-07-23 12:06:43 -07:00
NightFox
8baf34768a
correct environment light power
2022-07-23 11:34:57 -07:00
Ivan 'provod' Avdeev
ceea3a614e
vk: do not forget to upload staging without rays
2022-07-23 11:33:15 -07:00
Ivan 'provod' Avdeev
aaab09fd38
vk: remove old ring buffer helper
2022-07-15 00:50:29 -07:00
Ivan Avdeev
394587adbf
vk: remove geometry print stats func
2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
118bdd9985
vk: use debuffer for geometry mem management
2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
a2b083300c
vk: move geometry buffer handling to separate files
2022-07-09 13:37:09 -07:00
Ivan 'provod' Avdeev
da97f664d7
vk: recreate swapchain on exclusive mode lost, fix #365
2022-07-09 12:47:45 -07:00
Ivan 'provod' Avdeev
23ad2096a9
rt: remove old single-pipeline raytracer
2022-07-09 11:54:47 -07:00
Ivan 'provod' Avdeev
0fcd05554a
implement debuffer on top of flipping buffer
2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
b634d6251e
replace debuffer with flipping one where possible
2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
c299ac9ccd
do not overwrite ubo buffers being used
2022-07-09 10:41:59 -07:00
Ivan 'provod' Avdeev
f8ea93656f
do not overwrite staging data until we know it's been uploaded
2022-07-09 10:41:59 -07:00