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() GFXD3D11ShaderConstBuffer::~GFXD3D11ShaderConstBuffer()
{ {
for (BufferMap::Iterator i = mBufferMap.begin(); i != mBufferMap.end(); i++)
{
delete[] i->value.data;
}
mBufferMap.clear(); mBufferMap.clear();
for (U32 i = 0; i < 16; i++) for (U32 i = 0; i < 16; i++)
@ -459,6 +454,7 @@ void GFXD3D11ShaderConstBuffer::addBuffer(U32 bufBindingPoint, SHADER_STAGE shad
// new buffer with our size. // new buffer with our size.
mBufferMap[bufKey].data = new U8[size]; mBufferMap[bufKey].data = new U8[size];
dMemset(mBufferMap[bufKey].data, 0, size);
// always dirty on new. // always dirty on new.
mBufferMap[bufKey].size = size; mBufferMap[bufKey].size = size;
mBufferMap[bufKey].isDirty = true; mBufferMap[bufKey].isDirty = true;
@ -487,10 +483,7 @@ void GFXD3D11ShaderConstBuffer::activate( GFXD3D11ShaderConstBuffer *prevShaderB
if (prevShaderBuffer == NULL) if (prevShaderBuffer == NULL)
return; return;
BufferRange bufRanges[6] = {}; BufferRange bufRanges[6];
D3D11_MAPPED_SUBRESOURCE pConstData;
ZeroMemory(&pConstData, sizeof(D3D11_MAPPED_SUBRESOURCE));
for (BufferMap::Iterator i = mBufferMap.begin(); i != mBufferMap.end(); ++i) for (BufferMap::Iterator i = mBufferMap.begin(); i != mBufferMap.end(); ++i)
{ {
@ -505,10 +498,15 @@ void GFXD3D11ShaderConstBuffer::activate( GFXD3D11ShaderConstBuffer *prevShaderB
{ {
thisBuff.isDirty = true; 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; thisBuff.isDirty = true;
} }
else
{
thisBuff.isDirty = false;
}
} }
else else
{ {
@ -576,14 +574,6 @@ GFXD3D11Shader::GFXD3D11Shader()
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(); mHandles.clear();
mBuffers.clear(); mBuffers.clear();
@ -792,28 +782,28 @@ bool GFXD3D11Shader::_compileShader( const Torque::Path &filePath,
bool result = code && SUCCEEDED(res); bool result = code && SUCCEEDED(res);
#ifdef TORQUE_DEBUG #ifdef TORQUE_DEBUG
//String shader; String shader;
//switch (shaderStage) switch (shaderStage)
//{ {
//case VERTEX_SHADER: case VERTEX_SHADER:
// shader = mVertexFile.getFileName(); shader = mVertexFile.getFileName();
// mVertShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str()); mVertShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
// break; break;
//case PIXEL_SHADER: case PIXEL_SHADER:
// shader = mPixelFile.getFileName(); shader = mPixelFile.getFileName();
// mPixShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str()); mPixShader->SetPrivateData(WKPDID_D3DDebugObjectName, shader.size(), shader.c_str());
// break; break;
//case GEOMETRY_SHADER: case GEOMETRY_SHADER:
// break; break;
//case DOMAIN_SHADER: case DOMAIN_SHADER:
// break; break;
//case HULL_SHADER: case HULL_SHADER:
// break; break;
//case COMPUTE_SHADER: case COMPUTE_SHADER:
// break; break;
//default: default:
// break; break;
//} }
#endif #endif
SAFE_RELEASE(code); SAFE_RELEASE(code);
@ -873,10 +863,6 @@ void GFXD3D11Shader::_getShaderConstants( ID3D11ShaderReflection *refTable,
D3D11_SHADER_TYPE_DESC shaderTypeDesc; D3D11_SHADER_TYPE_DESC shaderTypeDesc;
bufferVar->GetType()->GetDesc(&shaderTypeDesc); bufferVar->GetType()->GetDesc(&shaderTypeDesc);
bool unusedVar = shaderVarDesc.uFlags & D3D_SVF_USED ? false : true;
if (unusedVar)
continue;
varDesc.name = String(shaderVarDesc.Name); varDesc.name = String(shaderVarDesc.Name);
if (varDesc.name.find("$") != 0) if (varDesc.name.find("$") != 0)
varDesc.name = String::ToString("$%s", varDesc.name.c_str()); 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); 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 /// Called from GFXD3D11Shader when constants have changed and need
/// to be the shader this buffer references is reloaded. /// to be the shader this buffer references is reloaded.
void onShaderReload(GFXD3D11Shader *shader); void onShaderReload(GFXD3D11Shader *shader);
@ -174,7 +171,6 @@ protected:
// we probably want this to be GFXDevice and not per shader. // we probably want this to be GFXDevice and not per shader.
ID3D11Buffer* mBoundConstantBuffers[16]; ID3D11Buffer* mBoundConstantBuffers[16];
bool mDirty;
}; };
class gfxD3D11Include; class gfxD3D11Include;