ld_raw (sm5 – asm)
Leitura de acesso aleatório de componentes de 1 a 4 32 bits de um buffer bruto.
ld_raw dest[.mask], srcByteOffset[.select_component], src0[.swizzle] |
---|
Item | Descrição |
---|---|
Dest |
[in] O endereço do resultado da operação. |
srcByteOffset |
[in] Especifica o deslocamento do qual ler. |
src0 |
[in] O componente a ser lido. |
Comentários
src0 deve ser:
- Qualquer estágio de sombreador: SRV (t#)ld st
- Sombreador de computação ou sombreador de pixel: UAV (u#)
- Sombreador de computação: memória compartilhada do grupo de threads (g#)
srcByteOffset especifica o valor base de 32 bits na memória para uma janela de 4 valores sequenciais de 32 bits nos quais os dados podem ser lidos, dependendo do swizzle e da máscara em outros parâmetros.
Os dados lidos do buffer bruto são equivalentes ao seguinte pseudocódigo: em que temos o deslocamento, o endereço, o ponteiro para o conteúdo do buffer, o passo da origem e os dados armazenados linearmente.
BYTE *BufferContents; // from src0
UINT srcByteOffset; // from srcByteOffset
BYTE *ReadLocation; // value to calculate
ReadLocation = BufferContents
+ srcByteOffset;
UINT32 Temp[4]; // used to make code shorter
// apply the source resource swizzle on source data
Temp = read_and_swizzle(ReadLocation, srcSwizzle);
// write the components to the output based on mask
ApplyWriteMask(dstRegister, dstWriteMask, Temp);
O endereçamento fora dos limites em u#/t# de qualquer componente de 32 bits especificado retorna 0 para esse componente.
O endereçamento fora dos limites em g# (os limites desse g#específico, em vez de toda a memória compartilhada) para qualquer componente de 32 bits determinado retorna um resultado indefinido.
cs_4_0 e cs_4_1 dão suporte a esta instrução para UAV e SRV.
Esta instrução se aplica aos seguintes estágios de sombreador:
Vértice | Casco | Domínio | Geometry | Pixel | Computação |
---|---|---|---|---|---|
X | X | X | X | X | X |
Como os UAVs estão disponíveis em todos os estágios de sombreador para o Direct3D 11.1, essa instrução se aplica a todos os estágios de sombreador para UAVs para o runtime do Direct3D 11.1, que está disponível a partir de Windows 8.
Vértice | Casco | Domínio | Geometry | Pixel | Computação |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modelo de sombreador mínimo
Esta instrução tem suporte nos seguintes modelos de sombreador:
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 5 | sim |
Modelo de sombreador 4.1 | não |
Modelo de sombreador 4 | não |
Modelo de Sombreador 3 (DirectX HLSL) | não |
Modelo de Sombreador 2 (DirectX HLSL) | não |
Modelo de Sombreador 1 (DirectX HLSL) | não |
cs_4_0 e cs_4_1 dão suporte a esta instrução para UAV e SRV.