summaryrefslogtreecommitdiff
path: root/engine/src/rendering
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-09-01 18:24:39 +0200
committerHampusM <hampus@hampusmat.com>2026-09-01 18:24:39 +0200
commit12f7283b34b9504cafe9448ede110b1fc2a3ae41 (patch)
tree529644b6722382e14461c41f28ae42f2f5404132 /engine/src/rendering
parent632a7188ea267c93b5317ceffd18f1dab0e97cbe (diff)
refactor(engine): replace MapVec with intmap crate
Diffstat (limited to 'engine/src/rendering')
-rw-r--r--engine/src/rendering/backend/opengl.rs21
1 files changed, 17 insertions, 4 deletions
diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs
index 381a609..2f373fc 100644
--- a/engine/src/rendering/backend/opengl.rs
+++ b/engine/src/rendering/backend/opengl.rs
@@ -16,6 +16,7 @@ use glutin::surface::{
Surface as GlutinSurface,
WindowSurface as GlutinWindowSurface,
};
+use intmap::IntMap;
use opengl_bindings::blending::{
configure as gl_blending_configure,
Configuration as GlBlendingConfig,
@@ -138,7 +139,7 @@ use crate::texture::{
Properties as TextureProperties,
Wrapping as TextureWrapping,
};
-use crate::util::{MapVec, OptionExt};
+use crate::util::OptionExt;
use crate::vector::{Vec2, Vec3};
use crate::windowing::dpi::PhysicalSize;
use crate::windowing::window::{
@@ -171,7 +172,7 @@ struct GraphicsContext
#[derive(Debug, Default)]
struct BackendResourceStore
{
- inner: MapVec<BackendResourceId, BackendResource>,
+ inner: IntMap<BackendResourceId, BackendResource>,
next_id: BackendResourceId,
}
@@ -237,7 +238,7 @@ impl BackendResourceStore
let resource_id = BackendResourceId(object.as_raw());
- let Some(resource) = self.inner.get(&resource_id) else {
+ let Some(resource) = self.inner.get(resource_id) else {
cold_path();
tracing::error!(?object_id, ?resource_id, "Backend resource does not exist");
return None;
@@ -285,7 +286,7 @@ impl BackendResourceStore
let resource_id = BackendResourceId(object.as_raw());
- let Some(resource) = self.inner.get_mut(&resource_id) else {
+ let Some(resource) = self.inner.get_mut(resource_id) else {
cold_path();
tracing::error!(?object_id, ?resource_id, "Backend resource does not exist");
return None;
@@ -348,6 +349,18 @@ impl BackendResourceStore
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
struct BackendResourceId(ObjectRawValue);
+impl intmap::IntKey for BackendResourceId
+{
+ type Int = ObjectRawValue;
+
+ const PRIME: Self::Int = <ObjectRawValue as intmap::IntKey>::PRIME;
+
+ fn into_int(self) -> Self::Int
+ {
+ self.0.into_int()
+ }
+}
+
#[derive(Debug)]
struct GraphicsContextSurface
{