libultraship
Reimplementations of libultra (N64 SDK) functions for modern hardware
Loading...
Searching...
No Matches
Fast::Interpreter Class Reference

#include <interpreter.h>

Collaboration diagram for Fast::Interpreter:
[legend]

Public Types

typedef size_t ShaderId
 

Public Member Functions

 Interpreter ()
 
 ~Interpreter ()
 
void Init (GfxWindowBackend *wapi, class GfxRenderingAPI *rapi, const char *game_name, bool start_in_fullscreen, uint32_t width, uint32_t height, uint32_t posX, uint32_t posY, std::shared_ptr< Ship::ConsoleVariable > consoleVariable=nullptr, std::shared_ptr< Ship::ResourceManager > resourceManager=nullptr)
 
void Destroy ()
 
void SetGfxDebugger (std::shared_ptr< GfxDebugger > debugger)
 
std::shared_ptr< GfxDebuggerGetGfxDebugger () const
 
void SetFast3dWindow (std::shared_ptr< Fast3dWindow > window)
 
void GetDimensions (uint32_t *width, uint32_t *height, int32_t *posX, int32_t *posY)
 
GfxRenderingAPIGetCurrentRenderingAPI ()
 
void StartFrame ()
 
void RunGuiOnly ()
 
void Run (Gfx *commands, const std::unordered_map< Mtx *, MtxF > &mtx_replacements)
 
void EndFrame ()
 
void HandleWindowEvents ()
 
bool IsFrameReady ()
 
bool ViewportMatchesRendererResolution ()
 
int GetTargetFps ()
 
void SetTargetFps (int fps)
 
void SetMaxFrameLatency (int latency)
 
int CreateFrameBuffer (uint32_t width, uint32_t height, uint32_t native_width, uint32_t native_height, uint8_t resize, bool forceFixedAspect=false)
 
void SetFrameBuffer (int fb, float noiseScale)
 
void CopyFrameBuffer (int fb_dst_id, int fb_src_id, bool copyOnce, bool *hasCopiedPtr)
 
void ResetFrameBuffer ()
 
void AdjustPixelDepthCoordinates (float &x, float &y)
 
void GetPixelDepthPrepare (float x, float y)
 
uint16_t GetPixelDepth (float x, float y)
 
void RegisterBlendedTexture (const char *name, uint8_t *mask, uint8_t *replacement)
 
void UnregisterBlendedTexture (const char *name)
 
void RegisterFbTexture (const void *cpuAddr, int fbId)
 
void UnregisterFbTexture (const void *cpuAddr)
 
void SetNativeDimensions (float width, float height)
 
void SetResolutionMultiplier (float multiplier)
 
void SetMsaaLevel (uint32_t level)
 
void GetCurDimensions (uint32_t *width, uint32_t *height)
 
void Flush ()
 
ShaderProgramLookupOrCreateShaderProgram (uint64_t id0, uint64_t id1)
 
ColorCombinerLookupOrCreateColorCombiner (const ColorCombinerKey &key)
 
void ShaderCacheClear ()
 
void TextureCacheClear ()
 
bool TextureCacheLookup (int i, const TextureCacheKey &key)
 
void TextureCacheDelete (const uint8_t *origAddr)
 
void ImportTextureRgba16 (int tile, bool importReplacement)
 
void ImportTextureRgba32 (int tile, bool importReplacement)
 
void ImportTextureIA4 (int tile, bool importReplacement)
 
void ImportTextureIA8 (int tile, bool importReplacement)
 
void ImportTextureIA16 (int tile, bool importReplacement)
 
void ImportTextureI4 (int tile, bool importReplacement)
 
void ImportTextureI8 (int tile, bool importReplacement)
 
void ImportTextureCi4 (int tile, bool importReplacement)
 
void ImportTextureCi8 (int tile, bool importReplacement)
 
void ImportTextureRaw (int tile, bool importReplacement)
 
void ImportTextureImg (int tile, bool importReplacement)
 
void ImportTexture (int i, int tile, bool importReplacement)
 
void ImportTextureMask (int i, int tile)
 
void CalculateNormalDir (const F3DLight_t *, float coeffs[3])
 
