mirror of https://github.com/xemu-project/xemu.git
nv2a: Print values of looped parameters
This commit is contained in:
parent
ea9edadd3c
commit
271264a142
|
@ -1710,6 +1710,7 @@ DEF_METHOD(NV097, SET_POINT_SIZE)
|
|||
DEF_METHOD_INC(NV097, SET_PROJECTION_MATRIX)
|
||||
{
|
||||
int slot = (method - NV097_SET_PROJECTION_MATRIX) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_PROJECTION_MATRIX[%d] 0x%X\n", slot, parameter);
|
||||
// pg->projection_matrix[slot] = *(float*)¶meter;
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_PMAT0 + slot/4;
|
||||
pg->vsh_constants[row][slot%4] = parameter;
|
||||
|
@ -1719,6 +1720,7 @@ DEF_METHOD_INC(NV097, SET_PROJECTION_MATRIX)
|
|||
DEF_METHOD_INC(NV097, SET_MODEL_VIEW_MATRIX)
|
||||
{
|
||||
int slot = (method - NV097_SET_MODEL_VIEW_MATRIX) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_MODEL_VIEW_MATRIX[%d] 0x%X\n", slot, parameter);
|
||||
unsigned int matnum = slot / 16;
|
||||
unsigned int entry = slot % 16;
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_MMAT0 + matnum*8 + entry/4;
|
||||
|
@ -1729,6 +1731,8 @@ DEF_METHOD_INC(NV097, SET_MODEL_VIEW_MATRIX)
|
|||
DEF_METHOD_INC(NV097, SET_INVERSE_MODEL_VIEW_MATRIX)
|
||||
{
|
||||
int slot = (method - NV097_SET_INVERSE_MODEL_VIEW_MATRIX) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_INVERSE_MODEL_VIEW_MATRIX[%d] 0x%X\n", slot,
|
||||
parameter);
|
||||
unsigned int matnum = slot / 16;
|
||||
unsigned int entry = slot % 16;
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_IMMAT0 + matnum*8 + entry/4;
|
||||
|
@ -1739,6 +1743,7 @@ DEF_METHOD_INC(NV097, SET_INVERSE_MODEL_VIEW_MATRIX)
|
|||
DEF_METHOD_INC(NV097, SET_COMPOSITE_MATRIX)
|
||||
{
|
||||
int slot = (method - NV097_SET_COMPOSITE_MATRIX) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_COMPOSITE_MATRIX[%d] 0x%X\n", slot, parameter);
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_CMAT0 + slot/4;
|
||||
pg->vsh_constants[row][slot%4] = parameter;
|
||||
pg->vsh_constants_dirty[row] = true;
|
||||
|
@ -1747,6 +1752,7 @@ DEF_METHOD_INC(NV097, SET_COMPOSITE_MATRIX)
|
|||
DEF_METHOD_INC(NV097, SET_TEXTURE_MATRIX)
|
||||
{
|
||||
int slot = (method - NV097_SET_TEXTURE_MATRIX) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_TEXTURE_MATRIX[%d] 0x%X\n", slot, parameter);
|
||||
unsigned int tex = slot / 16;
|
||||
unsigned int entry = slot % 16;
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_T0MAT + tex*8 + entry/4;
|
||||
|
@ -1757,6 +1763,7 @@ DEF_METHOD_INC(NV097, SET_TEXTURE_MATRIX)
|
|||
DEF_METHOD_INC(NV097, SET_FOG_PARAMS)
|
||||
{
|
||||
int slot = (method - NV097_SET_FOG_PARAMS) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_FOG_PARAMS[%d] 0x%X\n", slot, parameter);
|
||||
if (slot < 2) {
|
||||
pgraph_reg_w(pg, NV_PGRAPH_FOGPARAM0 + slot*4, parameter);
|
||||
} else {
|
||||
|
@ -1771,6 +1778,7 @@ DEF_METHOD_INC(NV097, SET_FOG_PARAMS)
|
|||
DEF_METHOD_INC(NV097, SET_TEXGEN_PLANE_S)
|
||||
{
|
||||
int slot = (method - NV097_SET_TEXGEN_PLANE_S) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_TEXGEN_PLANE_S[%d] 0x%X\n", slot, parameter);
|
||||
unsigned int tex = slot / 16;
|
||||
unsigned int entry = slot % 16;
|
||||
unsigned int row = NV_IGRAPH_XF_XFCTX_TG0MAT + tex*8 + entry/4;
|
||||
|
@ -1787,6 +1795,7 @@ DEF_METHOD(NV097, SET_TEXGEN_VIEW_MODEL)
|
|||
DEF_METHOD_INC(NV097, SET_FOG_PLANE)
|
||||
{
|
||||
int slot = (method - NV097_SET_FOG_PLANE) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_FOG_PLANE[%d] 0x%X\n", slot, parameter);
|
||||
pg->vsh_constants[NV_IGRAPH_XF_XFCTX_FOG][slot] = parameter;
|
||||
pg->vsh_constants_dirty[NV_IGRAPH_XF_XFCTX_FOG] = true;
|
||||
}
|
||||
|
@ -1794,6 +1803,7 @@ DEF_METHOD_INC(NV097, SET_FOG_PLANE)
|
|||
DEF_METHOD_INC(NV097, SET_SCENE_AMBIENT_COLOR)
|
||||
{
|
||||
int slot = (method - NV097_SET_SCENE_AMBIENT_COLOR) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_SCENE_AMBIENT_COLOR[%d] 0x%X\n", slot, parameter);
|
||||
// ??
|
||||
pg->ltctxa[NV_IGRAPH_XF_LTCTXA_FR_AMB][slot] = parameter;
|
||||
pg->ltctxa_dirty[NV_IGRAPH_XF_LTCTXA_FR_AMB] = true;
|
||||
|
@ -1802,6 +1812,7 @@ DEF_METHOD_INC(NV097, SET_SCENE_AMBIENT_COLOR)
|
|||
DEF_METHOD_INC(NV097, SET_VIEWPORT_OFFSET)
|
||||
{
|
||||
int slot = (method - NV097_SET_VIEWPORT_OFFSET) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VIEWPORT_OFFSET[%d] 0x%X\n", slot, parameter);
|
||||
pg->vsh_constants[NV_IGRAPH_XF_XFCTX_VPOFF][slot] = parameter;
|
||||
pg->vsh_constants_dirty[NV_IGRAPH_XF_XFCTX_VPOFF] = true;
|
||||
}
|
||||
|
@ -1809,12 +1820,14 @@ DEF_METHOD_INC(NV097, SET_VIEWPORT_OFFSET)
|
|||
DEF_METHOD_INC(NV097, SET_POINT_PARAMS)
|
||||
{
|
||||
int slot = (method - NV097_SET_POINT_PARAMS) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_POINT_PARAMS[%d] 0x%X\n", slot, parameter);
|
||||
pg->point_params[slot] = *(float *)¶meter; /* FIXME: Where? */
|
||||
}
|
||||
|
||||
DEF_METHOD_INC(NV097, SET_EYE_POSITION)
|
||||
{
|
||||
int slot = (method - NV097_SET_EYE_POSITION) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_EYE_POSITION[%d] 0x%X\n", slot, parameter);
|
||||
pg->vsh_constants[NV_IGRAPH_XF_XFCTX_EYEP][slot] = parameter;
|
||||
pg->vsh_constants_dirty[NV_IGRAPH_XF_XFCTX_EYEP] = true;
|
||||
}
|
||||
|
@ -1822,30 +1835,35 @@ DEF_METHOD_INC(NV097, SET_EYE_POSITION)
|
|||
DEF_METHOD_INC(NV097, SET_COMBINER_FACTOR0)
|
||||
{
|
||||
int slot = (method - NV097_SET_COMBINER_FACTOR0) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_COMBINER_FACTOR0[%d] 0x%X\n", slot, parameter);
|
||||
pgraph_reg_w(pg, NV_PGRAPH_COMBINEFACTOR0 + slot*4, parameter);
|
||||
}
|
||||
|
||||
DEF_METHOD_INC(NV097, SET_COMBINER_FACTOR1)
|
||||
{
|
||||
int slot = (method - NV097_SET_COMBINER_FACTOR1) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_COMBINER_FACTOR1[%d] 0x%X\n", slot, parameter);
|
||||
pgraph_reg_w(pg, NV_PGRAPH_COMBINEFACTOR1 + slot*4, parameter);
|
||||
}
|
||||
|
||||
DEF_METHOD_INC(NV097, SET_COMBINER_ALPHA_OCW)
|
||||
{
|
||||
int slot = (method - NV097_SET_COMBINER_ALPHA_OCW) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_COMBINER_ALPHA_OCW[%d] 0x%X\n", slot, parameter);
|
||||
pgraph_reg_w(pg, NV_PGRAPH_COMBINEALPHAO0 + slot*4, parameter);
|
||||
}
|
||||
|
||||
DEF_METHOD_INC(NV097, SET_COMBINER_COLOR_ICW)
|
||||
{
|
||||
int slot = (method - NV097_SET_COMBINER_COLOR_ICW) / 4;
|
||||
NV2A_DPRINTF("SET_COMBINER_COLOR_ICW[%d] 0x%X\n", slot, parameter);
|
||||
pgraph_reg_w(pg, NV_PGRAPH_COMBINECOLORI0 + slot*4, parameter);
|
||||
}
|
||||
|
||||
DEF_METHOD_INC(NV097, SET_VIEWPORT_SCALE)
|
||||
{
|
||||
int slot = (method - NV097_SET_VIEWPORT_SCALE) / 4;
|
||||
NV2A_DPRINTF("SET_VIEWPORT_SCALE[%d] 0x%X\n", slot, parameter);
|
||||
pg->vsh_constants[NV_IGRAPH_XF_XFCTX_VPSCL][slot] = parameter;
|
||||
pg->vsh_constants_dirty[NV_IGRAPH_XF_XFCTX_VPSCL] = true;
|
||||
}
|
||||
|
@ -1856,6 +1874,8 @@ DEF_METHOD_INC(NV097, SET_TRANSFORM_PROGRAM)
|
|||
|
||||
int program_load = PG_GET_MASK(NV_PGRAPH_CHEOPS_OFFSET,
|
||||
NV_PGRAPH_CHEOPS_OFFSET_PROG_LD_PTR);
|
||||
NV2A_DPRINTF("NV097_SET_TRANSFORM_PROGRAM[%d][%d] 0x%X\n", program_load,
|
||||
slot, parameter);
|
||||
|
||||
assert(program_load < NV2A_MAX_TRANSFORM_PROGRAM_LENGTH);
|
||||
pg->program_data[program_load][slot%4] = parameter;
|
||||
|
@ -1872,6 +1892,8 @@ DEF_METHOD_INC(NV097, SET_TRANSFORM_CONSTANT)
|
|||
int slot = (method - NV097_SET_TRANSFORM_CONSTANT) / 4;
|
||||
int const_load = PG_GET_MASK(NV_PGRAPH_CHEOPS_OFFSET,
|
||||
NV_PGRAPH_CHEOPS_OFFSET_CONST_LD_PTR);
|
||||
NV2A_DPRINTF("NV097_SET_TRANSFORM_CONSTANT[%d][%d] 0x%X\n", const_load,
|
||||
slot % 4, parameter);
|
||||
|
||||
assert(const_load < NV2A_VERTEXSHADER_CONSTANTS);
|
||||
// VertexShaderConstant *constant = &pg->constants[const_load];
|
||||
|
@ -1888,6 +1910,7 @@ DEF_METHOD_INC(NV097, SET_TRANSFORM_CONSTANT)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX3F)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX3F) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX3F[%d] 0x%X\n", slot, parameter);
|
||||
VertexAttribute *attribute =
|
||||
&pg->vertex_attributes[NV2A_VERTEX_ATTR_POSITION];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, NV2A_VERTEX_ATTR_POSITION);
|
||||
|
@ -1902,6 +1925,7 @@ DEF_METHOD_INC(NV097, SET_VERTEX3F)
|
|||
DEF_METHOD_INC(NV097, SET_BACK_LIGHT_AMBIENT_COLOR)
|
||||
{
|
||||
int slot = (method - NV097_SET_BACK_LIGHT_AMBIENT_COLOR) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_BACK_LIGHT_AMBIENT_COLOR 0x%X\n", parameter);
|
||||
unsigned int part = NV097_SET_BACK_LIGHT_AMBIENT_COLOR / 4 + slot % 16;
|
||||
slot /= 16; /* [Light index] */
|
||||
assert(slot < 8);
|
||||
|
@ -1940,55 +1964,65 @@ DEF_METHOD_INC(NV097, SET_LIGHT_AMBIENT_COLOR)
|
|||
switch(part * 4) {
|
||||
case NV097_SET_LIGHT_AMBIENT_COLOR ...
|
||||
NV097_SET_LIGHT_AMBIENT_COLOR + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_AMBIENT_COLOR 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_AMBIENT_COLOR / 4;
|
||||
pg->ltctxb[NV_IGRAPH_XF_LTCTXB_L0_AMB + slot*6][part] = parameter;
|
||||
pg->ltctxb_dirty[NV_IGRAPH_XF_LTCTXB_L0_AMB + slot*6] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_DIFFUSE_COLOR ...
|
||||
NV097_SET_LIGHT_DIFFUSE_COLOR + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_DIFFUSE_COLOR 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_DIFFUSE_COLOR / 4;
|
||||
pg->ltctxb[NV_IGRAPH_XF_LTCTXB_L0_DIF + slot*6][part] = parameter;
|
||||
pg->ltctxb_dirty[NV_IGRAPH_XF_LTCTXB_L0_DIF + slot*6] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_SPECULAR_COLOR ...
|
||||
NV097_SET_LIGHT_SPECULAR_COLOR + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_SPECULAR_COLOR 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_SPECULAR_COLOR / 4;
|
||||
pg->ltctxb[NV_IGRAPH_XF_LTCTXB_L0_SPC + slot*6][part] = parameter;
|
||||
pg->ltctxb_dirty[NV_IGRAPH_XF_LTCTXB_L0_SPC + slot*6] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_LOCAL_RANGE:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_LOCAL_RANGE 0x%X\n", parameter);
|
||||
pg->ltc1[NV_IGRAPH_XF_LTC1_r0 + slot][0] = parameter;
|
||||
pg->ltc1_dirty[NV_IGRAPH_XF_LTC1_r0 + slot] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_INFINITE_HALF_VECTOR ...
|
||||
NV097_SET_LIGHT_INFINITE_HALF_VECTOR + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_INFINITE_HALF_VECTOR 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_INFINITE_HALF_VECTOR / 4;
|
||||
pg->light_infinite_half_vector[slot][part] = *(float*)¶meter;
|
||||
break;
|
||||
case NV097_SET_LIGHT_INFINITE_DIRECTION ...
|
||||
NV097_SET_LIGHT_INFINITE_DIRECTION + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_INFINITE_DIRECTION 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_INFINITE_DIRECTION / 4;
|
||||
pg->light_infinite_direction[slot][part] = *(float*)¶meter;
|
||||
break;
|
||||
case NV097_SET_LIGHT_SPOT_FALLOFF ...
|
||||
NV097_SET_LIGHT_SPOT_FALLOFF + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_SPOT_FALLOFF 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_SPOT_FALLOFF / 4;
|
||||
pg->ltctxa[NV_IGRAPH_XF_LTCTXA_L0_K + slot*2][part] = parameter;
|
||||
pg->ltctxa_dirty[NV_IGRAPH_XF_LTCTXA_L0_K + slot*2] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_SPOT_DIRECTION ...
|
||||
NV097_SET_LIGHT_SPOT_DIRECTION + 12:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_SPOT_DIRECTION 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_SPOT_DIRECTION / 4;
|
||||
pg->ltctxa[NV_IGRAPH_XF_LTCTXA_L0_SPT + slot*2][part] = parameter;
|
||||
pg->ltctxa_dirty[NV_IGRAPH_XF_LTCTXA_L0_SPT + slot*2] = true;
|
||||
break;
|
||||
case NV097_SET_LIGHT_LOCAL_POSITION ...
|
||||
NV097_SET_LIGHT_LOCAL_POSITION + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_LOCAL_POSITION 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_LOCAL_POSITION / 4;
|
||||
pg->light_local_position[slot][part] = *(float*)¶meter;
|
||||
break;
|
||||
case NV097_SET_LIGHT_LOCAL_ATTENUATION ...
|
||||
NV097_SET_LIGHT_LOCAL_ATTENUATION + 8:
|
||||
NV2A_DPRINTF("NV097_SET_LIGHT_LOCAL_ATTENUATION 0x%X\n", parameter);
|
||||
part -= NV097_SET_LIGHT_LOCAL_ATTENUATION / 4;
|
||||
pg->light_local_attenuation[slot][part] = *(float*)¶meter;
|
||||
break;
|
||||
|
@ -2001,6 +2035,7 @@ DEF_METHOD_INC(NV097, SET_LIGHT_AMBIENT_COLOR)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX4F)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX4F) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX4F[%d] 0x%X\n", slot, parameter);
|
||||
VertexAttribute *attribute =
|
||||
&pg->vertex_attributes[NV2A_VERTEX_ATTR_POSITION];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, NV2A_VERTEX_ATTR_POSITION);
|
||||
|
@ -2220,6 +2255,8 @@ DEF_METHOD_INC(NV097, SET_SPECULAR_COLOR4UB)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX_DATA_ARRAY_FORMAT)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX_DATA_ARRAY_FORMAT) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA_ARRAY_FORMAT[%d] 0x%X\n", slot,
|
||||
parameter);
|
||||
VertexAttribute *attr = &pg->vertex_attributes[slot];
|
||||
attr->format = GET_MASK(parameter, NV097_SET_VERTEX_DATA_ARRAY_FORMAT_TYPE);
|
||||
attr->count = GET_MASK(parameter, NV097_SET_VERTEX_DATA_ARRAY_FORMAT_SIZE);
|
||||
|
@ -2267,6 +2304,8 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA_ARRAY_FORMAT)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX_DATA_ARRAY_OFFSET)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX_DATA_ARRAY_OFFSET) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA_ARRAY_OFFSET[%d] 0x%X\n", slot,
|
||||
parameter);
|
||||
|
||||
pg->vertex_attributes[slot].dma_select = parameter & 0x80000000;
|
||||
pg->vertex_attributes[slot].offset = parameter & 0x7fffffff;
|
||||
|
@ -2495,6 +2534,7 @@ void pgraph_check_within_begin_end_block(PGRAPHState *pg)
|
|||
|
||||
DEF_METHOD_NON_INC(NV097, ARRAY_ELEMENT16)
|
||||
{
|
||||
NV2A_DPRINTF("ARRAY_ELEMENT16 0x%X\n", parameter);
|
||||
pgraph_check_within_begin_end_block(pg);
|
||||
|
||||
if (pg->draw_arrays_length) {
|
||||
|
@ -2508,6 +2548,7 @@ DEF_METHOD_NON_INC(NV097, ARRAY_ELEMENT16)
|
|||
|
||||
DEF_METHOD_NON_INC(NV097, ARRAY_ELEMENT32)
|
||||
{
|
||||
NV2A_DPRINTF("ARRAY_ELEMENT32 0x%X\n", parameter);
|
||||
pgraph_check_within_begin_end_block(pg);
|
||||
|
||||
if (pg->draw_arrays_length) {
|
||||
|
@ -2561,6 +2602,7 @@ DEF_METHOD(NV097, DRAW_ARRAYS)
|
|||
|
||||
DEF_METHOD_NON_INC(NV097, INLINE_ARRAY)
|
||||
{
|
||||
NV2A_DPRINTF("INLINE_ARRAY 0x%X\n", parameter);
|
||||
pgraph_check_within_begin_end_block(pg);
|
||||
assert(pg->inline_array_length < NV2A_MAX_BATCH_LENGTH);
|
||||
pg->inline_array[pg->inline_array_length++] = parameter;
|
||||
|
@ -2577,6 +2619,8 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA2F_M)
|
|||
int slot = (method - NV097_SET_VERTEX_DATA2F_M) / 4;
|
||||
unsigned int part = slot % 2;
|
||||
slot /= 2;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA2F_M[%d][%d] 0x%X\n", slot, part,
|
||||
parameter);
|
||||
VertexAttribute *attribute = &pg->vertex_attributes[slot];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, slot);
|
||||
attribute->inline_value[part] = *(float*)¶meter;
|
||||
|
@ -2593,6 +2637,8 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA4F_M)
|
|||
int slot = (method - NV097_SET_VERTEX_DATA4F_M) / 4;
|
||||
unsigned int part = slot % 4;
|
||||
slot /= 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA4F_M[%d][%d] 0x%X\n", slot, part,
|
||||
parameter);
|
||||
VertexAttribute *attribute = &pg->vertex_attributes[slot];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, slot);
|
||||
attribute->inline_value[part] = *(float*)¶meter;
|
||||
|
@ -2604,6 +2650,7 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA4F_M)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX_DATA2S)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX_DATA2S) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA2S[%d] 0x%X\n", slot, parameter);
|
||||
VertexAttribute *attribute = &pg->vertex_attributes[slot];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, slot);
|
||||
attribute->inline_value[0] = (float)(int16_t)(parameter & 0xFFFF);
|
||||
|
@ -2618,6 +2665,7 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA2S)
|
|||
DEF_METHOD_INC(NV097, SET_VERTEX_DATA4UB)
|
||||
{
|
||||
int slot = (method - NV097_SET_VERTEX_DATA4UB) / 4;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA4UB[%d] 0x%X\n", slot, parameter);
|
||||
VertexAttribute *attribute = &pg->vertex_attributes[slot];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, slot);
|
||||
attribute->inline_value[0] = (parameter & 0xFF) / 255.0;
|
||||
|
@ -2634,6 +2682,8 @@ DEF_METHOD_INC(NV097, SET_VERTEX_DATA4S_M)
|
|||
int slot = (method - NV097_SET_VERTEX_DATA4S_M) / 4;
|
||||
unsigned int part = slot % 2;
|
||||
slot /= 2;
|
||||
NV2A_DPRINTF("NV097_SET_VERTEX_DATA4S_M[%d][%d] 0x%X\n", slot, part,
|
||||
parameter);
|
||||
VertexAttribute *attribute = &pg->vertex_attributes[slot];
|
||||
pgraph_allocate_inline_buffer_vertices(pg, slot);
|
||||
|
||||
|
|
Loading…
Reference in New Issue