Adrian Wielgosik
9394f7788c
wgpu: Don't use textures for shader cache keys
2024-07-06 22:44:34 +02:00
Kamil Jarosz
2ba5e47b59
render: Implement drawing lines using WebGL
...
This patch provides an efficient implementation of draw_line
and draw_line_rect for WebGL using Gl::LINE_STRIP.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
9ba6569a2e
render: Implement drawing lines using wgpu
...
This patch provides an efficient implementation of draw_line
and draw_line_rect for wgpu using PrimitiveTopology::LineStrip.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
7dd4d2006e
render: Add primitives for drawing lines
...
This patch adds draw_line and draw_line_rect methods to CommandHandler,
providing empty impls to be overridden by corresponding backends.
The ability to draw lines is described using a new bitflags struct
RenderBackendFeatures, which contains a set of features
supported by the given render backend.
Currently, it contains a DRAW_LINES flag, which informs whether
the backend supports drawing lines as primitives.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
23931ed863
render: Refactor chunk_blends to use CommandHandler
...
This refactor simplifies code, gets rid of the large number of
parameters, and allows calling other rendering methods from themselves.
The latter is useful for emulating lines on Dx12.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
78b2d84fa7
swf: Add ColorTransform::multiply_from
...
This method is used to instantiate ColorTransform with its
multiplicative component equal to the given color.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
83ed478beb
wgpu: Do not use 'packed' as variable name in WGSL shaders
...
Turns out that 'packed' is a keyword in some GLSL shaders,
and naga currently preserves it, producing a syntax error.
As a workaround, this patch renames the variable to something else.
2024-06-23 09:51:04 +02:00
TÖRÖK Attila
9522acf61d
render/wgpu: Switch to pipeline-overridable constant for bitmap saturation order toggle
...
Also call it `late_saturate` instead, to avoid the confusing negation
between the constant name and the (now removed) shader module name.
2024-05-17 22:13:13 +02:00
TÖRÖK Attila
331d1789da
render,core,desktop: Port to `wgpu` `v0.20.0`, switch to `egui` `master`
2024-05-17 01:19:01 +03:00
TÖRÖK Attila
f9f4c3bb82
render/wgpu: Drop `naga_oil` in favor of manual string manipulation
2024-05-16 20:24:49 +02:00
Nathan Adams
d8fec1cabc
chore: Use workspace version for image
2024-04-04 17:29:00 +02:00
Nathan Adams
2036d85a95
chore: Use workspace version for futures
2024-04-04 17:29:00 +02:00
Nathan Adams
c3711e3953
chore: Use workspace version for enum-map
2024-04-04 17:29:00 +02:00
Nathan Adams
6cca9bb3b7
chore: Use workspace version for clap
2024-04-04 17:29:00 +02:00
Nathan Adams
937664e737
chore: Use workspace version for bytemuck
2024-04-04 17:29:00 +02:00
TÖRÖK Attila
36413a70f2
chore: Remove or ignore any unused deps detected by cargo-machete
2024-04-01 22:29:38 +02:00
renovate[bot]
9dfc6dc224
fix(deps): update rust dependencies
2024-03-26 13:56:59 +01:00
renovate[bot]
98cbe9cf31
fix(deps): update rust dependencies
2024-03-25 02:47:32 +01:00
Nathan Adams
e9afce3103
wgpu: Actually, we *do* support opengl on windows now!
2024-03-24 21:04:09 +01:00
TÖRÖK Attila
d9f17dac44
chore: Bump `image` to `v0.25`, without the `dxt` feature
2024-03-19 00:14:48 +01:00
TÖRÖK Attila
7a269c054d
fix(deps): update rust dependencies
2024-03-18 12:21:47 +01:00
renovate[bot]
3f9f19b7ac
fix(deps): update rust dependencies
2024-03-14 16:45:29 +01:00
Aaron Hill
81604dd21c
Request highest 'max_inter_stage_shader_components' supported by adapter
...
We're currently always requesting a maximum of 31 components, which
is too low for some SWFs.
2024-03-09 15:39:33 -05:00
renovate[bot]
a916369f21
fix(deps): update rust dependencies
2024-03-06 21:58:40 +01:00
Nathan Adams
baa0c5c7cd
desktop: Use custom (de)serialization for preferences, not serde
2024-03-05 00:02:27 +01:00
Nathan Adams
b9c6db1cb9
desktop: Add preferences dialog, allow setting of graphics backend/power
2024-03-05 00:02:27 +01:00
Nathan Adams
8df7efb662
desktop: Load graphics preferences from disk
2024-03-05 00:02:27 +01:00
TÖRÖK Attila
2e52ee9f33
chore: Bump `js-sys` and `web-sys` to `v0.3.69`
2024-03-04 19:01:04 +01:00
renovate[bot]
35d72115a4
fix(deps): update wasm-bindgen
2024-03-02 02:42:45 +01:00
renovate[bot]
6e84b05b66
fix(deps): update rust dependencies
2024-03-01 22:46:32 +01:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
renovate[bot]
477440d387
fix(deps): update rust dependencies
2024-02-05 07:56:07 +01:00
Nathan Adams
2e0e7aec5c
wgpu: Remove the readback-upgrade path. It's now slower than normal drawing
2024-02-02 00:59:45 +01:00
Nathan Adams
70af5cd5dd
wgpu: Submit occasionally to avoid submitting a large encoder
2024-02-02 00:59:45 +01:00
Nathan Adams
fb8f3301b6
wgpu: Queue up offscreen draws, don't do them immediately
2024-02-02 00:59:45 +01:00
Nathan Adams
70fbb4a7ac
render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle
2024-02-02 00:59:45 +01:00
Nathan Adams
1a5dff5d12
wgpu: Keep a CommandEncoder for the duration of a frame, extract out a struct to hold it with a StagingBelt
2024-02-02 00:59:45 +01:00
renovate[bot]
3737725a21
fix(deps): update rust dependencies
2024-01-30 09:23:15 +01:00
Nathan Adams
fcb74d8fbc
wgpu: Deduplicate common gradients from a single Mesh
2024-01-27 21:37:22 +01:00
Nathan Adams
e479d12af0
render: Make Mesh a struct, not just an alias for Vec<Draw>
2024-01-27 21:37:22 +01:00
Nathan Adams
2d42abcb70
wgpu: Don't use max_uniform_buffer_binding_size as a limit for BufferBuilder when making meshes
2024-01-27 21:37:22 +01:00
Nathan Adams
ab404bae2a
wgpu: Remove ouroboros and typed-arena, no longer needed
2024-01-27 21:37:22 +01:00
Nathan Adams
3be2efe7cf
wgpu: Clean up DynamicTransforms, after the merge
2024-01-27 21:37:22 +01:00
Nathan Adams
c3423b86f8
wgpu: Use vertex buffer and staging belt for bevel filter
2024-01-27 21:37:22 +01:00
Nathan Adams
7e0bd48061
wgpu: Use vertex buffer and staging belt for glow filter
2024-01-27 21:37:22 +01:00
Nathan Adams
2722a6588e
wgpu: Use vertex buffer and staging belt for simple filters
2024-01-27 21:37:22 +01:00
Nathan Adams
9320de354c
wgpu: Use staging belt and single buffer for filter arguments
2024-01-27 21:37:22 +01:00
Nathan Adams
76d07faacf
wgpu: Make sync index Option<> in make_queue_sync_handle
2024-01-27 21:37:22 +01:00
Nathan Adams
f99f89122a
wgpu: Remove uniform encoder
2024-01-27 21:37:22 +01:00