Skip to content

metal support for cocos2d-x #19305

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 232 commits into from
Jan 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
65c470a
remove deprecated files
Oct 24, 2018
a73d4d6
remove some deprecated codes
Oct 24, 2018
7da0b43
remove more deprecated codes
Oct 24, 2018
34c56d3
remove ui deprecated codes
Oct 25, 2018
89bceaa
remove more deprecated codes
Oct 25, 2018
46e425c
remove deprecated codes in ccmenuitem
Oct 25, 2018
12bd255
remove more deprecated codes in ui
Oct 25, 2018
ce8a0ed
remove more deprecated codes in ui
Oct 25, 2018
d2ed18e
remove more deprecated codes in ui
Oct 25, 2018
0a20a90
remove more deprecated codes
Oct 25, 2018
0af9ef2
remove more deprecated codes
Oct 25, 2018
dbf9ca0
remove more deprecated codes
Oct 25, 2018
22dcb84
remove vr related codes and ignore some modules
Oct 25, 2018
b255d3a
remove allocator
Nov 12, 2018
33057f9
remove some config
Nov 12, 2018
f6f23a6
【Feature】add back-end project file
Nov 21, 2018
683b3a0
[Feature] add back-end file
Nov 21, 2018
3217d6e
Merge pull request #130 from Mee-gu/feature/metal-support
Nov 21, 2018
05d6466
add pipeline descriptor and shader cache
minggo Nov 21, 2018
5ec85d6
[Feature] support sprite for backend
Nov 21, 2018
6e654f6
[Feature] remove unneeded code
Nov 21, 2018
4f12960
Merge pull request #131 from Mee-gu/feature/backendSprite
Nov 21, 2018
a6ecdf3
[Feature] according to es2.0 spec, you must use clamp-to-edge as tex…
Nov 21, 2018
faa2e2a
[Feature] set texture wrap mode to clamp-to-edge, and no mipmapping f…
Nov 22, 2018
c95d094
[Feature] remove macro define to .cpp file
Nov 22, 2018
4387eef
[Feature] add log info
Nov 22, 2018
bca45ae
Merge pull request #132 from Mee-gu/feature/backendSprite
Nov 22, 2018
7038384
[Feature] add PipelineDescriptor for TriangleCommand
Mee-gu Nov 22, 2018
f9f4bc5
[Feature] add PipelineDescriptor object as member of TriangleCommand
Mee-gu Nov 22, 2018
937ffe9
[Feature] add getPipelineDescriptor method
Mee-gu Nov 22, 2018
0d86a75
Merge pull request #133 from Mee-gu/feature/supportPipelineDescriptor
Nov 22, 2018
480aee6
add renderbackend
minggo Nov 22, 2018
4be0567
complete pipeline descriptor
minggo Nov 22, 2018
8348eab
[Feature] add viewport in RenderCommand
Mee-gu Nov 22, 2018
676857a
Merge pull request #134 from Mee-gu/feature/supportPipelineDescriptor
Nov 22, 2018
b3d9b08
set viewport when rendrering
minggo Nov 23, 2018
7649e88
[Feature] occur error when using RendererBackend, to be fixed.
Mee-gu Nov 23, 2018
41c26fe
a workaround to fix black screen on macOS 10.14 (#19090)
drelaptop Nov 16, 2018
ed1e070
Merge pull request #135 from Mee-gu/feature/supportPipelineDescriptor
Nov 23, 2018
b82a479
add rendererbackend init function
minggo Nov 23, 2018
3a0588b
fix typo
minggo Nov 23, 2018
b6e0fc5
[Feature] modify testFile
Mee-gu Nov 23, 2018
b48db80
Merge pull request #136 from Mee-gu/feature/supportPipelineDescriptor
Nov 23, 2018
fd5c322
[BugFix] modify shader path
Mee-gu Nov 23, 2018
a5608ea
[Feature] set default viewport
Mee-gu Nov 23, 2018
0441192
Merge pull request #138 from Mee-gu/feature/supportPipelineDescriptor
Nov 23, 2018
cd3c16b
fix projection
minggo Nov 23, 2018
af17ec1
[Feature] modify log info
Mee-gu Nov 23, 2018
517bccf
[BugFix] change viewport data type to int
Mee-gu Nov 23, 2018
1247cf6
[BugFix] add BindGroup to PipelienDescriptor
Mee-gu Nov 23, 2018
4f47b2d
Merge pull request #139 from Mee-gu/feature/supportPipelineDescriptor
Nov 23, 2018
cde2acd
[BugFix] change a_position to vec3 in sprite.vert
Mee-gu Nov 23, 2018
a58dc74
Merge branch 'minggo/metal-support' into feature/supportPipelineDescr…
Mee-gu Nov 23, 2018
f45b53f
Merge pull request #140 from Mee-gu/feature/supportPipelineDescriptor
Nov 23, 2018
26ccf43
[BugFix] set vertexLayout according to V3F_C4B_T2F structure
Mee-gu Nov 23, 2018
d27ca60
[Feature] revert a_position to vec4
Mee-gu Nov 23, 2018
b710b44
[Feature] renderer should not use gl codes directly
Mee-gu Nov 26, 2018
cf09fe7
[Feature] it's better not use default value parameter
Mee-gu Nov 26, 2018
2c0cda0
Merge pull request #141 from Mee-gu/feature/supportPipelineDescriptor
Nov 26, 2018
93be05e
fix depth test setting
minggo Nov 26, 2018
9827dc8
rendererbackend -> renderer
minggo Nov 26, 2018
d32ac71
clear color and depth at begin
minggo Nov 26, 2018
47bbd47
add metal backend
minggo Nov 27, 2018
ebcf1ab
metal support normalized attribute
minggo Nov 27, 2018
d64389c
simplify codes
minggo Nov 27, 2018
f6b72a3
update external
minggo Nov 27, 2018
dba0fe7
add render pass desctriptor in pipeline descriptor
minggo Nov 27, 2018
0dbe676
fix warnings
minggo Nov 27, 2018
d241157
fix crash and memeory leak
minggo Nov 27, 2018
117ec7c
refactor Texture2D
Mee-gu Nov 27, 2018
0f27325
put pipeline descriptor into render command
minggo Nov 27, 2018
0307bed
simplify codes
minggo Nov 27, 2018
8b62545
[Feature] update Sprite
Mee-gu Nov 28, 2018
54cfd93
Merge pull request #143 from Mee-gu/feature/updateSprite
Nov 28, 2018
30095af
fix crash when closing app
minggo Nov 28, 2018
b79a2b3
[Feature] update SpriteBatchNode and TextureAtlas
Mee-gu Nov 29, 2018
be98454
Merge pull request #144 from Mee-gu/feature/updateLabel
Nov 29, 2018
87a26df
support render texture(not finish)
minggo Nov 29, 2018
64c0d5f
[Feature] remove unused code
Mee-gu Nov 29, 2018
f4041dc
make tests work on mac
minggo Nov 29, 2018
9eac5b3
fix download-deps path error
minggo Nov 30, 2018
7ab0cd8
make tests work on iOS
minggo Nov 30, 2018
728230e
[Feature] support ttf under normal label effect
Mee-gu Nov 30, 2018
76e6280
refactor triangle command processing
minggo Nov 30, 2018
b2c0aed
let renderer handle more common commands
minggo Nov 30, 2018
0367ca8
Merge pull request #145 from Mee-gu/feature/updateLabel
Nov 30, 2018
68de144
fix conflict
minggo Nov 30, 2018
87b29db
refactor backend
minggo Dec 7, 2018
426bd51
make render texture work
minggo Dec 10, 2018
ea05158
[Feature] refactor backend for GL
Mee-gu Dec 10, 2018
ec52df5
[Feature]Renaming to make it easy to understand
Mee-gu Dec 10, 2018
d227ae7
Merge pull request #147 from Mee-gu/feature/updateMetalSupportGL
Dec 10, 2018
9dc392c
[Feature] change warp mode to CLAMP_TO_EDGE
Mee-gu Dec 10, 2018
ba95102
Merge pull request #148 from Mee-gu/feature/updateMetalSupportGL
Dec 11, 2018
b4467d6
fix ghost
minggo Dec 10, 2018
c7fbd9b
simplify visit render queue logic
minggo Dec 11, 2018
12e0251
support progress timer without rial mode
minggo Dec 11, 2018
ff086ba
support partcile system
minggo Dec 12, 2018
096ed7b
Feature/update label (#149)
Mee-gu Dec 12, 2018
453aec7
fix conflict
minggo Dec 12, 2018
ebe2405
LabelAtlas work
minggo Dec 12, 2018
2096065
handle blend function correctly
minggo Dec 12, 2018
65a14a5
support tile map
minggo Dec 12, 2018
f5c45bd
don't share buffer in metal
minggo Dec 13, 2018
eda74c6
alloc buffer size as needed
minggo Dec 13, 2018
387b9d6
support more tilemap
minggo Dec 13, 2018
8fea223
Merge branch 'minggo/metal-support' into feature/updateLabel
Mee-gu Dec 14, 2018
564f772
render texture work without saving file
minggo Dec 17, 2018
0ff3383
use global viewport
minggo Dec 17, 2018
c566028
grid3d works
minggo Dec 18, 2018
128daa6
remove grabber
minggo Dec 18, 2018
32566c7
tiled3d works
minggo Dec 18, 2018
97c0b9b
[BugFix] fix label bug
Mee-gu Dec 19, 2018
79bfede
Merge pull request #151 from Mee-gu/feature/fixLabelBug
Dec 19, 2018
f91edaa
[Feature] add updateSubData for buffer
Mee-gu Dec 19, 2018
326c382
Merge pull request #150 from Mee-gu/feature/supportUnderLineEffect
Dec 19, 2018
f5d0fa3
[Feature] remove setVertexCount
Mee-gu Dec 19, 2018
d04e093
support depth test
minggo Dec 19, 2018
bd2ef73
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 19, 2018
06cc400
Merge pull request #152 from Mee-gu/feature/updateDrawNode
Dec 19, 2018
746fd91
add callback command
minggo Dec 19, 2018
4529ec8
[Feature] add UITest
Mee-gu Dec 19, 2018
dfafbcd
[Feature] update UITest
Mee-gu Dec 19, 2018
0db1a25
[Feature] remove unneeded codes
Mee-gu Dec 19, 2018
7ca9120
Merge pull request #153 from Mee-gu/feature/UITest
Dec 19, 2018
23a0c4c
fix custom command issue
minggo Dec 19, 2018
3dc8a52
fix layer color blend issue
minggo Dec 19, 2018
e9b407f
[BugFix] fix iOS compile error
Mee-gu Dec 19, 2018
4c2c035
[Feature] remove unneeded codes
Mee-gu Dec 19, 2018
84a6c74
[Feature] fix updateVertexBuffer
Mee-gu Dec 19, 2018
4bfdc6a
Merge pull request #154 from Mee-gu/feature/updateCommandBuffer
Dec 20, 2018
a263934
layerradial works
minggo Dec 20, 2018
8d01150
fix conflict
minggo Dec 20, 2018
6d01b1b
add draw test back
minggo Dec 20, 2018
c19bbb4
fix batch issue
minggo Dec 20, 2018
bdcb0d2
fix compiling error
minggo Dec 20, 2018
2837cc6
[BugFix] support ETC1
Mee-gu Dec 20, 2018
2d49809
[BugFix] get the correct pipelineDescriptor
Mee-gu Dec 20, 2018
1e8cfdd
[BugFix] skip draw when backendTexture nullptr
Mee-gu Dec 20, 2018
e5acdb5
clipping node support
minggo Dec 20, 2018
80e490e
Merge branch 'minggo/metal-support' into feature/updateUITest
Mee-gu Dec 21, 2018
c6536b9
Merge pull request #155 from Mee-gu/feature/updateUITest
Dec 21, 2018
7295e86
[Feature] add shader files
Mee-gu Dec 21, 2018
9bfa8e8
Merge pull request #156 from Mee-gu/feature/updateUITest
Dec 21, 2018
b1f0c06
fix stencil issue in metal
minggo Dec 21, 2018
c0e4f74
[Feature] update UILayoutTest
Mee-gu Dec 25, 2018
5b923e6
[BugFix] skip drawing when vertexCount is zero
Mee-gu Dec 25, 2018
67b99fb
refactor renderer
minggo Dec 26, 2018
23ff58a
Merge pull request #157 from Mee-gu/feature/updateUILayout
Dec 26, 2018
7646804
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 26, 2018
29a1ac2
add set global z order for stencil manager commands
minggo Dec 26, 2018
7e1bcc8
fix warnings caused by type
minggo Dec 26, 2018
5801cde
remove viewport in render command
minggo Dec 26, 2018
9fb53b8
[Feature] fix warnings caused by type
Mee-gu Dec 26, 2018
f3b6358
[BugFix] clear vertexCount and indexCount for CustomComand when needed
Mee-gu Dec 26, 2018
6cfc171
[Feature] update clear for CustomCommand
Mee-gu Dec 27, 2018
4878990
Merge pull request #159 from Mee-gu/feature/updateDrawNode
Dec 27, 2018
df8eed3
ios use metal
minggo Dec 27, 2018
5f184b0
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 27, 2018
42e0b09
fix viewport issue
minggo Dec 27, 2018
a6f0605
fix LayerColorGradient crash
minggo Dec 28, 2018
c5dcbcb
[cmake] transport to android and windows (#160)
PatriceJiang Dec 28, 2018
15fb802
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 28, 2018
e00d05b
fix android compiling error
minggo Dec 28, 2018
a8589a8
Impl progress radial (#162)
PatriceJiang Dec 28, 2018
52d18f0
dec invoke times of createVertexBuffer (#163)
PatriceJiang Dec 28, 2018
8bf22c8
support depth/stencil format for gl backend
minggo Dec 28, 2018
83c1692
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 28, 2018
17d706d
simplify progress timer codes
minggo Dec 28, 2018
886327f
support motionstreak, effect is wrong
minggo Dec 29, 2018
5152930
fix motionstreak issue
minggo Dec 29, 2018
265da99
[Feature] update Scissor Test (#161)
Mee-gu Dec 29, 2018
84d809a
[Feature] show render status (#164)
Mee-gu Dec 29, 2018
f30c539
improve performance
minggo Dec 29, 2018
a3f0b99
Merge branch 'metal-support' of github.com:minggo/cocos2d-x into meta…
minggo Dec 29, 2018
14e8757
fix depth state
minggo Dec 29, 2018
41fa2bc
fill error that triangle vertex/index number bigger than buffer
minggo Jan 2, 2019
9015578
fix compiline error in release mode
minggo Jan 2, 2019
1af518a
fix buffer conflict between CPU and GPU on iOS/macOS
minggo Jan 3, 2019
281b71d
Renderer refactor (#165)
Jan 4, 2019
58ff1db
custom command support index format config
minggo Jan 4, 2019
e7c3e1f
CCLayer: compact vertex data structure
PatriceJiang Jan 4, 2019
816c67a
update comment
PatriceJiang Jan 4, 2019
3f11eeb
fix doc
PatriceJiang Jan 4, 2019
3f89fc4
support fast tilemap
minggo Jan 4, 2019
a7c7185
CCLayer: use compact vertex data field (#166)
Jan 4, 2019
8b8c3d1
pass index format instead
minggo Jan 4, 2019
a41aebf
fix some wrong effect
minggo Jan 4, 2019
21df190
fix render texture error
minggo Jan 4, 2019
62f855b
fix texture per-element size
minggo Jan 4, 2019
eef00a9
fix texture format error
minggo Jan 4, 2019
d902e51
BlendFunc type refactor, GLenum -> backend::BlendFactor (#167)
PatriceJiang Jan 7, 2019
80ced95
remove primitive command
minggo Jan 7, 2019
b1be014
remove CCPrimitive.cpp/.h
minggo Jan 7, 2019
5939b15
remove deprecated files
minggo Jan 7, 2019
5c4b6f6
remove unneeded files
minggo Jan 7, 2019
be4f458
remove multiple view support
minggo Jan 7, 2019
88c812b
remove multiple view support
minggo Jan 7, 2019
b981f1c
remove the usage of frame buffer in camera
minggo Jan 7, 2019
27eb5df
director don't use frame buffer
minggo Jan 7, 2019
38988dc
remove FrameBuffer
minggo Jan 7, 2019
640db2e
remove BatchCommand
minggo Jan 7, 2019
be79c1d
add some api reference
minggo Jan 8, 2019
972c687
add physics2d back
minggo Jan 8, 2019
a93dcba
fix crash when close app on mac
minggo Jan 9, 2019
211c6dd
improve render texture
minggo Jan 9, 2019
d450776
fix rendertexture issue
minggo Jan 9, 2019
1a59647
fix rendertexture issue
minggo Jan 9, 2019
84b9057
simplify codes
minggo Jan 9, 2019
673b36f
CMake support for mac & ios (#169)
PatriceJiang Jan 10, 2019
0d2aed8
remove CCThread.h/.cpp
minggo Jan 10, 2019
cd48164
remove ccthread
minggo Jan 10, 2019
ab6b297
use audio engine to implement simple audio engine
minggo Jan 10, 2019
3b23755
remove unneeded codes
minggo Jan 10, 2019
847257f
remove deprecated codes
minggo Jan 10, 2019
059dcae
remove winrt macro
minggo Jan 10, 2019
c8e75b0
remove CC_USE_WIC
minggo Jan 10, 2019
c05dbd6
set partcile blend function in more elegant way
minggo Jan 10, 2019
a92233a
remove unneeded codes
minggo Jan 11, 2019
9a6381c
remove unneeded codes
minggo Jan 11, 2019
b815803
cmake works on windows
minggo Jan 11, 2019
be10524
update project setting
minggo Jan 14, 2019
ac18658
improve performance
minggo Jan 14, 2019
578c71a
GLFloat -> float
minggo Jan 14, 2019
d80c3d8
sync v3 cmake improvements into metal-support (#172)
drelaptop Jan 16, 2019
cff2ef8
sync v3 build related codes into metal-support (#173)
drelaptop Jan 16, 2019
113ed67
update uniform setting
Mee-gu Jan 18, 2019
fae71ae
[texture2d] impl texture format support (#175)
PatriceJiang Jan 18, 2019
f519920
AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174)
drelaptop Jan 18, 2019
0cdb305
add CCTextureUtils to xcode project file (#176)
PatriceJiang Jan 18, 2019
43a01d0
add leak cases for SpriteFrameCache (#177)
drelaptop Jan 18, 2019
fa0ab3b
fix compiling error
minggo Jan 18, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ branches:
- v3-doc
- v3.11_backup
- v35-for-tizen
- metal-support

clone_depth: 1

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,7 @@ tests/lua-tests/project/proj.tizen/res/
cmake-build-*/
.vs
cmake_build*
metal-support*.zip
**/.project

desktop.ini
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ matrix:
include:
# linux
- os: linux
dist: xenial
env:
- BUILD_TARGET=linux
- GEN_BINDING_AND_COCOSFILE=true
Expand Down Expand Up @@ -61,9 +62,10 @@ matrix:
sudo: required
- os: linux
env: BUILD_TARGET=android_cocos_new_test
language: cpp
language: android
sudo: required
- os: linux
dist: xenial
env: BUILD_TARGET=linux_cocos_new_test
language: cpp
sudo: required
Expand Down
31 changes: 25 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,34 @@ project(Cocos2d-x)
set(COCOS2DX_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_MODULE_PATH ${COCOS2DX_ROOT_PATH}/cmake/Modules/)

# prevent in-source-build
include(PreventInSourceBuilds)
AssureOutOfSourceBuilds()

# works before build libcocos2d
include(CocosBuildSet)

# default tests include lua, js test project, so we set those option on to build libs
set(BUILD_LUA_LIBS ON)
set(BUILD_JS_LIBS ON)
# for metal-support alpha release, we only test cpp
set(BUILD_LUA_LIBS OFF)
set(BUILD_JS_LIBS OFF)

add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos ${ENGINE_BINARY_PATH}/cocos/core)

# prevent tests project to build "cocos2d-x/cocos" again
set(BUILD_ENGINE_DONE ON)

# add cpp tests default
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests/cpp-empty-test ${ENGINE_BINARY_PATH}/tests/cpp-empty-test)
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests/cpp-tests ${ENGINE_BINARY_PATH}/tests/cpp-tests)

if(BUILD_LUA_LIBS)
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests/lua-empty-test/project ${ENGINE_BINARY_PATH}/tests/lua-empty-test)
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests/lua-tests/project ${ENGINE_BINARY_PATH}/tests/lua-test)
endif(BUILD_LUA_LIBS)

if(NOT USE_COCOS_PREBUILT)
add_subdirectory(${COCOS2DX_ROOT_PATH}/cocos ${ENGINE_BINARY_PATH}/cocos/core)
if(BUILD_JS_LIBS)
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests/js-tests/project ${ENGINE_BINARY_PATH}/tests/js-tests)
endif()
add_subdirectory(${COCOS2DX_ROOT_PATH}/tests ${ENGINE_BINARY_PATH}/tests)

# add cpp-template-default into project(Cocos2d-x) for tmp test
add_subdirectory(${COCOS2DX_ROOT_PATH}/templates/cpp-template-default ${ENGINE_BINARY_PATH}/tests/HelloCpp)
125 changes: 0 additions & 125 deletions build/cocos2d-win32.sln

This file was deleted.

Loading