mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-03 12:30:31 +00:00
working
last commit before global conform
This commit is contained in:
parent
d9fd3375da
commit
e8d8138c74
2 changed files with 30 additions and 48 deletions
|
|
@ -158,11 +158,6 @@ GFXD3D11ShaderConstBuffer::GFXD3D11ShaderConstBuffer( GFXD3D11Shader* shader)
|
|||
|
||||
GFXD3D11ShaderConstBuffer::~GFXD3D11ShaderConstBuffer()
|
||||
{
|
||||
for (BufferMap::Iterator i = mBufferMap.begin(); i != mBufferMap.end(); i++)
|
||||
{
|
||||
delete[] i->value.data;
|
||||
}
|
||||
|
||||
mBufferMap.clear();
|
||||
|
||||
for (U32 i = 0; i < 16; i++)
|
||||
|
|
@ -459,6 +454,7 @@ void GFXD3D11ShaderConstBuffer::addBuffer(U32 bufBindingPoint, SHADER_STAGE shad
|
|||
|
||||
// new buffer with our size.
|
||||
mBufferMap[bufKey].data = new U8[size];
|
||||
dMemset(mBufferMap[bufKey].data, 0, size);
|
||||
// always dirty on new.
|
||||
mBufferMap[bufKey].size = size;
|
||||
mBufferMap[bufKey].isDirty = true;
|
||||
|
|
@ -487,10 +483,7 @@ void GFXD3D11ShaderConstBuffer::activate( GFXD3D11ShaderConstBuffer *prevShaderB
|
|||
if (prevShaderBuffer == NULL)
|
||||
return;
|
||||
|
||||
BufferRange bufRanges[6] = {};
|
||||
|
||||
D3D11_MAPPED_SUBRESOURCE pConstData;
|
||||
ZeroMemory(&pConstData, sizeof(D3D11_MAPPED_SUBRESOURCE));
|
||||
BufferRange bufRanges[6];
|
||||
|
||||
for (BufferMap::Iterator i = mBufferMap.begin(); i != mBufferMap.end(); ++i)
|
||||
{
|
||||
|
|
@ -505,10 +498,15 @@ void GFXD3D11ShaderConstBuffer::activate( GFXD3D11ShaderConstBuffer *prevShaderB
|
|||
{
|
||||
thisBuff.isDirty = true;
|
||||
}
|
||||
else if (dMemcmp(prevBuffer.data, thisBuff.data, thisBuff.size) != 0)
|
||||
|
||||
if (dMemcmp(prevBuffer.data, thisBuff.data, thisBuff.size) != 0)
|
||||
{
|
||||
thisBuff.isDirty = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
thisBuff.isDirty = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -576,14 +574,6 @@ GFXD3D11Shader::GFXD3D11Shader()
|
|||
|
||||
GFXD3D11Shader::~GFXD3D11Shader()
|
||||
{
|
||||
for (HandleMap::Iterator i = mHandles.begin(); i != mHandles.end(); i++)
|
||||
delete i->value;
|
||||
|
||||
for (BufferMap::Iterator i = mBuffers.begin(); i != mBuffers.end(); i++)
|
||||
{
|
||||
i->value.clear();
|
||||
}
|
||||
|
||||
mHandles.clear();
|
||||
|
||||
mBuffers.clear();
|
||||
|
|
@ -792,28 +782,28 @@ bool GFXD3D11Shader::_compileShader( const Torque::Path &filePath,
|
|||
bool result = code && SUCCEEDED(res);
|
||||
|
||||
#ifdef TORQUE_DEBUG
|
||||
//String shader;
|
||||
//switch (shaderStage)
|
||||
//{
|
||||
//case VERTEX_SHADER:
|
||||
// shader = mVertexFile.getFileName();
|
||||
// mVertShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
|
||||
// break;
|
||||
//case PIXEL_SHADER:
|
||||
// shader = mPixelFile.getFileName();
|
||||
// mPixShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
|
||||
// break;
|
||||
//case GEOMETRY_SHADER:
|
||||
// break;
|
||||
//case DOMAIN_SHADER:
|
||||
// break;
|
||||
//case HULL_SHADER:
|
||||
// break;
|
||||
//case COMPUTE_SHADER:
|
||||
// break;
|
||||
//default:
|
||||
// break;
|
||||
//}
|
||||
String shader;
|
||||
switch (shaderStage)
|
||||
{
|
||||
case VERTEX_SHADER:
|
||||
shader = mVertexFile.getFileName();
|
||||
mVertShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
|
||||
break;
|
||||
case PIXEL_SHADER:
|
||||
shader = mPixelFile.getFileName();
|
||||
mPixShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
|
||||
break;
|
||||
case GEOMETRY_SHADER:
|
||||
break;
|
||||
case DOMAIN_SHADER:
|
||||
break;
|
||||
case HULL_SHADER:
|
||||
break;
|
||||
case COMPUTE_SHADER:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
SAFE_RELEASE(code);
|
||||
|
|
@ -873,10 +863,6 @@ void GFXD3D11Shader::_getShaderConstants( ID3D11ShaderReflection *refTable,
|
|||
D3D11_SHADER_TYPE_DESC shaderTypeDesc;
|
||||
bufferVar->GetType()->GetDesc(&shaderTypeDesc);
|
||||
|
||||
bool unusedVar = shaderVarDesc.uFlags & D3D_SVF_USED ? false : true;
|
||||
if (unusedVar)
|
||||
continue;
|
||||
|
||||
varDesc.name = String(shaderVarDesc.Name);
|
||||
if (varDesc.name.find("$") != 0)
|
||||
varDesc.name = String::ToString("$%s", varDesc.name.c_str());
|
||||
|
|
|
|||
|
|
@ -124,9 +124,6 @@ public:
|
|||
|
||||
void addBuffer(U32 bufBindingPoint, SHADER_STAGE shaderStage, U32 size);
|
||||
|
||||
bool isDirty() { return mDirty; }
|
||||
void setDirty(bool isDirty) { mDirty = isDirty; }
|
||||
|
||||
/// Called from GFXD3D11Shader when constants have changed and need
|
||||
/// to be the shader this buffer references is reloaded.
|
||||
void onShaderReload(GFXD3D11Shader *shader);
|
||||
|
|
@ -174,7 +171,6 @@ protected:
|
|||
|
||||
// we probably want this to be GFXDevice and not per shader.
|
||||
ID3D11Buffer* mBoundConstantBuffers[16];
|
||||
bool mDirty;
|
||||
};
|
||||
|
||||
class gfxD3D11Include;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue