Exemplo n.º 1
0
void DoSerialise(SerialiserType &ser, D3D12_SHADER_RESOURCE_VIEW_DESC &el)
{
  SERIALISE_MEMBER(Format);
  SERIALISE_MEMBER(ViewDimension);
  // cast to a special enum so we print nicely
  SERIALISE_MEMBER_TYPED(D3D12ComponentMapping, Shader4ComponentMapping);

  switch(el.ViewDimension)
  {
    case D3D12_SRV_DIMENSION_UNKNOWN:
      // indicates an empty descriptor, which comes from a NULL parameter to Create.
      break;
    case D3D12_SRV_DIMENSION_BUFFER: SERIALISE_MEMBER(Buffer); break;
    case D3D12_SRV_DIMENSION_TEXTURE1D: SERIALISE_MEMBER(Texture1D); break;
    case D3D12_SRV_DIMENSION_TEXTURE1DARRAY: SERIALISE_MEMBER(Texture1DArray); break;
    case D3D12_SRV_DIMENSION_TEXTURE2D: SERIALISE_MEMBER(Texture2D); break;
    case D3D12_SRV_DIMENSION_TEXTURE2DARRAY: SERIALISE_MEMBER(Texture2DArray); break;
    case D3D12_SRV_DIMENSION_TEXTURE2DMS: SERIALISE_MEMBER(Texture2DMS); break;
    case D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY: SERIALISE_MEMBER(Texture2DMSArray); break;
    case D3D12_SRV_DIMENSION_TEXTURE3D: SERIALISE_MEMBER(Texture3D); break;
    case D3D12_SRV_DIMENSION_TEXTURECUBE: SERIALISE_MEMBER(TextureCube); break;
    case D3D12_SRV_DIMENSION_TEXTURECUBEARRAY: SERIALISE_MEMBER(TextureCubeArray); break;
    default: RDCERR("Unrecognised SRV Dimension %d", el.ViewDimension); break;
  }
}
Exemplo n.º 2
0
void DoSerialise(SerialiserType &ser, D3D12_RESOURCE_TRANSITION_BARRIER &el)
{
  SERIALISE_MEMBER(pResource);
  // cast to a special enum so we print 'all subresources' nicely
  SERIALISE_MEMBER_TYPED(D3D12ResourceBarrierSubresource, Subresource);
  SERIALISE_MEMBER(StateBefore);
  SERIALISE_MEMBER(StateAfter);
}
Exemplo n.º 3
0
void DoSerialise(SerialiserType &ser, D3D12_RENDER_TARGET_BLEND_DESC &el)
{
  SERIALISE_MEMBER_TYPED(bool, BlendEnable);
  SERIALISE_MEMBER_TYPED(bool, LogicOpEnable);

  SERIALISE_MEMBER(SrcBlend);
  SERIALISE_MEMBER(DestBlend);
  SERIALISE_MEMBER(BlendOp);
  SERIALISE_MEMBER(SrcBlendAlpha);
  SERIALISE_MEMBER(DestBlendAlpha);
  SERIALISE_MEMBER(BlendOpAlpha);
  SERIALISE_MEMBER(LogicOp);
  SERIALISE_MEMBER_TYPED(D3D12_COLOR_WRITE_ENABLE, RenderTargetWriteMask);
}
Exemplo n.º 4
0
void DoSerialise(SerialiserType &ser, D3D12_SHADER_RESOURCE_VIEW_DESC &el)
{
  SERIALISE_MEMBER(Format);
  SERIALISE_MEMBER(ViewDimension);
  // cast to a special enum so we print nicely
  SERIALISE_MEMBER_TYPED(D3D12ComponentMapping, Shader4ComponentMapping);

  switch(el.ViewDimension)
  {
    case D3D12_SRV_DIMENSION_UNKNOWN:
      // indicates an empty descriptor, which comes from a NULL parameter to Create.
      break;
    case D3D12_SRV_DIMENSION_BUFFER:
      SERIALISE_MEMBER(Buffer.FirstElement);
      SERIALISE_MEMBER(Buffer.NumElements);
      SERIALISE_MEMBER(Buffer.StructureByteStride);
      SERIALISE_MEMBER(Buffer.Flags);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE1D:
      SERIALISE_MEMBER(Texture1D.MostDetailedMip);
      SERIALISE_MEMBER(Texture1D.MipLevels);
      SERIALISE_MEMBER(Texture1D.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE1DARRAY:
      SERIALISE_MEMBER(Texture1DArray.MostDetailedMip);
      SERIALISE_MEMBER(Texture1DArray.MipLevels);
      SERIALISE_MEMBER(Texture1DArray.FirstArraySlice);
      SERIALISE_MEMBER(Texture1DArray.ArraySize);
      SERIALISE_MEMBER(Texture1DArray.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE2D:
      SERIALISE_MEMBER(Texture2D.MostDetailedMip);
      SERIALISE_MEMBER(Texture2D.MipLevels);
      SERIALISE_MEMBER(Texture2D.PlaneSlice);
      SERIALISE_MEMBER(Texture2D.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE2DARRAY:
      SERIALISE_MEMBER(Texture2DArray.MostDetailedMip);
      SERIALISE_MEMBER(Texture2DArray.MipLevels);
      SERIALISE_MEMBER(Texture2DArray.FirstArraySlice);
      SERIALISE_MEMBER(Texture2DArray.ArraySize);
      SERIALISE_MEMBER(Texture2DArray.PlaneSlice);
      SERIALISE_MEMBER(Texture2DArray.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE2DMS:
      // el.Texture2DMS.UnusedField_NothingToDefine
      break;
    case D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY:
      SERIALISE_MEMBER(Texture2DMSArray.FirstArraySlice);
      SERIALISE_MEMBER(Texture2DMSArray.ArraySize);
      break;
    case D3D12_SRV_DIMENSION_TEXTURE3D:
      SERIALISE_MEMBER(Texture3D.MipLevels);
      SERIALISE_MEMBER(Texture3D.MostDetailedMip);
      SERIALISE_MEMBER(Texture3D.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURECUBE:
      SERIALISE_MEMBER(TextureCube.MostDetailedMip);
      SERIALISE_MEMBER(TextureCube.MipLevels);
      SERIALISE_MEMBER(TextureCube.ResourceMinLODClamp);
      break;
    case D3D12_SRV_DIMENSION_TEXTURECUBEARRAY:
      SERIALISE_MEMBER(TextureCubeArray.MostDetailedMip);
      SERIALISE_MEMBER(TextureCubeArray.MipLevels);
      SERIALISE_MEMBER(TextureCubeArray.First2DArrayFace);
      SERIALISE_MEMBER(TextureCubeArray.NumCubes);
      SERIALISE_MEMBER(TextureCubeArray.ResourceMinLODClamp);
      break;
    default: RDCERR("Unrecognised SRV Dimension %d", el.ViewDimension); break;
  }
}
Exemplo n.º 5
0
void DoSerialise(SerialiserType &ser, D3D12_CONSTANT_BUFFER_VIEW_DESC &el)
{
  SERIALISE_MEMBER_TYPED(D3D12BufferLocation, BufferLocation);
  SERIALISE_MEMBER(SizeInBytes);
}
Exemplo n.º 6
0
void DoSerialise(SerialiserType &ser, D3D12_STREAM_OUTPUT_BUFFER_VIEW &el)
{
  SERIALISE_MEMBER_TYPED(D3D12BufferLocation, BufferLocation);
  SERIALISE_MEMBER_TYPED(D3D12BufferLocation, BufferFilledSizeLocation);
  SERIALISE_MEMBER(SizeInBytes);
}
Exemplo n.º 7
0
void DoSerialise(SerialiserType &ser, D3D12_INDEX_BUFFER_VIEW &el)
{
  SERIALISE_MEMBER_TYPED(D3D12BufferLocation, BufferLocation);
  SERIALISE_MEMBER(SizeInBytes);
  SERIALISE_MEMBER(Format);
}