Skip to content

Commit 4f44269

Browse files
committed
Initial commit: Geyser Phase 1 complete - Production-ready GPU texture sharing library
Features: - Vulkan backend with Windows (HANDLE) and Linux (FD) external memory support - Metal backend with IOSurface for macOS/iOS - Full synchronization primitives (semaphores, fences, events) - 21 texture formats supported - 18 unit tests, all passing - Comprehensive documentation (~1,500 lines) - Cross-platform support: Windows, Linux, macOS, iOS Phase 1 complete with all 5 development steps finished.
0 parents  commit 4f44269

34 files changed

+10631
-0
lines changed

.github/workflows/ci.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
12+
jobs:
13+
check:
14+
name: Check
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v3
18+
- uses: dtolnay/rust-toolchain@stable
19+
- run: cargo check --all-features
20+
21+
test:
22+
name: Test Suite
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v3
26+
- uses: dtolnay/rust-toolchain@stable
27+
- run: cargo test --all-features
28+
29+
fmt:
30+
name: Rustfmt
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v3
34+
- uses: dtolnay/rust-toolchain@stable
35+
with:
36+
components: rustfmt
37+
- run: cargo fmt --all -- --check
38+
39+
clippy:
40+
name: Clippy
41+
runs-on: ubuntu-latest
42+
steps:
43+
- uses: actions/checkout@v3
44+
- uses: dtolnay/rust-toolchain@stable
45+
with:
46+
components: clippy
47+
- run: cargo clippy --all-features -- -D warnings

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Rust build artifacts
2+
/target/
3+
**/*.rs.bk
4+
*.pdb
5+
6+
# Cargo lock for libraries (optional, keep for applications)
7+
# Cargo.lock
8+
9+
# IDE / Editor files
10+
.vscode/
11+
.idea/
12+
*.swp
13+
*.swo
14+
*~
15+
.DS_Store
16+
17+
# OS files
18+
Thumbs.db
19+
ehthumbs.db
20+
21+
# Test output
22+
*.profraw
23+
*.profdata

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing to Geyser
2+
3+
Thank you for your interest in contributing to Geyser! We welcome contributions from the community.
4+
5+
## Getting Started
6+
7+
1. Fork the repository
8+
2. Clone your fork: `git clone https://github.com/yourusername/geyser.git`
9+
3. Create a new branch: `git checkout -b feature/your-feature-name`
10+
4. Make your changes
11+
5. Run tests: `cargo test`
12+
6. Run formatting: `cargo fmt`
13+
7. Run clippy: `cargo clippy`
14+
8. Commit your changes: `git commit -m "Add your feature"`
15+
9. Push to your fork: `git push origin feature/your-feature-name`
16+
10. Create a Pull Request
17+
18+
## Code Style
19+
20+
- Follow Rust standard style guidelines
21+
- Run `cargo fmt` before committing
22+
- Ensure `cargo clippy` passes without warnings
23+
- Write clear commit messages
24+
25+
## Testing
26+
27+
- Add tests for new functionality
28+
- Ensure all existing tests pass
29+
- Test on multiple platforms when possible
30+
31+
## Documentation
32+
33+
- Document all public APIs with doc comments
34+
- Update README.md if adding new features
35+
- Add examples for significant new functionality
36+
37+
## Questions?
38+
39+
Feel free to open an issue for questions or discussions about contributions.

0 commit comments

Comments
 (0)