mirror of
https://github.com/EmbarkStudios/rust-gpu.git
synced 2024-11-25 16:25:25 +00:00
Move panic_handler and eh_personality to spirv-std (#95)
This commit is contained in:
parent
79e9282352
commit
985ae7d494
@ -1,13 +1,10 @@
|
|||||||
//! Ported to Rust from https://github.com/Tw1ddle/Sky-Shader/blob/master/src/shaders/glsl/sky.fragment
|
//! Ported to Rust from https://github.com/Tw1ddle/Sky-Shader/blob/master/src/shaders/glsl/sky.fragment
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
|
||||||
#![feature(register_attr)]
|
#![feature(register_attr)]
|
||||||
#![register_attr(spirv)]
|
#![register_attr(spirv)]
|
||||||
|
|
||||||
use core::f32::consts::PI;
|
use core::f32::consts::PI;
|
||||||
#[cfg(not(test))]
|
|
||||||
use core::panic::PanicInfo;
|
|
||||||
use spirv_std::{Input, Mat4, MathExt, Output, Vec3, Vec4};
|
use spirv_std::{Input, Mat4, MathExt, Output, Vec3, Vec4};
|
||||||
|
|
||||||
const DEPOLARIZATION_FACTOR: f32 = 0.035;
|
const DEPOLARIZATION_FACTOR: f32 = 0.035;
|
||||||
@ -184,13 +181,3 @@ pub fn main_vs(
|
|||||||
out_pos.store(in_pos.load());
|
out_pos.store(in_pos.load());
|
||||||
out_color.store(in_pos.load());
|
out_color.store(in_pos.load());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(test))]
|
|
||||||
#[panic_handler]
|
|
||||||
fn panic(_: &PanicInfo) -> ! {
|
|
||||||
loop {}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(test))]
|
|
||||||
#[lang = "eh_personality"]
|
|
||||||
extern "C" fn rust_eh_personality() {}
|
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(register_attr, repr_simd, core_intrinsics)]
|
#![feature(register_attr, repr_simd, core_intrinsics, lang_items)]
|
||||||
#![register_attr(spirv)]
|
#![register_attr(spirv)]
|
||||||
|
|
||||||
pub mod math;
|
pub mod math;
|
||||||
pub use crate::math::MathExt;
|
pub use crate::math::MathExt;
|
||||||
pub use crate::math::*;
|
pub use crate::math::*;
|
||||||
|
#[cfg(target_arch = "spirv")]
|
||||||
|
use core::panic::PanicInfo;
|
||||||
|
|
||||||
macro_rules! pointer_addrspace_write {
|
macro_rules! pointer_addrspace_write {
|
||||||
(false) => {};
|
(false) => {};
|
||||||
@ -67,6 +69,16 @@ pointer_addrspace!("physical_storage_buffer", PhysicalStorageBuffer, true);
|
|||||||
#[repr(simd)]
|
#[repr(simd)]
|
||||||
pub struct f32x4(pub f32, pub f32, pub f32, pub f32);
|
pub struct f32x4(pub f32, pub f32, pub f32, pub f32);
|
||||||
|
|
||||||
|
#[cfg(target_arch = "spirv")]
|
||||||
|
#[panic_handler]
|
||||||
|
fn panic(_: &PanicInfo) -> ! {
|
||||||
|
loop {}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(target_arch = "spirv")]
|
||||||
|
#[lang = "eh_personality"]
|
||||||
|
extern "C" fn rust_eh_personality() {}
|
||||||
|
|
||||||
/// libcore requires a few external symbols to be defined:
|
/// libcore requires a few external symbols to be defined:
|
||||||
/// https://github.com/rust-lang/rust/blob/c2bc344eb23d8c1d18e803b3f1e631cf99926fbb/library/core/src/lib.rs#L23-L27
|
/// https://github.com/rust-lang/rust/blob/c2bc344eb23d8c1d18e803b3f1e631cf99926fbb/library/core/src/lib.rs#L23-L27
|
||||||
/// TODO: This is copied from compiler_builtins/mem.rs. Can we use that one instead? The note in the above link says
|
/// TODO: This is copied from compiler_builtins/mem.rs. Can we use that one instead? The note in the above link says
|
||||||
|
Loading…
Reference in New Issue
Block a user