bool VertexShaderCache::InsertByteCode(const UberShader::VertexShaderUid& uid, D3DBlob* blob) { ID3D11VertexShader* shader = blob ? D3D::CreateVertexShaderFromByteCode(blob->Data(), blob->Size()) : nullptr; bool result = InsertShader(uid, shader, blob); SAFE_RELEASE(shader); return result; }
int CShaderListBox::DownShader(UINT nIndex) { int ret = LB_ERR; if ((int)nIndex + 1 < GetCount()) { ASSERT(nIndex < m_List.size()); Shader shader = m_List.at(nIndex); VERIFY(DeleteShader(nIndex) != LB_ERR); ret = InsertShader(nIndex + 1, shader); } return ret; }
void VertexShaderCache::UberVertexShaderCompilerWorkItem::Retrieve() { if (InsertShader(m_uid, m_vs, m_bytecode)) g_uber_vs_disk_cache.Append(m_uid, m_bytecode->Data(), m_bytecode->Size()); }