67#define PICO9918_INLINE static inline
69#if defined(_MSC_VER) && !defined(__clang__)
70#define PICO9918_INLINE_HOT static __forceinline
72#define PICO9918_INLINE_HOT static inline __attribute__((always_inline))
85#if defined(_MSC_VER) && !defined(__clang__)
86#define PICO9918_NOINLINE __declspec(noinline)
87#define PICO9918_MAY_ALIAS
88#define PICO9918_ASSUME_ALIGNED(ptr, n) (ptr)
89#define PICO9918_ALIGN(n) __declspec(align(n))
91#define PICO9918_NOINLINE __attribute__((noinline))
92#define PICO9918_MAY_ALIAS __attribute__((may_alias))
93#define PICO9918_ASSUME_ALIGNED(ptr, n) __builtin_assume_aligned((ptr), (n))
94#define PICO9918_ALIGN(n) __attribute__((aligned(n)))
103#define PICO9918_STATIC_ASSERT(cond, msg) static_assert(cond, msg)
105#define PICO9918_STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
124#ifdef PICO9918_HOST_OPS_HEADER
125#include PICO9918_HOST_OPS_HEADER
147#if defined(PICO_BUILD) && !defined(PICO9918_HOST_OPS_SUPPLIED)
149 "Pico build without host tier-1 ops: PICO9918_HOST_OPS_HEADER was not supplied, or the header that was included is not the host's (a same-named file beside this header shadows it). The ops header must #define PICO9918_HOST_OPS_SUPPLIED 1."
167#ifndef PICO9918_HOST_ENTER_CRITICAL
168#define PICO9918_HOST_ENTER_CRITICAL() ((void)0)
171#ifndef PICO9918_HOST_EXIT_CRITICAL
172#define PICO9918_HOST_EXIT_CRITICAL() ((void)0)
175#ifndef PICO9918_HOST_STATUS_VISIBLE
176#define PICO9918_HOST_STATUS_VISIBLE() ((void)0)
190#ifndef PICO9918_LINE_CAPTURE_WAIT
191#define PICO9918_LINE_CAPTURE_WAIT() ((void)0)
194#ifndef PICO9918_LINE_CAPTURE
195#define PICO9918_LINE_CAPTURE(y, height, width, indices) ((void)0)
198#ifndef PICO9918_LINE_NOTE_TIME
199#define PICO9918_LINE_NOTE_TIME(y, us) ((void)0)
231#ifndef PICO9918_HOST_TIME_US
232#define PICO9918_HOST_TIME_US() time_us_32()
245#define PICO9918_RGB333_CH(v) (((v) << 1) | ((v) >> 2))
247#define PICO9918_RGB12_FROM_RGB333(v) \
248 ((uint16_t)((PICO9918_RGB333_CH(((v) >> 6) & 0x07) << 8) | (PICO9918_RGB333_CH(((v) >> 3) & 0x07) << 4) | \
249 (PICO9918_RGB333_CH(((v)) & 0x07))))
268 PICO9918_LUT_DOUBLED = 0,
271} pico9918_lut_class_t;