mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-11 01:08:39 +12:00
enum for vertex data type
This commit is contained in:
parent
585ac5a748
commit
ba91345984
3 changed files with 46 additions and 19 deletions
|
@ -22,10 +22,27 @@ enum
|
||||||
CELL_GCM_DISPLAY_FREQUENCY_DISABLE = 3,
|
CELL_GCM_DISPLAY_FREQUENCY_DISABLE = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CELL_GCM_VERTEX_S1 = 1,
|
||||||
|
CELL_GCM_VERTEX_F = 2,
|
||||||
|
CELL_GCM_VERTEX_S = 3,
|
||||||
|
CELL_GCM_VERTEX_UB = 4,
|
||||||
|
CELL_GCM_VERTEX_S32K = 5,
|
||||||
|
CELL_GCM_VERTEX_CMP = 6,
|
||||||
|
CELL_GCM_VERTEX_UB256 = 7,
|
||||||
|
}
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CELL_GCM_DRAW_INDEX_ARRAY_TYPE_32 = 0,
|
||||||
|
CELL_GCM_DRAW_INDEX_ARRAY_TYPE_16 = 1,
|
||||||
|
}
|
||||||
|
|
||||||
// GCM Texture
|
// GCM Texture
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
// Format
|
// Color Flag
|
||||||
CELL_GCM_TEXTURE_B8 = 0x81,
|
CELL_GCM_TEXTURE_B8 = 0x81,
|
||||||
CELL_GCM_TEXTURE_A1R5G5B5 = 0x82,
|
CELL_GCM_TEXTURE_A1R5G5B5 = 0x82,
|
||||||
CELL_GCM_TEXTURE_A4R4G4B4 = 0x83,
|
CELL_GCM_TEXTURE_A4R4G4B4 = 0x83,
|
||||||
|
@ -54,9 +71,11 @@ enum
|
||||||
CELL_GCM_TEXTURE_COMPRESSED_B8R8_G8R8 = 0xAD,
|
CELL_GCM_TEXTURE_COMPRESSED_B8R8_G8R8 = 0xAD,
|
||||||
CELL_GCM_TEXTURE_COMPRESSED_R8B8_R8G8 = 0xAE,
|
CELL_GCM_TEXTURE_COMPRESSED_R8B8_R8G8 = 0xAE,
|
||||||
|
|
||||||
// Format flags
|
// Swizzle Flag
|
||||||
CELL_GCM_TEXTURE_SZ = 0x00,
|
CELL_GCM_TEXTURE_SZ = 0x00,
|
||||||
CELL_GCM_TEXTURE_LN = 0x20,
|
CELL_GCM_TEXTURE_LN = 0x20,
|
||||||
|
|
||||||
|
// Normalization Flag
|
||||||
CELL_GCM_TEXTURE_NR = 0x00,
|
CELL_GCM_TEXTURE_NR = 0x00,
|
||||||
CELL_GCM_TEXTURE_UN = 0x40,
|
CELL_GCM_TEXTURE_UN = 0x40,
|
||||||
};
|
};
|
||||||
|
@ -75,6 +94,12 @@ enum
|
||||||
// Depth
|
// Depth
|
||||||
CELL_GCM_SURFACE_Z16 = 1,
|
CELL_GCM_SURFACE_Z16 = 1,
|
||||||
CELL_GCM_SURFACE_Z24S8 = 2,
|
CELL_GCM_SURFACE_Z24S8 = 2,
|
||||||
|
|
||||||
|
// Antialias
|
||||||
|
CELL_GCM_SURFACE_CENTER_1 = 2,
|
||||||
|
CELL_GCM_SURFACE_DIAGONAL_CENTERED_2 = 3,
|
||||||
|
CELL_GCM_SURFACE_SQUARE_CENTERED_4 = 4,
|
||||||
|
CELL_GCM_SURFACE_SQUARE_ROTATED_4 = 5,
|
||||||
};
|
};
|
||||||
|
|
||||||
// GCM Reports
|
// GCM Reports
|
||||||
|
|
|
@ -172,7 +172,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
dump.Write(wxString::Format("VertexData[%d]:\n", i));
|
dump.Write(wxString::Format("VertexData[%d]:\n", i));
|
||||||
switch(m_vertex_data[i].type)
|
switch(m_vertex_data[i].type)
|
||||||
{
|
{
|
||||||
case 1:
|
case CELL_GCM_VERTEX_S1:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%d\n", *(u16*)&m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%d\n", *(u16*)&m_vertex_data[i].data[j]));
|
||||||
|
@ -180,7 +180,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case CELL_GCM_VERTEX_F:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=4)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=4)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%.01f\n", *(float*)&m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%.01f\n", *(float*)&m_vertex_data[i].data[j]));
|
||||||
|
@ -188,7 +188,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case CELL_GCM_VERTEX_SF:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%.01f\n", *(float*)&m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%.01f\n", *(float*)&m_vertex_data[i].data[j]));
|
||||||
|
@ -196,7 +196,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case CELL_GCM_VERTEX_UB:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); ++j)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); ++j)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%d\n", m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%d\n", m_vertex_data[i].data[j]));
|
||||||
|
@ -204,7 +204,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case CELL_GCM_VERTEX_S32K:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); j+=2)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%d\n", *(u16*)&m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%d\n", *(u16*)&m_vertex_data[i].data[j]));
|
||||||
|
@ -212,7 +212,9 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
// case CELL_GCM_VERTEX_CMP:
|
||||||
|
|
||||||
|
case CELL_GCM_VERTEX_UB256:
|
||||||
for(u32 j = 0; j<m_vertex_data[i].data.size(); ++j)
|
for(u32 j = 0; j<m_vertex_data[i].data.size(); ++j)
|
||||||
{
|
{
|
||||||
dump.Write(wxString::Format("%d\n", m_vertex_data[i].data[j]));
|
dump.Write(wxString::Format("%d\n", m_vertex_data[i].data[j]));
|
||||||
|
@ -254,8 +256,8 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
{
|
{
|
||||||
switch(m_vertex_data[i].type)
|
switch(m_vertex_data[i].type)
|
||||||
{
|
{
|
||||||
case 5:
|
case CELL_GCM_VERTEX_S32K:
|
||||||
case 1:
|
case CELL_GCM_VERTEX_S1:
|
||||||
switch(m_vertex_data[i].size)
|
switch(m_vertex_data[i].size)
|
||||||
{
|
{
|
||||||
case 1: glVertexAttrib1s(i, (GLshort&)m_vertex_data[i].data[0]); break;
|
case 1: glVertexAttrib1s(i, (GLshort&)m_vertex_data[i].data[0]); break;
|
||||||
|
@ -265,7 +267,7 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case CELL_GCM_VERTEX_F:
|
||||||
switch(m_vertex_data[i].size)
|
switch(m_vertex_data[i].size)
|
||||||
{
|
{
|
||||||
case 1: glVertexAttrib1f(i, (GLfloat&)m_vertex_data[i].data[0]); break;
|
case 1: glVertexAttrib1f(i, (GLfloat&)m_vertex_data[i].data[0]); break;
|
||||||
|
@ -275,8 +277,8 @@ void GLGSRender::EnableVertexData(bool indexed_draw)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case CELL_GCM_VERTEX_CMP:
|
||||||
case 4:
|
case CELL_GCM_VERTEX_UB:
|
||||||
glVertexAttrib4ubv(i, (GLubyte*)&m_vertex_data[i].data[0]);
|
glVertexAttrib4ubv(i, (GLubyte*)&m_vertex_data[i].data[0]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1129,12 +1131,12 @@ void GLGSRender::ExecCMD()
|
||||||
{
|
{
|
||||||
switch(m_indexed_array.m_type)
|
switch(m_indexed_array.m_type)
|
||||||
{
|
{
|
||||||
case 0:
|
case CELL_GCM_DRAW_INDEX_ARRAY_TYPE_32:
|
||||||
glDrawElements(m_draw_mode - 1, m_indexed_array.m_count, GL_UNSIGNED_INT, nullptr);
|
glDrawElements(m_draw_mode - 1, m_indexed_array.m_count, GL_UNSIGNED_INT, nullptr);
|
||||||
checkForGlError("glDrawElements #4");
|
checkForGlError("glDrawElements #4");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case CELL_GCM_DRAW_INDEX_ARRAY_TYPE_16:
|
||||||
glDrawElements(m_draw_mode - 1, m_indexed_array.m_count, GL_UNSIGNED_SHORT, nullptr);
|
glDrawElements(m_draw_mode - 1, m_indexed_array.m_count, GL_UNSIGNED_SHORT, nullptr);
|
||||||
checkForGlError("glDrawElements #2");
|
checkForGlError("glDrawElements #2");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -649,9 +649,9 @@ int cellRescGcmSurface2RescSrc(mem_ptr_t<CellGcmSurface> gcmSurface, mem_ptr_t<C
|
||||||
s32 xW = 1, xH = 1;
|
s32 xW = 1, xH = 1;
|
||||||
switch(gcmSurface->antialias)
|
switch(gcmSurface->antialias)
|
||||||
{
|
{
|
||||||
case 5: xW=xH=2; break; //case CELL_GCM_SURFACE_SQUARE_ROTATED_4:
|
case CELL_GCM_SURFACE_SQUARE_ROTATED_4: xW=xH=2; break;
|
||||||
case 4: xW=xH=2; break; //case CELL_GCM_SURFACE_SQUARE_CENTERED_4:
|
case CELL_GCM_SURFACE_SQUARE_CENTERED_4: xW=xH=2; break;
|
||||||
case 3: xW=2; break; //case CELL_GCM_SURFACE_DIAGONAL_CENTERED_2:
|
case CELL_GCM_SURFACE_DIAGONAL_CENTERED_2: xW=2; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue