mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-21 22:33:49 +00:00
Fix hlsl image type conversion (#6123)
This commit is contained in:
parent
4c8350864c
commit
3178ffb0d7
@ -63,6 +63,8 @@ By @wumpf in [#6069](https://github.com/gfx-rs/wgpu/pull/6069), [#6099](https://
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix incorrect hlsl image output type conversion. By @atlv24 in [#6123](https://github.com/gfx-rs/wgpu/pull/6123)
|
||||
|
||||
#### General
|
||||
|
||||
- If GL context creation fails retry with GLES. By @Rapdorian in [#5996](https://github.com/gfx-rs/wgpu/pull/5996)
|
||||
|
@ -119,38 +119,29 @@ impl crate::TypeInner {
|
||||
impl crate::StorageFormat {
|
||||
pub(super) const fn to_hlsl_str(self) -> &'static str {
|
||||
match self {
|
||||
Self::R16Float => "float",
|
||||
Self::R16Float | Self::R32Float => "float",
|
||||
Self::R8Unorm | Self::R16Unorm => "unorm float",
|
||||
Self::R8Snorm | Self::R16Snorm => "snorm float",
|
||||
Self::R8Uint | Self::R16Uint => "uint",
|
||||
Self::R8Sint | Self::R16Sint => "int",
|
||||
Self::R8Uint | Self::R16Uint | Self::R32Uint => "uint",
|
||||
Self::R8Sint | Self::R16Sint | Self::R32Sint => "int",
|
||||
|
||||
Self::Rg16Float => "float2",
|
||||
Self::Rg16Float | Self::Rg32Float => "float2",
|
||||
Self::Rg8Unorm | Self::Rg16Unorm => "unorm float2",
|
||||
Self::Rg8Snorm | Self::Rg16Snorm => "snorm float2",
|
||||
|
||||
Self::Rg8Sint | Self::Rg16Sint => "int2",
|
||||
Self::Rg8Uint | Self::Rg16Uint => "uint2",
|
||||
Self::Rg8Sint | Self::Rg16Sint | Self::Rg32Uint => "int2",
|
||||
Self::Rg8Uint | Self::Rg16Uint | Self::Rg32Sint => "uint2",
|
||||
|
||||
Self::Rg11b10UFloat => "float3",
|
||||
|
||||
Self::Rgba16Float | Self::R32Float | Self::Rg32Float | Self::Rgba32Float => "float4",
|
||||
Self::Rgba16Float | Self::Rgba32Float => "float4",
|
||||
Self::Rgba8Unorm | Self::Bgra8Unorm | Self::Rgba16Unorm | Self::Rgb10a2Unorm => {
|
||||
"unorm float4"
|
||||
}
|
||||
Self::Rgba8Snorm | Self::Rgba16Snorm => "snorm float4",
|
||||
|
||||
Self::Rgba8Uint
|
||||
| Self::Rgba16Uint
|
||||
| Self::R32Uint
|
||||
| Self::Rg32Uint
|
||||
| Self::Rgba32Uint
|
||||
| Self::Rgb10a2Uint => "uint4",
|
||||
Self::Rgba8Sint
|
||||
| Self::Rgba16Sint
|
||||
| Self::R32Sint
|
||||
| Self::Rg32Sint
|
||||
| Self::Rgba32Sint => "int4",
|
||||
Self::Rgba8Uint | Self::Rgba16Uint | Self::Rgba32Uint | Self::Rgb10a2Uint => "uint4",
|
||||
Self::Rgba8Sint | Self::Rgba16Sint | Self::Rgba32Sint => "int4",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,9 +3,9 @@ Texture2DMS<uint4> image_multisampled_src : register(t3);
|
||||
Texture2DMS<float> image_depth_multisampled_src : register(t4);
|
||||
RWTexture2D<uint4> image_storage_src : register(u1);
|
||||
Texture2DArray<uint4> image_array_src : register(t5);
|
||||
RWTexture1D<uint4> image_dup_src : register(u6);
|
||||
RWTexture1D<uint> image_dup_src : register(u6);
|
||||
Texture1D<uint4> image_1d_src : register(t7);
|
||||
RWTexture1D<uint4> image_dst : register(u2);
|
||||
RWTexture1D<uint> image_dst : register(u2);
|
||||
Texture1D<float4> image_1d : register(t0);
|
||||
Texture2D<float4> image_2d : register(t1);
|
||||
Texture2D<uint4> image_2d_u32_ : register(t2);
|
||||
|
@ -3384,7 +3384,7 @@ impl TextureFormat {
|
||||
Self::Bgra8UnormSrgb => (msaa_resolve, attachment),
|
||||
Self::Rgb10a2Uint => ( msaa, attachment),
|
||||
Self::Rgb10a2Unorm => (msaa_resolve, attachment),
|
||||
Self::Rg11b10UFloat => ( msaa, rg11b10f),
|
||||
Self::Rg11b10UFloat => ( msaa, rg11b10f),
|
||||
Self::Rg32Uint => ( noaa, all_flags),
|
||||
Self::Rg32Sint => ( noaa, all_flags),
|
||||
Self::Rg32Float => ( noaa, all_flags),
|
||||
|
Loading…
Reference in New Issue
Block a user