Add serialisers for D3D11.3 RTV_DESC1 and UAV_DESC1

This commit is contained in:
baldurk
2016-06-21 12:22:11 +02:00
parent 5cf5ae696d
commit 75b1baa2c9
2 changed files with 92 additions and 0 deletions
+88
View File
@@ -1157,6 +1157,53 @@ void Serialiser::Serialise(const char *name, D3D11_RENDER_TARGET_VIEW_DESC &el)
}
}
template <>
void Serialiser::Serialise(const char *name, D3D11_RENDER_TARGET_VIEW_DESC1 &el)
{
ScopedContext scope(this, name, "D3D11_RENDER_TARGET_VIEW_DESC1", 0, true);
Serialise("Format", el.Format);
Serialise("ViewDimension", el.ViewDimension);
switch(el.ViewDimension)
{
case D3D11_RTV_DIMENSION_BUFFER:
Serialise("Buffer.FirstElement", el.Buffer.FirstElement);
Serialise("Buffer.NumElements", el.Buffer.NumElements);
break;
case D3D11_RTV_DIMENSION_TEXTURE1D:
Serialise("Texture1D.MipSlice", el.Texture1D.MipSlice);
break;
case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
Serialise("Texture1DArray.MipSlice", el.Texture1DArray.MipSlice);
Serialise("Texture1DArray.ArraySize", el.Texture1DArray.ArraySize);
Serialise("Texture1DArray.FirstArraySlice", el.Texture1DArray.FirstArraySlice);
break;
case D3D11_RTV_DIMENSION_TEXTURE2D:
Serialise("Texture2D.MipSlice", el.Texture2D.MipSlice);
Serialise("Texture2D.PlaneSlice", el.Texture2D.PlaneSlice);
break;
case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
Serialise("Texture2DArray.MipSlice", el.Texture2DArray.MipSlice);
Serialise("Texture2DArray.ArraySize", el.Texture2DArray.ArraySize);
Serialise("Texture2DArray.FirstArraySlice", el.Texture2DArray.FirstArraySlice);
Serialise("Texture2DArray.PlaneSlice", el.Texture2DArray.PlaneSlice);
break;
case D3D11_RTV_DIMENSION_TEXTURE2DMS:
// el.Texture2DMS.UnusedField_NothingToDefine
break;
case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
Serialise("Texture2DMSArray.ArraySize", el.Texture2DMSArray.ArraySize);
Serialise("Texture2DMSArray.FirstArraySlice", el.Texture2DMSArray.FirstArraySlice);
break;
case D3D11_RTV_DIMENSION_TEXTURE3D:
Serialise("Texture3D.MipSlice", el.Texture3D.MipSlice);
Serialise("Texture3D.FirstWSlice", el.Texture3D.FirstWSlice);
Serialise("Texture3D.WSize", el.Texture3D.WSize);
break;
default: RDCERR("Unrecognised RTV Dimension %d", el.ViewDimension); break;
}
}
template <>
void Serialiser::Serialise(const char *name, D3D11_UNORDERED_ACCESS_VIEW_DESC &el)
{
@@ -1196,6 +1243,47 @@ void Serialiser::Serialise(const char *name, D3D11_UNORDERED_ACCESS_VIEW_DESC &e
}
}
template <>
void Serialiser::Serialise(const char *name, D3D11_UNORDERED_ACCESS_VIEW_DESC1 &el)
{
ScopedContext scope(this, name, "D3D11_UNORDERED_ACCESS_VIEW_DESC1", 0, true);
Serialise("Format", el.Format);
Serialise("ViewDimension", el.ViewDimension);
switch(el.ViewDimension)
{
case D3D11_UAV_DIMENSION_BUFFER:
Serialise("Buffer.FirstElement", el.Buffer.FirstElement);
Serialise("Buffer.NumElements", el.Buffer.NumElements);
Serialise("Buffer.Flags", el.Buffer.Flags);
break;
case D3D11_UAV_DIMENSION_TEXTURE1D:
Serialise("Texture1D.MipSlice", el.Texture1D.MipSlice);
break;
case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
Serialise("Texture1DArray.MipSlice", el.Texture1DArray.MipSlice);
Serialise("Texture1DArray.ArraySize", el.Texture1DArray.ArraySize);
Serialise("Texture1DArray.FirstArraySlice", el.Texture1DArray.FirstArraySlice);
break;
case D3D11_UAV_DIMENSION_TEXTURE2D:
Serialise("Texture2D.MipSlice", el.Texture2D.MipSlice);
Serialise("Texture2D.PlaneSlice", el.Texture2D.PlaneSlice);
break;
case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
Serialise("Texture2DArray.MipSlice", el.Texture2DArray.MipSlice);
Serialise("Texture2DArray.ArraySize", el.Texture2DArray.ArraySize);
Serialise("Texture2DArray.FirstArraySlice", el.Texture2DArray.FirstArraySlice);
Serialise("Texture2DArray.PlaneSlice", el.Texture2DArray.PlaneSlice);
break;
case D3D11_UAV_DIMENSION_TEXTURE3D:
Serialise("Texture3D.MipSlice", el.Texture3D.MipSlice);
Serialise("Texture3D.FirstWSlice", el.Texture3D.FirstWSlice);
Serialise("Texture3D.WSize", el.Texture3D.WSize);
break;
default: RDCERR("Unrecognised RTV Dimension %d", el.ViewDimension); break;
}
}
template <>
void Serialiser::Serialise(const char *name, D3D11_DEPTH_STENCIL_VIEW_DESC &el)
{
+4
View File
@@ -146,10 +146,14 @@ void Serialiser::Serialise(const char *name, D3D11_SHADER_RESOURCE_VIEW_DESC &el
template <>
void Serialiser::Serialise(const char *name, D3D11_RENDER_TARGET_VIEW_DESC &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_RENDER_TARGET_VIEW_DESC1 &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_DEPTH_STENCIL_VIEW_DESC &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_UNORDERED_ACCESS_VIEW_DESC &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_UNORDERED_ACCESS_VIEW_DESC1 &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_BLEND_DESC &el);
template <>
void Serialiser::Serialise(const char *name, D3D11_DEPTH_STENCIL_DESC &el);