RetroArch
Classes | Typedefs | Enumerations | Functions
shaders.h File Reference
#include <wiiu/types.h>
#include <wiiu/gx2r/buffer.h>
#include "enum.h"
#include "sampler.h"
Include dependency graph for shaders.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GX2FetchShader
 
struct  GX2UniformBlock
 
struct  GX2UniformVar
 
struct  GX2UniformInitialValue
 
struct  GX2LoopVar
 
struct  GX2SamplerVar
 
struct  GX2AttribVar
 
struct  GX2VertexShader
 
struct  GX2PixelShader
 
struct  GX2GeometryShader
 
struct  GX2AttribStream
 

Typedefs

typedef struct GX2FetchShader GX2FetchShader
 
typedef struct GX2UniformBlock GX2UniformBlock
 
typedef struct GX2UniformVar GX2UniformVar
 
typedef struct GX2UniformInitialValue GX2UniformInitialValue
 
typedef struct GX2LoopVar GX2LoopVar
 
typedef struct GX2SamplerVar GX2SamplerVar
 
typedef struct GX2AttribVar GX2AttribVar
 
typedef struct GX2VertexShader GX2VertexShader
 
typedef struct GX2PixelShader GX2PixelShader
 
typedef struct GX2GeometryShader GX2GeometryShader
 
typedef struct GX2AttribStream GX2AttribStream
 

Enumerations

enum  spi_baryc_cntl { spi_baryc_cntl_centroids_only = 0, spi_baryc_cntl_centers_only = 1, spi_baryc_cntl_centroids_and_centers = 2 }
 
enum  db_z_order { db_z_order_late_z = 0, db_z_order_early_z_then_late_z = 1, db_z_order_re_z = 2, db_z_order_early_z_then_re_z = 3 }
 
enum  vgt_gs_out_primitive_type { VGT_GS_OUT_PRIMITIVE_TYPE_POINTLIST = 0, VGT_GS_OUT_PRIMITIVE_TYPE_LINESTRIP = 1, VGT_GS_OUT_PRIMITIVE_TYPE_TRISTRIP = 2, VGT_GS_OUT_PRIMITIVE_TYPE_MAX_ENUM = 0xFFFFFFFF }
 
enum  vgt_gs_enable_mode { VGT_GS_ENABLE_MODE_OFF = 0, VGT_GS_ENABLE_MODE_SCENARIO_A = 1, VGT_GS_ENABLE_MODE_SCENARIO_B = 2, VGT_GS_ENABLE_MODE_SCENARIO_G = 3 }
 
enum  vgt_gs_cut_mode { VGT_GS_CUT_MODE_1024 = 0, VGT_GS_CUT_MODE_512 = 1, VGT_GS_CUT_MODE_256 = 2, VGT_GS_CUT_MODE_128 = 3 }
 

Functions

uint32_t GX2CalcGeometryShaderInputRingBufferSize (uint32_t ringItemSize)
 
uint32_t GX2CalcGeometryShaderOutputRingBufferSize (uint32_t ringItemSize)
 
uint32_t GX2CalcFetchShaderSizeEx (uint32_t attribs, GX2FetchShaderType fetchShaderType, GX2TessellationMode tesellationMode)
 
void GX2InitFetchShaderEx (GX2FetchShader *fetchShader, uint8_t *buffer, uint32_t attribCount, GX2AttribStream *attribs, GX2FetchShaderType type, GX2TessellationMode tessMode)
 
void GX2SetFetchShader (GX2FetchShader *shader)
 
void GX2SetVertexShader (GX2VertexShader *shader)
 
void GX2SetPixelShader (GX2PixelShader *shader)
 
void GX2SetGeometryShader (GX2GeometryShader *shader)
 
void GX2SetVertexSampler (GX2Sampler *sampler, uint32_t id)
 
void GX2SetPixelSampler (GX2Sampler *sampler, uint32_t id)
 
void GX2SetGeometrySampler (GX2Sampler *sampler, uint32_t id)
 
void GX2SetVertexUniformReg (uint32_t offset, uint32_t count, uint32_t *data)
 
