Commit graph

33 commits

Author SHA1 Message Date
chyyran 8467e5cd97 rt(mtl): remove unnecessary output move 2024-09-22 02:06:47 -04:00
chyyran 1e33b4cc03 capi: make viewport optional, defaulting to a viewport that is the entire size of the render target 2024-09-22 02:06:47 -04:00
chyyran 0a87bcc657 rt: respect viewport extents when rendering 2024-09-22 02:06:47 -04:00
chyyran f0a7970b44 rt: add viewport extent separate from output texture dimensions 2024-09-22 02:06:47 -04:00
chyyran 763c05755d rt: mark error types as non_exhaustive 2024-09-22 02:06:47 -04:00
chyyran 7d0b135710 rt(mtl): remove unused 'pass lifetime 2024-09-20 02:21:09 -04:00
chyyran d55d0e4839 rt(mtl): use f32::MAX for lodMaxClamp 2024-09-17 01:20:48 -04:00
chyyran d6f8950bdc rt: only draw last pass twice if the last pass is needed as feedback 2024-09-15 15:46:31 -04:00
chyyran 2f988d5b1d rt: add stable feature to build ShaderPassArtifacts via Box<dyn CompileReflectShader> 2024-09-15 03:10:45 -04:00
chyyran 02288554b9 rt(mtl): fix history buffer off-by-one by buffering the history read. 2024-09-13 17:21:03 -04:00
chyyran e24beede0b rt(mtl): draw final pass to output targets 2024-09-13 00:59:12 -04:00
chyyran 22b2118e97 rt(mtl): don't resize if the requested format differs from optimal format 2024-09-13 00:59:12 -04:00
chyyran 856f69113d rt(mtl): don't make mipmapper for history if not needed 2024-09-13 00:59:12 -04:00
chyyran c9205bc922 rt(mtl): remove internal_frame_count 2024-09-12 00:30:23 -04:00
chyyran cebc7a939a rt(mtl): fix faulty history but only copying one mipmap slice of texture
rt(mtl): push history before doing writing

This does make the metal backend one frame behind compared to the other stuff but eh
2024-09-12 00:30:23 -04:00
chyyran c3033cfbbf reflect: port to spirv-cross2 2024-09-06 22:45:07 -04:00
chyyran c447e40583 rt: redesign parameters to be thread-safe across FFI using arcswap and atomicusize
This should allow C FFI consumers to modify frame parameters from a different thread without it being UB.
2024-09-06 22:45:07 -04:00
chyyran b5d523e9f3 rt(mtl): move icrate definitions to objc2-metal 2024-07-29 00:40:59 -04:00
chyyran 0a9fa16855 rt: update for new TAIT scope rules 2024-06-14 18:17:36 -04:00
chyyran c7d1d347a4 rt: unify drawquad type 2024-02-22 01:16:42 -05:00
chyyran edca0f1749 rt(mtl): only gen mipmaps if the level count is greater than 1 2024-02-15 21:43:02 -05:00
chyyran efdfd56e0e rt(mtl): don't allow buffers of size 0 2024-02-15 21:43:02 -05:00
chyyran 6fbc4b3075 fmt: cargo fmt 2024-02-14 20:50:17 -05:00
chyyran b348e8591f lib: use a faster hashmap implementation 2024-02-14 20:50:17 -05:00
chyyran ad4e72f359 rt: use bytemuck::offset_of instead of std::mem::offset_of 2024-02-14 03:08:09 -05:00
chyyran cc93e37701 reflect: get rid of redundant shader compiler argument 2024-02-14 03:08:09 -05:00
chyyran 76aa5ce4c6 capi(mtl): implement capi for metal 2024-02-14 03:08:09 -05:00
chyyran d89839be16 rt(msl): move main.rs test to tests folder 2024-02-14 03:08:09 -05:00
chyyran a1696813aa rt(mtl): optimize buffer usage on apple silicon gpus 2024-02-14 03:08:09 -05:00
chyyran 004b073b1a rt(mtl): reenable mipmaps 2024-02-14 03:08:09 -05:00
chyyran bceb0623a3 rt(mtl): implement clear textures 2024-02-14 03:08:09 -05:00
chyyran 3b0531dc62 rt(mtl): rename librashader-runtime-metal to librashader-runtime-mtl to match existing convention and export from root crate 2024-02-14 03:08:09 -05:00
chyyran 12d55e928e rt(mtl): common + shaderset for metal 2024-02-14 03:08:09 -05:00