void GfxSpMatrix (uint8_t params, const int32_t *addr)
 
void GfxSpPopMatrix (uint32_t count)
 
void GfxSpVertex (size_t numVertices, size_t destIndex, const F3DVtx *vertices)
 
void GfxSpModifyVertex (uint16_t vtxIdx, uint8_t where, uint32_t val)
 
void GfxSpTri1 (uint8_t vtx1Idx, uint8_t vtx2Idx, uint8_t vtx3Idx, bool isRect)
 
void GfxSpGeometryMode (uint32_t clear, uint32_t set)
 
void GfxSpExtraGeometryMode (uint32_t clear, uint32_t set)
 
void GfxSpMovememF3dex2 (uint8_t index, uint8_t offset, const void *data)
 
void GfxSpMovememF3d (uint8_t index, uint8_t offset, const void *data)
 
void GfxSpMovewordF3dex2 (uint8_t index, uint16_t offset, uintptr_t data)
 
void GfxSpMovewordF3d (uint8_t index, uint16_t offset, uintptr_t data)
 
void GfxSpTexture (uint16_t sc, uint16_t tc, uint8_t level, uint8_t tile, uint8_t on)
 
void GfxDpSetScissor (uint32_t mode, uint32_t ulx, uint32_t uly, uint32_t lrx, uint32_t lry)
 
void GfxDpSetTextureImage (uint32_t format, uint32_t size, uint32_t width, const char *texPath, uint32_t texFlags, RawTexMetadata rawTexMetdata, const void *addr)
 
void GfxDpSetTile (uint8_t fmt, uint32_t siz, uint32_t line, uint32_t tmem, uint8_t tile, uint32_t palette, uint32_t cmt, uint32_t maskt, uint32_t shiftt, uint32_t cms, uint32_t masks, uint32_t shifts)
 
void GfxDpSetTileSize (uint8_t tile, uint16_t uls, uint16_t ult, uint16_t lrs, uint16_t lrt)
 
void GfxDpLoadTlut (uint8_t tile, uint32_t high_index)
 
void GfxDpLoadBlock (uint8_t tile, uint32_t uls, uint32_t ult, uint32_t lrs, uint32_t dxt)
 
void GfxDpLoadTile (uint8_t tile, uint32_t uls, uint32_t ult, uint32_t lrs, uint32_t lrt)
 
void GfxDpSetCombineMode (uint32_t rgb, uint32_t alpha, uint32_t rgb_cyc2, uint32_t alpha_cyc2)
 
