Skip to content

Commit

Permalink
Cache MAX_SAMPLES on gles backend
Browse files Browse the repository at this point in the history
  • Loading branch information
Dinnerbone committed Mar 5, 2024
1 parent badb3c8 commit eaf0b01
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 6 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ By @cwfitzgerald in [#5325](https://github.com/gfx-rs/wgpu/pull/5325).
#### GLES

- Log an error when GLES texture format heuristics fail. By @PolyMeilex in [#5266](https://github.com/gfx-rs/wgpu/issues/5266)
- Cache the sample count to keep `get_texture_format_features` cheap. By @Dinnerbone in [#5346](https://github.com/gfx-rs/wgpu/pull/5346)

### Bug Fixes

Expand Down
9 changes: 3 additions & 6 deletions wgpu-hal/src/gles/adapter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,7 @@ impl super::Adapter {
}

let downlevel_defaults = wgt::DownlevelLimits {};
let max_samples = unsafe { gl.get_parameter_i32(glow::MAX_SAMPLES) };

// Drop the GL guard so we can move the context into AdapterShared
// ( on Wasm the gl handle is just a ref so we tell clippy to allow
Expand All @@ -819,6 +820,7 @@ impl super::Adapter {
next_shader_id: Default::default(),
program_cache: Default::default(),
es: es_ver.is_some(),
max_samples,
}),
},
info: Self::make_info(vendor, renderer),
Expand Down Expand Up @@ -974,12 +976,7 @@ impl crate::Adapter<super::Api> for super::Adapter {
use wgt::TextureFormat as Tf;

let sample_count = {
let max_samples = unsafe {
self.shared
.context
.lock()
.get_parameter_i32(glow::MAX_SAMPLES)
};
let max_samples = self.shared.max_samples;
if max_samples >= 16 {
Tfc::MULTISAMPLE_X2
| Tfc::MULTISAMPLE_X4
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 @@ -251,6 +251,7 @@ struct AdapterShared {
next_shader_id: AtomicU32,
program_cache: Mutex<ProgramCache>,
es: bool,
max_samples: i32,
}

pub struct Adapter {
Expand Down

0 comments on commit eaf0b01

Please sign in to comment.