73 lines
1.7 KiB
C++
73 lines
1.7 KiB
C++
#include "xgfxvertexshaderloaddef.h"
|
|
|
|
XGfxVertexShaderLoadDef::XGfxVertexShaderLoadDef()
|
|
: XAsset()
|
|
, mProgramSize(0)
|
|
, mLoadForRenderer(0)
|
|
, mProgram()
|
|
{
|
|
SetName("GFX Vertex Shader Load Definition");
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::Clear()
|
|
{
|
|
mProgramSize = 0;
|
|
mLoadForRenderer = 0;
|
|
mProgram.clear();
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::ParseData(XDataStream *aStream)
|
|
{
|
|
if (IsDebug())
|
|
{
|
|
qDebug() << QString("[%1] Parsing data for %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName());
|
|
}
|
|
|
|
qint32 programPtr = aStream->ParseInt32(QString("%1 program ptr").arg(GetName()));
|
|
Q_UNUSED(programPtr);
|
|
|
|
mProgramSize = aStream->ParseUInt16(QString("%1 cached part").arg(GetName()));
|
|
mLoadForRenderer = aStream->ParseUInt16(QString("%1 physical part").arg(GetName()));
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::ParseProgram(XDataStream *aStream)
|
|
{
|
|
mProgram = QByteArray(mProgramSize * 4, Qt::Uninitialized);
|
|
aStream->readRawData(mProgram.data(), mProgramSize * 4);
|
|
|
|
if (IsDebug())
|
|
{
|
|
qDebug() << QString("[%1] %2: %3").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(GetName()).arg(mProgram);
|
|
}
|
|
}
|
|
|
|
quint16 XGfxVertexShaderLoadDef::ProgramSize() const
|
|
{
|
|
return mProgramSize;
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::SetProgramSize(quint16 aProgramSize)
|
|
{
|
|
mProgramSize = aProgramSize;
|
|
}
|
|
|
|
quint16 XGfxVertexShaderLoadDef::LoadForRenderer() const
|
|
{
|
|
return mLoadForRenderer;
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::SetLoadForRenderer(quint16 aLoadForRenderer)
|
|
{
|
|
mLoadForRenderer = aLoadForRenderer;
|
|
}
|
|
|
|
QByteArray XGfxVertexShaderLoadDef::Program() const
|
|
{
|
|
return mProgram;
|
|
}
|
|
|
|
void XGfxVertexShaderLoadDef::SetProgram(const QByteArray &aProgram)
|
|
{
|
|
mProgram = aProgram;
|
|
}
|