libultraship
Reimplementations of libultra (N64 SDK) functions for modern hardware
Loading...
Searching...
No Matches
gfx_metal.h File Reference
#include <memory>
#include "gfx_rendering_api.h"
#include "../interpreter.h"
#include <imgui_impl_sdl2.h>
#include <simd/simd.h>
Include dependency graph for gfx_metal.h:

Go to the source code of this file.

Classes

struct  hash_pair_shader_ids
 Hash functor for (shaderId, msaaLevel) pairs used by shader caches. More...
 
struct  Fast::ShaderProgramMetal
 Cached Metal shader program and pipeline variants for one combiner key. More...
 
struct  Fast::TextureDataMetal
 Metal texture object metadata tracked by the renderer cache. More...
 
struct  Fast::FramebufferMetal
 Framebuffer state for an offscreen or onscreen Metal render target. More...
 
struct  Fast::FrameUniforms
 Per-frame uniforms consumed by Metal shader programs. More...
 
struct  Fast::DrawUniforms
 Per-draw uniforms consumed by Metal shader programs. More...
 
struct  Fast::CoordUniforms
 Buffer payload used for batched pixel-depth coordinate queries. More...
 
class  Fast::GfxRenderingAPIMetal
 Metal implementation of the Fast3D rendering API. More...
 

Namespaces

namespace  Ship
 Core namespace for the libultraship engine framework.
 
namespace  Fast
 

Functions

static size_t cantor (uint64_t a, uint64_t b)
 Combines two integer keys using the Cantor pairing function.
 
bool Metal_IsSupported ()
 Returns true when Metal is available on the current runtime platform.
 

Variables

static constexpr size_t kMaxVertexBufferPoolSize = 3
 Number of rotating vertex buffers kept to reduce CPU/GPU sync stalls.
 
static constexpr size_t METAL_MAX_MULTISAMPLE_SAMPLE_COUNT = 8
 Maximum multisample count supported by this Metal backend implementation.
 
static constexpr size_t MAX_PIXEL_DEPTH_COORDS = 1024
 Maximum number of pixel-depth coordinates queried in a single pass.
 

Function Documentation

◆ cantor()

static size_t cantor ( uint64_t  a,
uint64_t  b 
)
static

Combines two integer keys using the Cantor pairing function.

◆ Metal_IsSupported()

bool Metal_IsSupported ( )

Returns true when Metal is available on the current runtime platform.

Variable Documentation

◆ kMaxVertexBufferPoolSize

constexpr size_t kMaxVertexBufferPoolSize = 3
staticconstexpr

Number of rotating vertex buffers kept to reduce CPU/GPU sync stalls.

◆ MAX_PIXEL_DEPTH_COORDS

constexpr size_t MAX_PIXEL_DEPTH_COORDS = 1024
staticconstexpr

Maximum number of pixel-depth coordinates queried in a single pass.

◆ METAL_MAX_MULTISAMPLE_SAMPLE_COUNT

constexpr size_t METAL_MAX_MULTISAMPLE_SAMPLE_COUNT = 8
staticconstexpr

Maximum multisample count supported by this Metal backend implementation.