[package]
name = "rafx-api"
version = "0.0.8"
authors = ["Philip Degarmo <aclysma@gmail.com>"]
edition = "2018"
description = "Rendering framework built on an extensible asset pipeline"
license = "MIT OR Apache-2.0"
readme = "../README.md"
repository = "https://github.com/aclysma/rafx"
homepage = "https://github.com/aclysma/rafx"
keywords = ["game", "rendering", "graphics"]
categories = ["game-development", "game-engines", "graphics", "multimedia", "rendering::engine"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rafx-base = { version = "=0.0.8", path = "../rafx-base" }

log = "0.4"
crossbeam-channel = "0.5"
fnv = "1.0"
serde = { version = "1", features = ["serde_derive"], optional = true }
serde_bytes = { version = "0.11", optional = true }
bitflags = "1.2"
profiling = "0.1.4"

# Used for debug-only tracking of resources
backtrace = { version = "0.3", optional = true }

raw-window-handle = "0.3"

# vulkan
ash = { version = ">=0.30", optional = true }
vk-mem = { version = "0.2", optional = true }
ash-window = { version = "0.5.0", optional = true }

# metal
metal_rs = { package = "metal", version = "0.21", optional = true }
objc = { version = "0.2.4", features = ["exception"], optional = true }
raw-window-metal = { version = "0.1.1", optional = true }
cocoa-foundation = { version = "0.1.0", optional = true }
dispatch = { version = "0.2", optional = true }
foreign-types-shared = { version = "0.1", optional = true }
block = { version = "0.1.6", optional = true }

[features]
default = []
rafx-empty = []
rafx-vulkan = ["ash", "vk-mem", "ash-window"]
rafx-metal = ["metal_rs", "objc", "raw-window-metal", "cocoa-foundation", "dispatch", "foreign-types-shared", "block"]
static-vulkan = []
serde-support = ["serde", "serde_bytes"]
track-device-contexts = ["backtrace"]

profile-with-puffin = ["profiling/profile-with-puffin"]
profile-with-optick = ["profiling/profile-with-optick"]
profile-with-superluminal = ["profiling/profile-with-superluminal"]
profile-with-tracy = ["profiling/profile-with-tracy"]