void GfxDpSetGrayscaleColor (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
void GfxDpSetEnvColor (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
void GfxDpSetPrimColor (uint8_t m, uint8_t r, uint8_t l, uint8_t g, uint8_t b, uint8_t a)
 
void GfxDpSetFogColor (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
void GfxDpSetBlendColor (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
void GfxDpSetFillColor (uint32_t pickedColor)
 
void GfxDrawRectangle (int32_t ulx, int32_t uly, int32_t lrx, int32_t lry)
 
void GfxDpTextureRectangle (int32_t ulx, int32_t uly, int32_t lrx, int32_t lry, uint8_t tile, int16_t uls, int16_t ult, int16_t dsdx, int16_t dtdy, bool flip)
 
void GfxDpImageRectangle (int32_t tile, int32_t w, int32_t h, int32_t ulx, int32_t uly, int16_t uls, int16_t ult, int32_t lrx, int32_t lry, int16_t lrs, int16_t lrt)
 
void GfxDpFillRectangle (int32_t ulx, int32_t uly, int32_t lrx, int32_t lry)
 
void GfxDpSetZImage (void *zBufAddr)
 
void GfxDpSetColorImage (uint32_t format, uint32_t size, uint32_t width, void *address)
 
void GfxSpSetOtherMode (uint32_t shift, uint32_t num_bits, uint64_t mode)
 
void GfxDpSetOtherMode (uint32_t h, uint32_t l)
 
void Gfxs2dexBgCopy (F3DuObjBg *bg)
 
void Gfxs2dexBg1cyc (F3DuObjBg *bg)
 
void Gfxs2dexRecyCopy (F3DuObjSprite *spr)
 
void AdjustWidthHeightForScale (uint32_t &width, uint32_t &height, uint32_t nativeWidth, uint32_t nativeHeight) const
 
float AdjXForAspectRatio (float x) const
 
void AdjustVIewportOrScissor (XYWidthHeight *area)
 
void CalcAndSetViewport (const F3DVp_t *viewport)
 
void SpReset ()
 
void * SegAddr (uintptr_t w1)
 

Static Public Member Functions

static std::shared_ptr< Fast3dWindowGetCurrentWindow ()
 
static const char * CCMUXtoStr (uint32_t ccmux)
 
static const char * ACMUXtoStr (uint32_t acmux)
 
static void GenerateCC (ColorCombiner *comb, const ColorCombinerKey &key)
 
static std::string_view GetBaseTexturePath (std::string_view path)
 
static void NormalizeVector (float v[3])
 
static void TransposedMatrixMul (float res[3], const float a[3], const float b[4][4])
 
static void MatrixMul (float res[4][4], const float a[4][4], const float b[4][4])
 

Public Attributes

RSPmRsp
 
RDPmRdp
 
RenderingState mRenderingState {}
 
GfxTextureCache mTextureCache {}
 
std::map< ColorCombinerKey, ColorCombinermColorCombinerPool
 
std::map< ColorCombinerKey, ColorCombiner >::iterator mPrevCombiner = mColorCombinerPool.end()
 
uint8_t * mTexUploadBuffer = nullptr
 
GfxDimensions mGfxCurrentWindowDimensions {}
 
int32_t mCurWindowPosX {}
 
int32_t mCurWindowPosY {}
 
GfxDimensions mCurDimensions {}
 
GfxDimensions mPrvDimensions {}
 
XYWidthHeight mGameWindowViewport {}
 
XYWidthHeight mNativeDimensions {}
 
XYWidthHeight mPrevNativeDimensions {}
 
uintptr_t mGfxFrameBuffer {}
 
unsigned int mMsaaLevel = 1
 
bool mDroppedFrame {}
 
float * mBufVbo
 
size_t mBufVboLen {}
 
size_t mBufVboNumTris {}
 
GfxWindowBackendmWapi = nullptr
 
GfxRenderingAPImRapi = nullptr
 
std::shared_ptr< GfxDebuggermGfxDebugger
 
std::shared_ptr< Ship::ResourceManagermResourceManager
 Cached ResourceManager, set in Init().
 
std::shared_ptr< Ship::ConsoleVariablemConsoleVariable
 Cached ConsoleVariable, set in Init().
 
std::weak_ptr< Fast3dWindowmFast3dWindow
 Cached Fast3dWindow, set in OnInit().
 
uintptr_t mSegmentPointers [MAX_SEGMENT_POINTERS] {}
 
bool mFbActive {}
 
bool mRendersToFb {}
 
std::map< int, FBInfo >::iterator mActiveFrameBuffer
 
std::map< int, FBInfomFrameBuffers
 
int mGameFb {}
 
int mGameFbMsaaResolved {}
 
std::set< std::pair< float, float > > mGetPixelDepthPending
 
std::unordered_map< std::pair< float, float >, uint16_t, hash_pair_ffmGetPixelDepthCached
 
std::map< std::string, MaskedTextureEntry, std::less<> > mMaskedTextures
 
std::unordered_map< uintptr_t, int > mFbTextures
 
const std::unordered_map< Mtx *, MtxF > * mCurMtxReplacements
 
bool mMarkerOn
 
std::unordered_map< size_t, const char * > mShaders
 
std::stack< ShaderIdmShaderStack
 
size_t mShadersIndex
 
int mInterpolationIndex
 
int mInterpolationIndexTarget
 

Member Typedef Documentation

◆ ShaderId

Constructor & Destructor Documentation

◆ Interpreter()

Fast::Interpreter::Interpreter ( )

◆ ~Interpreter()

Fast::Interpreter::~Interpreter ( )

Member Function Documentation

◆ ACMUXtoStr()

static const char * Fast::Interpreter::ACMUXtoStr ( uint32_t  acmux)
static

◆ AdjustPixelDepthCoordinates()

void Fast::Interpreter::AdjustPixelDepthCoordinates ( float &  x,
float &  y 
)

◆ AdjustVIewportOrScissor()

void Fast::Interpreter::AdjustVIewportOrScissor ( XYWidthHeight area)

◆ AdjustWidthHeightForScale()

void Fast::Interpreter::AdjustWidthHeightForScale ( uint32_t &  width,
uint32_t &  height,
uint32_t  nativeWidth,
uint32_t  nativeHeight 
) const

◆ AdjXForAspectRatio()

float Fast::Interpreter::AdjXForAspectRatio ( float  x) const

◆ CalcAndSetViewport()

void Fast::Interpreter::CalcAndSetViewport ( const F3DVp_t viewport)

◆ CalculateNormalDir()

void Fast::Interpreter::CalculateNormalDir ( const F3DLight_t ,
float  coeffs[3] 
)

◆ CCMUXtoStr()

static const char * Fast::Interpreter::CCMUXtoStr ( uint32_t  ccmux)
static

◆ CopyFrameBuffer()

void Fast::Interpreter::CopyFrameBuffer ( int  fb_dst_id,
int  fb_src_id,
bool  copyOnce,
bool *  hasCopiedPtr 
)

◆ CreateFrameBuffer()

int Fast::Interpreter::CreateFrameBuffer ( uint32_t  width,
uint32_t  height,
uint32_t  native_width,
uint32_t  native_height,
uint8_t  resize,
bool  forceFixedAspect = false 
)

◆ Destroy()

void Fast::Interpreter::Destroy ( )

◆ EndFrame()

void Fast::Interpreter::EndFrame ( )

◆ Flush()

void Fast::Interpreter::Flush ( )

◆ GenerateCC()

static void Fast::Interpreter::GenerateCC ( ColorCombiner comb,
const ColorCombinerKey &  key 
)
static

◆ GetBaseTexturePath()

static std::string_view Fast::Interpreter::GetBaseTexturePath ( std::string_view  path)
static

◆ GetCurDimensions()

void Fast::Interpreter::GetCurDimensions ( uint32_t *  width,
uint32_t *  height 
)

◆ GetCurrentRenderingAPI()

GfxRenderingAPI * Fast::Interpreter::GetCurrentRenderingAPI ( )

◆ GetCurrentWindow()

static std::shared_ptr< Fast3dWindow > Fast::Interpreter::GetCurrentWindow ( )
static

◆ GetDimensions()

void Fast::Interpreter::GetDimensions ( uint32_t *  width,
uint32_t *  height,
int32_t *  posX,
int32_t *  posY 
)

◆ GetGfxDebugger()

std::shared_ptr< GfxDebugger > Fast::Interpreter::GetGfxDebugger ( ) const

◆ GetPixelDepth()

uint16_t Fast::Interpreter::GetPixelDepth ( float  x,
float  y 
)

◆ GetPixelDepthPrepare()

void Fast::Interpreter::GetPixelDepthPrepare ( float  x,
float  y 
)

◆ GetTargetFps()

int Fast::Interpreter::GetTargetFps ( )

◆ GfxDpFillRectangle()

void Fast::Interpreter::GfxDpFillRectangle ( int32_t  ulx,
int32_t  uly,
int32_t  lrx,
int32_t  lry 
)

◆ GfxDpImageRectangle()

void Fast::Interpreter::GfxDpImageRectangle ( int32_t  tile,
int32_t  w,
int32_t  h,
int32_t  ulx,
int32_t  uly,
int16_t  uls,
int16_t  ult,
int32_t  lrx,
int32_t  lry,
int16_t  lrs,
int16_t  lrt 
)

◆ GfxDpLoadBlock()

void Fast::Interpreter::GfxDpLoadBlock ( uint8_t  tile,
uint32_t  uls,
uint32_t  ult,
uint32_t  lrs,
uint32_t  dxt 
)

◆ GfxDpLoadTile()

void Fast::Interpreter::GfxDpLoadTile ( uint8_t  tile,
uint32_t  uls,
uint32_t  ult,
uint32_t  lrs,
uint32_t  lrt 
)

◆ GfxDpLoadTlut()

void Fast::Interpreter::GfxDpLoadTlut ( uint8_t  tile,
uint32_t  high_index 
)

◆ GfxDpSetBlendColor()

void Fast::Interpreter::GfxDpSetBlendColor ( uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)

◆ GfxDpSetColorImage()

void Fast::Interpreter::GfxDpSetColorImage ( uint32_t  format,
uint32_t  size,
uint32_t  width,
void *  address 
)

◆ GfxDpSetCombineMode()

void Fast::Interpreter::GfxDpSetCombineMode ( uint32_t  rgb,
uint32_t  alpha,
uint32_t  rgb_cyc2,
uint32_t  alpha_cyc2 
)

◆ GfxDpSetEnvColor()

void Fast::Interpreter::GfxDpSetEnvColor ( uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)

◆ GfxDpSetFillColor()

void Fast::Interpreter::GfxDpSetFillColor ( uint32_t  pickedColor)

◆ GfxDpSetFogColor()

void Fast::Interpreter::GfxDpSetFogColor ( uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)

◆ GfxDpSetGrayscaleColor()

void Fast::Interpreter::GfxDpSetGrayscaleColor ( uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)

◆ GfxDpSetOtherMode()

void Fast::Interpreter::GfxDpSetOtherMode ( uint32_t  h,
uint32_t  l 
)

◆ GfxDpSetPrimColor()

void Fast::Interpreter::GfxDpSetPrimColor ( uint8_t  m,
uint8_t  r,
uint8_t  l,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)

◆ GfxDpSetScissor()

void Fast::Interpreter::GfxDpSetScissor ( uint32_t  mode,
uint32_t  ulx,
uint32_t  uly,
uint32_t  lrx,
uint32_t  lry 
)

◆ GfxDpSetTextureImage()

void Fast::Interpreter::GfxDpSetTextureImage ( uint32_t  format,
uint32_t  size,
uint32_t  width,
const char *  texPath,
uint32_t  texFlags,
RawTexMetadata  rawTexMetdata,
const void *  addr 
)

◆ GfxDpSetTile()

void Fast::Interpreter::GfxDpSetTile ( uint8_t  fmt,
uint32_t  siz,
uint32_t  line,
uint32_t  tmem,
uint8_t  tile,
uint32_t  palette,
uint32_t  cmt,
uint32_t  maskt,
uint32_t  shiftt,
uint32_t  cms,
uint32_t  masks,
uint32_t  shifts 
)

◆ GfxDpSetTileSize()

void Fast::Interpreter::GfxDpSetTileSize ( uint8_t  tile,
uint16_t  uls,
uint16_t  ult,
uint16_t  lrs,
uint16_t  lrt 
)

◆ GfxDpSetZImage()

void Fast::Interpreter::GfxDpSetZImage ( void *  zBufAddr)

◆ GfxDpTextureRectangle()

void Fast::Interpreter::GfxDpTextureRectangle ( int32_t  ulx,
int32_t  uly,
int32_t  lrx,
int32_t  lry,
uint8_t  tile,
int16_t  uls,
int16_t  ult,
int16_t  dsdx,
int16_t  dtdy,
bool  flip 
)

◆ GfxDrawRectangle()

void Fast::Interpreter::GfxDrawRectangle ( int32_t  ulx,
int32_t  uly,
int32_t  lrx,
int32_t  lry 
)

◆ Gfxs2dexBg1cyc()

void Fast::Interpreter::Gfxs2dexBg1cyc ( F3DuObjBg bg)

◆ Gfxs2dexBgCopy()

void Fast::Interpreter::Gfxs2dexBgCopy ( F3DuObjBg bg)

◆ Gfxs2dexRecyCopy()

void Fast::Interpreter::Gfxs2dexRecyCopy ( F3DuObjSprite spr)

◆ GfxSpExtraGeometryMode()

void Fast::Interpreter::GfxSpExtraGeometryMode ( uint32_t  clear,
uint32_t  set 
)

◆ GfxSpGeometryMode()

void Fast::Interpreter::GfxSpGeometryMode ( uint32_t  clear,
uint32_t  set 
)

◆ GfxSpMatrix()

void Fast::Interpreter::GfxSpMatrix ( uint8_t  params,
const int32_t *  addr 
)

◆ GfxSpModifyVertex()

void Fast::Interpreter::GfxSpModifyVertex ( uint16_t  vtxIdx,
uint8_t  where,
uint32_t  val 
)

◆ GfxSpMovememF3d()

void Fast::Interpreter::GfxSpMovememF3d ( uint8_t  index,
uint8_t  offset,
const void *  data 
)

◆ GfxSpMovememF3dex2()

void Fast::Interpreter::GfxSpMovememF3dex2 ( uint8_t  index,
uint8_t  offset,
const void *  data 
)

◆ GfxSpMovewordF3d()

void Fast::Interpreter::GfxSpMovewordF3d ( uint8_t  index,
uint16_t  offset,
uintptr_t  data 
)

◆ GfxSpMovewordF3dex2()

void Fast::Interpreter::GfxSpMovewordF3dex2 ( uint8_t  index,
uint16_t  offset,
uintptr_t  data 
)

◆ GfxSpPopMatrix()

void Fast::Interpreter::GfxSpPopMatrix ( uint32_t  count)

◆ GfxSpSetOtherMode()

void Fast::Interpreter::GfxSpSetOtherMode ( uint32_t  shift,
uint32_t  num_bits,
uint64_t  mode 
)

◆ GfxSpTexture()

void Fast::Interpreter::GfxSpTexture ( uint16_t  sc,
uint16_t  tc,
uint8_t  level,
uint8_t  tile,
uint8_t  on 
)

◆ GfxSpTri1()

void Fast::Interpreter::GfxSpTri1 ( uint8_t  vtx1Idx,
uint8_t  vtx2Idx,
uint8_t  vtx3Idx,
bool  isRect 
)

◆ GfxSpVertex()

void Fast::Interpreter::GfxSpVertex ( size_t  numVertices,
size_t  destIndex,
const F3DVtx vertices 
)

◆ HandleWindowEvents()

void Fast::Interpreter::HandleWindowEvents ( )

◆ ImportTexture()

void Fast::Interpreter::ImportTexture ( int  i,
int  tile,
bool  importReplacement 
)

◆ ImportTextureCi4()

void Fast::Interpreter::ImportTextureCi4 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureCi8()

void Fast::Interpreter::ImportTextureCi8 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureI4()

void Fast::Interpreter::ImportTextureI4 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureI8()

void Fast::Interpreter::ImportTextureI8 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureIA16()

void Fast::Interpreter::ImportTextureIA16 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureIA4()

void Fast::Interpreter::ImportTextureIA4 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureIA8()

void Fast::Interpreter::ImportTextureIA8 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureImg()

void Fast::Interpreter::ImportTextureImg ( int  tile,
bool  importReplacement 
)

◆ ImportTextureMask()

void Fast::Interpreter::ImportTextureMask ( int  i,
int  tile 
)

◆ ImportTextureRaw()

void Fast::Interpreter::ImportTextureRaw ( int  tile,
bool  importReplacement 
)

◆ ImportTextureRgba16()

void Fast::Interpreter::ImportTextureRgba16 ( int  tile,
bool  importReplacement 
)

◆ ImportTextureRgba32()

void Fast::Interpreter::ImportTextureRgba32 ( int  tile,
bool  importReplacement 
)

◆ Init()

void Fast::Interpreter::Init ( GfxWindowBackend wapi,
class GfxRenderingAPI rapi,
const char *  game_name,
bool  start_in_fullscreen,
uint32_t  width,
uint32_t  height,
uint32_t  posX,
uint32_t  posY,
std::shared_ptr< Ship::ConsoleVariable consoleVariable = nullptr,
std::shared_ptr< Ship::ResourceManager resourceManager = nullptr 
)

◆ IsFrameReady()

bool Fast::Interpreter::IsFrameReady ( )

◆ LookupOrCreateColorCombiner()

ColorCombiner * Fast::Interpreter::LookupOrCreateColorCombiner ( const ColorCombinerKey &  key)

◆ LookupOrCreateShaderProgram()

ShaderProgram * Fast::Interpreter::LookupOrCreateShaderProgram ( uint64_t  id0,
uint64_t  id1 
)

◆ MatrixMul()

static void Fast::Interpreter::MatrixMul ( float  res[4][4],
const float  a[4][4],
const float  b[4][4] 
)
static

◆ NormalizeVector()

static void Fast::Interpreter::NormalizeVector ( float  v[3])
static

◆ RegisterBlendedTexture()

void Fast::Interpreter::RegisterBlendedTexture ( const char *  name,
uint8_t *  mask,
uint8_t *  replacement 
)

◆ RegisterFbTexture()

void Fast::Interpreter::RegisterFbTexture ( const void *  cpuAddr,
int  fbId 
)

◆ ResetFrameBuffer()

void Fast::Interpreter::ResetFrameBuffer ( )

◆ Run()

void Fast::Interpreter::Run ( Gfx *  commands,
const std::unordered_map< Mtx *, MtxF > &  mtx_replacements 
)

◆ RunGuiOnly()

void Fast::Interpreter::RunGuiOnly ( )

◆ SegAddr()

void * Fast::Interpreter::SegAddr ( uintptr_t  w1)

◆ SetFast3dWindow()

void Fast::Interpreter::SetFast3dWindow ( std::shared_ptr< Fast3dWindow window)

◆ SetFrameBuffer()

void Fast::Interpreter::SetFrameBuffer ( int  fb,
float  noiseScale 
)

◆ SetGfxDebugger()

void Fast::Interpreter::SetGfxDebugger ( std::shared_ptr< GfxDebugger debugger)

◆ SetMaxFrameLatency()

void Fast::Interpreter::SetMaxFrameLatency ( int  latency)

◆ SetMsaaLevel()

void Fast::Interpreter::SetMsaaLevel ( uint32_t  level)

◆ SetNativeDimensions()

void Fast::Interpreter::SetNativeDimensions ( float  width,
float  height 
)

◆ SetResolutionMultiplier()

void Fast::Interpreter::SetResolutionMultiplier ( float  multiplier)

◆ SetTargetFps()

void Fast::Interpreter::SetTargetFps ( int  fps)

◆ ShaderCacheClear()

void Fast::Interpreter::ShaderCacheClear ( )

◆ SpReset()

void Fast::Interpreter::SpReset ( )

◆ StartFrame()

void Fast::Interpreter::StartFrame ( )

◆ TextureCacheClear()

void Fast::Interpreter::TextureCacheClear ( )

◆ TextureCacheDelete()

void Fast::Interpreter::TextureCacheDelete ( const uint8_t *  origAddr)

◆ TextureCacheLookup()

bool Fast::Interpreter::TextureCacheLookup ( int  i,
const TextureCacheKey key 
)

◆ TransposedMatrixMul()

static void Fast::Interpreter::TransposedMatrixMul ( float  res[3],
const float  a[3],
const float  b[4][4] 
)
static

◆ UnregisterBlendedTexture()

void Fast::Interpreter::UnregisterBlendedTexture ( const char *  name)

◆ UnregisterFbTexture()

void Fast::Interpreter::UnregisterFbTexture ( const void *  cpuAddr)

◆ ViewportMatchesRendererResolution()

bool Fast::Interpreter::ViewportMatchesRendererResolution ( )

Member Data Documentation

◆ mActiveFrameBuffer

std::map<int,FBInfo>::iterator Fast::Interpreter::mActiveFrameBuffer

◆ mBufVbo

float* Fast::Interpreter::mBufVbo

◆ mBufVboLen

size_t Fast::Interpreter::mBufVboLen {}

◆ mBufVboNumTris

size_t Fast::Interpreter::mBufVboNumTris {}

◆ mColorCombinerPool

std::map<ColorCombinerKey, ColorCombiner> Fast::Interpreter::mColorCombinerPool

◆ mConsoleVariable

std::shared_ptr<Ship::ConsoleVariable> Fast::Interpreter::mConsoleVariable

Cached ConsoleVariable, set in Init().

◆ mCurDimensions

GfxDimensions Fast::Interpreter::mCurDimensions {}

◆ mCurMtxReplacements

const std::unordered_map<Mtx*, MtxF>* Fast::Interpreter::mCurMtxReplacements

◆ mCurWindowPosX

int32_t Fast::Interpreter::mCurWindowPosX {}

◆ mCurWindowPosY

int32_t Fast::Interpreter::mCurWindowPosY {}

◆ mDroppedFrame

bool Fast::Interpreter::mDroppedFrame {}

◆ mFast3dWindow

std::weak_ptr<Fast3dWindow> Fast::Interpreter::mFast3dWindow

Cached Fast3dWindow, set in OnInit().

◆ mFbActive

bool Fast::Interpreter::mFbActive {}

◆ mFbTextures

std::unordered_map<uintptr_t, int> Fast::Interpreter::mFbTextures

◆ mFrameBuffers

std::map<int, FBInfo> Fast::Interpreter::mFrameBuffers

◆ mGameFb

int Fast::Interpreter::mGameFb {}

◆ mGameFbMsaaResolved

int Fast::Interpreter::mGameFbMsaaResolved {}

◆ mGameWindowViewport

XYWidthHeight Fast::Interpreter::mGameWindowViewport {}

◆ mGetPixelDepthCached

std::unordered_map<std::pair<float, float>, uint16_t, hash_pair_ff> Fast::Interpreter::mGetPixelDepthCached

◆ mGetPixelDepthPending

std::set<std::pair<float, float> > Fast::Interpreter::mGetPixelDepthPending

◆ mGfxCurrentWindowDimensions

GfxDimensions Fast::Interpreter::mGfxCurrentWindowDimensions {}

◆ mGfxDebugger

std::shared_ptr<GfxDebugger> Fast::Interpreter::mGfxDebugger

◆ mGfxFrameBuffer

uintptr_t Fast::Interpreter::mGfxFrameBuffer {}

◆ mInterpolationIndex

int Fast::Interpreter::mInterpolationIndex

◆ mInterpolationIndexTarget

int Fast::Interpreter::mInterpolationIndexTarget

◆ mMarkerOn

bool Fast::Interpreter::mMarkerOn

◆ mMaskedTextures

std::map<std::string, MaskedTextureEntry, std::less<> > Fast::Interpreter::mMaskedTextures

◆ mMsaaLevel

unsigned int Fast::Interpreter::mMsaaLevel = 1

◆ mNativeDimensions

XYWidthHeight Fast::Interpreter::mNativeDimensions {}

◆ mPrevCombiner

std::map<ColorCombinerKey,ColorCombiner>::iterator Fast::Interpreter::mPrevCombiner = mColorCombinerPool.end()

◆ mPrevNativeDimensions

XYWidthHeight Fast::Interpreter::mPrevNativeDimensions {}

◆ mPrvDimensions

GfxDimensions Fast::Interpreter::mPrvDimensions {}

◆ mRapi

GfxRenderingAPI* Fast::Interpreter::mRapi = nullptr

◆ mRdp

RDP* Fast::Interpreter::mRdp

◆ mRenderingState

RenderingState Fast::Interpreter::mRenderingState {}

◆ mRendersToFb

bool Fast::Interpreter::mRendersToFb {}

◆ mResourceManager

std::shared_ptr<Ship::ResourceManager> Fast::Interpreter::mResourceManager

Cached ResourceManager, set in Init().

◆ mRsp

RSP* Fast::Interpreter::mRsp

◆ mSegmentPointers

uintptr_t Fast::Interpreter::mSegmentPointers[MAX_SEGMENT_POINTERS] {}

◆ mShaders

std::unordered_map<size_t, const char*> Fast::Interpreter::mShaders

◆ mShadersIndex

size_t Fast::Interpreter::mShadersIndex

◆ mShaderStack

std::stack<ShaderId> Fast::Interpreter::mShaderStack

◆ mTextureCache

GfxTextureCache Fast::Interpreter::mTextureCache {}

◆ mTexUploadBuffer

uint8_t* Fast::Interpreter::mTexUploadBuffer = nullptr

◆ mWapi

GfxWindowBackend* Fast::Interpreter::mWapi = nullptr

The documentation for this class was generated from the following file: