Nathan Adams
|
353a3116a4
|
wgpu: Define the sizes of uniforms upfront instead of at each call
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
ae5d92693f
|
wgpu: Moved DrawCommand handling to CommandRenderer::execute
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
7944b6dd9e
|
wgpu: Inlined CommandRenderer::execute into Surface::draw_commands
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
a71b5b4570
|
wgpu: Move command renderer to surface/commands.rs
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
0272eda121
|
wgpu: Refactor surface command target to its own file
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
a657feadae
|
wgpu: Clear out texture pool when resized
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
cb6d72b49b
|
wgpu: Split up gradient shader based on type and repeat
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
a79e73fb12
|
wgpu: Clean up gradient shaders by bringing out common shared source into a same file
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
b4c2030af8
|
wgpu: Appease beta clippy. again.
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
91561e8c35
|
wgpu: Reduce gradient.ratios uniform memory by 4x
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
312e72451f
|
wgpu: Reduce gradient.colors uniform memory by 4x
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
986b95c50c
|
wgpu: Share texture pool across all frames, and ensure targets are cleared properly
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
c0ec5c5010
|
wgpu: Split up blend modes into their own shaders for performance
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
92a6c6bc76
|
wgpu: Add more debug labels within render passes
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
1863c93be1
|
wgpu: Add some more debug labels
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
af9b1f1dec
|
wgpu: Temporarily disable msaa on phones until wgpu upgrade
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
257bbc8ec9
|
wgpu: Revert using same pool for whole frame - breaks bitmapdata.draw and I'm not sure why yet
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
0f676fc6ce
|
wgpu: Simplify blend_buffers map creation
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
ec7840f412
|
wgpu: Try harder to find render passes where we don't need depth
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
c6045a4f24
|
wgpu: Multiply can't be trivial blend mode because of 0 alpha
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
df8ead3f96
|
tests: New multiply blend mode image
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
342b9b9007
|
wgpu: Removed some needless copies in command iteration
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
81f4741300
|
wgpu: Default msaa on mobiles to 2x, same as webgl backend
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
7fb2ec096e
|
wgpu: Don't wait for the entire frame to be drawn if we're just capturing a segment of the render list
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
75790606a0
|
wgpu: Share the buffer pool throughout the entire frame
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
f253abdbd1
|
wgpu: Made Multiply, Add and Subtract blend modes use bitmap+blend
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
e69d76fa41
|
wgpu: Cache Globals for a total draw frame, don't remake it if it's going to be the same values
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
03b62a93e6
|
wgpu: Pool textures during the same frame, and drop whatever we don't need immediately
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
4e51c9455e
|
wgpu: Don't require VERTEX_WRITABLE_STORAGE which is unavailable on web
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
53b8907b78
|
wgpu: Optimise rendering blendables by queueing everything up in the same command buffer, allowing gpu to async where needed, instead of one command list at a time
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
cb2b27ba03
|
wgpu: Don't create depth buffers, or use any depth testing, if we aren't expecting masks
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
05f49dd487
|
wgpu: Appease beta clippy
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
7e564185b5
|
wgpu: Handle alpha correctly for add or subtract blendmodes
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
864f404f2f
|
tests: Add blendmode visual tests
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
5a7ec70254
|
core: Remove blend mode unsupported message
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
45339e037e
|
tests: Added new output of bitmapdata_draw tests for github agents. Seems visually identical.
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
b72dc1edd4
|
wgpu: Don't create blend buffers until they're needed
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
b0e345335f
|
wgpu: Workaround naga-vulkan bug with default position in switch statement
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
219fabbc0b
|
wgpu: For trivial blends (ie Normal), just draw them as bitmaps with a blendstate
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
8311ddb0da
|
wgpu: Allow for different sized subcommand list targets, but don't use them yet
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
f48de7b34e
|
wgpu: Always clear the first texture buffer to the desired color
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
7904c3d4f0
|
wgpu: Implement all blend modes
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
f9333e2626
|
wgpu: Perform command rendering recursively and chunk up blends. Blends are still not implemented, it just copies to parent.
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
915040ba06
|
wgpu: Globals should now belong to the Surface and doesn't need to be mutable anymore
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
d2185733b4
|
wgpu: Simplify Surface to no longer be an enum as there's not really many options anymore
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
4cdb8ec634
|
wgpu: Frame no longer owns UniformBuffer
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
1df82e8104
|
wgpu: Separated srgb out of Surface
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
4502f9b7ea
|
wgpu: Removed blendmode stuff
|
2023-01-03 03:39:13 +01:00 |
Nathan Adams
|
ded46e20e7
|
render: Replace PushBlendMode/PopBlendMode with Blend
|
2023-01-03 03:39:13 +01:00 |
EmperorBale
|
0e2fbe4cf7
|
tests: Update date tests
|
2023-01-02 11:43:03 -08:00 |