Commit Graph

252 Commits

Author SHA1 Message Date
halx99 e2c4b786b8 Call initWithZeros at constructor once is works 2020-02-15 17:35:44 +08:00
halx99 effc75bd78 Refine sources 2020-02-15 10:48:44 +08:00
halx99 8aee15f7c0 fix ci error 2020-02-15 03:10:01 +08:00
halx99 78f9dfa8ef Remove unnecessary constructors. 2020-02-15 02:58:41 +08:00
halx99 3bea76ee4d Refine STMGT 2020-02-15 02:36:02 +08:00
halx99 4c9e87ac51 Move maxTextureIdx to base texture class 2020-02-14 23:42:05 +08:00
halx99 54fecde8a2 Make multi-meta-textures support works on Metal. 2020-02-14 21:40:33 +08:00
halx99 a460438c3b Make astc works on ios platform. 2020-02-14 19:10:01 +08:00
halx99 2fe58e86ae fix #53 2020-02-14 15:18:56 +08:00
HALX99 deb7c48844
Merge pull request #52 from c4games/fix-issue51
fix #51
2020-02-12 20:58:25 +08:00
halx99 f36d21c9bf fix #51 2020-02-12 20:15:09 +08:00
weiwest 9496d34470 add astc soft decode support 2020-02-11 23:54:17 +08:00
weiwest dbc089d51d add astc support 8x8 block size 2020-02-06 21:54:45 +08:00
weiwest a6edda385b add astc support 2d 4x4 RGBA 2020-02-05 22:45:19 +08:00
coulsonwang 43ffe28ce9 set gl framebuffer read and write back again (#20403)
* set gl framebuffer read and write back again

* update review
2019-12-29 23:07:19 +08:00
halx99 d36f53e567 multi texture GPU handler for compressed image 2019-12-01 23:26:11 +08:00
coulsonwang 85ac704687 fix incorrect hash structure for RenderPipeline (#20373)
* fix incorrect hash structure for RenderPipeline
2019-11-30 16:54:50 +08:00
halx99 259d67b60d fix ci warnings 2019-11-26 22:37:20 +08:00
HALX99 8cb40c339a
Update ProgramStateRegistry.cpp 2019-11-25 21:23:29 +08:00
halx99 f332ae77c1 Remove unused log. 2019-11-24 21:02:41 +08:00
halx99 179ec6ed67 fix ci error 2019-11-23 21:25:17 +08:00
halx99 b94d75e5d6 fix ci error. 2019-11-23 20:27:39 +08:00
halx99 c180c29d32 for MTL layer 2019-11-22 22:10:55 -08:00
HALX99 c08e2cda4d
Merge branch 'v4' into v4 2019-11-22 10:29:11 +08:00
halx99 78ed4e230b TextureFormatEXT 2019-11-22 03:36:01 +08:00
halx99 8b62addcec Rename parameters. 2019-11-20 19:22:22 +08:00
halx99 e7906acfa4 v4-meta-multi-textures support Single Texture2D with multi GPU texture handlers. 2019-11-20 18:19:24 +08:00
codetypes d05967b69a fix setScissorRect crash (#20348)
When part of scissorRect is out of render target viewport, it crash on mac.
Error message like this: -[MTLDebugRenderCommandEncoder setScissorRect:]:2703: failed assertion `(rect.y(568) + rect.height(447))(1015) must be <= render pass height(1000)'
2019-11-20 11:03:59 +08:00
coulsonwang 2d42aa1d21 fix memory leak (#20258) 2019-10-28 15:04:03 +08:00
coulsonwang a09806f580 Fix todo (#20248) 2019-10-25 16:41:03 +08:00
minggo c9af873e2e
fix some warnings (#20247) 2019-10-25 16:40:30 +08:00
coulsonwang 67ae2e756e fix ProgramState and Program performance (#20189)
* fix ProgramState and Program performance

* fix review

* fix

* add autorelease
2019-10-15 09:40:59 +08:00
coulsonwang 327407d59b fix full screen issue (#20202)
need resize depth and stencil attachment texture as well.
2019-10-15 09:38:51 +08:00
coulsonwang b553648a77 remove unused code (#20195) 2019-10-12 09:45:56 +08:00
coulsonwang a91091e93a fix triangle batch (#20185)
* fix triangle batch
since it would be too expensive to check the uniforms, simplify enable batching for built-in program.

* enable user update the materialID
2019-10-10 09:41:39 +08:00
coulsonwang e9a33903f0 fix memory leak for metal app 2019-09-19 15:31:05 +08:00
coulsonwang 5ab04a7001 set default color attachment format (#20073) 2019-09-04 10:07:31 +08:00
coulsonwang 4d04b64a3a add specific define for metal (#20084) 2019-09-04 09:58:40 +08:00
coulsonwang f97717265b fix shader header defines (#20077) 2019-09-04 09:56:28 +08:00
coulsonwang 1e8f6d24ac fix render pipeline (#20041) 2019-08-19 10:12:00 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
minggo 8913c30fc0
fix compile warnings (#20028) 2019-08-13 18:19:32 +08:00
coulsonwang 935af58e1d remove arrays of vertex layout (#20023) 2019-08-13 13:58:16 +08:00
coulsonwang 23732ab889 remove arrays of vertex buffer (#20022) 2019-08-13 09:46:20 +08:00
coulsonwang 3c693c7fd9 fix crash issue when egl context lost (#20025) 2019-08-13 09:45:39 +08:00
coulsonwang 320b9b4e67 Feature/sprite optimized (#19998)
Optimize sprite creation speed
2019-08-06 09:37:49 +08:00
sgosztyla 0be2a1e80a Fixing memory leak. (#19993)
Library should be released after calling "newLibraryWithSource".
2019-07-30 15:51:38 +08:00
coulsonwang e64f2af25b fix header define for shader. (#19934) 2019-07-22 10:45:41 +08:00
coulsonwang 7b7cf55efb remove vertex step mode (#19921) 2019-07-17 13:59:37 +08:00
coulsonwang cb07f599f8 add api comments (#19922) 2019-07-17 09:26:15 +08:00
coulsonwang 03ea495fd6 add API comments (#19919) 2019-07-16 10:01:23 +08:00
coulsonwang f0f9cf612c add api comments (#19916) 2019-07-15 09:28:38 +08:00
coulsonwang 77b1535a9d add api document (#19909) 2019-07-09 09:43:45 +08:00
coulsonwang f72dbd28d0 add copyright (#19903) 2019-07-04 17:47:24 +08:00
minggo e0200eaa54
should unbind prebound attachments to avoid error on some android devcies (#19875) 2019-06-28 08:56:13 +08:00
Arnold 76edaa0993 [bugfix] fix TextureInfo copy constructor (#19865)
* fix copy

* fix compile error

* Update cocos/renderer/backend/ProgramState.cpp
2019-06-27 17:42:32 +08:00
Arnold 75ba0f91d1 add break statement (#19867) 2019-06-27 09:40:53 +08:00
coulsonwang bbc6a88c51 optimize the uniform buffer (#19845)
* optimize the uniform buffer

* update review
2019-06-26 10:26:49 +08:00
coulsonwang 1b6c3a7173 setFrameBufferOnly to false when necessary (#19843) 2019-06-18 18:05:22 -07:00
coulsonwang 2c5fc38297 add test case (#19830)
* add test case

* comment meaningless test case
2019-06-18 18:04:56 -07:00
coulsonwang 7a94e66a14 Feature/fix alpha test (#19824) 2019-06-18 00:25:26 -07:00
Arnold 7851f212bf Rename backend::Texture2D (#19821)
* compile on windows

* compile on mac

* rename to Texture2DBackend

* compile on mac
2019-06-12 00:01:15 -07:00
coulsonwang 9bea7a3255 fix crash when using compressed pixel format (#19794) 2019-06-04 18:30:16 -07:00
coulsonwang 59d5f97d30 fix compile error (#19788) 2019-06-03 19:52:16 -07:00
coulsonwang 7c29811c81 vertex shader does not need header define (#19785) 2019-06-03 19:43:19 -07:00
coulsonwang bf93892ec9 bind texture target (#19786) 2019-06-03 18:25:32 -07:00
coulsonwang 89ba801628 add compressed format for metal (#19762) 2019-06-03 03:34:28 -07:00
coulsonwang 10b2799051 Feature/fix mipmap issues (#19753)
* fix mipmap

* fix mipmap issues

* remove unneeded code

* fix

* remove Texture2D::PixelFormat, add backend::PixelFormat

* fix lua compile error

* reset *.tps files

* fix compile error

* fix compile error
2019-06-02 18:39:51 -07:00
coulsonwang 8faf4a758f get supported depthStencil pixel format (#19774) 2019-05-28 19:46:55 -07:00
coulsonwang 000a5e124b fix location (#19764) 2019-05-27 19:14:55 -07:00
coulsonwang 2d02e23fbd Feature/update device info (#19712)
* update DeviceInfo

* remove unneeded code

* fix indentation

* add FeatureSet enum for metal

* revert code
2019-05-15 18:26:00 -07:00
coulsonwang 2a0ded38a2 [Texture2D Test17/18] add methods to convert BGRA8888 format (#19716)
* [Texture2D Test17/18] add methods to convert BGRA8888 format

* use size_t and ssize_t when necessary

* fix compile error
2019-05-15 18:17:26 -07:00
coulsonwang ac0f9286bf fix lineColor.vert shader (#19684) 2019-05-09 20:30:37 -07:00
coulsonwang cacdc4f140 fix buffer usage (#19685) 2019-05-09 20:30:06 -07:00
minggo 1a68f6c4b6
Shader precision (#19668) 2019-05-07 00:48:51 -07:00
minggo 70fed45ed8
Merge pull request #19650 from Mee-gu/feature/ReloadBuffer
add methods for reloading buffer data outside the buffer when necessary
2019-05-06 00:39:04 -07:00
Arnold 98d5f37a30 fix lua-tests errors (#19646)
* enable test case

* save

* generate enum classes

* save

* autobindg backend interface

* safe

* fix typos

* fix setUniform

* enable draw primitives and fast tmx tiled map

* save all

* update

* fix compile error on mac

* fix locations

* fix locations

* deduce vertexlayout

* clean

* compile on mac

* fix resource path

* save

* update bindings-generator

* remove unused code

* rename ccbackend to ccb

* remove todo
2019-05-05 00:26:34 -07:00
coulsonwang 35951d6952 add private specifier 2019-05-05 14:34:44 +08:00
coulsonwang 7ca39dd08e remove unneeded function and rename function to more readable 2019-04-30 15:19:53 +08:00
coulsonwang 5771b4236d add methods for reloading buffer data outside the buffer when necessary 2019-04-30 10:31:22 +08:00
coulsonwang 7ee0b65bb6 [Feature] fix spirte, label test when EGL context lost (#19612)
* [BugFix] fix compile error

* [Feature] fix spirte, label test when EGL context lost

* [Feature] map uniform location

* [Feature] remove unneeded codes

* [Feature] add BufferManager

* [Feature] fix compile error

* [Feature] add files

* [Feature] remove unneeded codes

* [Feature] no need to release opengl resource

* [Feature] update BufferManager

* 1. reCreate frame buffer when needed.
2. initial texture when come back to foreground

* [Feature] add Program and Buffer event listener

* [FixTerrain] need check location had used before

* fix compile error

* add updateTextureDescrptor function for TextureMTL, since TextureMTL creation was move to Texture2D constructor.

* [FixDrawNode] record buffer data when needed

* [FixShaderTest] add nullptr judgement

* [FixShaderText] no need to reCreate ProgramState when come back to foreground

* [FixRenderTexture] retain the render texture image

* [Feature] optimize buffer memory

* fix compile error

* fix CI test fail
2019-04-29 18:51:45 -07:00
coulsonwang 5944857936 [MaterialSystemTest] When depth testing is disabled, writes to the depth buffer are also disabled. No need to do depth test in such case. (#19582) 2019-04-08 18:56:05 -07:00
Arnold 3bf5e84926 [bugfix] cpp-test small bugs (#19574) 2019-04-04 01:13:17 -07:00
Arnold fe14fcd4de [bugfix] fix test case crash (#19573)
* fix depthstencil buffer format

* fix crash
2019-04-03 18:41:17 -07:00
Arnold 9a56e6923f [bugfix] motionstreak & DrawNode3D on GL (#19564) 2019-04-03 02:27:15 -07:00
coulsonwang 688592b175 [Feature] fix mipmap issues (#19519) 2019-04-01 19:20:30 -07:00
coulsonwang bb60c173a1 add a flag to determine if need depth/stencil attachment 2019-04-01 19:05:53 -07:00
coulsonwang d92ae4b478 [Feature] CaptureScreen works (#19547) 2019-03-27 18:09:26 -07:00
coulsonwang 4f63cc5459 [Feature] fix CaptureNode (#19539) 2019-03-24 19:23:55 -07:00
minggo 6067d62341
adapt ClippingNodeTest (#19528) 2019-03-24 19:08:49 -07:00
Arnold 6e063330e0
remove todos 2019-03-20 09:45:09 +08:00
minggo cb9cf672a1
Merge pull request #19517 from PatriceJiang/3d-material-test-cases
Enable material system test cases
2019-03-19 09:46:46 +08:00
minggo 8452b55b82
Merge pull request #19513 from Mee-gu/feature/AddDeviceInfo
Feature/add device info
2019-03-19 09:24:18 +08:00
coulsonwang 0825386827 fix compile error 2019-03-18 16:08:25 +08:00
Arnold 98fa7af850
fix linux compile error 2019-03-18 14:54:35 +08:00
patricejiang 811b66b51e
fix doc of ProgramState::AutoBindingResolver 2019-03-18 10:31:56 +08:00
Arnold be579d1c4c
add doc 2019-03-18 09:41:14 +08:00
Arnold e211fd4e61
fix index 2019-03-18 09:35:36 +08:00
Arnold 40304860e6
Apply suggestions from code review 2019-03-18 09:33:43 +08:00
Arnold 5146fa3c93
Update cocos/renderer/backend/Types.cpp 2019-03-15 17:28:57 +08:00
Arnold e46e286a18
fix hash function 2019-03-15 17:19:04 +08:00
Arnold 4b5121c70b
Update cocos/renderer/backend/Types.cpp 2019-03-15 17:10:31 +08:00
Arnold c1ba0d866b
remove comments 2019-03-15 15:09:39 +08:00
patricejiang 7280457fbb
add callback uniform to metal 2019-03-15 14:44:28 +08:00
Arnold d75c2f3c5e
add uniform callback 2019-03-15 14:44:28 +08:00
Arnold c35c4e2347
fix ccpass 2019-03-15 14:41:59 +08:00
coulsonwang 3a3924f76f [Feature] fix CI test fail 2019-03-15 11:13:40 +08:00
minggo 629eebd031
Merge pull request #19498 from PatriceJiang/texture_setTexParams
Texture2D::TexParams fields use backend enum types
2019-03-15 10:43:52 +08:00
coulsonwang ca93a8ba7d [Feature] fix indentation 2019-03-14 16:13:38 +08:00
coulsonwang ff6141559d [Feature] add file 2019-03-14 15:59:51 +08:00
coulsonwang b2387f13de [Feature] add DeviceInfo for querying implementation limits. 2019-03-14 15:58:55 +08:00
Arnold 7fcdf544e7
Update cocos/renderer/backend/Types.h 2019-03-14 11:00:21 +08:00
minggo b91d6171c7
Merge pull request #19488 from Mee-gu/feature/UniformAlignment
[Feature] fix uniform filled in metal
2019-03-13 17:32:35 +08:00
minggo 7ebea45168 fix some todo 2019-03-13 14:11:40 +08:00
Arnold 1d0107c087
alias backend::SamplerDescriptor 2019-03-13 10:54:26 +08:00
coulsonwang 5d5eaf4be1 [feature] fix android compile error 2019-03-13 10:10:15 +08:00
coulsonwang a8e54b9b53 [Feature] update attribute setting 2019-03-12 21:05:03 +08:00
coulsonwang d4375db34f [Feature] use glslopt_basic_type 2019-03-12 15:35:42 +08:00
coulsonwang 605975bfa0 [Feature] use references and rename the structure to a more meaningful name 2019-03-12 14:18:16 +08:00
coulsonwang c17d361e50 [Feature] float3 etc in Metal has both sizeof and alignment same as float4, need convert to correct laytout 2019-03-12 11:10:57 +08:00
Arnold a384e38e16 [bugfix] GL vertex attribute layout incorrect (#19484)
* collect OpenGL enum convertion methods

* add testcase for lots of nots

* fix andorid compile error

* move more function to UtilsGL

* use shared pointer

* naming stuff

* move VertexLayouts to CommandBuffer

* fix android compile error

* fix android headers

* add comment

* add comment, fix
2019-03-12 10:37:52 +08:00
coulsonwang 7c6a01affb [Feature] fix uniform filled in metal 2019-03-11 20:52:23 +08:00
coulsonwang c5c6fa3396 Feature/update sprite3 d test (#19475)
* [BugFix] fix crashed test in metal

* [Feature] add comments

* [Feature] modify ways to get max_vertex_attribute

* [Feature] make it crashed in debug mode
2019-03-08 18:48:12 +08:00
Arnold 8caade49e6 [3d] add meshcommand (#19472) 2019-03-07 17:30:11 +08:00
coulsonwang e69e7e0b30 [Feature] support cubeMapping in metal (#19469) 2019-03-07 11:08:12 +08:00
coulsonwang 776ab98e0b [BugFix] fix fill UnifromBuffer issues (#19462) 2019-03-05 11:19:52 +08:00
coulsonwang c18564cc44 fix depth/stencil validation failed in iPhoneX (#19458) 2019-03-04 15:09:34 +08:00
Arnold b4f2ed0376 [3d] Sprite3DTest enable test cases (#19447) 2019-02-28 15:20:23 +08:00
Arnold 7fd82997ef [3d] terrain impl & test case (#19442) 2019-02-27 17:16:25 +08:00
coulsonwang f4170ea89a [Feature] set default scissor rectangle for metal when scissor test disabled (#19441) 2019-02-27 15:02:28 +08:00
coulsonwang cba56e5da7 Feature/save image issue (#19435) 2019-02-27 11:29:20 +08:00
minggo 1e7a6f7fcf
Issue19416 (#19427)
* use more meaningful names

* remove unneeded types
2019-02-22 14:06:26 +08:00
Arnold edf3687af5 [3d] add motionstreak3d (#19414) 2019-02-20 16:56:35 +08:00
Arnold fd1d5d2dd7 [3D] texture cubemap GL & skybox (#19401) 2019-02-19 10:15:24 +08:00
Arnold 512a5f12c1 fix compile error (#19403) 2019-02-18 14:54:12 +08:00
Arnold 8be2a2053f
sync 3d support code (#19392)
* Sprite3D
* DrawNode3D
* active more Sprite3DTest
2019-02-15 14:30:10 +08:00
coulsonwang 193e37a0e0 [BugFix] fix FBO memory issues (#19387) 2019-02-13 10:13:46 +08:00
coulsonwang 6c0e80c954 [Feature] fix android compile error (#19380) 2019-02-13 09:10:22 +08:00
minggo 37b3d04f8d
some fix for gl backend (#19379) 2019-01-31 18:04:30 +08:00
Arnold 5ddf2b7d45
fix android include headers (#19376) 2019-01-31 17:17:14 +08:00
coulsonwang 3d0da9a7ac [Feature] caching render pipeline (#19375)
* [Feature] caching render pipeline

* [BugFix] release render pipeline
2019-01-31 16:31:09 +08:00
coulsonwang 03bb089bfe [Feature] remove unnecessary alloc (#19373) 2019-01-30 23:21:32 +08:00
coulsonwang 64dd7d381f [Feature] fix memory leaks on ClippingNode (#19371) 2019-01-30 18:14:25 +08:00
coulsonwang 2eef8cdbb9 [Feature] Cache RenderCommandEncoder (#19367)
cache render pipeline to improve performance
2019-01-30 14:14:15 +08:00
Arnold fe497933f8 3d support: some test cases works
* hack to make sprite3d test work

* support cull face

* support setting front face winding

* convert depth compare function type

* clean codes

* remove usage of glprogramstate

* pass needed information to Material::draw()

* add 3d textures

* enable animation

* 3D: compile on windows  (#179)

* exclude source files from extensions/

* enable assets and 3D

* run on windows

* update comments

* use std::vector instead of raw pointer void *

* compile on mac

* revert cmake

* fix bufferdata

* add todos

* remove dirty flag from uniform buffer

* argument type const &

* enable more tests

* update shader

* save: failed to compile

* pass compilation

* fix type convert

* save stage

* save stage 2

* remove VertexData & IndexBuffer & VertexBuffer

* comment out _meshCommand

* comment bindPredefinedVertexAttribs()

* fix xcode project file

* simple refactor

* remove unused files

* revert sprite3d testcase position

* revert change

* remove ProgramGL::bindPredefinedVertexAttribs()

* add header <string>

* fix uniform size
2019-01-30 09:35:17 +08:00
minggo d88fe68bd1
Memory leak (#19358) 2019-01-25 09:20:07 +08:00
coulsonwang 66b0139e39 [BugFix] set the correct depthStencil state (#19356) 2019-01-24 18:31:51 +08:00
minggo 2d0fc63ac6
fix bug when dynamic buffer stop updating data(#19351)
* fix warnings

* fix bug when dynamic buffer stop updating data
2019-01-24 15:56:59 +08:00
coulsonwang 28a453e49d update ui_Grag.frag (#19344)
* update ui_Grag.frag

* [Feature] fix indent
2019-01-23 17:54:24 +08:00
coulsonwang 27724aa4c5 [BugFix] set the correct bufferSize for unifromInfo (#19343) 2019-01-23 17:42:58 +08:00