Commit Graph

14025 Commits

Author SHA1 Message Date
HALX99 09937c97a7
Refactor render pipeline state (#211)
* Refactor pipeline state
* Cache DepthStencil state for MTL renderer backend
2020-09-22 16:32:17 +08:00
halx99 d4347dc27d Reduce depthStencil state create, don't create it at per draw call 2020-09-21 22:58:45 +08:00
halx99 c5c7de9e1d Remove unused param for setRenderPipeline 2020-09-21 22:35:18 +08:00
HALX99 5a32bcfdaf
RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
HALX99 f6d51583a8
fix macro 2020-09-21 11:38:21 +08:00
HALX99 b9ea114b9c
Merge pull request #209 from halx99/delete-copy-stubs
Explicit delete copy stubs for CustomCommand
2020-09-16 22:45:38 -07:00
halx99 03e5a1bd9a fix ci warnings 2020-09-17 12:13:59 +08:00
halx99 ebd19a07b3 fix ci 2020-09-17 12:10:08 +08:00
halx99 22a4586af9 Sync pr from https://github.com/cocos2d/cocos2d-x/pull/20580 2020-09-17 12:05:31 +08:00
halx99 dbf23f4826 Explicit delete copy stubs for CustomCommand 2020-09-17 11:41:14 +08:00
halx99 5554143993 suppressing invalid offset warning [skip appveyor][skip travis] 2020-09-16 22:57:55 +08:00
HALX99 80e5152596
Decrease pod offset 2020-09-16 21:26:14 +08:00
HALX99 3464e4e1a4
fix #206 2020-09-16 21:22:37 +08:00
halx99 fdb29d65c2 Needs recalculate max items when AtlasNode::setIgnoreContentScaleFactor 2020-09-16 13:34:20 +08:00
halx99 fd69e066ae check null also 2020-09-15 16:03:00 +08:00
halx99 2d2d0e7ee6 Take care PBO use on android 2020-09-15 16:01:44 +08:00
halx99 24ddc710e8 captureScreen compatible, saveFile at offthread 2020-09-15 14:12:00 +08:00
HALX99 51980b6edf
Fixup
OpenGL: read screen pixels only works: AFTER_DRAW and BEFORE_END_FRAME
2020-09-14 17:43:44 +08:00
HALX99 9b2f934b47
Needs readPixels at CallbackCommand
Avoid read dirty pixels
2020-09-14 17:20:07 +08:00
halx99 a9f1c43127 fix fbo attachment texture bind error 2020-09-13 19:17:49 +08:00
halx99 c5d6f35d9d Refine code 2020-09-13 19:16:59 +08:00
HALX99 961b023bfa
Remove unused CaptureCallbackCommand (#2) 2020-09-13 14:53:17 +08:00
halx99 2c496b7393 Refine comment 2020-09-13 13:30:41 +08:00
halx99 782e0c61bb No need CaptureCommand for capture screen or node 2020-09-13 13:27:50 +08:00
halx99 9c6a3d2837 Metal screen framebuffer only set/restore 2020-09-13 12:55:35 +08:00
halx99 f9c2e3b856 Make capture API public to Renderer 2020-09-13 11:11:48 +08:00
halx99 4e3acb6f2b UtilsGL::readPixels also use PBO if available 2020-09-12 23:26:40 +08:00
HALX99 42be4daed4
Update comment [skip appveyor] [skip travis] 2020-09-12 20:44:08 +08:00
halx99 c4c64ffd3f No need enqueue, commit will do it automatically 2020-09-12 16:44:16 +08:00
halx99 682b4f685e Refine code 2020-09-12 15:34:09 +08:00
halx99 3d2ab83cab Remove test stubs 2020-09-12 14:52:39 +08:00
halx99 2b991b20b2 a. Refine captureScreen, glReadPixels shoud from glviewport's origin.
b. Sets desktop GL min version from 2.0 to 2.1
2020-09-12 14:50:48 +08:00
halx99 378e38de11 Add more clearly comment [skip appveyor] 2020-09-11 20:17:31 +08:00
halx99 7249325ff4 Use glMapBuffer if available 2020-09-11 17:32:08 +08:00
halx99 5d5c948218 fix ci 2020-09-11 14:45:45 +08:00
halx99 af21cdba50 fix ci 2020-09-11 13:38:05 +08:00
halx99 efc5a00b60 Remove comment 2020-09-11 12:39:16 +08:00
halx99 ecb8738b33 Renaming stubs relative capture command 2020-09-11 12:23:33 +08:00
halx99 0e99525283 Remove unused comment 2020-09-11 12:14:40 +08:00
halx99 04358791ec v4 captureScreen API compatiable, gl needs flip always for capture 2020-09-11 11:57:55 +08:00
HALX99 4eb3b05e45
Remove todo comment [skip appveyor][skip travis] 2020-09-11 02:19:19 +08:00
HALX99 d346204936
Update CCRenderTexture.cpp 2020-09-11 01:46:12 +08:00
halx99 6497a92ec7 finish gl backend 2020-09-11 01:19:10 +08:00
halx99 4f4529bca5 Prepare 2020-09-11 00:14:03 +08:00
halx99 874946fccb Tidy code 2020-09-11 00:10:44 +08:00
halx99 fdd8321d28 Remove unused API, TODO: unify to Utils::readPixels 2020-09-10 23:11:43 +08:00
halx99 a7b0850d2f Add comment 2020-09-10 21:41:52 +08:00
halx99 2a50ae6cf8 Refine code 2020-09-10 21:38:24 +08:00
halx99 f6a8d993fc Refactor capture, fix data race for apple metal reanderer backend 2020-09-10 21:14:28 +08:00
halx99 4dd7f6aab6 fix 193 2020-09-10 18:12:46 +08:00
halx99 29d21add67 Sync lua binding 2020-09-09 16:30:48 +08:00
halx99 e537683b3f fix compile issue[skip appveyor] 2020-09-09 15:47:41 +08:00
halx99 f89763b416 Tidy, update programState texture at attachProgramState 2020-09-09 15:29:56 +08:00
halx99 992d6139d9 More clearly programState management 2020-09-09 13:03:31 +08:00
halx99 1dd638535e fix memory leak for ProgramStateRegistry use 2020-09-08 22:13:10 +08:00
halx99 556e0d05d3 Move getFileDataFromZip from FileUtils to ZipFile and mark it as deprecated 2020-09-06 17:00:20 +08:00
halx99 d401cbfd75 fix mac compile error 2020-09-05 22:33:18 +08:00
halx99 2d5fb7f77d Add CC_REDUCE_PAUSED_CPU_USAGE ccConfig.h to control whether reduce cpu usage after paused 2020-09-05 17:12:30 +08:00
halx99 9cb9a0e455 fix ci warnings 2020-09-04 18:34:15 +08:00
halx99 81e4c28d24 Fix mac [skip appveyor] 2020-09-04 18:16:13 +08:00
halx99 53509b8833 Fix glviewimpl for osx 2020-09-04 17:58:34 +08:00
halx99 8bb706d70e Add utils::makeInstance and utils::newInstance 2020-09-04 11:28:16 +08:00
HALX99 36c25dc889
Should set _mtlCommandBuffer to nil after release 2020-09-03 22:26:21 +08:00
halx99 b3361b6d70 Fix GL renderer backend API updateCompressedSubData will cause OpenGL 502 error 2020-09-03 18:03:43 +08:00
HALX99 7a2f91e514
ASTC6x6 support and more comment about bpp usage in engine (#191)
* ASTC6x6 support and more comment abount bpp usage in engine

* fix log output

* Comment astc compression tool download url

* Add command line comment for astcenc tool [skip travis][skip appveyor]

* Add astc_6x6 test image[skip appveyor][skip travis]

* astc_6x6 mtl

* Refine log info[skip appveyor][skip travis]

* Empty line[skip appveyor][skip travis]
2020-09-03 18:01:40 +08:00
halx99 ff3becb49d Add getGPUHandler for backend::Texture for some purpose use 2020-09-02 13:00:32 +08:00
halx99 8ec6df624e Remove unused member 'func' from CustomCommand, use CallbackCommand instead 2020-09-02 12:59:34 +08:00
HALX99 2539e78774
Merge pull request #188 from halx99/etc2-support
Add etc2 compressed texture support
2020-09-01 00:16:01 -07:00
halx99 8cad7319f6 Use uint8_t instead unsigned char for byte buffer [skip appveyor][skip travis] 2020-09-01 14:57:18 +08:00
halx99 cf5c4f38c3 No need check GL_ETC1_RGB8_OES for ETC compression formats [skip appveyor][skip travis] 2020-09-01 14:32:52 +08:00
halx99 63487d6c57 Remove unnecessary macro GL_ETC1_RGB8_OES check 2020-09-01 13:39:15 +08:00
halx99 5bda5f97a3 Remove unused comment [skip appveyor][skip travis] 2020-09-01 13:29:41 +08:00
halx99 5bfce4bed4 Add copyright notice [skip appveyor][skip travis] 2020-09-01 13:24:45 +08:00
halx99 6c129165f5 Also decode bmp to RGBA8888 directly 2020-09-01 12:06:21 +08:00
halx99 f3c17427aa More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
HALX99 4d9206e402
ETC2 feature check for metal 2020-09-01 00:03:49 +08:00
halx99 5e0e017b2a wrap fowardPixels for hardware decoder 2020-08-31 23:09:42 +08:00
halx99 dffbad412a Improve images decoder 2020-08-31 21:04:47 +08:00
halx99 aa9e5130e4 More clearly data owner when decode images. 2020-08-31 19:24:23 +08:00
halx99 c119bee507 Move copyright notice to header [skip appveyor][skip travis] 2020-08-31 17:35:01 +08:00
halx99 18037c44de Clearly CCLOG content 2020-08-31 17:13:04 +08:00
halx99 5cfc6fe7ed Remove test code [skip appveyor] [skip travis] 2020-08-31 16:31:37 +08:00
halx99 6e4e83581c Add comment for etc1/etc2 compression tools [skip appveyor][skip travis] 2020-08-31 16:16:13 +08:00
halx99 7872bb1b97 ETC2 Metal support 2020-08-31 15:45:05 +08:00
halx99 201b91e242 Use etc2_decode_image decode etc1 to RGBA8888 [skip appveyor] [skip travis]
This can avoid further texture data convert
2020-08-31 15:34:20 +08:00
halx99 fda95bd722 fix compile issue 2020-08-31 15:17:28 +08:00
halx99 4181485b4c fix compile issue 2020-08-31 14:50:33 +08:00
halx99 4e621693c3 Remove unused file [skip appveyor][skip travis] 2020-08-31 14:48:10 +08:00
halx99 3426d03745 ETC2 software decode support 2020-08-31 14:11:48 +08:00
halx99 e7811e707a 1. Finish ETC2 support on GL renderer backend
2. Improve ASTC compressed format check
2020-08-30 17:58:39 +08:00
halx99 5ddf06f3ca fix CCValue::visit 2020-08-30 17:45:21 +08:00
halx99 989330672e fix #187 2020-08-30 13:03:32 +08:00
halx99 e6108d111a Fix ASTC bytesPerRow calculation 2020-08-30 00:11:33 +08:00
halx99 c3b13cfcd6 Clear vector after releaseTextures 2020-08-29 22:00:58 +08:00
halx99 42b50af707 Release old storage textures 2020-08-29 20:07:13 +08:00
halx99 e0be836453 More clearly comment 2020-08-29 19:51:42 +08:00
halx99 ef755ba3ad More clearly comment for multi-textures support 2020-08-29 17:39:17 +08:00
halx99 59ef3e6ef0 Remove unused comment [skip appveyor][skip travis] 2020-08-29 16:59:15 +08:00
halx99 baa4447973 fix multi-texture2d support 2020-08-29 16:56:48 +08:00
halx99 50fe831d7a fix ci 2020-08-28 17:26:30 +08:00
halx99 8b7505e171 Sync missing feature from v3, and API compatible 2020-08-28 16:33:52 +08:00
halx99 ae99a5965b Remove TMXLayer,TMXMap, remain FastTMXLayer,FastTMXMap enough 2020-08-28 15:42:40 +08:00
halx99 fa9b2c3fca Code improvement 2020-08-28 15:01:25 +08:00
minggo 56e0b77c8c close keyboard when Done is pressed (#20341)
* close keyboard when Done is pressed
2020-08-28 14:50:52 +08:00
halx99 1975ad1f94 Add CMake -DCC_FORCE_USE_GLES to control whether force use gles on win32,iOS 2020-08-28 12:57:00 +08:00
halx99 9ae19df7e0 Improve listFiles for win32, use std::move avoid string deep copy 2020-08-28 11:05:32 +08:00
halx99 0fd2364429 fix #179 2020-08-28 11:04:14 +08:00
halx99 f36866a99b Make logical more clearly 2020-08-27 17:35:30 +08:00
halx99 c1c3faf546 fix mssing sources 2020-08-27 12:44:30 +08:00
halx99 1c76fd48ce Make UserDefault encrypt/decrypt algorithm can be customlized 2020-08-27 12:37:20 +08:00
halx99 d4aa6900c3 By default, disable stream parsing 2020-08-27 11:40:44 +08:00
halx99 bf3a608c01 freetype stream parsing support, reduce memory use on FontCache 2020-08-27 11:35:55 +08:00
halx99 c3b823586b Refine code style 2020-08-27 10:19:21 +08:00
halx99 26471dc766 fix ci compile 2020-08-27 00:49:07 +08:00
halx99 fe4d26cea1 Rename PXFileStream to CCFileStream 2020-08-27 00:21:44 +08:00
halx99 1f03e40b59 Merge branch 'master' of https://github.com/c4games/engine-x into master 2020-08-26 12:46:51 +08:00
halx99 6be52c29e7 Sync LayoutHelper APIs 2020-08-26 12:46:41 +08:00
halx99 d54f724f94 finish killCurrentProcess implementation on windows 2020-08-26 10:36:33 +08:00
halx99 3d1b042092 Add utils::killCurrentProcess API to kill game immidiately 2020-08-25 23:12:26 +08:00
HALX99 c596975a93
Merge pull request #171 from halx99/feature-170
Add utils::createInstance to instead macro CREATE_FUNC
2020-08-24 23:55:37 -07:00
halx99 1740c444f8 fix warning 2020-08-25 14:47:51 +08:00
halx99 5c850e00ac fix ci 2020-08-25 14:08:17 +08:00
halx99 d150e7cbc4 Add utils::createInstance to instead macro CREATE_FUNC 2020-08-25 13:49:45 +08:00
halx99 ccc4bcac63 Update al format enum 2020-08-24 19:04:08 +08:00
halx99 a8af2a9344 Improve engine CMakeLists.txt for ios
benefit: Now engine can build without ios.toolchain.cmake,
because we solvoe follow issues:
a. fix cmake try_compile failed with arm device without
b. fix try_compile/compile will failed with device on armv7
c. fix thread local storage require:
   1. deployment target >= 9.0 (arm64)
   2. deployment target == 10.x (armv7)
2020-08-24 15:31:45 +08:00
halx99 4ecc8c7a02 Print al vender and version after initialized 2020-08-20 22:37:34 +08:00
halx99 92c35922da Naming style [skip appveyor] [skip travis] 2020-08-19 12:26:31 +08:00
halx99 e9ba5420ef Refine code 2020-08-19 12:10:29 +08:00
halx99 82ceee2fdb fix label crashing, add private use BatchCommand move constructor to adapte std::vector resize properly 2020-08-19 11:46:13 +08:00
halx99 93b39601f9 Make CustomCommand safe copyable and moveable 2020-08-19 11:42:32 +08:00
halx99 927f05f670 Sync mssing code from official-v3 2020-08-18 14:43:09 +08:00
halx99 a567820461 Improve code quality 2020-08-18 14:29:09 +08:00
halx99 37ddd1cbfa Consider mutex use, which object dou you want guard? 2020-08-18 12:48:16 +08:00
halx99 3c7ede5859 Make core lib can be build as dll, fix link issue for external 2020-08-18 12:36:44 +08:00
halx99 98bdeef044 Sync fix from https://github.com/cocos2d/cocos2d-x/pull/20518 2020-08-18 12:09:56 +08:00
halx99 9d9067dec4 Backport CCValue APIs 2020-08-18 11:33:18 +08:00
halx99 67ef8bb624 Improve shared library for android, remove mojoal,sdl2, still use OpenAL.framework on apple platform, alsoft on other platforms. 2020-08-17 18:45:14 +08:00
halx99 a8a9040322 Use CC0-1.0 licensed decoder 'minimp3' to replace LGPL licensed decoder 'mpg123' 2020-08-17 14:56:53 +08:00
halx99 185934c45e Make android listFiles behavior same with other platforms 2020-08-17 12:09:31 +08:00
halx99 25cf91cb14 More clearly check supported pcm format by alsoft extends 2020-08-15 17:48:57 +08:00
halx99 acca2eff1b Add ios framework required by SDL2, check whether SDL2 support strip it later 2020-08-15 17:47:40 +08:00
halx99 b179975add Adapte zlib licensed AL library: mojoal 2020-08-14 18:58:44 +08:00
halx99 a0ca3487ed Cleanup unused code for min support iOS 2020-08-13 23:03:55 +08:00
halx99 b4f0ade233 fix-157 2020-08-13 22:35:41 +08:00
HALX99 d4eea74a85
fix compile issue without alsoft 2020-08-13 00:41:30 +08:00
halx99 79dc84e3d7 fix ci android build issue. 2020-08-12 18:53:33 +08:00
halx99 1d35bd9d0a Tidy code 2020-08-12 18:40:04 +08:00
halx99 3e2161ea01 Simplify audio source again, merge audio sources 2020-08-12 17:00:07 +08:00
halx99 f88dfdc167 FreeType: Output missing char in .ttf at _DEBUG compiling mode 2020-08-12 14:24:06 +08:00
halx99 19b2c3366f Sync macro 2020-08-07 23:55:25 +08:00
halx99 175ee0fd18 By default, make cocos2d::log multi-threading safe 2020-08-07 23:52:41 +08:00
aismann b7b2687758
OpenGL 'works' better... 2020-08-07 08:10:12 +02:00
halx99 44c6fbaf12 Naming style 2020-08-07 00:39:55 +08:00
halx99 c85f1c469a Make CCValue compatible official cocos2d-x v3/v4 2020-08-06 19:39:50 +08:00
halx99 b6875eb8e0 Sync optimize code from v3 2020-08-06 17:37:34 +08:00
halx99 4eb4660c9d Reorder members of Node, sizeof(Node) decrease from 640 to 616 on 32bit application 2020-08-06 13:30:35 +08:00
HALX99 137ded73a5
Merge pull request #145 from halx99/spine-3.8
Sync spine code and resource to 3.8
2020-08-05 02:38:59 -07:00
halx99 bda1fce2b1 fix console output error on win32, see #144 2020-08-05 17:30:30 +08:00
halx99 f38f76c1a1 Sync spine code and resource to 3.8 2020-08-05 17:04:57 +08:00
halx99 428ff263b3 Add missing optimize from v3 2020-08-05 13:10:37 +08:00
halx99 421cf7b1ad win32 cover wide API use, remove unused long getFieSize(const std::string&) 2020-08-05 12:24:31 +08:00
halx99 66a198ab2b utf-8 file path 2020-08-05 12:17:57 +08:00
halx99 0b89fe5f2b fix lua compile issue 2020-08-04 22:38:57 +08:00
halx99 a45972d5d5 Macro and engine name alias 2020-08-04 14:53:59 +08:00
halx99 2b24a1cb6f Add ENGINEX_VERSION and improve ABI compatiable 2020-08-04 12:11:36 +08:00
HALX99 70265a7db5
Update CCColorizer.cpp 2020-08-04 01:31:32 +08:00
HALX99 fcb33f8bb0
Update CCColorizer.cpp 2020-08-04 01:01:05 +08:00
HALX99 8e5406039b
Update CCColorizer.h 2020-08-04 00:59:02 +08:00
halx99 b69446964f fix compile issue 2020-08-04 00:39:48 +08:00
halx99 b2c23feee7 Tidy sources 2020-08-04 00:14:35 +08:00
halx99 5dc9e92fb7 fix android build issues 2020-08-03 20:31:47 +08:00
halx99 b142167560 Huge changes, move spine,dragonbones,cocostudio to extensions folder, future make all extensions pluginable 2020-08-03 17:51:40 +08:00
HALX99 8e72fe24b4
Merge pull request #135 from halx99/unify-plist-ops
Unify plist implementation, remove apple specific sources.
2020-08-02 20:22:36 -07:00
halx99 3e95b8ccf3 Unify plist implementation, remove apple specific sources. 2020-08-03 10:48:26 +08:00
halx99 6fd4d6e4ab Adapte multi monitors 2020-08-03 10:33:04 +08:00
halx99 f396ba9983 Unnecessary space lilne [skip appveyor] [skip travis] 2020-08-02 17:00:35 +08:00
halx99 99432aa171 Optimize param use. 2020-08-02 16:48:19 +08:00
halx99 a624babd09 vidMode need moniter 2020-08-02 16:36:58 +08:00
halx99 020b0ff79c Update comment [skip appveyor] [skip travis] 2020-08-02 16:24:30 +08:00
halx99 6a133fa1e5 check isFullscreen 2020-08-02 16:22:41 +08:00
halx99 dd226789b3 Provide more useful for setFullscreen with width,height,refreshRate. 2020-08-02 16:18:39 +08:00
halx99 106d8e2ecf Refactor full screen support, fix different behavior when enter full screen between 1 and >=2 times 2020-08-02 11:54:46 +08:00
halx99 aa59cf6876 Add wav testcase 2020-08-01 19:25:39 +08:00
halx99 fd8f6a01d5 fix #129 2020-08-01 11:23:13 +08:00
halx99 7ecb85019a fix #127 2020-07-31 17:23:03 +08:00
halx99 82314c2972 Add alconfig.h to choose whether use openal-soft 2020-07-31 17:03:58 +08:00
halx99 2163f9c440 Add missing detect macro CC_USE_ALSOFT_ON_APPLE on apple platform 2020-07-31 16:36:45 +08:00
halx99 95cae56768 Update comment [skip appveyor] [skip travis] 2020-07-31 15:49:50 +08:00
halx99 786eaafe56 Tidy audio source, unify headers: AudioEngineImpl.h AudioPlayer.h 2020-07-31 14:32:08 +08:00
halx99 ccc5cde3d9 Refine message output [skip travis] [skip appveyor] 2020-07-31 11:35:52 +08:00
halx99 005ec45f0a fix option order 2020-07-31 11:22:42 +08:00
halx99 589225f2e7 [Audio] Use apple system decoder for non .ogg audio files 2020-07-31 00:31:39 +08:00
halx99 594767290d Add CMAKE option CC_USE_ALSOFT_ON_APPLE to use kcat openal-soft on apple platform, by default currently OFF 2020-07-31 00:06:59 +08:00
halx99 0d8457e9af Use std::vector<char> to manage pcmData buffer on AudioCache, remove unused source from AudioCache.mm 2020-07-30 18:09:50 +08:00
halx99 e250fe3707 Fix dead-lock when play/stopAll immidiately 2020-07-30 17:26:54 +08:00
halx99 dda5628876 Sync missing fixs from v3, see: https://github.com/cocos2d/cocos2d-x/pull/19240 2020-07-30 17:07:38 +08:00
halx99 58c4fb32c1 Sync fix from v3, see also: https://github.com/cocos2d/cocos2d-x/pull/20509 2020-07-30 10:59:50 +08:00
halx99 a735abaf65 Take care _programState use 2020-07-21 23:11:03 +08:00
halx99 7322e690eb fix compile issue on iOS 2020-07-21 23:05:25 +08:00
halx99 41ad75bdb3 fix lua link error 2020-07-20 17:00:48 +08:00