void GX2SetPixelUniformReg (uint32_t offset, uint32_t count, uint32_t *data)
 
void GX2SetVertexUniformBlock (uint32_t location, uint32_t size, const void *data)
 
void GX2SetPixelUniformBlock (uint32_t location, uint32_t size, const void *data)
 
void GX2SetGeometryUniformBlock (uint32_t location, uint32_t size, const void *data)
 
void GX2SetShaderModeEx (GX2ShaderMode mode, uint32_t numVsGpr, uint32_t numVsStackEntries, uint32_t numGsGpr, uint32_t numGsStackEntries, uint32_t numPsGpr, uint32_t numPsStackEntries)
 
static void GX2SetShaderMode (GX2ShaderMode mode)
 
void GX2SetStreamOutEnable (BOOL enable)
 
void GX2SetGeometryShaderInputRingBuffer (void *buffer, uint32_t size)
 
void GX2SetGeometryShaderOutputRingBuffer (void *buffer, uint32_t size)
 
uint32_t GX2GetPixelShaderGPRs (GX2PixelShader *shader)
 
uint32_t GX2GetPixelShaderStackEntries (GX2PixelShader *shader)
 
uint32_t GX2GetVertexShaderGPRs (GX2VertexShader *shader)
 
uint32_t GX2GetVertexShaderStackEntries (GX2VertexShader *shader)
 
uint32_t GX2GetGeometryShaderGPRs (GX2GeometryShader *shader)
 
uint32_t GX2GetGeometryShaderStackEntries (GX2GeometryShader *shader)
 

Typedef Documentation

◆ GX2AttribStream

◆ GX2AttribVar

typedef struct GX2AttribVar GX2AttribVar

◆ GX2FetchShader

◆ GX2GeometryShader

◆ GX2LoopVar

typedef struct GX2LoopVar GX2LoopVar

◆ GX2PixelShader

◆ GX2SamplerVar

typedef struct GX2SamplerVar GX2SamplerVar

◆ GX2UniformBlock

◆ GX2UniformInitialValue

◆ GX2UniformVar

typedef struct GX2UniformVar GX2UniformVar

◆ GX2VertexShader

Enumeration Type Documentation

◆ db_z_order

enum db_z_order
Enumerator
db_z_order_late_z 
db_z_order_early_z_then_late_z 
db_z_order_re_z 
db_z_order_early_z_then_re_z 

◆ spi_baryc_cntl

Enumerator
spi_baryc_cntl_centroids_only 
spi_baryc_cntl_centers_only 
spi_baryc_cntl_centroids_and_centers 

◆ vgt_gs_cut_mode

Enumerator
VGT_GS_CUT_MODE_1024 
VGT_GS_CUT_MODE_512 
VGT_GS_CUT_MODE_256 
VGT_GS_CUT_MODE_128 

◆ vgt_gs_enable_mode

Enumerator
VGT_GS_ENABLE_MODE_OFF 
VGT_GS_ENABLE_MODE_SCENARIO_A 
VGT_GS_ENABLE_MODE_SCENARIO_B 
VGT_GS_ENABLE_MODE_SCENARIO_G 

◆ vgt_gs_out_primitive_type

Enumerator
VGT_GS_OUT_PRIMITIVE_TYPE_POINTLIST 
VGT_GS_OUT_PRIMITIVE_TYPE_LINESTRIP 
VGT_GS_OUT_PRIMITIVE_TYPE_TRISTRIP 
VGT_GS_OUT_PRIMITIVE_TYPE_MAX_ENUM 

Function Documentation

◆ GX2CalcFetchShaderSizeEx()

uint32_t GX2CalcFetchShaderSizeEx ( uint32_t  attribs,
GX2FetchShaderType  fetchShaderType,
GX2TessellationMode  tesellationMode 
)
Here is the caller graph for this function:

◆ GX2CalcGeometryShaderInputRingBufferSize()

uint32_t GX2CalcGeometryShaderInputRingBufferSize ( uint32_t  ringItemSize)
Here is the caller graph for this function:

◆ GX2CalcGeometryShaderOutputRingBufferSize()

