Benau
e9be8d91ef
Avoid using VMA_MEMORY_USAGE_AUTO if possible
2022-10-09 09:37:18 +08:00
Benau
542ece64f9
Use triple buffer to avoid memcpy after fence
2022-10-08 13:04:22 +08:00
Benau
982a5b2be8
Reduce usage of local buffer in GEVulkanDrawCall
2022-10-07 11:48:39 +08:00
Benau
91dea5f50d
Use VMA_MEMORY_USAGE_AUTO_PREFER_HOST for host buffer
...
This improves performance when particles are used
2022-10-06 16:12:44 +08:00
Benau
51a1396313
Allow creating different buffer sizes in GEVulkanDynamicBuffer
2022-10-05 11:08:52 +08:00
Benau
e5318d8ea9
Fix crash when minimizing in windows
2022-10-04 13:55:51 +08:00
Benau
d69f83c7cc
Fix WRITE_AFTER_WRITE error:
...
vkCmdBeginRenderPass: Hazard WRITE_AFTER_WRITE vs. layout transition in
subpass 0 for attachment 1 aspect depth during load with loadOp
VK_ATTACHMENT_LOAD_OP_CLEAR.
2022-10-03 10:05:33 +08:00
Benau
b2404aadd2
Reduce instance data size
...
MoltenVK has no DrawIndex support yet
2022-10-02 16:41:09 +08:00
Benau
e1f8294008
Use dedicated buffer for sbo
2022-10-01 12:20:35 +08:00
Benau
421293b8e9
Add shader draw parameters detection
2022-09-30 14:42:06 +08:00
Benau
86c349e5f2
Properly check and enable vulkan extensions
2022-09-29 16:01:27 +08:00
Benau
11a168b4bf
Avoid error when particle size is zero
2022-09-26 10:36:01 +08:00
Dmitry Marakasov
dd511638db
Initialize vulkan handles properly
2022-09-20 23:47:45 +03:00
Benau
bf0db0497b
Don't throw when missing texture during ondemand loading
...
It can happen when the texture is deleted later
2022-09-19 10:24:55 +08:00
Benau
dd6768911d
Build for armv7 windows
...
No installer as armv7 windows has no x86 emulation
2022-09-18 23:54:44 +08:00
Benau
f270b4acf8
Add particle rendering in vulkan
2022-09-18 11:31:06 +08:00
Benau
4d79ccdea5
Add different texture per draw call for billboard
2022-09-18 10:54:22 +08:00
Benau
50c22a5837
Use real transparent shader first in vulkan draw call
2022-09-18 08:18:47 +08:00
Benau
7199409de4
Fix vulkan projection matrix
2022-09-17 16:26:10 +08:00
Benau
b77160527c
Fix texture matrix for gles2 driver
2022-09-15 09:01:55 +08:00
Benau
16173207ee
Add colorization support for gles2 driver
2022-09-15 08:30:24 +08:00
Benau
787d157933
Add billboard rendering in vulkan
2022-09-14 16:19:38 +08:00
Benau
9804416a82
Fix transparent shader drawing order
...
Use the same order like current engine
2022-09-12 13:38:01 +08:00
Benau
bf8a411f01
Always use GESPMBuffer for GEVulkanDrawCall::m_materials key
2022-09-12 13:14:05 +08:00
Benau
23470bbde2
Add custom vertex color to instance data
2022-09-12 11:07:22 +08:00
Benau
7cc238e101
Remove friend class in GE::GESPMBuffer
2022-09-11 15:04:38 +08:00
Benau
76c39afd8b
Add colorization for vulkan
2022-09-11 11:05:33 +08:00
Benau
4207714352
Use GE::GERenderInfo to draw ghost kart and ctf flag in vulkan
2022-09-06 15:46:05 +08:00
Benau
2d0c945dd8
Move RenderInfo class to GE
2022-09-05 16:22:04 +08:00
Benau
79bf026c74
Don't check for descriptor indexing properties on non-apple devices
...
Some drivers (like ivybridge on linux) report incorrect values and
make graphics pipeline creation crash later
2022-09-04 09:05:00 +08:00
Benau
d93b5d3b8d
Fix hang when switching kart in selection screen for vulkan
2022-09-03 12:04:44 +08:00
Benau
784b77723c
Add missing vkCmdBindDescriptorSets for supportsBindMeshTexturesAtOnce
2022-09-03 10:30:54 +08:00
Benau
b0b9f44aeb
Always use stable_sort to avoid flickering with alpha blending
2022-09-03 09:27:06 +08:00
Benau
d55eb56d78
Fix logic error in GEVulkanTexture::getTextureData
2022-09-02 19:37:37 +08:00
Benau
1eb19e5e13
Allow changing texture compression setting without restarting stk
2022-09-02 10:04:10 +08:00
Benau
0b4bf178d7
Add texture matrix support in vulkan
2022-09-02 09:07:43 +08:00
Benau
089dd025f1
Implement GEVulkanTexture::getTextureSize correctly
2022-08-31 13:09:41 +08:00
Benau
3db036d67f
Fix data race when deleting GEVulkanTexture
2022-08-31 12:36:55 +08:00
Benau
4ceec85edc
Fix infinite GEVulkanTexture::waitImageView if createImageView failed
2022-08-31 11:20:04 +08:00
Benau
38b995bf61
Avoid hangs if reloading textures too much
2022-08-31 11:08:48 +08:00
Benau
4f3dbb43a2
Fix bad gui after toggling fullscreen ingame
2022-08-29 14:55:02 +08:00
Benau
1f53895a25
Attempt to restore vulkan device after out focus in gnome fullscreen
2022-08-29 12:30:18 +08:00
Benau
d322720147
Add option to use original fullscreen code for vulkan
2022-08-29 10:30:31 +08:00
Benau
bba636263e
Use fullscreen desktop for vulkan
2022-08-28 10:55:06 +08:00
Benau
e6f8dcfdb0
Make render scale configurable in ui for vulkan
2022-08-28 09:27:08 +08:00
Benau
8f061c6367
Remove depth attachement if rtt is used
2022-08-27 13:04:22 +08:00
Benau
d31281cb6f
Add render scale support in vulkan
2022-08-27 12:49:17 +08:00
Benau
97e5064535
Use location, rotation and scale instead of model matrix in vulkan
2022-08-26 09:36:30 +08:00
Benau
514e3a50ad
Fix uninitialized m_compressed_data
2022-08-25 15:20:04 +08:00
Benau
57c5446e55
Add GECompressorBPTCBC7
2022-08-25 15:13:23 +08:00
Benau
5699ede148
Draw skybox before transparent objects
2022-08-22 10:53:07 +08:00
Benau
4f9d40f3b2
Add GEVulkanSkyBoxRenderer
2022-08-21 14:09:56 +08:00
Benau
5aa70333ce
Add GEVulkanArrayTexture
2022-08-20 15:44:38 +08:00
Benau
5c26ac73df
Fix bottom skybox uv and revert custom irrlicht change
2022-08-19 11:26:07 +08:00
Benau
058aa45894
Increase sampler size for max 20 karts in game
2022-08-18 14:56:44 +08:00
Benau
f777e01a21
Make kart textures loading ondemand if needed
2022-08-13 11:44:06 +08:00
Benau
e0636495f0
Add ondemand texture loading for vulkan
2022-08-12 13:07:53 +08:00
Benau
eace871c66
Add getImageSize for all image loaders
2022-08-11 14:46:00 +08:00
Benau
c698d4a601
Wait for GEVulkanCommandLoader to finish task before deleting textures
2022-08-10 11:07:54 +08:00
Benau
ed4dcc24c6
Fix CImageLoaderJPG::isALoadableFileFormat according to upstream
2022-08-09 10:20:04 +08:00
Benau
1b42688cbf
Enable vulkan texture compression in ui
2022-08-09 10:03:56 +08:00
Benau
d7390a1824
Add GECompressorASTC4x4
2022-08-07 15:33:54 +08:00
Benau
93dc6ed770
Fix GEVulkanTexture::getTextureData for compressed internal format
2022-08-06 11:01:54 +08:00
Benau
b4b0ddc620
Add GECompressorS3TCBC3
2022-08-06 09:48:11 +08:00
Benau
118fc7fa96
Add GEMipmapGenerator
2022-08-05 12:15:08 +08:00
Benau
211c901335
Add checking for compute in main queue
2022-08-04 10:56:29 +08:00
Benau
c96881208a
Use vkResetCommandPool for every frame commands
2022-08-03 13:44:59 +08:00
Benau
00e7b04f13
Add code to render vbo and ibo individually for some devices
2022-08-02 10:21:07 +08:00
Benau
0ad22efcf7
Re-order the buffer to use less memory
2022-08-02 00:56:11 +08:00
Benau
403f748b4a
Add dynamic descriptor code for some devices
2022-08-02 00:25:36 +08:00
Benau
72b177c354
Fix incorrect vertex attribute
2022-08-01 09:13:20 +08:00
Benau
331ae9a30f
Fix crash when GEVulkanTexture::getTextureData failed
2022-08-01 00:59:43 +08:00
Benau
83595d55a7
Add missing dstAccessMask for indirect command
2022-07-31 10:43:11 +08:00
Benau
2696ef2567
Add shader to render ghost kart
2022-07-30 09:03:56 +08:00
Benau
1a953b8a6c
Add grass shader
2022-07-29 10:51:14 +08:00
Benau
c2c8468fa8
Sort drawing based on nodes surface area
2022-07-28 15:48:06 +08:00
Benau
e9d3152c1a
Add more shaders
2022-07-28 13:37:09 +08:00
Benau
3f99e63a3c
Don't use sampler array for non-single texture descriptor
...
Devices like Apple A8 don't support it
2022-07-27 13:54:22 +08:00
Benau
6d74e84609
Reduce vram usage by removing bones data in static spm
2022-07-27 11:45:09 +08:00
Benau
d37a3b8c7e
Sort materials if needed
2022-07-26 13:21:07 +08:00
Benau
d4b2b03174
Add animated mesh rendering
2022-07-26 12:47:31 +08:00
Benau
8e1de345fb
Add animation support in GEVulkanAnimatedMeshSceneNode
2022-07-26 00:12:35 +08:00
Benau
b75dec1fbc
Move struct Armature to GE
2022-07-25 10:54:27 +08:00
Benau
61b87d3b31
Convert irrlicht mesh for addSphere
2022-07-25 10:05:46 +08:00
Benau
819b3ad27f
Add minimap rendering
2022-07-25 09:41:35 +08:00
Benau
a2228adef1
Fix padding size calculation
2022-07-24 14:32:37 +08:00
Benau
593f78a230
Move MiniGLM to graphics engine folder
2022-07-24 12:22:06 +08:00
Benau
da0cce6cd6
Add render to texture support in GEVulkanDriver
2022-07-24 11:38:02 +08:00
Benau
99d565f961
Allow using custom command buffer for draw call
2022-07-24 08:54:47 +08:00
Benau
9f25652455
Fix one possible crash
2022-07-23 15:10:45 +08:00
Benau
d325e33fc0
Use multi-draw indirect if supported
2022-07-23 14:02:37 +08:00
Benau
7f31ffa552
Add anisotropic samplers
2022-07-23 10:58:37 +08:00
Benau
e991e06640
Implement high dpi support in sdl2 properly
2022-07-22 21:10:51 +08:00
Benau
bf77863c53
Simplify OnRegisterSceneNode of vulkan mesh nodes
2022-07-22 08:18:18 +08:00
Benau
3d0d666e09
Add texture mapping
2022-07-21 12:26:06 +08:00
Benau
fec21afc8e
Add FileIncluder to shaderc compiler
2022-07-20 13:40:55 +08:00
Benau
e9924357cd
Add polycount display in GEVulkanDriver
2022-07-20 10:37:09 +08:00
Benau
f768badee0
Add initial 3d rendering
2022-07-19 15:56:08 +08:00
Benau
44b2468003
Add GEVulkanDrawCall
2022-07-18 13:28:07 +08:00
Benau
5853d618a6
Add GEVulkanMeshSceneNode and GEVulkanAnimatedMeshSceneNode
2022-07-17 16:06:52 +08:00