Commit Graph

1201 Commits

Author SHA1 Message Date
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
Benau
fc7413800c Use GEVulkanTextureDescriptor on GEVulkan2dRenderer 2022-07-16 09:54:40 +08:00
Benau
713ab53272 Add GEVulkanTextureDescriptor to avoid refilling every frame 2022-07-15 14:09:57 +08:00
Benau
3769c18288 Remove hardcoded shader names 2022-07-14 15:25:16 +08:00
Benau
15eec8a8d2 Combine vbo and ibo buffers 2022-07-14 10:44:28 +08:00
Benau
c864b9bd60 Use vma in GEVulkanMeshCache 2022-07-13 12:09:45 +08:00
Benau
cf8bafaab3 Use vma in GEVulkanDynamicBuffer 2022-07-13 11:23:08 +08:00
Benau
b0f91ff33d Use vma in GEVulkanTexture 2022-07-12 15:46:33 +08:00
Benau
0f4a21ab6e Add Vulkan Memory Allocator 2022-07-11 12:58:03 +08:00
Benau
0b4ebc35b9 Add performance validation layer code 2022-07-10 15:36:27 +08:00
Benau
27b5770ea9 Add GEVulkanDepthTexture 2022-07-10 14:48:07 +08:00
Benau
7d94bf1f6f Update vk_mvk_moltenvk.h to latest version 2022-07-09 09:01:06 +08:00
Benau
d0a177c3cc Fix hang when resizing window with vsync on 2022-07-08 11:46:17 +08:00
Benau
fa72ef7246 Fix matrix in GEVulkanCameraSceneNode::render 2022-07-07 13:08:44 +08:00
Benau
8ab63edd30 Save viewport in GEVulkanCameraSceneNode 2022-07-06 10:53:26 +08:00
Benau
4351926137 Fix possible crash if throw early 2022-07-06 10:06:28 +08:00
Benau
cc6914631a Don't upload if size is empty 2022-07-05 08:54:06 +08:00
Benau
defd58a465 Add getRealSize to GEVulkanDynamicBuffer 2022-07-04 14:51:59 +08:00
Benau
0875db0db6 Add buildCommandBuffers in GEVulkanDriver 2022-07-03 11:48:07 +08:00
Benau
dfd6a1820d Fix crash when closing in RTT screen 2022-07-02 10:52:20 +08:00
Benau
dc168e1b13 Better error handling when GEVulkanDriver construction fails 2022-07-01 12:52:07 +08:00
Benau
34ae56d33a Use matrix4 directly after the removal of sse 2022-06-30 16:49:51 +08:00
Benau
8fb0005020 Remove useless sse code in matrix4 2022-06-29 15:45:08 +08:00
Benau
f63ce6917b Only updateAbsolutePosition if transformation changed 2022-06-25 11:54:06 +08:00
Benau
b8cb96b81f Add GEVulkanCameraSceneNode 2022-06-16 12:00:15 +08:00
Benau
8ea38a6103 Fix memory leak 2022-06-09 15:18:20 +08:00
Benau
d85c1e3ee7 Use class inheritance for GEVulkanMeshCache 2022-06-08 13:38:24 +08:00
Benau
b0cddc462a Add GEVulkanSceneManager 2022-06-07 10:34:08 +08:00
Benau
ca1f61b898 Add GEVulkanMeshCache 2022-05-29 12:33:06 +08:00
Benau
95d9277046 Regenerate plural forms from po files 2022-05-28 15:44:18 +08:00
Benau
2b80513a8f Add getMonoTimeMs to GE 2022-05-27 09:41:34 +08:00
Benau
ac5351ae5e Add irrlicht device pointer to vulkan driver 2022-05-26 17:22:39 +08:00
Benau
e666e08f2d Add GE spm code 2022-05-22 11:53:02 +08:00
David Carlier
db8fdb9ccf illumos/solaris build fix 2022-05-14 11:31:51 +01:00
Benau
9c9f69856f Enable maximum parallelization by making vkWaitForFences closer 2022-05-05 09:30:29 +08:00
Benau
c739aeb758 Disable mipmap generation for too small textures 2022-05-02 10:42:32 +08:00
Benau
98eb912a76 Use simde on graphics_utils 2022-04-29 11:28:47 +08:00
Benau
383bd93261 Add simde 2022-04-29 11:02:25 +08:00
Benau
fddc19225c Use array list for scene nodes 2022-04-26 10:55:24 +08:00
Benau
972c719392 Add triangle fan 2d drawing for vulkan driver 2022-04-20 08:19:53 +08:00
Benau
1b92e99cfe Use a new sampler for 2d rendering 2022-04-19 13:18:59 +08:00
Benau
26bd8a5b8b Add mipmap generation for GEVulkanTexture 2022-04-19 12:49:05 +08:00
Benau
b0421569d0 Fix validation warnings when running vkDeviceWaitIdle 2022-04-18 13:46:59 +08:00
Benau
5d23d8d790 Add multithreading GEVulkanTexture loading 2022-04-18 12:16:27 +08:00
Benau
059fc9ebfd Add GE::getResizedImage using IReadFile 2022-04-18 10:46:23 +08:00
Benau
3d6c86d04e Clean up properly in case constructor throws 2022-04-17 14:42:36 +08:00
Benau
22f658239f Use GEVulkanCommandLoader for all 2022-04-17 14:37:52 +08:00
Benau
da665fc4fd Add GEVulkanCommandLoader with multithreading support 2022-04-17 14:08:29 +08:00
Benau
5f9db20b4f Add IFileSystem::existFileOnly (not including directory) 2022-04-16 12:08:57 +08:00
Benau
57a9a8a2aa Add getTextureData for GEVulkanTexture 2022-04-16 11:31:09 +08:00
Benau
99f1a2e03f Add moltenvk argument buffers support 2022-04-15 17:05:38 +08:00
Benau
ae8df366fc Fix convertBGRA order in GEVulkanTexture::reloadInternal
Image manipulator should work on original color data
2022-04-13 10:04:28 +08:00
Benau
3fe53751c4 Move BGRA conversion out of upload in GEVulkanTexture 2022-04-12 15:16:26 +08:00
Benau
661a57b5fc Add a way to acquire file archives mutex 2022-04-11 14:32:36 +08:00
Benau
8df6bdf7c8 Move file system mutex to irrlicht 2022-04-11 13:57:06 +08:00
Benau
efe1070be7 Fix validation warning when using VK_SHARING_MODE_CONCURRENT 2022-04-10 10:56:04 +08:00
Benau
d6a3e48d03 Fix compiler warnings in MinGW 2022-04-09 12:53:20 +08:00
Benau
d60a3a7c0c Add loadingFailed function for ITexture 2022-04-08 14:56:24 +08:00
Benau
d6db020bfe Add thread-safe existFile in IFileSystem 2022-04-08 14:35:04 +08:00
Mary Strodl
878f064ecf
CImageLoaderSVG: don't rescale on server 2022-04-07 14:21:00 -04:00
Benau
4c4daf9698 Move screen height detection inside CImageLoaderSVG::loadImage 2022-04-07 08:51:25 +08:00
Benau
1655c243b7 Batch upload image command buffer 2022-04-06 11:35:22 +08:00
Benau
e6684040ba Fallback to VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR if needed 2022-04-05 10:43:23 +08:00
Benau
f2cc51a602 Fix mismatched max size for background.jpg when reloading 2022-04-03 10:54:27 +08:00
Benau
b6b565aabb Fix validation warning when reloading textures 2022-04-03 10:21:48 +08:00
Benau
24a9c99e03 Fix one validation warning 2022-04-03 09:55:17 +08:00
Benau
a98a470ea8 Implement live updating swap interval value for vulkan 2022-04-02 14:17:27 +08:00
Benau
3994ce5666 Add workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/5516 2022-04-02 13:41:52 +08:00
Benau
067ac4fe01 Implement resume behaviour for mobile stk 2022-04-02 13:33:08 +08:00
Benau
6c7e4f25ea Quit the app if vkQueueSubmit with fence fails
It prevents infinitive vkWaitForFences later
2022-04-01 10:16:28 +08:00
Benau
1c99ba2562 Fix clang warnings 2022-03-31 11:55:23 +08:00
Benau
9c7fb99e53 Fix one validation warning 2022-03-31 11:34:47 +08:00
Benau
cd9e2f0adf Remove always exiting behaviour when pausing vulkan enabled stk 2022-03-28 15:30:42 +08:00
David Carlier
37a57d0011 Fix build for Haiku and a handful of other oses with the spirv-tools dependency. 2022-03-26 15:05:08 +00:00
Benau
bed91e67a0 Handle device orientation with vulkan pre-rotation 2022-03-26 00:19:09 +08:00
Benau
3d92730a82 Fix incorrect android screen rotation with vulkan 2022-03-25 09:04:08 +08:00
Benau
68eb70e7e6 Use dynamic viewport for GEVulkan2dRenderer 2022-03-24 16:37:34 +08:00
Benau
23cd67f45c Implement draw2DRectangle for GEVulkanDriver 2022-03-23 10:53:00 +08:00
Benau
9e50c8a71f Remove unneeded files, fix #4751 2022-03-22 07:51:45 +08:00
Benau
3e2ff91654 Add dynamic scissor support 2022-03-21 11:54:28 +08:00
Benau
ea1733ed08 Add drawing code for devices with low sampler images 2022-03-20 13:35:22 +08:00
Benau
bb6551fdf6 Add drawing code for devices without descriptor indexing 2022-03-19 16:09:32 +08:00
Benau
1cf2c0c5bf Add initial 2D vulkan rendering 2022-03-19 15:14:55 +08:00
Benau
cb607a16ff Add GEVulkanShaderManager 2022-03-18 16:24:33 +08:00
Benau
89afd214e8 Require shaderSampledImageArrayDynamicIndexing for vulkan 2022-03-18 09:24:55 +08:00
Benau
1d0d2ebb75 Fix windows xp support 2022-03-17 15:12:08 +08:00
Benau
9ea2f3ff8c Fix cctools build 2022-03-17 14:06:27 +08:00
Benau
38a553513c Fix switch build 2022-03-17 13:52:46 +08:00
Benau
f01959de8b Disable documentation generation for shaderc 2022-03-17 13:36:27 +08:00
Benau
2bc31f1518 Disable shared libraries manually for shaderc 2022-03-17 13:12:55 +08:00
Benau
bc1d885bd1 Add shaderc v2022.1 for GLSL to SPIR-V shaders
Ran ./utils/git-sync-deps already, removed some unneeded files
2022-03-17 12:21:20 +08:00
Benau
c19327aaeb Fix vsync disabled 2022-03-16 15:43:26 +08:00
Benau
a7994c02d8 Fix command buffers size 2022-03-16 12:37:18 +08:00
Benau
d6265f3bf7 Handle possible error from createTextureImage 2022-03-15 14:04:36 +08:00
Benau
4b28f5b9af Wait queue to become idle before deleting texture 2022-03-15 12:42:31 +08:00
Benau
ea275ae798 Use a correct layout during updateTexture 2022-03-14 09:43:22 +08:00
Benau
f35f402edf Fix VkDeviceQueueCreateInfo warning 2022-03-13 10:54:35 +08:00
Benau
4a93bea962 Fix MSVC 2015 build 2022-03-12 16:43:32 +08:00
Benau
8a5ecc458f Fix apple build 2022-03-01 16:25:25 +08:00
Benau
17a899aa2c Fix exit crash 2022-03-01 15:59:48 +08:00
Benau
8b68f52e57 Add GEVulkanTexture 2022-03-01 13:22:20 +08:00
David CARLIER
1f0ea77f80
illumos port. (#4732)
overcoming sun constant defined in this platform.
forcing 64 bits build as angelscript assembly is incorrect for 32 bits.
2022-02-13 00:31:14 +08:00
Benau
3ccdfaf70d Add createSamplers for GEVulkanDriver 2022-01-23 16:43:33 +08:00
Benau
8e64c69c5d Add command creation for GEVulkanDriver 2022-01-22 00:41:24 +08:00
Benau
2f4093516a Add createSyncObjects for GEVulkanDriver 2022-01-22 00:18:42 +08:00
Benau
f0f498d53f Add createSwapChain for GEVulkanDriver 2021-12-28 13:51:03 +08:00
Benau
baeafd9f7d Fix missing ime candidate window using SDL2 hint 2021-12-24 09:43:06 +08:00
Varro33
6b022368cf
Fix irrlicht error indent (#4676) 2021-11-22 21:49:15 +08:00
Bryan Quigley
bee1c222af Always AS_MAX_PORTABILITY on AArch 2021-11-07 23:43:05 -08:00
Bryan Quigley
b710fab5c8 STK modifications to angelscript to let Windows/Apple builds
(and 3 forgotten source files)
2021-11-06 10:12:01 -07:00
Bryan Quigley
73c94f571d Update Angelscript from 2.32.0 to 2.35.1
Didn't require any changes except dos2unix.
2021-11-04 17:59:10 -07:00
Kalev Lember
164c51cb2e Always build tinygettext as a static library
Explicitly pass STATIC to tinygettext add_library() call to make sure
it's always built as static, even when distro's cmake is configured to
build libs shared by default.
2021-10-07 00:52:32 +02:00
Benau
835154bde2 Handle SDL_RENDER_DEVICE_RESET event 2021-10-04 21:16:26 +08:00
Benau
17329a1b29 Register native functions in SDL_main 2021-10-04 13:01:00 +08:00
Benau
307791beda Highlight URLs or addon names from /installaddon in lobby 2021-09-09 09:57:35 +08:00
Benau
38cfd912bd Add extractURLFromGlyphLayouts which handles RTL layout properly 2021-09-08 14:58:35 +08:00
Benau
e85b82001f Fix invalid URL in line breaking 2021-09-08 13:27:09 +08:00
Benau
0c20dda1da Remove SF_DISABLE_URL_HIGHLIGHT flag to avoid conflicts with cache
Manually remove the URL highlighting if needed
2021-09-08 09:38:30 +08:00
Benau
8c3bacf769 Only save original string in GlyphLayout if needed 2021-09-06 14:51:45 +08:00
Benau
ae98b0cf9b Use LinkHelper::openURL on highlighted URL 2021-09-06 14:19:39 +08:00
Benau
280d8fc114 Highlight URL with skin marked text color 2021-09-06 11:05:24 +08:00
Benau
8f41b721ed Share FontWithFace render code with getCluster for more functionality 2021-09-05 08:41:46 +08:00
Benau
4deeac7dc8 Move getCluster code to a dedicated function for later usage 2021-09-05 00:54:52 +08:00
Benau
c76d41c903 Add callback to IGUIStaticText to allow text handling 2021-09-03 18:25:47 +08:00
Benau
33a4369a71 Store shared original string to glyph layouts directly 2021-09-03 13:09:42 +08:00
Benau
6d763a1e26 Update mojoAL 2021-08-26 09:23:53 +08:00
Benau
91e2217eba Fix typo 2021-08-06 09:21:42 +08:00