Bill Currie
3144443a82
Allow vulkan_draw to compile when optimizing
...
Even though it's nowhere near done
2020-02-11 12:19:16 +09:00
Bill Currie
29b1d6baf8
Finish up memory stuff
...
For now, of course.
2020-02-11 09:37:04 +09:00
Bill Currie
1baee0cbba
Implement mem mapping and buffer/image copying
2020-02-10 20:42:19 +09:00
Bill Currie
43e37aa31e
Separate out the generic memory stuff
2020-02-10 18:33:29 +09:00
Bill Currie
9fdc15c439
Implement image stuff up to view creation
2020-02-10 18:18:37 +09:00
Bill Currie
f4c0d0ebcf
Implement buffer view creation
...
And rename memory allocation as it's buffer-specific.
2020-02-10 18:17:58 +09:00
Bill Currie
2f9ad73f78
Implement buffer memory up to barriers
...
Still lots to go (views, destruction, transfer...) and I'm uncertain
about the location of the pipeline barrier function.
2020-02-10 15:07:35 +09:00
Bill Currie
8148f256f5
Rework object device caching
...
It turned out I needed access to the physical device from a buffer
object, so rather than storing the vulkan logical device directly in
buffer (and other) objects, store the qfv logical device.
2020-02-07 11:45:05 +09:00
Bill Currie
d3b4e4653e
Cache physical devices in the instance
2020-02-06 19:04:28 +09:00
Bill Currie
6ce87497f3
Fix a potential buffer overflow
...
Highly unlikely to have that many sub models, but it does keep gcc
quiet.
2020-02-06 17:42:21 +09:00
Bill Currie
494f673def
Fix a potential buffer overflow
...
Highly unlikely to have that many sub models, but it does keep gcc
quiet.
2020-02-06 17:38:51 +09:00
Bill Currie
8819d26c95
Fix a compile error
...
not sure how that one got through
2019-10-16 20:57:39 +09:00
Bill Currie
9d09d65d9a
Clean up some export stuff
...
While it's not there yet, the eventual goal is to support multiple
models in the one blend file, so per-object settings is a requirement.
2019-08-20 16:52:43 +09:00
Bill Currie
c14e5623ad
Get the mdl frames script property working
...
Maybe late 2.78+, blender added the ability to use any ID type in
PointerProperty, which is just what I wanted for the frames script.
2019-08-16 22:34:45 +09:00
Bill Currie
839d90981d
Clean up a few last things for blender 2.80
...
Many many thanks to Aleksander Marhall for the initial work.
2019-08-16 22:32:37 +09:00
khreathor
008b5a4d2c
Import/Export fixes after some Blender 2.8 API changes
2019-08-16 21:38:29 +09:00
khreathor
11e5f39fdc
Fix for the export error when there is no Shape Keys available
2019-08-16 21:38:29 +09:00
khreathor
36da80c0d0
Export proper frame names
2019-08-16 21:38:29 +09:00
khreathor
33d114c09e
Set playback/animation range to start from frame 1
2019-08-16 21:38:29 +09:00
khreathor
ff5f9f1831
Add "empty" skin during export for models with no materials or texture nodes
2019-08-16 21:38:29 +09:00
khreathor
3913febace
MDL properties in object panel are back
2019-08-16 21:38:29 +09:00
khreathor
31fa7a81ef
Fix for single skin being marked as skingroup
2019-08-16 21:38:29 +09:00
khreathor
94c3c8c2cb
Skingroup image export order based on texture node position (height) in shader editor. Nodes with higher position are exported first.
2019-08-16 21:38:29 +09:00
khreathor
4f29f57e77
Proper node positioning after import
2019-08-16 21:38:29 +09:00
khreathor
a13c382969
Skingroup images import order fix
2019-08-16 21:38:29 +09:00
khreathor
4d1f05186b
Skingroups export added
2019-08-16 21:38:29 +09:00
khreathor
17e76149a1
Adjust playback range on import, to fit mdl's animation length
2019-08-16 21:38:29 +09:00
khreathor
66fe862a87
Import skingroups as separate materials with skins as textures
2019-08-16 21:38:29 +09:00
khreathor
ae86790e6c
Initial Blender 2.8 changes - it works, now it's time for improvements
2019-08-16 21:38:29 +09:00
khreathor
8112c4e8b6
Moved MDL settings from Object tab to export options/presets
2019-08-16 21:38:29 +09:00
khreathor
90a707f7f9
Export animation range selected with start/end playback range in Timeline Editor
2019-08-16 21:38:29 +09:00
Bill Currie
4957c4f31a
Implement the rest of the command stuff
2019-07-23 13:05:32 +09:00
Bill Currie
a165d67dfa
Add a queue type
2019-07-23 12:37:47 +09:00
Bill Currie
411b897f09
Implement most of the stuff for command submission
2019-07-23 12:28:57 +09:00
Bill Currie
ae11a70147
Correct a comment
2019-07-23 12:27:57 +09:00
Bill Currie
e164002050
Make QuatToMat faster and more accurate
...
The better accuracy is for specific cases (90 degree rotations around a
main axis: the matrix element for that axis is now 1 instead of
0.99999994). The speedup comes from doing fewer additions (multiply
seems to be faster than add for fp, at least in this situation).
2019-07-23 08:52:15 +09:00
Bill Currie
1f24a1408a
Destroy the surface
2019-07-13 01:20:02 +09:00
Bill Currie
dd1c2db249
Clean up the swapchain
...
And be a little safer about it
2019-07-13 01:14:21 +09:00
Bill Currie
b4dc746a66
Clean up the debug callback
2019-07-13 01:11:34 +09:00
Bill Currie
1eafc33052
Ensure vulkan gets shut down
2019-07-13 00:36:21 +09:00
Bill Currie
4e4d1b99b4
Clean up all the system shutdown calls
...
I added Sys_RegisterShutdown years ago and never really did anything
with it: now any system that needs to be shutdown can ensure it gets
shutdown on program exit, and in the correct order (ie, reverse to init
order).
2019-07-12 23:15:26 +09:00
Bill Currie
b2e12d701b
Fix up swapchain creation
...
Things are working again.
2019-07-12 14:09:42 +09:00
Bill Currie
66e7336b62
Initialize device extension checks early
...
They need to be initialized before attempting to load the function
pointers.
2019-07-12 13:37:30 +09:00
Bill Currie
75f19f7243
Completely rework the vulkan related api
...
Things don't work yet, but this feels much cleaner.
2019-07-12 13:34:31 +09:00
Bill Currie
b5828bc2ce
Output validation message severity
...
It's nice knowing if something is an error or otherwise.
2019-07-11 00:58:37 +09:00
Bill Currie
c0bc5cfad6
Implement swapchain creation
2019-07-11 00:58:14 +09:00
Bill Currie
302a462c32
Make SetMouse timeout after 2 seconds
...
This makes sure that some unchecked event doesn't cause a lockup.
However, blocking input is really not the way to go: need to implement a
state machine and use non-blocking event reads.
2019-07-10 22:28:33 +09:00
Bill Currie
980cf58ac5
Wait for the window to be visible before mouse warping
...
This fixes the hang during fullscreen startup on my system (the motion
events weren't being generated because there was no window to see the
motion).
2019-07-10 22:28:33 +09:00
Bill Currie
a4f963f67b
Add a cvar to block use of x11 vidmode
...
Or really, allow it if the user specifically requests it: the default is
blocked. Modern systems (particularly displays) do not really like
changing resolution, so doing so by default seems rather wrong.
2019-07-10 22:28:33 +09:00
Bill Currie
4eb6cf6f9e
Make SetMouse timeout after 2 seconds
...
This makes sure that some unchecked event doesn't cause a lockup.
However, blocking input is really not the way to go: need to implement a
state machine and use non-blocking event reads.
2019-07-10 22:24:11 +09:00