Skip to content

Commit

Permalink
PLS atomic mode
Browse files Browse the repository at this point in the history
Implement an experimental PLS interlock mechanism that relies on atomics and barriers instead of raster ordering. This gets us working on the remaining Vulkan and D3D11+ hardware, enables direct rendering to the screen, and will probably end up being faster on a lot of platforms.

Because of how the atomic mode works, we can't fill paths with standard image textures anymore. On GL we introduce ARB_bindless_texture to work around this limitation when supported, but for other platforms, this PR also adds a new "imageRect" draw, which is a specialized, non-overlapping, antialiased implementation of drawImage() that is compatible with atomic mode.

Still TOOD:
- Simple reordering to limit barriers.
- Atomic mode on Metal for non-Apple Silicon.

Diffs=
  • Loading branch information
csmartdalton committed Dec 19, 2023
1 parent 7f6d77c commit ecd9b7a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .rive_renderer
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9bf6f1d761f5c0f28163fe281c71a6db2c26aeff
6e0f173d0b46c767997f5950400dcf924d059da5

0 comments on commit ecd9b7a

Please sign in to comment.