Commit Graph

280 Commits

Author SHA1 Message Date
smilediver 74c6a4a417
Fix same uniforms in fragment and vertex shaders not working in Metal (#1808)
* Fix same uniforms in fragment and vertex shaders not working in Metal

* Add missing copyright

* Fix lua bindings for UniformLocation conversion

* Fix uniform mismatch in positionNormalTexture.vert and colorNormalTexture.frag

* Enable ProgramState::setFragmentUniform() only for Metal
2024-04-12 23:12:51 +08:00
halx99 9872818890 Fix typo: BLEND_CLOLOR ==> BLEND_COLOR 2024-04-10 21:47:00 +08:00
halx99 2ccdb3dbcd Fix typo: RESERVE_SUBTRACT ==> REVERSE_SUBTRACT 2024-04-10 21:45:48 +08:00
halx99 ba734bc3e5 Fix some compiling warnings 2024-04-06 18:05:42 +08:00
Deal bf7635fe63
Add CMake option to remove Console from builds (#1788)
* Add CMake option to remove Console from builds

- option: AX_ENABLE_CONSOLE

* Fix ci
2024-04-05 14:25:22 +08:00
RH 4fb845244f
Allow certain code modules to be removed from build process (#1769)
* Add support for disabling code sections from build process

* Add support for disabling built-in audio

* No need to add definition here

* Remove extra blank lines

* Add required copyright notice

* Document new options
2024-03-28 10:45:20 +08:00
smilediver db057444b9
Fix texture recreation when GL context is lost (#1763)
* Fix texture recreation when GL context is lost

* Add missing copyright
2024-03-23 09:15:36 +08:00
halx99 2701bd1088 Fix #1759 2024-03-21 00:41:11 +08:00
Deal 5d2c42e73f
Implement new axmol log system based on fmtlib (#1732)
* Implement new log macros based on fmtlib

* Fix ci

* Fix ci

* Fix android ci

* Fix warnings

* Replace more ax::log by AXLOGX

* Fix ci

* Fix linux build

* Use stack memory for log prefix

* Fix linux build

* Fix warning

* Add ILogOutput support

* Replace old log calls with new log macros

* Fixup

* Fixup

* Fixup

* Update ci msvc to 14.39

* Update Console.h [skip ci]

* Pass log level to ILogOutput
2024-03-07 08:47:00 +08:00
Deal 9774d4751c
Fix memory leaks refreshed (#1638)
* Fix memory leaks when axmol apps exit on non-embed systems

    1. DriverBase no destroyInstance
    2. Every object inherited from ax::Ref shoud destory before ScriptEngineManager, otherwise will trigger it's reinit and leak
    3.  QuadCommand always leak isolated indices
    4. static singleton should'nt inhert from ax::Ref due to destory it before ScriptEngineManager impossible
    5. Make Director don't inherit from ax::Ref due to it also cause ScriptEngineManager re-init, because we destroy ScriptEngineManger in destructor of Director
    6. Explicit Director managed by Application and don't delete self at purgeDirector, since it will release at mainLoop and re-init in glView->pollEvents then leak
    7. Rename ApplicationProtocol to ApplicationBase
    8. Rename purgeDirector since we don't delete director self at it, maye rename to cleanup
    9. Change ShaderCache to new/delete singleton, managed by ProgramManager

---------

Co-authored-by: lich426 <lich426@gmail.com>
2024-01-29 22:30:14 +08:00
RH 6543931e3f
Ensure scissor state is set to the correct value prior to a buffer clear (#1632) 2024-01-25 13:26:35 +08:00
j-jorge aa3d1fdd86
Turn ShaderCache into a singleton. (#1588)
This is more consistent with what is done everywhere else in the
repository.
2024-01-07 07:43:13 +08:00
j-jorge bfb30f573a
Fix shader cache leak (#1580)
* Fix compilation issue in Texture2D.cpp with _AX_DEBUG=2.

* Fix memory leak: ShaderCache was not purged.

The ShaderCache class had two static members: a map for the cache, and
a pointer to the single instance of ShaderCache. The map was
supposedly cleared in the destructor but there was actually no
instance of ShaderCache (getInstance() was never called and the other
functions accessed the map directly). This commit removes the
singleton "interface" such that only the map is used, then it cleared
the map upon request.
2024-01-06 00:48:34 +08:00
Deal b88c28013c
GLES3: Fix scalar array layout (#1523) 2023-12-15 22:29:23 +08:00
Deal 213f788f75
Merge backend Device, DeviceInfo to DriverBase (#1499)
* backend::Device ==> backend::DriverBase
* backend::DeviceInfo ==> backend::DriverBase
* code style: remove unnecessary virtual function marks
2023-12-11 21:59:25 +08:00
halx99 affcf05b69 Prepare 2.1.0 release
* Update copyright notice
* Remove prebuilt libs from SCM
* Remove optional thirdparty sources/repo from SCM
* Remove tests resources  folder 'Content' from SCM
2023-12-08 01:04:43 +08:00
j-jorge 5122352019 Add missing include guard in CommandBufferGLES2.h. (#1430)
Co-authored-by: Julien Jorge <julien.jorge@MediaKind.com>
2023-11-11 17:32:10 +08:00
RH cc3156e66e [Android] Reset the OpenGL state cache if the context is lost (#1401) 2023-10-25 09:35:58 +08:00
halx99 6978028783 Fix wasm build 2023-10-02 11:26:50 +08:00
halx99 57492b203c Update yasio, improve pod_vector
a. now the pod_vector more reusable, byte_buffer, array_buffer aka dynamic_array
b. change pod_vector resize, assign allocate memory exactly/fit and +=, append, insert operations trigger msvc capacity growth strategy
2023-10-01 22:04:47 +08:00
halx99 2f1efe5a51 Add preload ttf SDF font atlas support
A extension SDFGen tool also available, see ImGuiTest
2023-09-26 01:33:06 +08:00
halx99 92b730085e Update docs 2023-09-18 13:34:26 +08:00
halx99 c7ab6a227e Processing wasm touch events properly 2023-09-07 19:32:06 +08:00
halx99 a26dc47238 Enable A8, LA8, L8 render format for GLES_PROFILE 2023-09-04 19:16:26 +08:00
halx99 c66ac9dedc Merge: 41714a04fd 2631c8405b
Merge branch '1.x' into dev
2023-09-02 19:56:50 +08:00
halx99 b21fcb0272 Fix gendocs.ps1 2023-09-02 19:56:33 +08:00
halx99 8f8418c15d Merge: c8bfa8cdf1 062b510c38
Merge 1.x WASM support into 'dev'
2023-09-02 19:47:18 +08:00
nowasm 03f007fdbe Add webgl aka wasm build support (#1315) 2023-09-01 16:31:14 +08:00
halx99 4c0c328b80 Merge: 6d82d3a76c 5e3cba78a6
Merge branch '1.x' into dev
2023-09-01 16:29:02 +08:00
halx99 396313de47 consle-next: Looking both powershell 7.x and 5.x 2023-09-01 16:28:34 +08:00
iAndyHD3 ed39cf3996 Update AXBuildHelpers.cmake (#1316)
fix find_program call
2023-09-01 16:09:58 +08:00
halx99 b1ddb2fcce Sync #1316 2023-09-01 16:09:27 +08:00
halx99 a000ccbab5 Update site build 2023-09-01 14:49:03 +08:00
halx99 ada7deb002 Sync docs [skip ci] 2023-09-01 14:48:42 +08:00
halx99 310c5868ec Merge: 8f8814532d bdbbc55909
Merge branch '1.x' into dev
2023-09-01 13:36:38 +08:00
halx99 e5d984a4f8 Auto deploy wasm demo to gh pages 2023-09-01 13:36:23 +08:00
halx99 5fe4e6d61f Merge: 89955d901a 279ea746cc
Merge branch '1.x' into dev
2023-09-01 10:37:57 +08:00
halx99 e565645443 Auto get release list for doc build 2023-09-01 10:31:34 +08:00
halx99 f3f91147a3 Merge: 2a6e84aa15 2969a5b4ff
Merge branch '1.x' into dev
2023-09-01 03:35:30 +08:00
halx99 fe60bf0a1b Fix cmake setup for linux 2023-09-01 01:17:49 +08:00
halx99 ec9b7f6e42 Merge: 1d4deae63a 7399ac41a6
Merge branch '1.x' into dev
2023-09-01 01:07:15 +08:00
halx99 0094c6bbb2 keep files for site build [skip ci] 2023-08-31 22:08:50 +08:00
halx99 2566feff5a Merge: 6e1be139bd 1d26aa28a5
Merge branch '1.x' into dev
2023-08-31 21:20:23 +08:00
halx99 12bb1eb62a Improve axmol site build 2023-08-31 21:20:01 +08:00
halx99 b50c629307 Merge: bdf976681e 82679fca74
Merge branch '1.x' into dev
2023-08-31 19:56:21 +08:00
Deal c8d0fb85ea Fix linux build 2023-08-31 18:59:12 +08:00
halx99 0952acea6a Merge: 4fe5dd55e7 cc826cb6ae
Merge branch '1.x' into dev
2023-08-31 18:14:46 +08:00
halx99 b97b1a5630 Fix ci 2023-08-31 18:14:26 +08:00
halx99 06d51ac961 Merge: d3f55e0472 8e723b0cc9
Merge branch '1.x' into dev
2023-08-31 18:09:23 +08:00
halx99 4a52c781a2 Fix ci 2023-08-31 18:07:23 +08:00