Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A funcionalidade a seguir foi adicionada ao Direct3D 11.1, que está incluído no Windows 8, Windows RT e Windows Server 2012. O suporte parcial para Direct3D 11.1 está disponível no Windows 7 e no Windows Server 2008 R2 através da Atualização da Plataforma para Windows 7, que está disponível através da Atualização da Plataforma para Windows 7.
- Rastreamento de Shader e melhorias no compilador
- de compartilhamento de dispositivos Direct3D
- Verifique o suporte de novos recursos e formatos do Direct3D 11.1
- Use de precisão mínima HLSL
- Especificar planos de clipe do usuário no HLSL no nível de recurso 9 e superior
- Crie buffers constantes maiores do que um sombreador pode acessar
- Usar operações lógicas em um destino de renderização
- Força a contagem de amostras para criar um estado de rasterizador
- processar recursos de vídeo com sombreadores
- Suporte estendido para recursos compartilhados do Texture2D
- Alterar subrecursos com novas opções de cópia
- Descartar recursos e exibições de recursos
- Suporta um maior número de UAVs
- Vincular um subintervalo de um buffer constante a um sombreador
- Recuperar o subintervalo de um buffer constante que está vinculado a um sombreador
- Limpar toda ou parte de uma vista de recursos
- Mapear SRVs de buffers dinâmicos com NO_OVERWRITE
- Use UAVs em todos os estágios de pipeline
- Suporte estendido para dispositivos WARP
- Usar o Direct3D nos processos da Sessão 0
- Suporte para buffer de sombra no nível de recurso 9
- Tópicos relacionados
Rastreamento de sombreador e aprimoramentos do compilador
O Direct3D 11.1 permite-lhe utilizar o rastreio de sombreador para garantir que o seu código está a funcionar como pretendido e, se não estiver, pode descobrir e resolver o problema. O Windows Software Development Kit (SDK) para Windows 8 contém aprimoramentos do compilador HLSL. O rastreamento de sombreamento e o compilador HLSL são implementados em D3dcompiler_nn.dll.
A API de rastreamento de sombreador e os aprimoramentos do compilador HLSL consistem nos seguintes métodos e funções.
- ID3D11RefDefaultTrackingOptions::SetTrackingOptions
- ID3D11RefTrackingOptions::SetTrackingOptions
- ID3D11TracingDevice::SetShaderTrackingOptions
- ID3D11TracingDevice::SetShaderTrackingOptionsByType
- ID3D11ShaderTraceFactory::CreateShaderTrace
- ID3D11ShaderTrace::TraceReady
- ID3D11ShaderTrace::ResetTrace
- ID3D11ShaderTrace::GetTraceStats
- ID3D11ShaderTrace::P SSelectStamp
- ID3D11ShaderTrace::GetInitialRegisterContents
- ID3D11ShaderTrace::GetStep
- ID3D11ShaderTrace::GetWrittenRegister
- ID3D11ShaderTrace::GetReadRegister
- D3DCompile2
- D3DCompileFromFile
- D3DDisassemble11Trace
- D3DDisassembleRegion
- D3DGetTraceInstructionOffsets
- D3DReadFileToBlob
- D3DSetBlobPart
- D3DWriteBlobToFile
A biblioteca D3dcompiler.lib requer D3dcompiler_nn.dll. Esta DLL não faz parte do Windows 8; ele está na versão de linha de comando \bin folder of the Windows SDK for Windows 8 along with the Fxc.exe do compilador HLSL.
Observação
Embora você possa usar essa combinação de biblioteca e DLL para desenvolvimento, não pode implantar aplicativos da Windows Store que usam essa combinação. Portanto, você deve, em vez disso, compilar sombreadores HLSL antes de enviar seu aplicativo da Windows Store. Você pode gravar binários de compilação HLSL no disco ou o compilador pode gerar cabeçalhos com matrizes de bytes estáticos que contêm os dados de blob do sombreador. Use o interface ID3DBlob para acessar os dados de blob. Para desenvolver seu aplicativo da Windows Store, chame D3DCompile2 ou D3DCompileFromFile compilar a fonte HLSL bruta e alimente os dados de blob resultantes para o Direct3D.
Partilha de dispositivos Direct3D
O Direct3D 11.1 permite que as APIs do Direct3D 10 e as APIs do Direct3D 11 usem um dispositivo de renderização subjacente.
Esse recurso do Direct3D 11.1 consiste nos seguintes métodos e interface.
- ID3D11Device1::CreateDeviceContextState
- ID3D11DeviceContext1::SwapDeviceContextState
- ID3DDeviceContextState
Verifique o suporte dos novos recursos e formatos do Direct3D 11.1
O Direct3D 11.1 permite-lhe verificar a existência de novas funcionalidades suportadas pelo controlador gráfico e de novas formas de suportar um formato num dispositivo. Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 também especifica novos valores de DXGI_FORMAT.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
- ID3D11Device::CheckFeatureSupport com estruturas D3D11_FEATURE_DATA_D3D11_OPTIONS, D3D11_FEATURE_DATA_ARCHITECTURE_INFO, D3D11_FEATURE_DATA_D3D9_OPTIONS, D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORTe D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT
- ID3D11Device::CheckFormatSupport com D3D11_FORMAT_SUPPORT_DECODER_OUTPUT, D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT, D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT, D3D11_FORMAT_SUPPORT_VIDEO_ENCODERe D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP
Use a precisão mínima do HLSL
A partir do Windows 8, os drivers gráficos podem implementar uma precisão mínima tipos de dados escalares HLSL usando qualquer precisão maior ou igual à precisão de bits especificada. Quando o código de sombreador de precisão mínima HLSL é usado em hardware que implementa precisão mínima HLSL, você usa menos largura de banda de memória e, como resultado, também usa menos energia do sistema.
Você pode consultar o suporte de precisão mínima que o driver gráfico fornece chamando ID3D11Device::CheckFeatureSupport com o valor D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT. Nesta chamada ID3D11Device::CheckFeatureSupport, passe um ponteiro para uma estrutura de D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT que ID3D11Device::CheckFeatureSupport preenche com os níveis mínimos de precisão que o driver suporta para o estágio de sombreador de pixel e para outros estágios de sombreador. As informações retornadas apenas indicam que o hardware gráfico pode executar operações HLSL com uma precisão menor do que a precisão flutuante padrão de 32 bits, mas não garante que o hardware gráfico será realmente executado com uma precisão menor.
Você não precisa criar vários sombreadores que usam e não usam precisão mínima. Em vez disso, crie sombreadores com precisão mínima, e as variáveis de precisão mínima se comportam com precisão total de 32 bits se o driver gráfico relatar que ele não suporta nenhuma precisão mínima. Para obter mais informações sobre a precisão mínima HLSL, consulte Usando a precisão mínima HLSL.
Os sombreadores de precisão mínima HLSL não funcionam em sistemas operacionais anteriores ao Windows 8.
Especificar planos de clipe do usuário em HLSL no nível de recurso 9 e superior
A partir do Windows 8, você pode usar os clipplanes atributo de função em uma declaração de função HLSL em vez de SV_ClipDistance para fazer seu sombreador funcionar em 9_x de nível de recurso, bem como no nível de recurso 10 e superior. Para saber mais, veja Planos de clipe do usuário node hardware de nível 9 do recurso .
Crie buffers constantes maiores do que um sombreador pode acessar
O Direct3D 11.1 permite criar buffers constantes maiores do que o tamanho máximo de buffer constante que um sombreador pode acessar (4096 constantes de 32 bits*4 componentes – 64KB). Mais tarde, quando você vincular os buffers ao pipeline, por exemplo, por meio PSSetConstantBuffers ou PSSetConstantBuffers1 , você pode especificar um intervalo de buffers que o sombreador pode acessar que se encaixa dentro do limite 4096.
O Direct3D 11.1 atualiza o métodoID3D11Device::CreateBufferpara esse recurso.
Usar operações lógicas em um destino de renderização
O Direct3D 11.1 permite que você use operações lógicas em vez de misturar em um destino de renderização. No entanto, não é possível misturar operações lógicas com a mistura em vários destinos de renderização.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
Forçar a contagem de amostras para criar um estado de rasterizador
O Direct3D 11.1 permite especificar uma contagem de amostra de força quando você cria um estado do rasterizador.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
Observação
Se quiser renderizar com a contagem de amostras forçada a 1 ou superior, siga estas diretrizes:
- Não vincule visualizações de estêncil de profundidade.
- Desative o teste de profundidade.
- Verifique se o sombreador não produz profundidade.
- Se você tiver alguma exibição de destino de renderização vinculada (D3D11_BIND_RENDER_TARGET) e tiver forçado a contagem de amostras para maior que 1, certifique-se de que cada destino de renderização tenha apenas uma única amostra.
- Não opere o sombreador na frequência da amostra. Portanto, ID3D11ShaderReflection::IsSampleFrequencyShader retorna FALSE .
Caso contrário, o comportamento de renderização será indefinido. Para obter informações sobre como configurar o estêncil de profundidade, consulte Configurando Depth-Stencil funcionalidade.
Processar recursos de vídeo com sombreadores
O Direct3D 11.1 permite-lhe criar vistas (SRV/RTV/UAV) para recursos de vídeo para que os sombreadores Direct3D possam processar esses recursos de vídeo. O formato de um recurso de vídeo subjacente restringe os formatos que a exibição pode usar. A enumeração DXGI_FORMAT contém novos valores de formato de recurso de vídeo. Esses valores DXGI_FORMAT especificam os formatos de exibição válidos que você pode criar e como o tempo de execução do Direct3D 11.1 mapeia a exibição. Você pode criar vários modos de exibição de diferentes partes da mesma superfície e, dependendo do formato, os tamanhos dos modos de exibição podem diferir uns dos outros.
O Direct3D 11.1 atualiza os seguintes métodos para esse recurso.
- ID3D11Device::CreateShaderResourceView
- ID3D11Device::CreateRenderTargetView
- ID3D11Device::CreateUnorderedAccessView
Suporte estendido para recursos compartilhados do Texture2D
O Direct3D 11.1 garante que você pode compartilhar recursos Texture2D criados com determinados tipos e formatos de recursos. Para compartilhar recursos do Texture2D, use os sinalizadores D3D11_RESOURCE_MISC_SHARED, D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEXou uma combinação dos sinalizadores D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX e D3D11_RESOURCE_MISC_SHARED_NTHANDLE (novo para Windows 8) ao criar esses recursos.
O Direct3D 11.1 garante que você pode compartilhar recursos Texture2D criados com estes DXGI_FORMAT valores:
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8X8_UNORM
- DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
- DXGI_FORMAT_R10G10B10A2_UNORM
- DXGI_FORMAT_R16G16B16A16_FLOAT
Além disso, o Direct3D 11.1 garante que você pode compartilhar recursos Texture2D criados com um nível de mipmap de 1, tamanho de matriz de 1, sinalizadores de ligação de D3D11_BIND_SHADER_RESOURCE e D3D11_BIND_RENDER_TARGET combinados, padrão de uso (D3D11_USAGE_DEFAULT) e somente estes D3D11_RESOURCE_MISC_FLAG valores:
- D3D11_RESOURCE_MISC_SHARED
- D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX
- D3D11_RESOURCE_MISC_SHARED_NTHANDLE
- D3D11_RESOURCE_MISC_GDI_COMPATIBLE
O Direct3D 11.1 permite compartilhar uma maior variedade de tipos e formatos de recursos Texture2D. Você pode consultar se o driver gráfico e o hardware suportam o compartilhamento de recursos Texture2D estendido chamando ID3D11Device::CheckFeatureSupport com o valor D3D11_FEATURE_D3D11_OPTIONS. Neste ID3D11Device::CheckFeatureSupport chamada, passe um ponteiro para uma estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS. ID3D11Device::CheckFeatureSupport define o ExtendedResourceSharing membro do D3D11_FEATURE_DATA_D3D11_OPTIONS para TRUE se o hardware e o driver suportarem o compartilhamento de recursos estendido do Texture2D.
Se ID3D11Device::CheckFeatureSupport retornar TRUE no ExtendedResourceSharing, você poderá compartilhar recursos criados comestes DXGI_FORMAT valores:
- DXGI_FORMAT_R32G32B32A32_TYPELESS
- DXGI_FORMAT_R32G32B32A32_FLOAT
- DXGI_FORMAT_R32G32B32A32_UINT
- DXGI_FORMAT_R32G32B32A32_SINT
- DXGI_FORMAT_R16G16B16A16_TYPELESS
- DXGI_FORMAT_R16G16B16A16_FLOAT
- DXGI_FORMAT_R16G16B16A16_UNORM
- DXGI_FORMAT_R16G16B16A16_UINT
- DXGI_FORMAT_R16G16B16A16_SNORM
- DXGI_FORMAT_R16G16B16A16_SINT
- DXGI_FORMAT_R10G10B10A2_UNORM
- DXGI_FORMAT_R10G10B10A2_UINT
- DXGI_FORMAT_R8G8B8A8_TYPELESS
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
- DXGI_FORMAT_R8G8B8A8_UINT
- DXGI_FORMAT_R8G8B8A8_SNORM
- DXGI_FORMAT_R8G8B8A8_SINT
- DXGI_FORMAT_B8G8R8A8_TYPELESS
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_B8G8R8X8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8X8_TYPELESS
- DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
- DXGI_FORMAT_R32_TYPELESS
- DXGI_FORMAT_R32_FLOAT
- DXGI_FORMAT_R32_UINT
- DXGI_FORMAT_R32_SINT
- DXGI_FORMAT_R16_TYPELESS
- DXGI_FORMAT_R16_FLOAT
- DXGI_FORMAT_R16_UNORM
- DXGI_FORMAT_R16_UINT
- DXGI_FORMAT_R16_SNORM
- DXGI_FORMAT_R16_SINT
- DXGI_FORMAT_R8_TYPELESS
- DXGI_FORMAT_R8_UNORM
- DXGI_FORMAT_R8_UINT
- DXGI_FORMAT_R8_SNORM
- DXGI_FORMAT_R8_SINT
- DXGI_FORMAT_A8_UNORM
- DXGI_FORMAT_AYUV
- DXGI_FORMAT_YUY2
- DXGI_FORMAT_NV12
- DXGI_FORMAT_NV11
- DXGI_FORMAT_P016
- DXGI_FORMAT_P010
- DXGI_FORMAT_Y216
- DXGI_FORMAT_Y210
- DXGI_FORMAT_Y416
- DXGI_FORMAT_Y410
Se ID3D11Device::CheckFeatureSupport retornar TRUE no ExtendedResourceSharing, você poderá compartilhar recursos criados com esses recursos e sinalizadores:
- D3D11_USAGE_DEFAULT
- D3D11_BIND_SHADER_RESOURCE
- D3D11_BIND_RENDER_TARGET
- D3D11_RESOURCE_MISC_GENERATE_MIPS
- D3D11_BIND_UNORDERED_ACCESS
- Níveis de Mipmap (um ou mais níveis) nos recursos de textura 2D (especificados no MipLevels membro de D3D11_TEXTURE2D_DESC)
- Matrizes de recursos de textura 2D (uma ou mais texturas) (especificadas no ArraySize membro do D3D11_TEXTURE2D_DESC)
- D3D11_BIND_DECODER
- D3D11_RESOURCE_MISC_RESTRICTED_CONTENT
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER
Observação
Quando ExtendedResourceSharing é TRUE, você tem mais flexibilidade ao especificar sinalizadores de vinculação para compartilhar recursos Texture2D. Não só o driver gráfico e o hardware suportam mais sinalizadores de ligação, mas também mais combinações possíveis de sinalizadores de ligação. Por exemplo, você pode especificar apenas D3D11_BIND_RENDER_TARGET ou nenhum sinalizador de ligação, e assim por diante.
Mesmo que ID3D11Device::CheckFeatureSupport retorne TRUE no ExtendedResourceSharing, você ainda não poderá compartilhar recursos criados com esses recursos e sinalizadores:
- D3D11_BIND_DEPTH_STENCIL
- Recursos de textura 2D no modo de suavização de várias amostras (MSAA) (especificado com DXGI_SAMPLE_DESC)
- D3D11_RESOURCE_MISC_RESOURCE_CLAMP
- D3D11_USAGE_IMMUTABLE, D3D11_USAGE_DYNAMICou D3D11_USAGE_STAGING (ou seja, mappable)
- D3D11_RESOURCE_MISC_TEXTURECUBE
Alterar subrecursos com novas opções de cópia
O Direct3D 11.1 permite que você use novos sinalizadores de cópia para copiar e atualizar subrecursos. Quando você copia um subrecurso, os recursos de origem e destino podem ser idênticos e as regiões de origem e destino podem se sobrepor.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
Descartar recursos e exibições de recursos
O Direct3D 11.1 permite descartar recursos e exibições de recursos do contexto do dispositivo. Essa nova funcionalidade informa à GPU que o conteúdo existente em recursos ou exibições de recursos não é mais necessário.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
- ID3D11DeviceContext1::D iscardResource
- ID3D11DeviceContext1::D iscardView
- ID3D11DeviceContext1::D iscardView1
Suporta um maior número de UAVs
O Direct3D 11.1 permite que você use um número maior de UAVs quando você vincula recursos ao de estágio de fusão de saída e quando define uma matriz de exibições para um recurso não ordenado.
O Direct3D 11.1 atualiza os seguintes métodos para esse recurso.
- ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews
- ID3D11DeviceContext::CSSetUnorderedAccessViews
Vincular um subintervalo de um buffer constante a um sombreador
O Direct3D 11.1 permite vincular um subintervalo de um buffer constante para um sombreador acessar. Você pode fornecer um buffer constante maior e especificar o subintervalo que o sombreador pode usar.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
- ID3D11DeviceContext1::CSSetConstantBuffers1
- ID3D11DeviceContext1::D SSetConstantBuffers1
- ID3D11DeviceContext1::GSSetConstantBuffers1
- ID3D11DeviceContext1::HSSetConstantBuffers1
- ID3D11DeviceContext1::P SSetConstantBuffers1
- ID3D11DeviceContext1::VSSetConstantBuffers1
Recuperar o subintervalo de um buffer constante que está vinculado a um sombreador
O Direct3D 11.1 permite recuperar o subintervalo de um buffer constante vinculado a um sombreador.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
- ID3D11DeviceContext1::CSGetConstantBuffers1
- ID3D11DeviceContext1::D SGetConstantBuffers1
- ID3D11DeviceContext1::GSGetConstantBuffers1
- ID3D11DeviceContext1::HSGetConstantBuffers1
- ID3D11DeviceContext1::P SGetConstantBuffers1
- ID3D11DeviceContext1::VSGetConstantBuffers1
Limpar a totalidade ou parte de uma vista de recursos
O Direct3D 11.1 permite-lhe limpar uma vista de recursos (RTV, VANT ou qualquer vista de vídeo de uma superfície Texture2D). Você aplica o mesmo valor de cor a todas as partes do modo de exibição.
Esse recurso do Direct3D 11.1 consiste na seguinte API.
Mapeie SRVs de buffers dinâmicos com NO_OVERWRITE
O Direct3D 11.1 permite mapear exibições de recursos de sombreador (SRV) de buffers dinâmicos com D3D11_MAP_WRITE_NO_OVERWRITE. O Direct3D 11 e tempos de execução anteriores limitaram o mapeamento para buffers de vértice ou índice.
O Direct3D 11.1 atualiza o método ID3D11DeviceContext::Map para esse recurso.
Use UAVs em todos os estágios do pipeline
O Direct3D 11.1 permite que você use as seguintes instruções do modelo de sombreador 5.0 em todos os estágios de sombreador que eram usados anteriormente apenas em sombreadores de pixel e sombreadores de computação.
- dcl_uav_typed
- dcl_uav_raw
- dcl_uav_structured
- ld_raw
- ld_structured
- ld_uav_typed
- store_raw
- store_structured
- store_uav_typed
- sync_uglobal
- Todos os átomos e átomos imediatos (por exemplo, atomic_and e imm_atomic_and)
O Direct3D 11.1 atualiza os seguintes métodos para esse recurso.
- ID3D11DeviceContext::CreateDomainShader
- ID3D11DeviceContext::CreateGeometryShader
- ID3D11DeviceContext::CreateGeometryShaderWithStreamOutput
- ID3D11DeviceContext::CreateHullShader
- ID3D11DeviceContext::CreateVertexShader
Estas instruções existiam no Direct3D 11.0 em ps_5_0 e cs_5_0. Como o Direct3D 11.1 disponibiliza UAVs em todos os estágios de sombreador, estas instruções estão disponíveis em todos os estágios de sombreador.
Se você passar sombreadores compilados (VS/HS/DS/HS) que usam qualquer uma dessas instruções para uma função create-shader, como CreateVertexShader, em dispositivos que não suportam UAVs em todos os estágios (incluindo drivers existentes que não são implementados com esse recurso), a função create-shader falhará. A função create-shader também falhará se o sombreador tentar usar um slot UAV além do conjunto de slots UAV suportados pelo hardware.
Os UAVs referenciados por estas instruções são compartilhados em todos os estágios do pipeline. Por exemplo, um UAV que está vinculado no slot 0 no estágio de fusão de saída está disponível no slot 0 para VS/HS/DS/GS/PS.
Os acessos de UAV que você emite de dentro ou através de estágios de sombreador que são executados em um determinado Draw*() ou que você emite a partir do sombreador de computação dentro de um Dispatch*() não têm garantia de terminar na ordem em que você os emitiu. Mas todos os acessos UAV terminam no final do Sorteio*() ou Despacho*().
Suporte estendido para dispositivos WARP
O Direct3D 11.1 estende o suporte para dispositivos WARP, que você cria passando D3D_DRIVER_TYPE_WARP no parâmetro DriverType de D3D11CreateDevice.
A partir do suporte a dispositivos WARP Direct3D 11.1:
- Todos os níveis de recursos do Direct3D de 9.1 a 11.1
- Sombreadores de computação e tessellation
- Superfícies partilhadas. Ou seja, você pode compartilhar totalmente superfícies entre dispositivos WARP, bem como entre dispositivos WARP em diferentes processos.
Os dispositivos WARP não suportam estas funcionalidades opcionais:
Quando você executa uma máquina virtual (VM), Hyper-V, com sua unidade de processamento gráfico (GPU) desabilitada ou sem um driver de vídeo, você obtém um dispositivo WARP cujo nome amigável é "Microsoft Basic Display Adapter". Este dispositivo WARP pode executar a experiência completa do Windows, que inclui DWM, Internet Explorer e aplicações da Loja Windows. Este dispositivo WARP também suporta a execução de aplicações herdadas que utilizam DirectDraw ou a execução de aplicações que utilizam Direct3D 3 a Direct3D 11.1.
Usar o Direct3D em processos da Sessão 0
A partir do Windows 8 e do Windows Server 2012, você pode usar a maioria das APIs do Direct3D em processos da Sessão 0.
Observação
Essas APIs de saída, janela, cadeia de permuta e relacionadas à apresentação não estão disponíveis nos processos da Sessão 0 porque não se aplicam ao ambiente da Sessão 0:
- IDXGIFactory::CreateSwapChain
- IDXGIFactory::GetWindowAssociation
- IDXGIFactory::MakeWindowAssociation
- IDXGIAdapter::EnumOutputs
- ID3D11Debug::SetFeatureMask
- ID3D11Debug::SetPresentPerRenderOpDelay
- ID3D11Debug::SetSwapChain
- ID3D10Debug::SetFeatureMask
- ID3D10Debug::SetPresentPerRenderOpDelay
- ID3D10Debug::SetSwapChain
- D3D10CreateDeviceAndSwapChain
- D3D10CreateDeviceAndSwapChain1
- D3D11CreateDeviceAndSwapChain
Se você chamar uma das APIs anteriores em um processo de Sessão 0, ele retornará DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.
Suporte para buffer de sombra no nível de recurso 9
Use um subconjunto de recursos de buffer de sombra do Direct3D 10_0+ para implementar efeitos de sombra em 9_x de nível de recurso. Para obter informações sobre o que você precisa fazer para implementar efeitos de sombra em 9_x de nível de recurso, consulte Implementando buffers de sombra parade nível de recurso 9 do Direct3D .
Tópicos relacionados