Skip to content

Commit f3c85bc

Browse files
committed
Use common types from objc2::foundation
NSUInteger is now usize, so a bunch of `as u64` casts were removed
1 parent 2ff7ab2 commit f3c85bc

31 files changed

+70
-85
lines changed

Diff for: Cargo.toml

-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ private = []
2121
mps = []
2222

2323
[dependencies]
24-
# Branch: objc2. TODO: Remove this
25-
core-graphics-types = { git = "https://github.com/madsmtm/core-foundation-rs.git", rev = "8e6c4854de2408ed1e3e614dbe6f9f2762bde7c3" }
2624
bitflags = "1"
2725
log = "0.4"
2826
block2 = "=0.2.0-alpha.6"

Diff for: examples/bindless/main.rs

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// copied, modified, or distributed except according to those terms.
77

88
use metal::*;
9+
use objc2::foundation::NSUInteger;
910
use objc2::rc::autoreleasepool;
1011

1112
const BINDLESS_TEXTURE_COUNT: NSUInteger = 100_000; // ~25Mb

Diff for: examples/circle/main.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ use winit::{
77
};
88

99
use cocoa::{appkit::NSView, base::id as cocoa_id};
10-
use core_graphics_types::geometry::CGSize;
1110

11+
use objc2::foundation::CGSize;
1212
use objc2::rc::autoreleasepool;
1313
use objc2::runtime::Bool;
1414

@@ -103,7 +103,7 @@ fn main() {
103103

104104
device.new_buffer_with_data(
105105
vertex_data.as_ptr() as *const _,
106-
(vertex_data.len() * mem::size_of::<AAPLVertex>()) as u64,
106+
vertex_data.len() * mem::size_of::<AAPLVertex>(),
107107
MTLResourceOptions::CPUCacheModeDefaultCache | MTLResourceOptions::StorageModeManaged,
108108
)
109109
};

