Bill Currie
3191604641
Uncomment already implemented functions
2019-07-09 21:07:59 +09:00
Bill Currie
8a3cd224a3
Add vulkan developer flag
2019-07-09 20:14:30 +09:00
Bill Currie
68449d0f6f
Create a window and a surface for vulkan
...
Yay, segfaults in R_Init :)
2019-07-09 16:33:44 +09:00
Bill Currie
0f511e8342
Move the string list funcs to their own file
...
They're not (at this stage, at least) worthy of being promoted out to
the utils lib.
2019-07-09 14:24:55 +09:00
Bill Currie
b3d982bfc3
Remove global vulkan_ctx
...
While I can't say that I'm happy with the details of vulkan_ctx_t, I am
pretty sure I don't want to be limited to having only one.
2019-07-09 11:54:23 +09:00
Bill Currie
707bdfc5f2
Get vulkan back to where it was
2019-07-09 09:06:35 +09:00
Bill Currie
8ee06d75a9
Separate render and presentation initialization
...
This paves the way for clean initialization of the Vulkan renderer, and
very much cleans up the older renderer initialization code as gl and sw
are no longer intertwined.
2019-07-09 01:00:47 +09:00
Bill Currie
cb10175824
Pass vid_internal to R_LoadModule
...
This fixes the segfault and pushes things very much in the desired
direction of proper system independence for rendering and presentation
separation (though things were headed in the right direction before).
2019-07-08 14:04:03 +09:00
Bill Currie
6ee2df8445
Move vid callbacks into vid_internal
...
Currently segfaults because viddef is an alias for *r_data->vid, which
has not yet been initialized (chicken and egg).
2019-07-08 13:40:29 +09:00
Bill Currie
3e1520c246
Move vid callback access into vid
...
The plan is to move the callbacks into a "private" struct.
2019-07-08 12:46:22 +09:00
Bill Currie
6137795682
Use deep binding for the vulkan loader
...
This fixes the problem with using vkGetInstanceProcAddr to find global
vulkan functions.
2019-07-07 16:48:53 +09:00
Bill Currie
7137d61c36
Add some extensions needed for presentation
2019-07-07 16:27:55 +09:00
Bill Currie
a755e50c84
Clean up vid access a little
...
Things are still a mess, but a proper cleanup will be a lot of work and
will, really, involve properly splitting quake-specific code* out from
the rest of the renderer.
* data loading and format specific stuff
2019-07-07 15:38:29 +09:00
Bill Currie
d95e9f9af3
Correct vulkan plugin strings
2019-07-07 14:59:20 +09:00
Bill Currie
77afc30486
Fix vid renderer plugin types
...
I guess that plugin type is currently not checked, otherwise I doubt the
mistake would have gone unnoticed.
2019-07-07 14:57:56 +09:00
Bill Currie
940ef833ae
Shutdown Vulkan properly
...
Well, as properly as can be considering how little is started up :P
2019-07-07 14:34:02 +09:00
Bill Currie
ab08e4f207
Create a logical device with a single queue
...
A single graphics-capable queue should be enough for now. However, I'm
not sure I'm happy with a lot of the code: it's a bit difficult to write
flexibly configured code for Vulkan (or seems to be at this stage),
especially in C.
2019-07-07 01:28:05 +09:00
Bill Currie
2bc78e7f0a
Start work on a Vulkan-based renderer
...
Doesn't do much other than create an instance and enumerate some stuff,
but the build system is working.
2019-07-06 14:56:15 +09:00
Bill Currie
f58c2fef5a
Switch QF's quaterions from wxyz to xyzw.
...
After messing with SIMD stuff for a little, I think I now understand why
the industry went with xyzw instead of the mathematical wxyz. Anyway, this
will make for less pain in the future (assuming I got everything).
2018-10-12 14:33:55 +09:00
Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
db3df6f8a7
Fix a bunch of dead increments.
2018-09-09 11:12:04 +09:00
Bill Currie
3f638d95ba
Remove a possibly spurious break.
...
I'm not certain despair actually meant for the break to be there. It
certainly would have sped up the game a bit but at the expense of proper
blood trails in the software renderers.
2018-09-09 10:54:38 +09:00
Bill Currie
62793b2dc2
Fix some potentially garbage assignments.
...
These are the ones where I could easily make scan-build happy. They do seem
to be potential holes where invalid data in one place could result in use
of uninitialized values.
2018-09-09 09:54:16 +09:00
Bill Currie
59e85b7d5e
Fix a pile of dead assignments.
...
Some were actual bugs!
2018-09-08 22:23:57 +09:00
Bill Currie
1eb1622420
Fix some strncat issues.
2018-09-07 21:27:34 +09:00
Bill Currie
8fd5be0ee0
Fix a pile of sizeof goofs.
...
While scan-build wasn't what I was looking for, it has proven useful
anyway: many of the sizeof errors were just noise, but a few were actual
bugs (allocating too much or too little memory).
2018-09-07 20:00:57 +09:00
Bill Currie
4f58429137
Fix an unhealthy pile of gcc 8 warnings.
...
While some of the warnings were merely annoying, some where actual bugs or
unearthed bugs in related code.
2018-08-20 00:05:00 +09:00
Bill Currie
2329fb1885
Fix some warnings and bitrot.
2016-10-25 00:10:30 +09:00
Bill Currie
f163e35f21
Add a builtin to get keydown.
2016-01-10 13:33:05 +09:00
Bill Currie
9cb23ba67e
Clean up some error messages.
...
The contractions took the emphasis off where it needed to be.
2016-01-04 16:12:36 +09:00
Bill Currie
aecea5c350
Document most of they key binding system.
2016-01-04 16:11:15 +09:00
Bill Currie
59f60d1ba7
Enable the Key_StringToKeynum builtin.
...
I don't know why I didn't do it earlier other than lack of need.
2016-01-04 16:10:22 +09:00
Bill Currie
7c16acf4aa
Make Key_GetBinding take an imt instead of a name.
2016-01-04 16:06:48 +09:00
Bill Currie
331b054d4a
Fix an inappropriate reuse of a variable.
...
Using "ax"is for the joystick "var"iable is a bit confusing.
2015-06-18 21:22:31 +09:00
Bill Currie
d1f1375df5
Increase number of supported joystick buttons.
...
Also fix a bug where despite supporting 32 buttons, only 18 were actually
supported, and a similar issue for the number of axes.
My saitek x52 has 34 buttons and 10 axes. Whee.
2014-08-17 11:35:40 +09:00
Johnny
d1a8c1b277
Color swizzle & software lighting fix
2014-02-03 16:20:54 +09:00
Bill Currie
d80342e0a8
Fix some compile errors from Johnny's patch.
...
Turns out he has to compile without -Werror.
2014-02-02 16:42:08 +09:00
Johnny
850382eed4
Fixes crashes when sw32_r_pixbytes is set to 2 or 4
2014-02-02 16:22:53 +09:00
Bill Currie
9d71d9bb7a
Remove maxwarpwidth and maxwarpheight.
...
Only the sw32 renderer even tried to use them, and they didn't get set
properly. This fixes JohnnyonFlame's waterwarp issue.
2014-02-02 14:41:58 +09:00
Bill Currie
99678a571b
Remove *.slc on make clean.
2014-01-28 16:26:24 +09:00
Bill Currie
3efb0c538f
Separate file search from loading.
...
QFS_LoadFile (and its wrappers) now take a file handle rather than a
path. This will make vpath usage a little cleaner to implement.
2014-01-28 16:22:05 +09:00
Bill Currie
4d59282641
Find the remaining vertex attribute order issues.
...
I hope. I do need to figure out why I made sprite blend an attribute
rather than a uniform.
2014-01-28 16:22:04 +09:00
Bill Currie
a5db0b1a65
Remove the now unnecessary GLSL_CompileShaderS().
...
Now that the transition to using shader effects is comlete, there's no
need for the wrapper.
2014-01-28 16:22:04 +09:00
Bill Currie
57d2198140
Use the new shader system for iqm models.
2014-01-28 16:22:04 +09:00
Bill Currie
385175ca65
Use the new shader system for 2d drawing.
2014-01-28 16:22:04 +09:00
Bill Currie
c89e612cd4
Remove redundant fog and palette shader code.
2014-01-28 16:22:04 +09:00
Bill Currie
50bb40be29
Use the new shader system for sprites.
2014-01-28 16:22:04 +09:00
Bill Currie
68bd7e643d
Remove the long dead text vertex shader.
2014-01-28 16:22:04 +09:00
Bill Currie
1d67f8f0c3
Use the new shader system for textured particles.
2014-01-28 16:22:04 +09:00
Bill Currie
1a7b532927
Use the new shader system for point particles.
2014-01-28 16:22:04 +09:00