nv2a: Factor Kelvin methods into functions

This commit is contained in:
Matt Borgerson 2021-03-05 04:31:05 -07:00 committed by mborgerson
parent 99d251caa0
commit 105f86d973
3 changed files with 2480 additions and 2007 deletions

View File

@ -59,12 +59,6 @@
(v) |= ((__val) << ctz32(__mask)) & (__mask); \
})
#define CASE_4(v, step) \
case (v): \
case ((v) + (step)): \
case ((v) + (step) * 2): \
case ((v) + (step) * 3)
#define NV2A_DEVICE(obj) OBJECT_CHECK(NV2AState, (obj), "nv2a")
enum FIFOEngine {

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,158 @@
DEF_METHOD(NV097, SET_OBJECT)
DEF_METHOD(NV097, NO_OPERATION)
DEF_METHOD(NV097, WAIT_FOR_IDLE)
DEF_METHOD(NV097, SET_FLIP_READ)
DEF_METHOD(NV097, SET_FLIP_WRITE)
DEF_METHOD(NV097, SET_FLIP_MODULO)
DEF_METHOD(NV097, FLIP_INCREMENT_WRITE)
DEF_METHOD(NV097, FLIP_STALL)
DEF_METHOD(NV097, SET_CONTEXT_DMA_NOTIFIES)
DEF_METHOD(NV097, SET_CONTEXT_DMA_A)
DEF_METHOD(NV097, SET_CONTEXT_DMA_B)
DEF_METHOD(NV097, SET_CONTEXT_DMA_STATE)
DEF_METHOD(NV097, SET_CONTEXT_DMA_COLOR)
DEF_METHOD(NV097, SET_CONTEXT_DMA_ZETA)
DEF_METHOD(NV097, SET_CONTEXT_DMA_VERTEX_A)
DEF_METHOD(NV097, SET_CONTEXT_DMA_VERTEX_B)
DEF_METHOD(NV097, SET_CONTEXT_DMA_SEMAPHORE)
DEF_METHOD(NV097, SET_CONTEXT_DMA_REPORT)
DEF_METHOD(NV097, SET_SURFACE_CLIP_HORIZONTAL)
DEF_METHOD(NV097, SET_SURFACE_CLIP_VERTICAL)
DEF_METHOD(NV097, SET_SURFACE_FORMAT)
DEF_METHOD(NV097, SET_SURFACE_PITCH)
DEF_METHOD(NV097, SET_SURFACE_COLOR_OFFSET)
DEF_METHOD(NV097, SET_SURFACE_ZETA_OFFSET)
DEF_METHOD_RANGE(NV097, SET_COMBINER_ALPHA_ICW, 28)
DEF_METHOD(NV097, SET_COMBINER_SPECULAR_FOG_CW0)
DEF_METHOD(NV097, SET_COMBINER_SPECULAR_FOG_CW1)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_ADDRESS, 64)
DEF_METHOD(NV097, SET_CONTROL0)
DEF_METHOD(NV097, SET_COLOR_MATERIAL)
DEF_METHOD(NV097, SET_FOG_MODE)
DEF_METHOD(NV097, SET_FOG_GEN_MODE)
DEF_METHOD(NV097, SET_FOG_ENABLE)
DEF_METHOD(NV097, SET_FOG_COLOR)
DEF_METHOD(NV097, SET_WINDOW_CLIP_TYPE)
DEF_METHOD_RANGE(NV097, SET_WINDOW_CLIP_HORIZONTAL, 0x1c)
DEF_METHOD_RANGE(NV097, SET_WINDOW_CLIP_VERTICAL, 0x1c)
DEF_METHOD(NV097, SET_ALPHA_TEST_ENABLE)
DEF_METHOD(NV097, SET_BLEND_ENABLE)
DEF_METHOD(NV097, SET_CULL_FACE_ENABLE)
DEF_METHOD(NV097, SET_DEPTH_TEST_ENABLE)
DEF_METHOD(NV097, SET_DITHER_ENABLE)
DEF_METHOD(NV097, SET_LIGHTING_ENABLE)
DEF_METHOD(NV097, SET_LINE_SMOOTH_ENABLE)
DEF_METHOD(NV097, SET_POLY_SMOOTH_ENABLE)
DEF_METHOD(NV097, SET_SKIN_MODE)
DEF_METHOD(NV097, SET_STENCIL_TEST_ENABLE)
DEF_METHOD(NV097, SET_POLY_OFFSET_POINT_ENABLE)
DEF_METHOD(NV097, SET_POLY_OFFSET_LINE_ENABLE)
DEF_METHOD(NV097, SET_POLY_OFFSET_FILL_ENABLE)
DEF_METHOD(NV097, SET_ALPHA_FUNC)
DEF_METHOD(NV097, SET_ALPHA_REF)
DEF_METHOD(NV097, SET_BLEND_FUNC_SFACTOR)
DEF_METHOD(NV097, SET_BLEND_FUNC_DFACTOR)
DEF_METHOD(NV097, SET_BLEND_COLOR)
DEF_METHOD(NV097, SET_BLEND_EQUATION)
DEF_METHOD(NV097, SET_DEPTH_FUNC)
DEF_METHOD(NV097, SET_COLOR_MASK)
DEF_METHOD(NV097, SET_DEPTH_MASK)
DEF_METHOD(NV097, SET_STENCIL_MASK)
DEF_METHOD(NV097, SET_STENCIL_FUNC)
DEF_METHOD(NV097, SET_STENCIL_FUNC_REF)
DEF_METHOD(NV097, SET_STENCIL_FUNC_MASK)
DEF_METHOD(NV097, SET_STENCIL_OP_FAIL)
DEF_METHOD(NV097, SET_STENCIL_OP_ZFAIL)
DEF_METHOD(NV097, SET_STENCIL_OP_ZPASS)
DEF_METHOD(NV097, SET_POLYGON_OFFSET_SCALE_FACTOR)
DEF_METHOD(NV097, SET_POLYGON_OFFSET_BIAS)
DEF_METHOD(NV097, SET_FRONT_POLYGON_MODE)
DEF_METHOD(NV097, SET_BACK_POLYGON_MODE)
DEF_METHOD(NV097, SET_CLIP_MIN)
DEF_METHOD(NV097, SET_CLIP_MAX)
DEF_METHOD(NV097, SET_CULL_FACE)
DEF_METHOD(NV097, SET_FRONT_FACE)
DEF_METHOD(NV097, SET_NORMALIZATION_ENABLE)
DEF_METHOD_RANGE(NV097, SET_MATERIAL_EMISSION, 8)
DEF_METHOD(NV097, SET_LIGHT_ENABLE_MASK)
DEF_METHOD_CASE_4(NV097, SET_TEXGEN_S, 16)
DEF_METHOD_CASE_4(NV097, SET_TEXGEN_T, 16)
DEF_METHOD_CASE_4(NV097, SET_TEXGEN_R, 16)
DEF_METHOD_CASE_4(NV097, SET_TEXGEN_Q, 16)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_MATRIX_ENABLE, 4)
DEF_METHOD_RANGE(NV097, SET_PROJECTION_MATRIX, 0x3c)
DEF_METHOD_RANGE(NV097, SET_MODEL_VIEW_MATRIX, 0xfc)
DEF_METHOD_RANGE(NV097, SET_INVERSE_MODEL_VIEW_MATRIX, 0xfc)
DEF_METHOD_RANGE(NV097, SET_COMPOSITE_MATRIX, 0x3c)
DEF_METHOD_RANGE(NV097, SET_TEXTURE_MATRIX, 0xfc)
DEF_METHOD_RANGE(NV097, SET_FOG_PARAMS, 8)
DEF_METHOD_RANGE(NV097, SET_TEXGEN_PLANE_S, 0xfc)
DEF_METHOD(NV097, SET_TEXGEN_VIEW_MODEL)
DEF_METHOD_RANGE(NV097, SET_FOG_PLANE, 12)
DEF_METHOD_RANGE(NV097, SET_SCENE_AMBIENT_COLOR, 8)
DEF_METHOD_RANGE(NV097, SET_VIEWPORT_OFFSET, 12)
DEF_METHOD_RANGE(NV097, SET_EYE_POSITION, 12)
DEF_METHOD_RANGE(NV097, SET_COMBINER_FACTOR0, 28)
DEF_METHOD_RANGE(NV097, SET_COMBINER_FACTOR1, 28)
DEF_METHOD_RANGE(NV097, SET_COMBINER_ALPHA_OCW, 28)
DEF_METHOD_RANGE(NV097, SET_COMBINER_COLOR_ICW, 28)
DEF_METHOD_RANGE(NV097, SET_VIEWPORT_SCALE, 12)
DEF_METHOD_RANGE(NV097, SET_TRANSFORM_PROGRAM, 0x7c)
DEF_METHOD_RANGE(NV097, SET_TRANSFORM_CONSTANT, 0x7c)
DEF_METHOD_RANGE(NV097, SET_VERTEX3F, 8)
DEF_METHOD_RANGE(NV097, SET_BACK_LIGHT_AMBIENT_COLOR, 0x1C8)
DEF_METHOD_RANGE(NV097, SET_LIGHT_AMBIENT_COLOR, 0x38C)
DEF_METHOD_RANGE(NV097, SET_VERTEX4F, 12)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA_ARRAY_FORMAT, 0x3c)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA_ARRAY_OFFSET, 0x3c)
DEF_METHOD(NV097, SET_LOGIC_OP_ENABLE)
DEF_METHOD(NV097, SET_LOGIC_OP)
DEF_METHOD(NV097, CLEAR_REPORT_VALUE)
DEF_METHOD(NV097, SET_ZPASS_PIXEL_COUNT_ENABLE)
DEF_METHOD(NV097, GET_REPORT)
DEF_METHOD_RANGE(NV097, SET_EYE_DIRECTION, 8)
DEF_METHOD(NV097, SET_BEGIN_END)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_OFFSET, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_FORMAT, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_CONTROL0, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_CONTROL1, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_FILTER, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_IMAGE_RECT, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_PALETTE, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_BORDER_COLOR, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_SET_BUMP_ENV_MAT, 64)
DEF_METHOD_CASE_4_OFFSET(NV097, SET_TEXTURE_SET_BUMP_ENV_MAT, 4, 64)
DEF_METHOD_CASE_4_OFFSET(NV097, SET_TEXTURE_SET_BUMP_ENV_MAT, 8, 64)
DEF_METHOD_CASE_4_OFFSET(NV097, SET_TEXTURE_SET_BUMP_ENV_MAT, 12, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_SET_BUMP_ENV_SCALE, 64)
DEF_METHOD_CASE_4(NV097, SET_TEXTURE_SET_BUMP_ENV_OFFSET, 64)
DEF_METHOD(NV097, ARRAY_ELEMENT16)
DEF_METHOD(NV097, ARRAY_ELEMENT32)
DEF_METHOD(NV097, DRAW_ARRAYS)
DEF_METHOD(NV097, INLINE_ARRAY)
DEF_METHOD_RANGE(NV097, SET_EYE_VECTOR, 8)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA2F_M, 0x7c)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA4F_M, 0xfc)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA2S, 0x3c)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA4UB, 0x3c)
DEF_METHOD_RANGE(NV097, SET_VERTEX_DATA4S_M, 0x7c)
DEF_METHOD(NV097, SET_SEMAPHORE_OFFSET)
DEF_METHOD(NV097, BACK_END_WRITE_SEMAPHORE_RELEASE)
DEF_METHOD(NV097, SET_ZSTENCIL_CLEAR_VALUE)
DEF_METHOD(NV097, SET_COLOR_CLEAR_VALUE)
DEF_METHOD(NV097, CLEAR_SURFACE)
DEF_METHOD(NV097, SET_CLEAR_RECT_HORIZONTAL)
DEF_METHOD(NV097, SET_CLEAR_RECT_VERTICAL)
DEF_METHOD_RANGE(NV097, SET_SPECULAR_FOG_FACTOR, 4)
DEF_METHOD(NV097, SET_SHADER_CLIP_PLANE_MODE)
DEF_METHOD_RANGE(NV097, SET_COMBINER_COLOR_OCW, 28)
DEF_METHOD(NV097, SET_COMBINER_CONTROL)
DEF_METHOD(NV097, SET_SHADOW_ZSLOPE_THRESHOLD)
DEF_METHOD(NV097, SET_SHADER_STAGE_PROGRAM)
DEF_METHOD(NV097, SET_DOT_RGBMAPPING)
DEF_METHOD(NV097, SET_SHADER_OTHER_STAGE_INPUT)
DEF_METHOD(NV097, SET_TRANSFORM_EXECUTION_MODE)
DEF_METHOD(NV097, SET_TRANSFORM_PROGRAM_CXT_WRITE_EN)
DEF_METHOD(NV097, SET_TRANSFORM_PROGRAM_LOAD)
DEF_METHOD(NV097, SET_TRANSFORM_PROGRAM_START)
DEF_METHOD(NV097, SET_TRANSFORM_CONSTANT_LOAD)