uint32_t GX2CalcGeometryShaderOutputRingBufferSize ( uint32_t  ringItemSize)
Here is the caller graph for this function:

◆ GX2GetGeometryShaderGPRs()

uint32_t GX2GetGeometryShaderGPRs ( GX2GeometryShader shader)

◆ GX2GetGeometryShaderStackEntries()

uint32_t GX2GetGeometryShaderStackEntries ( GX2GeometryShader shader)

◆ GX2GetPixelShaderGPRs()

uint32_t GX2GetPixelShaderGPRs ( GX2PixelShader shader)

◆ GX2GetPixelShaderStackEntries()

uint32_t GX2GetPixelShaderStackEntries ( GX2PixelShader shader)

◆ GX2GetVertexShaderGPRs()

uint32_t GX2GetVertexShaderGPRs ( GX2VertexShader shader)

◆ GX2GetVertexShaderStackEntries()

uint32_t GX2GetVertexShaderStackEntries ( GX2VertexShader shader)

◆ GX2InitFetchShaderEx()

void GX2InitFetchShaderEx ( GX2FetchShader fetchShader,
uint8_t buffer,
uint32_t  attribCount,
GX2AttribStream attribs,
GX2FetchShaderType  type,
GX2TessellationMode  tessMode 
)
Here is the caller graph for this function:

◆ GX2SetFetchShader()

void GX2SetFetchShader ( GX2FetchShader shader)
Here is the caller graph for this function:

◆ GX2SetGeometrySampler()

void GX2SetGeometrySampler ( GX2Sampler sampler,
uint32_t  id 
)

◆ GX2SetGeometryShader()

void GX2SetGeometryShader ( GX2GeometryShader shader)
Here is the caller graph for this function:

◆ GX2SetGeometryShaderInputRingBuffer()

void GX2SetGeometryShaderInputRingBuffer ( void buffer,
uint32_t  size 
)
Here is the caller graph for this function:

◆ GX2SetGeometryShaderOutputRingBuffer()

void GX2SetGeometryShaderOutputRingBuffer ( void buffer,
uint32_t  size 
)
Here is the caller graph for this function:

◆ GX2SetGeometryUniformBlock()

void GX2SetGeometryUniformBlock ( uint32_t  location,
uint32_t  size,
const void data 
)

◆ GX2SetPixelSampler()

void GX2SetPixelSampler ( GX2Sampler sampler,
uint32_t  id 
)
Here is the caller graph for this function:

◆ GX2SetPixelShader()

void GX2SetPixelShader ( GX2PixelShader shader)
Here is the caller graph for this function:

◆ GX2SetPixelUniformBlock()

void GX2SetPixelUniformBlock ( uint32_t  location,
uint32_t  size,
const void data 
)
Here is the caller graph for this function:

◆ GX2SetPixelUniformReg()

void GX2SetPixelUniformReg ( uint32_t  offset,
uint32_t  count,
uint32_t data 
)

◆ GX2SetShaderMode()

static void GX2SetShaderMode ( GX2ShaderMode  mode)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GX2SetShaderModeEx()

void GX2SetShaderModeEx ( GX2ShaderMode  mode,
uint32_t  numVsGpr,
uint32_t  numVsStackEntries,
uint32_t  numGsGpr,
uint32_t  numGsStackEntries,
uint32_t  numPsGpr,
uint32_t  numPsStackEntries 
)
Here is the caller graph for this function:

◆ GX2SetStreamOutEnable()

void GX2SetStreamOutEnable ( BOOL  enable)

◆ GX2SetVertexSampler()

void GX2SetVertexSampler ( GX2Sampler sampler,
uint32_t  id 
)

◆ GX2SetVertexShader()

void GX2SetVertexShader ( GX2VertexShader shader)
Here is the caller graph for this function:

◆ GX2SetVertexUniformBlock()

void GX2SetVertexUniformBlock ( uint32_t  location,
uint32_t  size,
const void data 
)
Here is the caller graph for this function:

◆ GX2SetVertexUniformReg()

void GX2SetVertexUniformReg ( uint32_t  offset,
uint32_t  count,
uint32_t data 
)