Compare commits
1 commit
e45e5f242d
...
30bb747e94
Author | SHA1 | Date | |
---|---|---|---|
Alex Janka | 30bb747e94 |
1003
Cargo.lock
generated
1003
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -181,6 +181,7 @@ pub(crate) use config_struct;
|
|||
pub(crate) use config_version_set;
|
||||
|
||||
#[doc(hidden)]
|
||||
#[deny(deprecated)]
|
||||
#[deprecated = "Forward declarations for cbindgen, do not use."]
|
||||
mod __cbindgen_opaque_forward_declarations {
|
||||
macro_rules! typedef_struct {
|
||||
|
@ -188,6 +189,7 @@ mod __cbindgen_opaque_forward_declarations {
|
|||
$($(#[$($attrss)*])*
|
||||
#[allow(unused)]
|
||||
#[doc(hidden)]
|
||||
#[deny(deprecated)]
|
||||
#[deprecated]
|
||||
pub struct $name;
|
||||
)*
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
#![allow(non_camel_case_types)]
|
||||
#![feature(try_blocks)]
|
||||
#![deny(unsafe_op_in_unsafe_fn)]
|
||||
#![deny(deprecated)]
|
||||
|
||||
extern crate alloc;
|
||||
|
||||
|
|
|
@ -75,12 +75,9 @@ pub(crate) struct FilterCommon {
|
|||
pub(crate) draw_quad: DrawQuad,
|
||||
}
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<HLSL, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -99,9 +96,6 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
impl FilterChainD3D11 {
|
||||
/// Load the shader preset at the given path into a filter chain.
|
||||
|
|
|
@ -146,12 +146,9 @@ impl Drop for FrameResiduals {
|
|||
}
|
||||
}
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type DxilShaderPassMeta =
|
||||
type DxilShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<DXIL, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes_dxil(
|
||||
fn compile_passes_dxil(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -170,11 +167,9 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
|
||||
pub type HlslShaderPassMeta =
|
||||
type HlslShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<HLSL, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes_hlsl(
|
||||
fn compile_passes_hlsl(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -193,9 +188,6 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes_dxil, compile_passes_hlsl, DxilShaderPassMeta, HlslShaderPassMeta};
|
||||
|
||||
impl FilterChainD3D12 {
|
||||
/// Load the shader preset at the given path into a filter chain.
|
||||
|
|
|
@ -63,12 +63,10 @@ pub struct FilterChainD3D9 {
|
|||
default_options: FrameOptionsD3D9,
|
||||
}
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<HLSL, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -87,9 +85,6 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
impl FilterChainD3D9 {
|
||||
fn init_passes(
|
||||
|
|
|
@ -92,12 +92,9 @@ impl<T: GLInterface> FilterChainImpl<T> {
|
|||
}
|
||||
}
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<GLSL, SpirvCompilation, SpirvCross>>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -116,9 +113,6 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
impl<T: GLInterface> FilterChainImpl<T> {
|
||||
/// Load a filter chain from a pre-parsed `ShaderPreset`.
|
||||
|
|
|
@ -40,12 +40,9 @@ use std::collections::VecDeque;
|
|||
use std::fmt::{Debug, Formatter};
|
||||
use std::path::Path;
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<MSL, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
) -> Result<(Vec<ShaderPassMeta>, ShaderSemantics), FilterChainError> {
|
||||
|
@ -55,9 +52,6 @@ mod compile {
|
|||
)?;
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
/// A Metal filter chain.
|
||||
pub struct FilterChainMetal {
|
||||
|
|
|
@ -209,12 +209,9 @@ impl Drop for FrameResiduals {
|
|||
}
|
||||
}
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<SPIRV, SpirvCompilation, SpirvCross> + Send>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
disable_cache: bool,
|
||||
|
@ -233,9 +230,6 @@ mod compile {
|
|||
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
impl FilterChainVulkan {
|
||||
/// Load the shader preset at the given path into a filter chain.
|
||||
|
|
|
@ -21,7 +21,7 @@ librashader-reflect = { path = "../librashader-reflect", version = "0.2.7", feat
|
|||
librashader-runtime = { path = "../librashader-runtime" , version = "0.2.7" }
|
||||
|
||||
wgpu = { version = "0.20.0", default-features = false, features = ["wgsl"] }
|
||||
image = "0.25.1"
|
||||
image = "0.24.7"
|
||||
thiserror = "1.0.50"
|
||||
bytemuck = { version = "1.14.0", features = ["derive"] }
|
||||
array-concat = "0.5.2"
|
||||
|
|
|
@ -38,12 +38,9 @@ use crate::options::{FilterChainOptionsWgpu, FrameOptionsWgpu};
|
|||
use crate::samplers::SamplerSet;
|
||||
use crate::texture::{InputImage, OwnedImage};
|
||||
|
||||
mod compile {
|
||||
use super::*;
|
||||
pub type ShaderPassMeta =
|
||||
type ShaderPassMeta =
|
||||
ShaderPassArtifact<impl CompileReflectShader<WGSL, SpirvCompilation, Naga> + Send>;
|
||||
|
||||
pub fn compile_passes(
|
||||
fn compile_passes(
|
||||
shaders: Vec<ShaderPassConfig>,
|
||||
textures: &[TextureConfig],
|
||||
) -> Result<(Vec<ShaderPassMeta>, ShaderSemantics), FilterChainError> {
|
||||
|
@ -53,9 +50,6 @@ mod compile {
|
|||
)?;
|
||||
Ok((passes, semantics))
|
||||
}
|
||||
}
|
||||
|
||||
use compile::{compile_passes, ShaderPassMeta};
|
||||
|
||||
/// A wgpu filter chain.
|
||||
pub struct FilterChainWgpu {
|
||||
|
|
|
@ -23,7 +23,7 @@ array-concat = "0.5.2"
|
|||
tinymap = "0.4.0"
|
||||
|
||||
[dependencies.image]
|
||||
version = "0.25.1"
|
||||
version = "0.24.5"
|
||||
features = [
|
||||
"gif", "jpeg", "png",
|
||||
"tga", "pnm", "tiff",
|
||||
|
|
|
@ -5,27 +5,24 @@ use librashader_presets::{Scale2D, ScaleFactor, ScaleType, Scaling};
|
|||
use num_traits::AsPrimitive;
|
||||
use std::ops::Mul;
|
||||
|
||||
pub const MAX_TEXEL_SIZE: f32 = 16384f32;
|
||||
|
||||
/// Trait for size scaling relative to the viewport.
|
||||
pub trait ViewportSize<T>
|
||||
where
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + Ord + 'static,
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + 'static,
|
||||
f32: AsPrimitive<T>,
|
||||
{
|
||||
/// Produce a `Size<T>` scaled with the input scaling options.
|
||||
/// The size will at minimum be 1x1, and at a maximum 16384x16384.
|
||||
fn scale_viewport(self, scaling: Scale2D, viewport: Size<T>, original: Size<T>) -> Size<T>;
|
||||
}
|
||||
|
||||
impl<T> ViewportSize<T> for Size<T>
|
||||
where
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + Ord + 'static,
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + 'static,
|
||||
f32: AsPrimitive<T>,
|
||||
{
|
||||
fn scale_viewport(self, scaling: Scale2D, viewport: Size<T>, original: Size<T>) -> Size<T>
|
||||
where
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + Ord + 'static,
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + 'static,
|
||||
f32: AsPrimitive<T>,
|
||||
{
|
||||
scaling::scale(scaling, self, viewport, original)
|
||||
|
@ -38,7 +35,6 @@ pub trait MipmapSize<T> {
|
|||
fn calculate_miplevels(self) -> T;
|
||||
|
||||
/// Scale the size according to the given mipmap level.
|
||||
/// The size will at minimum be 1x1, and at a maximum 16384x16384.
|
||||
fn scale_mipmap(self, miplevel: T) -> Size<T>;
|
||||
}
|
||||
|
||||
|
@ -63,7 +59,7 @@ impl MipmapSize<u32> for Size<u32> {
|
|||
|
||||
fn scale<T>(scaling: Scale2D, source: Size<T>, viewport: Size<T>, original: Size<T>) -> Size<T>
|
||||
where
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + Ord + 'static,
|
||||
T: Mul<ScaleFactor, Output = f32> + Copy + 'static,
|
||||
f32: AsPrimitive<T>,
|
||||
{
|
||||
let width = match scaling.x {
|
||||
|
@ -105,14 +101,8 @@ where
|
|||
};
|
||||
|
||||
Size {
|
||||
width: std::cmp::min(
|
||||
std::cmp::max(width.round().as_(), 1f32.as_()),
|
||||
MAX_TEXEL_SIZE.as_(),
|
||||
),
|
||||
height: std::cmp::min(
|
||||
std::cmp::max(height.round().as_(), 1f32.as_()),
|
||||
MAX_TEXEL_SIZE.as_(),
|
||||
),
|
||||
width: width.round().as_(),
|
||||
height: height.round().as_(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue