last commit before global conform
This commit is contained in:
marauder2k7 2024-02-24 16:26:09 +00:00
parent d9fd3375da
commit e8d8138c74
2 changed files with 30 additions and 48 deletions

View file

@ -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());

View file

@ -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;