Diff for: examples/compute/compute-argument-buffer.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ fn main() {
2323

2424
let buffer = device.new_buffer_with_data(
2525
unsafe { mem::transmute(data.as_ptr()) },
26-
(data.len() * mem::size_of::<u32>()) as u64,
26+
data.len() * mem::size_of::<u32>(),
2727
MTLResourceOptions::CPUCacheModeDefaultCache,
2828
);
2929

3030
let sum = {
3131
let data = [0u32];
3232
device.new_buffer_with_data(
3333
unsafe { mem::transmute(data.as_ptr()) },
34-
(data.len() * mem::size_of::<u32>()) as u64,
34+
data.len() * mem::size_of::<u32>(),
3535
MTLResourceOptions::CPUCacheModeDefaultCache,
3636
)
3737
};
@@ -77,7 +77,7 @@ fn main() {
7777
};
7878

7979
let thread_group_size = MTLSize {
80-
width: (data.len() as u64 + width) / width,
80+
width: (data.len() + width) / width,
8181
height: 1,
8282
depth: 1,
8383
};

Diff for: examples/compute/main.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ fn main() {
2121

2222
let buffer = device.new_buffer_with_data(
2323
unsafe { mem::transmute(data.as_ptr()) },
24-
(data.len() * mem::size_of::<u32>()) as u64,
24+
data.len() * mem::size_of::<u32>(),
2525
MTLResourceOptions::CPUCacheModeDefaultCache,
2626
);
2727

2828
let sum = {
2929
let data = [0u32];
3030
device.new_buffer_with_data(
3131
unsafe { mem::transmute(data.as_ptr()) },
32-
(data.len() * mem::size_of::<u32>()) as u64,
32+
data.len() * mem::size_of::<u32>(),
3333
MTLResourceOptions::CPUCacheModeDefaultCache,
3434
)
3535
};
@@ -73,7 +73,7 @@ fn main() {
7373
};
7474

7575
let thread_group_size = MTLSize {
76-
width: (data.len() as u64 + width) / width,
76+
width: (data.len() + width) / width,
7777
height: 1,
7878
depth: 1,
7979
};

Diff for: examples/headless-render/main.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ use metal::{
1212
};
1313
use png::ColorType;
1414

15-
const VIEW_WIDTH: u64 = 512;
16-
const VIEW_HEIGHT: u64 = 512;
17-
const TOTAL_BYTES: usize = (VIEW_WIDTH * VIEW_HEIGHT * 4) as usize;
15+
const VIEW_WIDTH: usize = 512;
16+
const VIEW_HEIGHT: usize = 512;
17+
const TOTAL_BYTES: usize = VIEW_WIDTH * VIEW_HEIGHT * 4;
1818

1919
const VERTEX_SHADER: &'static str = "triangle_vertex";
2020
const FRAGMENT_SHADER: &'static str = "triangle_fragment";
@@ -144,7 +144,7 @@ fn prepare_pipeline_state(device: &DeviceRef, library: &LibraryRef) -> RenderPip
144144
fn create_vertex_buffer(device: &DeviceRef) -> Buffer {
145145
device.new_buffer_with_data(
146146
VERTEX_ATTRIBS.as_ptr() as *const _,
147-
(VERTEX_ATTRIBS.len() * mem::size_of::<f32>()) as u64,
147+
VERTEX_ATTRIBS.len() * mem::size_of::<f32>(),
148148
MTLResourceOptions::CPUCacheModeDefaultCache | MTLResourceOptions::StorageModeManaged,
149149
)
150150
}

Diff for: examples/mps/main.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ fn main() {
5050

5151
let vertex_buffer = device.new_buffer_with_data(
5252
vertices.as_ptr() as *const c_void,
53-
(vertex_stride * vertices.len()) as u64,
53+
vertex_stride * vertices.len(),
5454
buffer_opts,
5555
);
5656

5757
let index_buffer = device.new_buffer_with_data(
5858
indices.as_ptr() as *const c_void,
59-
(mem::size_of::<u32>() * indices.len()) as u64,
59+
mem::size_of::<u32>() * indices.len(),
6060
buffer_opts,
6161
);
6262

@@ -65,7 +65,7 @@ fn main() {
6565
.expect("Failed to create acceleration structure");
6666

6767
acceleration_structure.set_vertex_buffer(Some(&vertex_buffer));
68-
acceleration_structure.set_vertex_stride(vertex_stride as u64);
68+
acceleration_structure.set_vertex_stride(vertex_stride);
6969
acceleration_structure.set_index_buffer(Some(&index_buffer));
7070
acceleration_structure.set_index_type(MPSDataType::UInt32);
7171
acceleration_structure.set_triangle_count(1);
@@ -75,21 +75,21 @@ fn main() {
7575
let ray_intersector =
7676
RayIntersector::from_device(&device).expect("Failed to create ray intersector");
7777

78-
ray_intersector.set_ray_stride(mem::size_of::<Ray>() as u64);
78+
ray_intersector.set_ray_stride(mem::size_of::<Ray>());
7979
ray_intersector.set_ray_data_type(MPSRayDataType::OriginMinDistanceDirectionMaxDistance);
80-
ray_intersector.set_intersection_stride(mem::size_of::<Intersection>() as u64);
80+
ray_intersector.set_intersection_stride(mem::size_of::<Intersection>());
8181
ray_intersector
8282
.set_intersection_data_type(MPSIntersectionDataType::DistancePrimitiveIndexCoordinates);
8383

8484
// Create a buffer to hold generated rays and intersection results
8585
let ray_count = 1024;
8686
let ray_buffer = device.new_buffer(
87-
(mem::size_of::<Ray>() * ray_count) as u64,
87+
mem::size_of::<Ray>() * ray_count,
8888
MTLResourceOptions::StorageModePrivate,
8989
);
9090

9191
let intersection_buffer = device.new_buffer(
92-
(mem::size_of::<Intersection>() * ray_count) as u64,
92+
mem::size_of::<Intersection>() * ray_count,
9393
MTLResourceOptions::StorageModePrivate,
9494
);
9595

@@ -119,7 +119,7 @@ fn main() {
119119
0,
120120
&intersection_buffer,
121121
0,
122-
ray_count as u64,
122+
ray_count,
123123
&acceleration_structure,
124124
);
125125

Diff for: examples/shader-dylib/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use cocoa::{appkit::NSView, base::id as cocoa_id};
2-
use core_graphics_types::geometry::CGSize;
32

43
use metal::*;
4+
use objc2::foundation::CGSize;
55
use objc2::rc::autoreleasepool;
66
use objc2::runtime::Bool;
77

Diff for: examples/texture/Cargo.toml

-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ edition = "2018"
99
bindgen = { version = "0.60", default-features = false, features = ["logging", "runtime", "which-rustfmt"] }
1010

1111
[dependencies]
12-
# Branch: objc2. TODO: Remove this
13-
core-graphics-types = { git = "https://github.com/madsmtm/core-foundation-rs.git", rev = "8e6c4854de2408ed1e3e614dbe6f9f2762bde7c3" }
1412
cocoa = "0.24"
1513
png = "0.17"
1614
metal = { path = "../../" }

Diff for: examples/texture/src/main.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use std::path::PathBuf;
55

66
use cocoa::{appkit::NSView, base::id as cocoa_id};
7-
use core_graphics_types::geometry::CGSize;
7+
use objc2::foundation::{CGSize, NSRange};
88
use objc2::rc::autoreleasepool;
99
use winit::dpi::LogicalSize;
1010
use winit::event_loop::{ControlFlow, EventLoop};
@@ -40,7 +40,7 @@ fn main() {
4040
let vertex_data = vertices();
4141
let vertex_buffer = device.new_buffer_with_data(
4242
vertex_data.as_ptr() as *const _,
43-
(vertex_data.len() * std::mem::size_of::<TexturedVertex>()) as u64,
43+
vertex_data.len() * std::mem::size_of::<TexturedVertex>(),
4444
MTLResourceOptions::CPUCacheModeDefaultCache | MTLResourceOptions::StorageModeManaged,
4545
);
4646

@@ -113,7 +113,7 @@ fn create_texture_to_display(device: &Device) -> Texture {
113113
let mut reader = decoder.read_info().unwrap();
114114

115115
let info = reader.info();
116-
let (width, height) = (info.width as u64, info.height as u64);
116+
let (width, height) = (info.width as usize, info.height as usize);
117117

118118
let mut buf = vec![0; reader.output_buffer_size()];
119119
reader.next_frame(&mut buf).unwrap();
@@ -226,12 +226,12 @@ fn handle_window_event(
226226
fn update_viewport_size_buffer(viewport_size_buffer: &Buffer, size: (u32, u32)) {
227227
let contents = viewport_size_buffer.contents();
228228
let viewport_size: [u32; 2] = [size.0, size.1];
229-
let byte_count = (viewport_size.len() * std::mem::size_of::<u32>()) as usize;
229+
let byte_count = viewport_size.len() * std::mem::size_of::<u32>();
230230

231231
unsafe {
232232
std::ptr::copy(viewport_size.as_ptr(), contents as *mut u32, byte_count);
233233
}
234-
viewport_size_buffer.did_modify_range(metal::NSRange::new(0, byte_count as u64));
234+
viewport_size_buffer.did_modify_range(NSRange::new(0, byte_count));
235235
}
236236

237237
fn redraw(
@@ -255,9 +255,9 @@ fn redraw(
255255
let encoder = command_buffer.new_render_command_encoder(&render_pass_descriptor);
256256
encoder.set_render_pipeline_state(&pipeline_state);
257257

258-
encoder.set_vertex_buffer(VerticesBufferIdx as u64, Some(vertex_buffer), 0);
259-
encoder.set_vertex_buffer(ViewportSizeBufferIdx as u64, Some(viewport_size_buffer), 0);
260-
encoder.set_fragment_texture(TextureBaseColorIdx as u64, Some(texture_to_render));
258+
encoder.set_vertex_buffer(VerticesBufferIdx as usize, Some(vertex_buffer), 0);
259+
encoder.set_vertex_buffer(ViewportSizeBufferIdx as usize, Some(viewport_size_buffer), 0);
260+
encoder.set_fragment_texture(TextureBaseColorIdx as usize, Some(texture_to_render));
261261

262262
encoder.draw_primitives(MTLPrimitiveType::Triangle, 0, 6);
263263
encoder.end_encoding();

Diff for: examples/window/main.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
// copied, modified, or distributed except according to those terms.
77

88
use cocoa::{appkit::NSView, base::id as cocoa_id};
9-
use core_graphics_types::geometry::CGSize;
109

1110
use metal::*;
11+
use objc2::foundation::{CGSize, NSRange};
1212
use objc2::rc::autoreleasepool;
1313
use objc2::runtime::Bool;
1414
use std::mem;
@@ -132,7 +132,7 @@ fn main() {
132132

133133
device.new_buffer_with_data(
134134
vertex_data.as_ptr() as *const _,
135-
(vertex_data.len() * mem::size_of::<f32>()) as u64,
135+
vertex_data.len() * mem::size_of::<f32>(),
136136
MTLResourceOptions::CPUCacheModeDefaultCache | MTLResourceOptions::StorageModeManaged,
137137
)
138138
};
@@ -156,7 +156,7 @@ fn main() {
156156

157157
let clear_rect_buffer = device.new_buffer_with_data(
158158
clear_rect.as_ptr() as *const _,
159-
mem::size_of::<ClearRect>() as u64,
159+
mem::size_of::<ClearRect>(),
160160
MTLResourceOptions::CPUCacheModeDefaultCache | MTLResourceOptions::StorageModeManaged,
161161
);
162162

@@ -199,13 +199,13 @@ fn main() {
199199
std::ptr::copy(
200200
vertex_data.as_ptr(),
201201
p as *mut f32,
202-
(vertex_data.len() * mem::size_of::<f32>()) as usize,
202+
vertex_data.len() * mem::size_of::<f32>(),
203203
);
204204
}
205205

206-
vbuf.did_modify_range(crate::NSRange::new(
207-
0 as u64,
208-
(vertex_data.len() * mem::size_of::<f32>()) as u64,
206+
vbuf.did_modify_range(NSRange::new(
207+
0,
208+
vertex_data.len() * mem::size_of::<f32>(),
209209
));
210210

211211
let drawable = match layer.next_drawable() {

Diff for: src/argument.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// http://opensource.org/licenses/MIT>, at your option. This file may not be
66
// copied, modified, or distributed except according to those terms.
77

8-
use super::{MTLTextureType, NSUInteger};
8+
use super::MTLTextureType;
9+
use objc2::foundation::NSUInteger;
910
use objc2::{Encode, Encoding};
1011

1112
#[repr(u64)]

Diff for: src/buffer.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// copied, modified, or distributed except according to those terms.
77

88
use super::*;
9+
use objc2::foundation::NSRange;
910

1011
pub enum MTLBuffer {}
1112

@@ -25,7 +26,7 @@ impl BufferRef {
2526
unsafe { msg_send![self, contents] }
2627
}
2728

28-
pub fn did_modify_range(&self, range: crate::NSRange) {
29+
pub fn did_modify_range(&self, range: NSRange) {
2930
unsafe { msg_send![self, didModifyRange: range] }
3031
}
3132

@@ -54,7 +55,7 @@ impl BufferRef {
5455
unsafe { msg_send![self, newRemoteBufferViewForDevice: device] }
5556
}
5657

57-
pub fn add_debug_marker(&self, name: &str, range: crate::NSRange) {
58+
pub fn add_debug_marker(&self, name: &str, range: NSRange) {
5859
unsafe {
5960
let name = crate::nsstring_from_str(name);
6061
msg_send![self, addDebugMarker:name range:range]

Diff for: src/device.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use super::*;
99

1010
use block2::{Block, ConcreteBlock};
1111
use foreign_types::ForeignType;
12+
use objc2::foundation::NSUInteger;
1213
use objc2::runtime::Object;
1314
use objc2::{Encode, Encoding};
1415

@@ -1880,7 +1881,7 @@ impl DeviceRef {
18801881
}
18811882
}
18821883

1883-
pub fn new_buffer(&self, length: u64, options: MTLResourceOptions) -> Buffer {
1884+
pub fn new_buffer(&self, length: NSUInteger, options: MTLResourceOptions) -> Buffer {
18841885
unsafe {
18851886
msg_send![self, newBufferWithLength:length
18861887
options:options]

Diff for: src/drawable.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// http://opensource.org/licenses/MIT>, at your option. This file may not be
66
// copied, modified, or distributed except according to those terms.
77

8-
use super::NSUInteger;
8+
use objc2::foundation::NSUInteger;
99

1010
pub enum MTLDrawable {}
1111

Diff for: src/encoder.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use super::*;
99

1010
use std::ops::Range;
1111

12+
use objc2::foundation::{NSInteger, NSRange, NSUInteger};
1213
use objc2::{Encode, Encoding};
1314

1415
#[repr(u64)]
@@ -904,7 +905,7 @@ impl BlitCommandEncoderRef {
904905
unsafe { msg_send![self, synchronizeResource: resource] }
905906
}
906907

907-
pub fn fill_buffer(&self, destination_buffer: &BufferRef, range: crate::NSRange, value: u8) {
908+
pub fn fill_buffer(&self, destination_buffer: &BufferRef, range: NSRange, value: u8) {
908909
unsafe {
909910
msg_send![self,
910911
fillBuffer: destination_buffer

Diff for: src/heap.rs

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use super::*;
99

10+
use objc2::foundation::NSUInteger;
1011
use objc2::{Encode, Encoding};
1112

1213
/// Only available on macos(10.15), ios(13.0)

Diff for: src/indirect_encoder.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use super::*;
22

3+
use objc2::foundation::{NSRange, NSUInteger};
4+
35
bitflags! {
46
#[allow(non_upper_case_globals)]
57
pub struct MTLIndirectCommandType: NSUInteger {
@@ -99,7 +101,7 @@ impl IndirectCommandBufferRef {
99101
unsafe { msg_send![self, indirectComputeCommandAtIndex: index] }
100102
}
101103

102-
pub fn reset_with_range(&self, range: crate::NSRange) {
104+
pub fn reset_with_range(&self, range: NSRange) {
103105
unsafe { msg_send![self, resetWithRange: range] }
104106
}
105107
}

0 commit comments

Comments
 (0)