Skip to content

Commit

Permalink
Lower max_color_attachments limit for GL to 4 (#6994)
Browse files Browse the repository at this point in the history
Co-authored-by: Andreas Reich <[email protected]>
  • Loading branch information
adrian17 and Wumpf authored Feb 13, 2025
1 parent 2f607d3 commit 0f5d575
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ By @brodycj in [#6924](https://github.com/gfx-rs/wgpu/pull/6924).
- Add Flush to GL Queue::submit. By @cwfitzgerald in [#6941](https://github.com/gfx-rs/wgpu/pull/6941).
- Fix `wgpu` not building with `--no-default-features` on when targeting `wasm32-unknown-unknown`. By @wumpf in [#6946](https://github.com/gfx-rs/wgpu/pull/6946).
- Fix `CopyExternalImageDestInfo` not exported on `wgpu`. By @wumpf in [#6962](https://github.com/gfx-rs/wgpu/pull/6962).
- Reduce downlevel `max_color_attachments` limit from 8 to 4 for better GLES compatibility. By @adrian17 in [#6994](https://github.com/gfx-rs/wgpu/pull/6994).
- Fix drop order in `Surface`. By @ed-2100 in [#6997](https://github.com/gfx-rs/wgpu/pull/6997)
- Fix a possible deadlock within `Queue::write_texture`. By @metamuffin in [#7004](https://github.com/gfx-rs/wgpu/pull/7004)
- Fix building a BLAS with a transform buffer by adding a flag to indicate usage of the transform buffer. By @Vecvec in
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ wgpu = { version = "24.0.0", path = "./wgpu", default-features = false, features
"dx12",
"metal",
"static-dxc",
"webgl",
] }
wgpu-core = { version = "24.0.0", path = "./wgpu-core" }
wgpu-hal = { version = "24.0.0", path = "./wgpu-hal" }
Expand Down
1 change: 1 addition & 0 deletions wgpu-hal/src/gles/adapter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,7 @@ impl super::Adapter {
private_caps,
workarounds,
features,
limits: limits.clone(),
options: backend_options,
shading_language_version,
next_shader_id: Default::default(),
Expand Down
1 change: 1 addition & 0 deletions wgpu-hal/src/gles/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,7 @@ struct AdapterShared {
context: AdapterContext,
private_caps: PrivateCapabilities,
features: wgt::Features,
limits: wgt::Limits,
workarounds: Workarounds,
options: wgt::GlBackendOptions,
shading_language_version: naga::back::glsl::Version,
Expand Down
4 changes: 2 additions & 2 deletions wgpu-hal/src/gles/queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1078,8 +1078,8 @@ impl super::Queue {
0,
)
};
for i in 0..crate::MAX_COLOR_ATTACHMENTS {
let target = glow::COLOR_ATTACHMENT0 + i as u32;
for i in 0..self.shared.limits.max_color_attachments {
let target = glow::COLOR_ATTACHMENT0 + i;
unsafe {
gl.framebuffer_texture_2d(
glow::DRAW_FRAMEBUFFER,
Expand Down
5 changes: 3 additions & 2 deletions wgpu-types/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@ impl Limits {
/// min_uniform_buffer_offset_alignment: 256,
/// min_storage_buffer_offset_alignment: 256,
/// max_inter_stage_shader_components: 60,
/// max_color_attachments: 8,
/// max_color_attachments: 4,
/// max_color_attachment_bytes_per_sample: 32,
/// max_compute_workgroup_storage_size: 16352, // *
/// max_compute_invocations_per_workgroup: 256,
Expand All @@ -526,6 +526,7 @@ impl Limits {
max_texture_dimension_3d: 256,
max_storage_buffers_per_shader_stage: 4,
max_uniform_buffer_binding_size: 16 << 10, // (16 KiB)
max_color_attachments: 4,
// see: https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf#page=7
max_compute_workgroup_storage_size: 16352,
..Self::defaults()
Expand Down Expand Up @@ -563,7 +564,7 @@ impl Limits {
/// min_uniform_buffer_offset_alignment: 256,
/// min_storage_buffer_offset_alignment: 256,
/// max_inter_stage_shader_components: 31,
/// max_color_attachments: 8,
/// max_color_attachments: 4,
/// max_color_attachment_bytes_per_sample: 32,
/// max_compute_workgroup_storage_size: 0, // +
/// max_compute_invocations_per_workgroup: 0, // +
Expand Down

0 comments on commit 0f5d575

Please sign in to comment.