Platform checks
This commit is contained in:
@@ -144,32 +144,34 @@ create_pipeline_2d_base :: proc(
|
||||
if pipeline.sdl_pipeline != nil do sdl.ReleaseGPUGraphicsPipeline(device, pipeline.sdl_pipeline)
|
||||
}
|
||||
|
||||
when ODIN_OS == .Darwin {
|
||||
base_2d_vert_raw := #load("shaders/generated/base_2d.vert.metal")
|
||||
base_2d_frag_raw := #load("shaders/generated/base_2d.frag.metal")
|
||||
} else {
|
||||
base_2d_vert_raw := #load("shaders/generated/base_2d.vert.spv")
|
||||
base_2d_frag_raw := #load("shaders/generated/base_2d.frag.spv")
|
||||
active_shader_formats := sdl.GetGPUShaderFormats(device)
|
||||
if PLATFORM_SHADER_FORMAT_FLAG not_in active_shader_formats {
|
||||
log.errorf(
|
||||
"draw: no embedded shader matches active GPU formats; this build supports %v but device reports %v",
|
||||
PLATFORM_SHADER_FORMAT,
|
||||
active_shader_formats,
|
||||
)
|
||||
return pipeline, false
|
||||
}
|
||||
|
||||
log.debug("Loaded", len(base_2d_vert_raw), "vert bytes")
|
||||
log.debug("Loaded", len(base_2d_frag_raw), "frag bytes")
|
||||
log.debug("Loaded", len(BASE_VERT_2D_RAW), "vert bytes")
|
||||
log.debug("Loaded", len(BASE_FRAG_2D_RAW), "frag bytes")
|
||||
|
||||
vert_info := sdl.GPUShaderCreateInfo {
|
||||
code_size = len(base_2d_vert_raw),
|
||||
code = raw_data(base_2d_vert_raw),
|
||||
entrypoint = ENTRY_POINT,
|
||||
format = SHADER_TYPE,
|
||||
code_size = len(BASE_VERT_2D_RAW),
|
||||
code = raw_data(BASE_VERT_2D_RAW),
|
||||
entrypoint = SHADER_ENTRY,
|
||||
format = {PLATFORM_SHADER_FORMAT_FLAG},
|
||||
stage = .VERTEX,
|
||||
num_uniform_buffers = 1,
|
||||
num_storage_buffers = 1,
|
||||
}
|
||||
|
||||
frag_info := sdl.GPUShaderCreateInfo {
|
||||
code_size = len(base_2d_frag_raw),
|
||||
code = raw_data(base_2d_frag_raw),
|
||||
entrypoint = ENTRY_POINT,
|
||||
format = SHADER_TYPE,
|
||||
code_size = len(BASE_FRAG_2D_RAW),
|
||||
code = raw_data(BASE_FRAG_2D_RAW),
|
||||
entrypoint = SHADER_ENTRY,
|
||||
format = {PLATFORM_SHADER_FORMAT_FLAG},
|
||||
stage = .FRAGMENT,
|
||||
num_samplers = 1,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user