Skip to content

Commit f50206d

Browse files
committed
spirv: add #[spirv(vector)] on bool vectors
1 parent 7423bcf commit f50206d

File tree

6 files changed

+6
-0
lines changed

6 files changed

+6
-0
lines changed

src/bool/bvec2.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub const fn bvec2(x: bool, y: bool) -> BVec2 {
1313
/// A 2-dimensional `bool` vector mask.
1414
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
1515
#[repr(C, align(1))]
16+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
1617
pub struct BVec2 {
1718
pub x: bool,
1819
pub y: bool,

src/bool/bvec3.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub const fn bvec3(x: bool, y: bool, z: bool) -> BVec3 {
1313
/// A 3-dimensional `bool` vector mask.
1414
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
1515
#[repr(C, align(1))]
16+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
1617
pub struct BVec3 {
1718
pub x: bool,
1819
pub y: bool,

src/bool/bvec4.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub const fn bvec4(x: bool, y: bool, z: bool, w: bool) -> BVec4 {
1313
/// A 4-dimensional `bool` vector mask.
1414
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
1515
#[repr(C, align(1))]
16+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
1617
pub struct BVec4 {
1718
pub x: bool,
1819
pub y: bool,

src/bool/scalar/bvec3a.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub const fn bvec3a(x: bool, y: bool, z: bool) -> BVec3A {
1313
/// A 3-dimensional `u32` vector mask.
1414
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
1515
#[repr(C, align(16))]
16+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
1617
pub struct BVec3A {
1718
pub x: u32,
1819
pub y: u32,

src/bool/scalar/bvec4a.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub const fn bvec4a(x: bool, y: bool, z: bool, w: bool) -> BVec4A {
1313
/// A 4-dimensional `u32` vector mask.
1414
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
1515
#[repr(C, align(16))]
16+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
1617
pub struct BVec4A {
1718
pub x: u32,
1819
pub y: u32,

templates/vec_mask.rs.tera

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ pub const fn {{ self_t | lower }}(
7979
{%- endif %}
8080
{%- if is_scalar %}
8181
#[repr(C, align({{ align }}))]
82+
#[cfg_attr(target_arch = "spirv", rust_gpu::spirv(vector))]
8283
pub struct {{ self_t }}
8384
{
8485
{% for c in components %}

0 commit comments

Comments
 (0)