Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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());
}