Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets a collection of the memory spaces this lane can address.
Syntax
HRESULT GetMemorySpaces(
REFIID riid,
void ** memorySpaces);
Parameters
riid [in]
The interface IID of the object to be returned. Expected: IPixCollection<IPixShaderMemorySpace>.
memorySpaces [out]
The pointer to the returned interface
Returns
S_OK on success, otherwise an error code.
Remarks
Reports every kind of memory reachable from the lane, from per-lane scratch through thread-group shared memory up to the global spaces that IPixShaderDebuggingSession::GetMemorySpaces also reports. Memory spaces are enumerated per lane rather than per wave because reading one needs to know which lane is asking: IPixShaderMemorySpace::Read names an address but no lane, so the lane is bound into the space when it is created here. A wave does not identify a lane, and so could not hand back a readable per-lane space.
Unlike the rest of this interface this keeps answering while the wave is moving, because which memory a lane can address does not change as the wave executes. Reading a space's contents still requires a stopped wave; see IPixShaderMemorySpace::Read.
See also
- IPixShaderLane
- IPixShaderMemorySpace, IPixInteractiveShaderMemorySpace