Skip to content

Commit 76f251d

Browse files
committed
update rspirv: add support for bary_coord_hkr, but keep _nv variant around
1 parent b1fe1a1 commit 76f251d

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3131

3232
### Changed 🛠
3333
- [PR#1118](https://github.com/EmbarkStudios/rust-gpu/pull/1118) update rspirv to 0.12
34-
- `bary_coord_nv`/`bary_coord_no_persp_nv` have their `_nv` suffix omitted
34+
- added support for `VK_KHR_fragment_shader_barycentric` with `bary_coord`/`bary_coord_no_persp` buildins
3535
- [PR#1127](https://github.com/EmbarkStudios/rust-gpu/pull/1127) updated `spirv-tools` to `0.10.0`, which follows `vulkan-sdk-1.3.275`
3636
- [PR#1101](https://github.com/EmbarkStudios/rust-gpu/pull/1101) added `ignore` and `no_run` to documentation to make `cargo test` pass
3737
- [PR#1112](https://github.com/EmbarkStudios/rust-gpu/pull/1112) updated wgpu and winit in example runners

crates/rustc_codegen_spirv/src/symbols.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ const BUILTINS: &[(&str, BuiltIn)] = {
118118
("layer_per_view_nv", LayerPerViewNV),
119119
("mesh_view_count_nv", MeshViewCountNV),
120120
("mesh_view_indices_nv", MeshViewIndicesNV),
121+
("bary_coord_nv", BuiltIn::BaryCoordNV),
122+
("bary_coord_no_persp_nv", BuiltIn::BaryCoordNoPerspNV),
121123
("bary_coord", BaryCoordKHR),
122124
("bary_coord_no_persp", BaryCoordNoPerspKHR),
123125
("frag_size_ext", FragSizeEXT),

tests/ui/spirv-attr/all-builtins.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// build-pass
22
// only-vulkan1.1
3-
// compile-flags: -Ctarget-feature=+DeviceGroup,+DrawParameters,+FragmentBarycentricNV,+FragmentDensityEXT,+FragmentFullyCoveredEXT,+Geometry,+GroupNonUniform,+GroupNonUniformBallot,+MeshShadingNV,+MultiView,+MultiViewport,+RayTracingKHR,+SampleRateShading,+ShaderSMBuiltinsNV,+ShaderStereoViewNV,+StencilExportEXT,+Tessellation,+ext:SPV_AMD_shader_explicit_vertex_parameter,+ext:SPV_EXT_fragment_fully_covered,+ext:SPV_EXT_fragment_invocation_density,+ext:SPV_EXT_shader_stencil_export,+ext:SPV_KHR_ray_tracing,+ext:SPV_NV_fragment_shader_barycentric,+ext:SPV_NV_mesh_shader,+ext:SPV_NV_shader_sm_builtins,+ext:SPV_NV_stereo_view_rendering
3+
// compile-flags: -Ctarget-feature=+DeviceGroup,+DrawParameters,+FragmentBarycentricNV,+FragmentBarycentricKHR,+FragmentDensityEXT,+FragmentFullyCoveredEXT,+Geometry,+GroupNonUniform,+GroupNonUniformBallot,+MeshShadingNV,+MultiView,+MultiViewport,+RayTracingKHR,+SampleRateShading,+ShaderSMBuiltinsNV,+ShaderStereoViewNV,+StencilExportEXT,+Tessellation,+ext:SPV_AMD_shader_explicit_vertex_parameter,+ext:SPV_EXT_fragment_fully_covered,+ext:SPV_EXT_fragment_invocation_density,+ext:SPV_EXT_shader_stencil_export,+ext:SPV_KHR_ray_tracing,+ext:SPV_NV_fragment_shader_barycentric,+ext:SPV_NV_mesh_shader,+ext:SPV_NV_shader_sm_builtins,+ext:SPV_NV_stereo_view_rendering
44

55
use spirv_std::glam::*;
66
use spirv_std::spirv;
@@ -82,10 +82,12 @@ pub fn vertex(
8282

8383
#[spirv(fragment)]
8484
pub fn fragment(
85+
#[spirv(bary_coord_no_persp)] bary_coord_no_persp: Vec3,
8586
#[spirv(bary_coord_no_persp_amd)] bary_coord_no_persp_amd: Vec3,
8687
#[spirv(bary_coord_no_persp_centroid_amd)] bary_coord_no_persp_centroid_amd: Vec3,
8788
#[spirv(bary_coord_no_persp_nv)] bary_coord_no_persp_nv: Vec3,
8889
#[spirv(bary_coord_no_persp_sample_amd)] bary_coord_no_persp_sample_amd: Vec3,
90+
#[spirv(bary_coord)] bary_coord: Vec3,
8991
#[spirv(bary_coord_nv)] bary_coord_nv: Vec3,
9092
#[spirv(bary_coord_pull_model_amd)] bary_coord_pull_model_amd: Vec3,
9193
#[spirv(bary_coord_smooth_amd)] bary_coord_smooth_amd: Vec3,

0 commit comments

Comments
 (0)